- Миграция 0064: organization_api_keys.bot_id (unique partial), task_audit_log.bot_id, file_uploads.bot_id
- POST/PUT /api/bots: apiAccess {enabled, mode, formIds, tableIds} — ключ создаётся/обновляется/деактивируется вместе с ботом, сырой ключ показывается один раз
- POST /api/bots/:id/api-key/regenerate; GET /api/bots возвращает apiKey summary
18 lines
863 B
SQL
18 lines
863 B
SQL
-- Привязка API-ключей к ботам (1:1) и атрибуция действий ботов.
|
|
-- organization_api_keys.bot_id — ключ выдан боту; NULL — обычные/legacy-ключи (их может быть много).
|
|
-- task_audit_log.bot_id и file_uploads.bot_id — атрибуция действий, выполненных по ключу бота.
|
|
|
|
ALTER TABLE organization_api_keys
|
|
ADD COLUMN IF NOT EXISTS bot_id int REFERENCES bots(id);
|
|
|
|
-- Один ключ на бота (частичный индекс: NULL не ограничивается)
|
|
CREATE UNIQUE INDEX IF NOT EXISTS organization_api_keys_bot_id_unique
|
|
ON organization_api_keys (bot_id)
|
|
WHERE bot_id IS NOT NULL;
|
|
|
|
ALTER TABLE task_audit_log
|
|
ADD COLUMN IF NOT EXISTS bot_id int;
|
|
|
|
ALTER TABLE file_uploads
|
|
ADD COLUMN IF NOT EXISTS bot_id int;
|