food-market/src/food-market.domain
nns 1456f170eb feat(platform): PlatformSettings entity + миграция (singleton SMTP-конфиг)
Платформенные настройки: один row, не tenant-scoped, видны и меняются
только Супер-администратором. Хранят SMTP-креды для исходящей почты
(forgot-password, нотификации). IMAP к этому отношения не имеет — IMAP
для чтения входящей, нам нужен SMTP.

Поля:
- SmtpHost, SmtpPort
- SmtpUseSsl (implicit TLS / 465) и SmtpStartTls (587, по дефолту true)
- SmtpUsername, SmtpPasswordEncrypted (хранится зашифрованным через
  DataProtection API; в API-ответах не выходит, только has-password флаг)
- FromEmail, FromName

Миграция Phase5b_PlatformSettings создаёт таблицу public.platform_settings.
Конфиг EF в AppDbContext: HasMaxLength для строк.
2026-05-06 12:35:48 +05:00
..
Catalog feat(directories): двухуровневые справочники Группы и Ед.измерения (системные + tenant) 2026-04-26 16:20:47 +05:00
Common feat(directories): двухуровневые справочники Группы и Ед.измерения (системные + tenant) 2026-04-26 16:20:47 +05:00
Inventory phase2a: stock foundation (Stock + StockMovement) + OtherSystem counterparty import 2026-04-22 00:51:07 +05:00
Organizations feat(employees): двухступенчатое удаление — «уволить» → «удалить» 2026-05-06 11:32:07 +05:00
Platform feat(platform): PlatformSettings entity + миграция (singleton SMTP-конфиг) 2026-05-06 12:35:48 +05:00
Purchases phase3b: product card cleanup + supply form simplification 2026-04-26 01:00:06 +05:00
Sales phase2c: RetailSale document — посты в stock как минусовые движения 2026-04-22 16:07:37 +05:00
food-market.domain.csproj Phase 0: project scaffolding and end-to-end auth 2026-04-21 13:59:13 +05:00