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

Method loadEntities

ent/user_query.go:966–995  ·  view source on GitHub ↗
(ctx context.Context, query *EntityQuery, nodes []*User, init func(*User), assign func(*User, *Entity))

Source from the content-addressed store, hash-verified

964 return nil
965}
966func (uq *UserQuery) loadEntities(ctx context.Context, query *EntityQuery, nodes []*User, init func(*User), assign func(*User, *Entity)) error {
967 fks := make([]driver.Value, 0, len(nodes))
968 nodeids := make(map[int]*User)
969 for i := range nodes {
970 fks = append(fks, nodes[i].ID)
971 nodeids[nodes[i].ID] = nodes[i]
972 if init != nil {
973 init(nodes[i])
974 }
975 }
976 if len(query.ctx.Fields) > 0 {
977 query.ctx.AppendFieldOnce(entity.FieldCreatedBy)
978 }
979 query.Where(predicate.Entity(func(s *sql.Selector) {
980 s.Where(sql.InValues(s.C(user.EntitiesColumn), fks...))
981 }))
982 neighbors, err := query.All(ctx)
983 if err != nil {
984 return err
985 }
986 for _, n := range neighbors {
987 fk := n.CreatedBy
988 node, ok := nodeids[fk]
989 if !ok {
990 return fmt.Errorf(`unexpected referenced foreign-key "created_by" returned %v for node %v`, fk, n.ID)
991 }
992 assign(node, n)
993 }
994 return nil
995}
996func (uq *UserQuery) loadOauthGrants(ctx context.Context, query *OAuthGrantQuery, nodes []*User, init func(*User), assign func(*User, *OAuthGrant)) error {
997 fks := make([]driver.Value, 0, len(nodes))
998 nodeids := make(map[int]*User)

Callers 1

sqlAllMethod · 0.95

Calls 4

WhereMethod · 0.95
EntityFuncType · 0.92
initFunction · 0.50
AllMethod · 0.45

Tested by

no test coverage detected