MCPcopy
hub / github.com/ory/hydra / GetClients

Method GetClients

persistence/sql/persister_client.go:134–163  ·  view source on GitHub ↗

GetClients implements client.Storage.

(ctx context.Context, filters client.Filter)

Source from the content-addressed store, hash-verified

132
133// GetClients implements client.Storage.
134func (p *Persister) GetClients(ctx context.Context, filters client.Filter) (cs []client.Client, _ *keysetpagination.Paginator, err error) {
135 ctx, span := p.r.Tracer(ctx).Tracer().Start(ctx, "persistence.sql.GetClients")
136 defer otelx.End(span, &err)
137
138 paginator, err := keysetpagination.NewPaginator(append(filters.PageOpts,
139 keysetpagination.WithDefaultToken(keysetpagination.NewPageToken(keysetpagination.Column{Name: "id", Value: ""})),
140 )...)
141 if err != nil {
142 return nil, nil, err
143 }
144
145 query := p.QueryWithNetwork(ctx).Scope(
146 keysetpagination.Paginate[client.Client](paginator))
147
148 if filters.Name != "" {
149 query.Where("client_name = ?", filters.Name)
150 }
151 if filters.Owner != "" {
152 query.Where("owner = ?", filters.Owner)
153 }
154 if len(filters.IDs) > 0 {
155 query.Where("id IN (?)", filters.IDs)
156 }
157
158 if err := query.All(&cs); err != nil {
159 return nil, nil, sqlcon.HandleError(err)
160 }
161 cs, nextPage := keysetpagination.Result(cs, paginator)
162 return cs, nextPage, nil
163}
164
165// GetConcreteClient implements client.Storage.
166func (p *Persister) GetConcreteClient(ctx context.Context, id string) (c *client.Client, err error) {

Callers

nothing calls this directly

Implementers 1

BasePersisterpersistence/sql/persister.go

Calls 4

ScopeMethod · 0.80
QueryWithNetworkMethod · 0.80
AllMethod · 0.80
TracerMethod · 0.65

Tested by

no test coverage detected