fix(providers): bulk-add API keys no longer overwrite existing keys
Bulk-add named auto-generated keys by paste-line index, blind to existing connection names. The backend upserts apikey connections by exact name (connectionsRepo), so a colliding generated name silently replaced an existing key instead of inserting a new one. Add a collision-aware planner (src/shared/utils/bulkAdd.js) that gap-fills the smallest free "<base> <n>" against both existing connection names and names assigned earlier in the same batch, so a generated name is never reused and the backend always inserts. Applies to auto-named lines, custom name|apiKey lines, and Cloudflare name|apiKey|accountId lines. Wire the planner into AddApiKeyModal and pass existing connection names from the provider detail page. Add unit tests covering gap-fill, custom names, Cloudflare 3-part format, and robustness.
This commit is contained in:
1 parent
6acc3bb965
commit
de680e789f
7 files changed
+228
-22
No files matched your search
@@ -1690,6 +1690,7 @@ export default function ProviderDetailPage() {
|
||||
website={providerInfo?.website}
|
||||
proxyPools={proxyPools}
|
||||
error={addConnectionError}
|
||||
existingNames={connections.map((c) => c.name).filter(Boolean)}
|
||||
onSave={handleSaveApiKey}
|
||||
onBulkDone={fetchConnections}
|
||||
onClose={() => {
|
||||
|
||||
Reference in new issue
Block a user