maskAIProviderKeys converts the supplied database rows into the public-facing AIProviderKey shape, preserving order. Plaintext is replaced by a non-reversible mask (see aibridgeutils.MaskSecret) so the result is safe to embed in API responses.
(keys []database.AIProviderKey)
| 92 | // replaced by a non-reversible mask (see aibridgeutils.MaskSecret) so |
| 93 | // the result is safe to embed in API responses. |
| 94 | func maskAIProviderKeys(keys []database.AIProviderKey) []codersdk.AIProviderKey { |
| 95 | out := make([]codersdk.AIProviderKey, 0, len(keys)) |
| 96 | for _, k := range keys { |
| 97 | out = append(out, codersdk.AIProviderKey{ |
| 98 | ID: k.ID, |
| 99 | Masked: aibridgeutils.MaskSecret(k.APIKey), |
| 100 | CreatedAt: k.CreatedAt, |
| 101 | }) |
| 102 | } |
| 103 | return out |
| 104 | } |
| 105 | |
| 106 | // redactAIProviderSettings strips write-only fields from a settings |
| 107 | // value so it can be safely echoed back in API responses. |