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

Method UpdateEncryptedAIProviderKey

enterprise/dbcrypt/dbcrypt.go:575–590  ·  view source on GitHub ↗

UpdateEncryptedAIProviderKey re-encrypts the api_key column of a key row, so that dbcrypt key rotation can move every FK reference to a new key digest before old keys are revoked.

(ctx context.Context, params database.UpdateEncryptedAIProviderKeyParams)

Source from the content-addressed store, hash-verified

573// key row, so that dbcrypt key rotation can move every FK reference
574// to a new key digest before old keys are revoked.
575func (db *dbCrypt) UpdateEncryptedAIProviderKey(ctx context.Context, params database.UpdateEncryptedAIProviderKeyParams) (database.AIProviderKey, error) {
576 if strings.TrimSpace(params.APIKey) == "" {
577 params.ApiKeyKeyID = sql.NullString{}
578 } else if err := db.encryptField(&params.APIKey, &params.ApiKeyKeyID); err != nil {
579 return database.AIProviderKey{}, err
580 }
581
582 key, err := db.Store.UpdateEncryptedAIProviderKey(ctx, params)
583 if err != nil {
584 return database.AIProviderKey{}, err
585 }
586 if err := db.decryptAIProviderKey(&key); err != nil {
587 return database.AIProviderKey{}, err
588 }
589 return key, nil
590}
591
592func (db *dbCrypt) decryptUserAIProviderKey(key *database.UserAiProviderKey) error {
593 return db.decryptField(&key.APIKey, key.ApiKeyKeyID)

Callers

nothing calls this directly

Calls 3

encryptFieldMethod · 0.95
decryptAIProviderKeyMethod · 0.95

Tested by

no test coverage detected