Files
glchat/internal/database/migrations/00016_instance_media_limits.sql
grendervill ef871bcd96 feat(instance): админ-панель с лимитами медиа и действиями над пользователями
- лимиты медиа живут в настройках инстанса (миграция 00016): аватары,
  оформление сервера, эмодзи, звуки и галерея; все загрузки берут предел
  оттуда, значения по умолчанию — из AGENT.md 7.7
- действия администратора: временный пароль (показывается один раз, сессии
  отзываются), выход со всех устройств, мягкое удаление пользователя
  (сообщения и аудит остаются), переименование и удаление любого сервера
- админ-панель разбита на вкладки: обзор и здоровье, лимиты, пользователи,
  серверы, аудит; смена администраторов подтверждается личностью (step-up)
- тесты: Go (действия администратора, лимит эмодзи из настроек) и Vitest
  (вкладки, сброс пароля, выход, удаление, переименование сервера)
2026-09-21 22:37:47 +03:00

16 lines
775 B
SQL

-- +goose Up
-- Глобальные лимиты медиа (AGENT.md 7.7): меняются в админ-панели инстанса и
-- действуют на все сервера. Вложения регулируются профилем производительности
-- (MAX_UPLOAD_SIZE), поэтому здесь их нет.
INSERT INTO instance_settings (key, value) VALUES
('max_avatar_size', '5242880'),
('max_guild_image_size', '5242880'),
('max_emoji_size', '524288'),
('max_sound_size', '524288'),
('max_cosmetic_size', '5242880')
ON CONFLICT (key) DO NOTHING;
-- +goose Down
DELETE FROM instance_settings WHERE key IN
('max_avatar_size', 'max_guild_image_size', 'max_emoji_size', 'max_sound_size', 'max_cosmetic_size');