feat(shorts): короткие сообщения резидентов с ИИ-коррекцией

Таблица short_messages (резидент, дата занятия, тема, текст, отметка
об использовании), CRUD API /api/shorts с мягким удалением и плановой
очисткой через purge_at, ИИ-коррекция текста по профилю, страница
shorts.html с массовым добавлением разбором строк «ФИО - текст».
This commit is contained in:
dev
2026-10-05 23:51:40 +03:00
parent 62239a35a4
commit ee09958644
6 changed files with 750 additions and 4 deletions
+27
View File
@@ -559,3 +559,30 @@ WHERE key = 'lesson_ai_prompt' AND value IN (
INSERT INTO settings (key, value) VALUES ('notify_lesson_ai_formatted', 'false') ON CONFLICT (key) DO NOTHING;
INSERT INTO settings (key, value) VALUES ('timezone', 'Europe/Moscow') ON CONFLICT (key) DO NOTHING;
INSERT INTO settings (key, value) VALUES ('time_format', '24h') ON CONFLICT (key) DO NOTHING;
-- Short messages table migration
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'short_messages') THEN
CREATE TABLE short_messages (
id SERIAL PRIMARY KEY,
resident VARCHAR(200) NOT NULL,
lesson_date DATE NOT NULL,
topic VARCHAR(500),
message TEXT NOT NULL,
used BOOLEAN NOT NULL DEFAULT false,
used_at DATE,
deleted_at TIMESTAMPTZ,
purge_at TIMESTAMPTZ,
created_at TIMESTAMPTZ DEFAULT now(),
updated_at TIMESTAMPTZ DEFAULT now()
);
CREATE INDEX idx_short_messages_date ON short_messages(lesson_date DESC);
CREATE INDEX idx_short_messages_deleted ON short_messages(deleted_at);
END IF;
END$$;
ALTER TABLE short_messages ADD COLUMN IF NOT EXISTS used_at DATE;
ALTER TABLE short_messages ADD COLUMN IF NOT EXISTS author_id INT REFERENCES users(id) ON DELETE SET NULL;
INSERT INTO settings (key, value) VALUES ('short_messages_retention_days', '365') ON CONFLICT (key) DO NOTHING;