| 783 | return nil |
| 784 | } |
| 785 | func (uq *UserQuery) loadFiles(ctx context.Context, query *FileQuery, nodes []*User, init func(*User), assign func(*User, *File)) error { |
| 786 | fks := make([]driver.Value, 0, len(nodes)) |
| 787 | nodeids := make(map[int]*User) |
| 788 | for i := range nodes { |
| 789 | fks = append(fks, nodes[i].ID) |
| 790 | nodeids[nodes[i].ID] = nodes[i] |
| 791 | if init != nil { |
| 792 | init(nodes[i]) |
| 793 | } |
| 794 | } |
| 795 | if len(query.ctx.Fields) > 0 { |
| 796 | query.ctx.AppendFieldOnce(file.FieldOwnerID) |
| 797 | } |
| 798 | query.Where(predicate.File(func(s *sql.Selector) { |
| 799 | s.Where(sql.InValues(s.C(user.FilesColumn), fks...)) |
| 800 | })) |
| 801 | neighbors, err := query.All(ctx) |
| 802 | if err != nil { |
| 803 | return err |
| 804 | } |
| 805 | for _, n := range neighbors { |
| 806 | fk := n.OwnerID |
| 807 | node, ok := nodeids[fk] |
| 808 | if !ok { |
| 809 | return fmt.Errorf(`unexpected referenced foreign-key "owner_id" returned %v for node %v`, fk, n.ID) |
| 810 | } |
| 811 | assign(node, n) |
| 812 | } |
| 813 | return nil |
| 814 | } |
| 815 | func (uq *UserQuery) loadDavAccounts(ctx context.Context, query *DavAccountQuery, nodes []*User, init func(*User), assign func(*User, *DavAccount)) error { |
| 816 | fks := make([]driver.Value, 0, len(nodes)) |
| 817 | nodeids := make(map[int]*User) |