(ctx context.Context, params database.InsertAIProviderKeyParams)
| 535 | } |
| 536 | |
| 537 | func (db *dbCrypt) InsertAIProviderKey(ctx context.Context, params database.InsertAIProviderKeyParams) (database.AIProviderKey, error) { |
| 538 | if strings.TrimSpace(params.APIKey) == "" { |
| 539 | params.ApiKeyKeyID = sql.NullString{} |
| 540 | } else if err := db.encryptField(¶ms.APIKey, ¶ms.ApiKeyKeyID); err != nil { |
| 541 | return database.AIProviderKey{}, err |
| 542 | } |
| 543 | |
| 544 | key, err := db.Store.InsertAIProviderKey(ctx, params) |
| 545 | if err != nil { |
| 546 | return database.AIProviderKey{}, err |
| 547 | } |
| 548 | if err := db.decryptAIProviderKey(&key); err != nil { |
| 549 | return database.AIProviderKey{}, err |
| 550 | } |
| 551 | return key, nil |
| 552 | } |
| 553 | |
| 554 | // GetAIProviderKeys returns AI provider key rows with their api_key |
| 555 | // decrypted. The list handler relies on the default scope (live |
nothing calls this directly
no test coverage detected