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

Method loadPasskey

ent/user_query.go:876–905  ·  view source on GitHub ↗
(ctx context.Context, query *PasskeyQuery, nodes []*User, init func(*User), assign func(*User, *Passkey))

Source from the content-addressed store, hash-verified

874 return nil
875}
876func (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)
879 for i := range nodes {
880 fks = append(fks, nodes[i].ID)
881 nodeids[nodes[i].ID] = nodes[i]
882 if init != nil {
883 init(nodes[i])
884 }
885 }
886 if len(query.ctx.Fields) > 0 {
887 query.ctx.AppendFieldOnce(passkey.FieldUserID)
888 }
889 query.Where(predicate.Passkey(func(s *sql.Selector) {
890 s.Where(sql.InValues(s.C(user.PasskeyColumn), fks...))
891 }))
892 neighbors, err := query.All(ctx)
893 if err != nil {
894 return err
895 }
896 for _, n := range neighbors {
897 fk := n.UserID
898 node, ok := nodeids[fk]
899 if !ok {
900 return fmt.Errorf(`unexpected referenced foreign-key "user_id" returned %v for node %v`, fk, n.ID)
901 }
902 assign(node, n)
903 }
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)

Callers 1

sqlAllMethod · 0.95

Calls 4

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

Tested by

no test coverage detected