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:
asynx6
2026-07-16 17:20:10 +07:00
committed by decolua
parent 6acc3bb965
commit de680e789f
7 changed files with 228 additions and 22 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "9router",
"version": "0.5.30",
"version": "0.5.31",
"description": "9Router CLI - Start and manage 9Router server",
"bin": {
"9router": "./cli.js"