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

Method loadDavAccounts

ent/user_query.go:815–844  ·  view source on GitHub ↗
(ctx context.Context, query *DavAccountQuery, nodes []*User, init func(*User), assign func(*User, *DavAccount))

Source from the content-addressed store, hash-verified

813 return nil
814}
815func (uq *UserQuery) loadDavAccounts(ctx context.Context, query *DavAccountQuery, nodes []*User, init func(*User), assign func(*User, *DavAccount)) error {
816 fks := make([]driver.Value, 0, len(nodes))
817 nodeids := make(map[int]*User)
818 for i := range nodes {
819 fks = append(fks, nodes[i].ID)
820 nodeids[nodes[i].ID] = nodes[i]
821 if init != nil {
822 init(nodes[i])
823 }
824 }
825 if len(query.ctx.Fields) > 0 {
826 query.ctx.AppendFieldOnce(davaccount.FieldOwnerID)
827 }
828 query.Where(predicate.DavAccount(func(s *sql.Selector) {
829 s.Where(sql.InValues(s.C(user.DavAccountsColumn), fks...))
830 }))
831 neighbors, err := query.All(ctx)
832 if err != nil {
833 return err
834 }
835 for _, n := range neighbors {
836 fk := n.OwnerID
837 node, ok := nodeids[fk]
838 if !ok {
839 return fmt.Errorf(`unexpected referenced foreign-key "owner_id" returned %v for node %v`, fk, n.ID)
840 }
841 assign(node, n)
842 }
843 return nil
844}
845func (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)

Callers 1

sqlAllMethod · 0.95

Calls 4

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

Tested by

no test coverage detected