food-market/src/food-market.api/Seed
nns 6b959ac59d
Some checks are pending
Auto-tag / Create date-tag (push) Waiting to run
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
Docker API / Build + push API (push) Waiting to run
Docker API / Deploy API on stage (push) Blocked by required conditions
feat(pos): быстрый вход кассира по PIN (grant_type=pin) + lockout
- Сервер: Employee.PinHash (PBKDF2, миграция Phase36); POST
  /api/organization/employees/{id}/pin — админ задаёт/снимает PIN (4–6 цифр,
  уникален среди активных сотрудников на пересекающихся точках). Кастомный
  OpenIddict-грант grant_type=pin (retail_point_id + pin): находит кассира,
  привязанного к точке, по PIN и выдаёт токены. Брутфорс-защита — in-memory по
  точке (5 неверных → блок 5 мин). Клиент-сидер досоздаёт gt:pin существующим
  клиентам (без пересоздания). Пароль остаётся запасным.
- Касса: PIN-пад на зарегистрированном устройстве (маскированный ввод, 0–9/⌫/
  Войти), переключение на вход по логину; AuthService.PinLoginAsync.
- Тесты: unit PinHasher (9), integration (3): вход по PIN выдаёт рабочий токен;
  5 неверных → блок; дубль PIN на точке → 409. + скриншот PIN-пада в галерее.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 09:38:36 +05:00
..
DemoCatalogSeeder.cs phase5c: единицы измерения — глобальный справочник + junction для орг 2026-05-08 01:21:20 +05:00
DemoTenantSeeder.cs fix(seed): DemoTenantSeeder гардит по наличию ЛЮБЫХ товаров в орге 2026-10-06 00:50:50 +05:00
DevDataSeeder.cs fix(auth): кассир без модуля «Деньги», кладовщик со складскими правами, ИЛИ-семантика прав 2026-10-08 02:10:11 +05:00
OpenIddictClientSeeder.cs feat(pos): быстрый вход кассира по PIN (grant_type=pin) + lockout 2026-10-08 09:38:36 +05:00
QuickLoginDemoSeeder.cs fix(s30): QuickLoginDemoSeeder — свежий scope на каждый sub-step 2026-10-04 16:46:45 +05:00
SystemReferenceSeeder.cs refactor(countries): drop SortOrder, sort by Name, auto-width columns 2026-04-24 12:14:01 +05:00
YearDemoSeeder.cs feat(s10): year-demo seeder + 4 dashboard виджета + week-stats 2026-06-06 01:03:36 +05:00