MCPcopy Create free account
hub / github.com/cloudreve/cloudreve / loadGroup

Method loadGroup

ent/user_query.go:756–784  ·  view source on GitHub ↗
(ctx context.Context, query *GroupQuery, nodes []*User, init func(*User), assign func(*User, *Group))

Source from the content-addressed store, hash-verified

754}
755
756func (uq *UserQuery) loadGroup(ctx context.Context, query *GroupQuery, nodes []*User, init func(*User), assign func(*User, *Group)) error {
757 ids := make([]int, 0, len(nodes))
758 nodeids := make(map[int][]*User)
759 for i := range nodes {
760 fk := nodes[i].GroupUsers
761 if _, ok := nodeids[fk]; !ok {
762 ids = append(ids, fk)
763 }
764 nodeids[fk] = append(nodeids[fk], nodes[i])
765 }
766 if len(ids) == 0 {
767 return nil
768 }
769 query.Where(group.IDIn(ids...))
770 neighbors, err := query.All(ctx)
771 if err != nil {
772 return err
773 }
774 for _, n := range neighbors {
775 nodes, ok := nodeids[n.ID]
776 if !ok {
777 return fmt.Errorf(`unexpected foreign-key "group_users" returned %v`, n.ID)
778 }
779 for i := range nodes {
780 assign(nodes[i], n)
781 }
782 }
783 return nil
784}
785func (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)

Callers 1

sqlAllMethod · 0.95

Calls 3

IDInFunction · 0.92
WhereMethod · 0.45
AllMethod · 0.45

Tested by

no test coverage detected