aleksey
4986baf006
feat(calendar): validate org defaults in calendar.settings
...
CI / test (push) Successful in 7m30s
CI / deploy-ift (push) Successful in 3m46s
CI / e2e-ift (push) Successful in 1m28s
CI / deploy-stage (push) Successful in 2m11s
CI / e2e-stage (push) Successful in 1m15s
Documented keys default_location, default_duration_minutes,
default_recurrence; unknown keys (week_patterns) passthrough;
invalid known shape returns 400.
Refs EventHub/EventHubBack#63
2026-07-29 22:50:31 +03:00
aleksey
faf251b11d
fix(calendar): persist settings on PUT/POST
...
CI / test (push) Successful in 7m4s
CI / deploy-ift (push) Successful in 3m21s
CI / e2e-ift (push) Failing after 52s
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
Accept calendar.settings (e.g. week_patterns) in validate_update
and convert_field; apply on create like tags. Unblocks Front#42
pattern save which previously got 200 with empty settings.
2026-07-29 15:00:55 +03:00
aleksey
81728301e2
fix: persist specialist_id on event create; 402 commercial without active sub. Fixes EventHub/EventHubBack#61
CI / test (push) Failing after 6m52s
CI / deploy-ift (push) Has been skipped
CI / e2e-ift (push) Has been skipped
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
2026-07-27 21:17:15 +03:00
aleksey
edb7c20f70
Expire past-pending bookings to expired status. Fixes EventHub/EventHubBack#60
CI / test (push) Successful in 7m14s
CI / deploy-ift (push) Successful in 3m40s
CI / e2e-ift (push) Successful in 1m43s
CI / deploy-stage (push) Successful in 3m8s
CI / e2e-stage (push) Successful in 1m12s
2026-07-27 16:45:30 +03:00
aleksey
1d9752bb69
feat: GET /v1/user/booking-requests + search image_url. Fixes EventHub/EventHubBack#59
CI / test (push) Successful in 7m1s
CI / deploy-ift (push) Successful in 5m59s
CI / e2e-ift (push) Successful in 1m34s
CI / deploy-stage (push) Successful in 2m47s
CI / e2e-stage (push) Successful in 1m18s
2026-07-27 14:53:25 +03:00
aleksey
61816e15b1
feat: forgot/reset password API (variant A). Fixes EventHub/EventHubBack#57
CI / test (push) Successful in 7m20s
CI / deploy-ift (push) Successful in 6m9s
CI / e2e-ift (push) Successful in 1m28s
CI / deploy-stage (push) Successful in 2m34s
CI / e2e-stage (push) Successful in 1m11s
2026-07-24 20:12:53 +03:00
aleksey
571f04737d
feat: specialist_invite API + user lookup. Fixes EventHub/EventHubBack#55
CI / test (push) Successful in 6m47s
CI / deploy-ift (push) Successful in 3m23s
CI / e2e-ift (push) Successful in 1m58s
CI / deploy-stage (push) Successful in 2m1s
CI / e2e-stage (push) Successful in 1m13s
2026-07-22 18:52:35 +03:00
aleksey
af5f506866
Implement commercial calendars: booking_open, specialists, expire without type downgrade.
...
CI / test (push) Successful in 6m44s
CI / deploy-ift (push) Successful in 4m2s
CI / e2e-ift (push) Successful in 1m25s
CI / deploy-stage (push) Successful in 2m25s
CI / e2e-stage (push) Successful in 1m12s
Refs EventHub/EventHubBack#54
2026-07-22 16:12:52 +03:00
aleksey
fdb08eb453
fix: require calendar owner or admin for booking confirm/decline. Fixes EventHub/EventHubBack#53
CI / test (push) Successful in 6m49s
CI / deploy-ift (push) Successful in 2m28s
CI / e2e-ift (push) Successful in 1m26s
CI / deploy-stage (push) Successful in 1m57s
CI / e2e-stage (push) Successful in 1m49s
2026-07-22 10:53:01 +03:00
aleksey
5ac23219ca
fix: owner event bookings list and paid plan durations from plan_to_months.
...
CI / test (push) Successful in 6m55s
CI / deploy-ift (push) Successful in 3m33s
CI / e2e-ift (push) Failing after 1m4s
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
Fixes EventHub/EventHubBack#51
Fixes EventHub/EventHubBack#52
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-21 20:18:49 +03:00
aleksey
59220b955e
feat: calendar follow API (POST/DELETE follow, GET following). Refs EventHub/EventHubFront#9
CI / test (push) Failing after 6m39s
CI / deploy-ift (push) Has been skipped
CI / e2e-ift (push) Has been skipped
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
2026-07-20 22:10:48 +03:00
aleksey
4932f9abae
fix: gate calendar reviews on confirmed booking. Refs EventHub/EventHubFront#8
2026-07-20 21:08:12 +03:00
aleksey
6d52bc3a8e
feat: discovery tops for empty GET /v1/search. Refs EventHub/EventHubBack#50
...
CI / test (push) Successful in 22m57s
CI / deploy-ift (push) Successful in 3m22s
CI / e2e-ift (push) Successful in 1m12s
CI / deploy-stage (push) Successful in 4m21s
CI / e2e-stage (push) Successful in 1m27s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-20 12:17:36 +03:00
aleksey
7c1fe1940d
feat: create default personal calendar on email verification. Refs EventHub/EventHubBack#49
2026-07-20 11:17:31 +03:00
aleksey
0934e2c413
feat: PATCH /v1/user/me — профиль и смена пароля. Refs EventHub/EventHubBack#48
CI / test (push) Failing after 9m43s
CI / deploy-ift (push) Has been skipped
CI / e2e-ift (push) Has been skipped
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
2026-07-19 23:26:34 +03:00
aleksey
5b638de450
feat: user API голосования за отзывы (like/dislike). Refs EventHub/EventHubBack#47
CI / test (push) Failing after 45m52s
CI / deploy-ift (push) Has been skipped
CI / e2e-ift (push) Has been skipped
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
2026-07-19 21:31:29 +03:00
aleksey
dd754e28cc
feat: upsert stats counters, daily buckets and ETS tops for admin metrics. Refs EventHub/EventHubBack#42 #43 #44 #45 #46
CI / test (push) Failing after 25m40s
CI / deploy-ift (push) Has been skipped
CI / e2e-ift (push) Has been skipped
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
2026-07-17 23:10:00 +03:00
aleksey
e9d1a13900
Добавить автомодерацию: политики, порог жалоб, settings/hits API и тесты.
...
CI / test (push) Failing after 37m9s
CI / deploy-ift (push) Has been skipped
CI / e2e-ift (push) Has been skipped
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
Refs EventHub/EventHubBack#37
Refs EventHub/EventHubBack#38
Refs EventHub/EventHubBack#39
Refs EventHub/EventHubBack#40
2026-07-17 18:09:31 +03:00
aleksey
a696d25486
Добавить авто-регистрацию тикетов (hash/dedupe/500/WS). Refs EventHub/EventHubBack#35
CI / test (push) Successful in 21m45s
CI / deploy-ift (push) Successful in 6m8s
CI / e2e-ift (push) Failing after 6m13s
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
2026-07-17 00:44:09 +03:00
aleksey
ff4ab23264
fix(backend): IP в аудите, closed_at тикетов и admin_activity в статистике. Refs EventHub/EventHubBack#27 #28 #29
CI / test (push) Successful in 15m13s
Deploy stage (core) / deploy-stage-core (push) Successful in 4m57s
2026-07-13 14:53:51 +03:00
aleksey
018bf85b87
User login and refresh on auth_session (phase 2). Refs EventHub/EventHubBack#26
2026-07-07 19:33:24 +03:00
aleksey
9de57bd52c
Реализовать кластер-безопасные admin refresh-сессии (фаза 1, #23 ).
...
Единая auth_session с refresh JWT, rotation и reuse detection; CI/CD временно на workflow_dispatch.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-07 15:30:27 +03:00
aleksey
17b2e617d7
bagofix
Test & Deploy to Snapdeploy / build-test-deploy (push) Failing after 24m46s
2026-06-05 23:20:03 +03:00
aleksey
1986fd4694
Расширена статистика для разделов #22
2026-05-28 14:09:07 +03:00
aleksey
2dac5e5102
Расширена общая статистика по дням: Отзывы, Календари, Жалобы, Тикеты, Подписки #22
2026-05-27 22:40:03 +03:00
aleksey
4444461ee3
Сделано подтверждение регистрации пользователей #22
2026-05-27 22:02:53 +03:00
aleksey
b78df927dd
Избавление от undefined, всем необязательным полям присваиваются дефолтные значения #22
2026-05-27 16:18:33 +03:00
aleksey
ac5382fab4
При массовом изменении статуса отзывов причина теперь обязательное поле #22
2026-05-26 22:22:15 +03:00
aleksey
19b3d0dba0
Рефакторинг админских обработчиков - пагинация, сортировка, фильтрация. Финал
2026-05-26 21:50:12 +03:00
aleksey
c2d2e934d9
Раздел api Календари #22
2026-05-25 17:50:57 +03:00
aleksey
faee11ce29
fix ticket stats
2026-05-19 22:16:26 +03:00
aleksey
40806df62a
Рефакторинг обработчиков. Часть 3 #21
2026-05-13 23:02:59 +03:00
aleksey
61bb44ab4a
Рефакторинг обработчиков. Часть 2 #21
2026-05-11 21:51:45 +03:00
aleksey
6403f061df
Рефакторинг обработчиков. Часть 1 #21
2026-05-10 22:14:38 +03:00
aleksey
a34e36b966
Пагинация, фильтры и сортировки Часть 1 #20
2026-05-09 13:38:54 +03:00
aleksey
ecf68ee300
Fix /v1/admin/stats всегда пустые данные
...
Добавлено поле с датой последнего логина пользователям и админам #20
2026-05-08 20:21:04 +03:00
aleksey
1132341b92
Добавлены эндпойнты admin/v1/events и admin/v1/events/:id #20
2026-05-08 19:02:35 +03:00
aleksey
393cf00631
Добавлен эндпойнт /v1/admin/reviews #20
2026-05-08 16:33:46 +03:00
aleksey
3da4ee28d4
Статистика для дашборда, расширенная #7
2026-04-28 23:04:17 +03:00
aleksey
c87d56bb49
Статистика для дашборда #7
2026-04-28 21:31:22 +03:00
aleksey
b2cea7896d
Ролевая модель и аудит Часть 1.
2026-04-28 19:12:02 +03:00
aleksey
7ea4efd7d9
Перенести все админские эндпоинты на порт 8445 и добавить отдельную авторизацию для админов. Часть 2. Final #3
2026-04-28 12:42:10 +03:00
aleksey
d87603595a
small fixes
2026-04-23 14:14:59 +03:00
aleksey
081dcf9588
Stage 10 final
2026-04-22 23:15:20 +03:00
aleksey
3b73439b49
Stage 8
2026-04-21 16:35:05 +03:00
aleksey
a4a7daa5e0
Stage 7
2026-04-21 15:06:57 +03:00
aleksey
fc6ef8de7e
Stage 6
2026-04-21 11:54:13 +03:00
aleksey
ee8928fa5f
Stage 5
2026-04-21 10:15:42 +03:00
aleksey
19f82768e4
Stage 4
2026-04-20 21:04:16 +03:00
aleksey
b24cbc97f3
Stage 3.4
2026-04-20 16:40:44 +03:00