MCPcopy Index your code
hub / github.com/coder/coder / loadAIProviderKeysByProvider

Function loadAIProviderKeysByProvider

coderd/ai_providers.go:567–577  ·  view source on GitHub ↗

loadAIProviderKeysByProvider fetches keys for every live provider in one query and buckets the rows by ProviderID, so the list handler can avoid an N+1 fetch. Soft-deleted providers' keys are excluded by the query.

(ctx context.Context, store database.Store)

Source from the content-addressed store, hash-verified

565// can avoid an N+1 fetch. Soft-deleted providers' keys are excluded
566// by the query.
567func loadAIProviderKeysByProvider(ctx context.Context, store database.Store) (map[uuid.UUID][]database.AIProviderKey, error) {
568 rows, err := store.GetAIProviderKeys(ctx, false)
569 if err != nil {
570 return nil, err
571 }
572 out := make(map[uuid.UUID][]database.AIProviderKey, len(rows))
573 for _, row := range rows {
574 out[row.ProviderID] = append(out[row.ProviderID], row)
575 }
576 return out, nil
577}
578
579// insertAIProviderKeys writes a fresh set of key rows for a provider
580// inside a transaction. It returns the inserted rows in insertion

Callers 1

aiProvidersListMethod · 0.85

Calls 1

GetAIProviderKeysMethod · 0.65

Tested by

no test coverage detected