(ctx context.Context, hooks ...queryHook)
| 408 | } |
| 409 | |
| 410 | func (_q *UserQuery) sqlAll(ctx context.Context, hooks ...queryHook) ([]*User, error) { |
| 411 | var ( |
| 412 | nodes = []*User{} |
| 413 | _spec = _q.querySpec() |
| 414 | loadedTypes = [2]bool{ |
| 415 | _q.withMemberships != nil, |
| 416 | _q.withGroupMemberships != nil, |
| 417 | } |
| 418 | ) |
| 419 | _spec.ScanValues = func(columns []string) ([]any, error) { |
| 420 | return (*User).scanValues(nil, columns) |
| 421 | } |
| 422 | _spec.Assign = func(columns []string, values []any) error { |
| 423 | node := &User{config: _q.config} |
| 424 | nodes = append(nodes, node) |
| 425 | node.Edges.loadedTypes = loadedTypes |
| 426 | return node.assignValues(columns, values) |
| 427 | } |
| 428 | if len(_q.modifiers) > 0 { |
| 429 | _spec.Modifiers = _q.modifiers |
| 430 | } |
| 431 | for i := range hooks { |
| 432 | hooks[i](ctx, _spec) |
| 433 | } |
| 434 | if err := sqlgraph.QueryNodes(ctx, _q.driver, _spec); err != nil { |
| 435 | return nil, err |
| 436 | } |
| 437 | if len(nodes) == 0 { |
| 438 | return nodes, nil |
| 439 | } |
| 440 | if query := _q.withMemberships; query != nil { |
| 441 | if err := _q.loadMemberships(ctx, query, nodes, |
| 442 | func(n *User) { n.Edges.Memberships = []*Membership{} }, |
| 443 | func(n *User, e *Membership) { n.Edges.Memberships = append(n.Edges.Memberships, e) }); err != nil { |
| 444 | return nil, err |
| 445 | } |
| 446 | } |
| 447 | if query := _q.withGroupMemberships; query != nil { |
| 448 | if err := _q.loadGroupMemberships(ctx, query, nodes, |
| 449 | func(n *User) { n.Edges.GroupMemberships = []*GroupMembership{} }, |
| 450 | func(n *User, e *GroupMembership) { n.Edges.GroupMemberships = append(n.Edges.GroupMemberships, e) }); err != nil { |
| 451 | return nil, err |
| 452 | } |
| 453 | } |
| 454 | return nodes, nil |
| 455 | } |
| 456 | |
| 457 | func (_q *UserQuery) loadMemberships(ctx context.Context, query *MembershipQuery, nodes []*User, init func(*User), assign func(*User, *Membership)) error { |
| 458 | fks := make([]driver.Value, 0, len(nodes)) |
no test coverage detected