From e98a8729f84fd7c428e16b195499893016e1d6e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Sun, 21 Jun 2026 09:43:52 +0400 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BB=D0=B0=D0=BD:=20=D0=BC=D1=83=D0=BB?= =?UTF-8?q?=D1=8C=D1=82=D0=B8-=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D0=BA=D0=B8=D0=B5=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=BC=D0=BF=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- History/multi-user-prompts-plan.md | 57 ++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 History/multi-user-prompts-plan.md diff --git a/History/multi-user-prompts-plan.md b/History/multi-user-prompts-plan.md new file mode 100644 index 0000000..797486b --- /dev/null +++ b/History/multi-user-prompts-plan.md @@ -0,0 +1,57 @@ +# План: Мульти-пользовательские промпты + +**v1.0.86+** + +## Схема БД + +```sql +CREATE TABLE IF NOT EXISTS prompts ( + id TEXT PRIMARY KEY, -- {user_id}_{timestamp}, например "0000_20260621143000" + user_id TEXT NOT NULL, -- "0000" для тестов, потом Keycloak ID + name TEXT NOT NULL, -- имя промпта + content TEXT NOT NULL, -- тело промпта + created_at TIMESTAMPTZ DEFAULT now(), + updated_at TIMESTAMPTZ DEFAULT now() +); +``` + +## API: prompt.cfm + +| action | Метод | Что | +|--------|-------|-----| +| `list&user_id=0000` | GET | Список промптов юзера | +| `save` | POST `{id?, user_id, name, content}` | Создать (без id) или обновить (с id) | +| `delete&id=...` | GET/POST | Удалить промпт | +| `duplicate&id=...` | GET/POST | Копия с новым ID = user_id + now | + +Ответ всегда JSON `{ok: true/false, ...}`. + +## UI (index.cfm) + +Вместо текущего `