Состояние
- Supabase (проверка токена)JWKS {SUPABASE_URL}/auth/v1/.well-known/jwks.jsonзадан
- Paloma: вход в панельhttps://alfaposapi.paloma365.comсекреты заданы
- Paloma: Company APIhttps://api.paloma365.comключ задан
- KV PM_KV — сессия Palomaобщая для всех изолятовпривязан
- D1 PM_DB — крон, пробы, pm_writesаренда тика, итоги, идемпотентность записейпривязана
- Очередь pm-writesнет привязки: 503 queue_not_boundнет
- Крон: последний тиктолько что · подзапросов 3 из 200 · 2068 мс · за сутки 58 тиков, 92 подзапросовработает
- Сессия Paloma (крон)сессия жива ещё 9 мин · вход 11 мин назаджива
- Проба Paloma (S2)запроса нет: gw_settings probe_requestнет запроса
- Каталог (S3)в продаже 13 130 · проход 1 · изменения 5 мин назад · записи D1 за сутки 62 461 из 2 000 000актуален
- Доп. штрихкоды и фотоштрихкодов 871 (3 мин назад) · фото 0 (идёт, стр. 12) · раз в сутки ночьюждут
Маршруты
GET/healthбез токена · последний тик крона, подзапросы, ошибка
GET/meтокен Supabase → claims pm_person, pm_admin, pm_fn
GET/paloma/items?q=функция scanner · поиск по названию или штрихкоду
GET/paloma/items/:barcodeфункция scanner · карточка (s_items + s_shtrih)
GET/paloma/stock/:barcodeфункция scanner · остатки по складам (get_data)
GET/catalog/groupsбез токена · дерево групп и число товаров (кэш D1)
GET/catalog/list?group=&after=без токена · товары группы, «Показать ещё»
GET/catalog/search?q=&after=без токена · поиск по началу слов и по коду
GET/catalog/item/:id · /code/:code · /items?ids=без токена · карточка, сканер, корзина
POST/paloma/write{ kind, payload, idem: "SA:<uuid>" } → очередь · cash_outcome: shop.expense или money.cash
Как это работает
Приложение шлёт JWT Supabase. Шлюз проверяет подпись по JWKS проекта и смотрит функции сотрудника
(pm_fn) — доступ дают функции, а не роль. Логин Paloma знает только шлюз.
Запись в Paloma — только через очередь: ключ SA:<uuid> попадает в примечание документа,
повтор задания второй документ не создаёт.
Секреты — только wrangler secret put. Значения логина и пароля на этом экране не показываются.