| 843 | return nil |
| 844 | } |
| 845 | func (uq *UserQuery) loadShares(ctx context.Context, query *ShareQuery, nodes []*User, init func(*User), assign func(*User, *Share)) error { |
| 846 | fks := make([]driver.Value, 0, len(nodes)) |
| 847 | nodeids := make(map[int]*User) |
| 848 | for i := range nodes { |
| 849 | fks = append(fks, nodes[i].ID) |
| 850 | nodeids[nodes[i].ID] = nodes[i] |
| 851 | if init != nil { |
| 852 | init(nodes[i]) |
| 853 | } |
| 854 | } |
| 855 | query.withFKs = true |
| 856 | query.Where(predicate.Share(func(s *sql.Selector) { |
| 857 | s.Where(sql.InValues(s.C(user.SharesColumn), fks...)) |
| 858 | })) |
| 859 | neighbors, err := query.All(ctx) |
| 860 | if err != nil { |
| 861 | return err |
| 862 | } |
| 863 | for _, n := range neighbors { |
| 864 | fk := n.user_shares |
| 865 | if fk == nil { |
| 866 | return fmt.Errorf(`foreign-key "user_shares" is nil for node %v`, n.ID) |
| 867 | } |
| 868 | node, ok := nodeids[*fk] |
| 869 | if !ok { |
| 870 | return fmt.Errorf(`unexpected referenced foreign-key "user_shares" returned %v for node %v`, *fk, n.ID) |
| 871 | } |
| 872 | assign(node, n) |
| 873 | } |
| 874 | return nil |
| 875 | } |
| 876 | func (uq *UserQuery) loadPasskey(ctx context.Context, query *PasskeyQuery, nodes []*User, init func(*User), assign func(*User, *Passkey)) error { |
| 877 | fks := make([]driver.Value, 0, len(nodes)) |
| 878 | nodeids := make(map[int]*User) |