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

Method sqlAll

ent/entity_query.go:441–489  ·  view source on GitHub ↗
(ctx context.Context, hooks ...queryHook)

Source from the content-addressed store, hash-verified

439}
440
441func (eq *EntityQuery) sqlAll(ctx context.Context, hooks ...queryHook) ([]*Entity, error) {
442 var (
443 nodes = []*Entity{}
444 _spec = eq.querySpec()
445 loadedTypes = [3]bool{
446 eq.withFile != nil,
447 eq.withUser != nil,
448 eq.withStoragePolicy != nil,
449 }
450 )
451 _spec.ScanValues = func(columns []string) ([]any, error) {
452 return (*Entity).scanValues(nil, columns)
453 }
454 _spec.Assign = func(columns []string, values []any) error {
455 node := &Entity{config: eq.config}
456 nodes = append(nodes, node)
457 node.Edges.loadedTypes = loadedTypes
458 return node.assignValues(columns, values)
459 }
460 for i := range hooks {
461 hooks[i](ctx, _spec)
462 }
463 if err := sqlgraph.QueryNodes(ctx, eq.driver, _spec); err != nil {
464 return nil, err
465 }
466 if len(nodes) == 0 {
467 return nodes, nil
468 }
469 if query := eq.withFile; query != nil {
470 if err := eq.loadFile(ctx, query, nodes,
471 func(n *Entity) { n.Edges.File = []*File{} },
472 func(n *Entity, e *File) { n.Edges.File = append(n.Edges.File, e) }); err != nil {
473 return nil, err
474 }
475 }
476 if query := eq.withUser; query != nil {
477 if err := eq.loadUser(ctx, query, nodes, nil,
478 func(n *Entity, e *User) { n.Edges.User = e }); err != nil {
479 return nil, err
480 }
481 }
482 if query := eq.withStoragePolicy; query != nil {
483 if err := eq.loadStoragePolicy(ctx, query, nodes, nil,
484 func(n *Entity, e *StoragePolicy) { n.Edges.StoragePolicy = e }); err != nil {
485 return nil, err
486 }
487 }
488 return nodes, nil
489}
490
491func (eq *EntityQuery) loadFile(ctx context.Context, query *FileQuery, nodes []*Entity, init func(*Entity), assign func(*Entity, *File)) error {
492 edgeIDs := make([]driver.Value, len(nodes))

Callers 1

loadFileMethod · 0.45

Calls 6

querySpecMethod · 0.95
assignValuesMethod · 0.95
loadFileMethod · 0.95
loadUserMethod · 0.95
loadStoragePolicyMethod · 0.95
scanValuesMethod · 0.45

Tested by

no test coverage detected