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

Method loadTasks

ent/user_query.go:906–935  ·  view source on GitHub ↗
(ctx context.Context, query *TaskQuery, nodes []*User, init func(*User), assign func(*User, *Task))

Source from the content-addressed store, hash-verified

904 return nil
905}
906func (uq *UserQuery) loadTasks(ctx context.Context, query *TaskQuery, nodes []*User, init func(*User), assign func(*User, *Task)) error {
907 fks := make([]driver.Value, 0, len(nodes))
908 nodeids := make(map[int]*User)
909 for i := range nodes {
910 fks = append(fks, nodes[i].ID)
911 nodeids[nodes[i].ID] = nodes[i]
912 if init != nil {
913 init(nodes[i])
914 }
915 }
916 if len(query.ctx.Fields) > 0 {
917 query.ctx.AppendFieldOnce(task.FieldUserTasks)
918 }
919 query.Where(predicate.Task(func(s *sql.Selector) {
920 s.Where(sql.InValues(s.C(user.TasksColumn), fks...))
921 }))
922 neighbors, err := query.All(ctx)
923 if err != nil {
924 return err
925 }
926 for _, n := range neighbors {
927 fk := n.UserTasks
928 node, ok := nodeids[fk]
929 if !ok {
930 return fmt.Errorf(`unexpected referenced foreign-key "user_tasks" returned %v for node %v`, fk, n.ID)
931 }
932 assign(node, n)
933 }
934 return nil
935}
936func (uq *UserQuery) loadFsevents(ctx context.Context, query *FsEventQuery, nodes []*User, init func(*User), assign func(*User, *FsEvent)) error {
937 fks := make([]driver.Value, 0, len(nodes))
938 nodeids := make(map[int]*User)

Callers 1

sqlAllMethod · 0.95

Calls 4

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

Tested by

no test coverage detected