aleksey
fb8869fa86
feat(waitlist): optional event waitlist with FIFO promote.
...
CI / test (push) Successful in 7m12s
CI / deploy-ift (push) Successful in 2m44s
CI / e2e-ift (push) Successful in 1m28s
CI / deploy-stage (push) Successful in 2m3s
CI / e2e-stage (push) Successful in 1m24s
Commercial calendars opt in via settings.waitlist_enabled; join when full;
auto-promote on cancel/decline/expire with email and in-app notify.
Refs EventHub/EventHubBack#72
2026-08-14 21:44:42 +03:00
aleksey
29111cd514
feat(upload): avatar and calendar cover via local disk storage.
...
POST /v1/user/me/avatar and /v1/calendars/:id/cover; GET /v1/media;
UPLOAD_DIR on eventhub-data volume; MIME/size limits.
Refs EventHub/EventHubBack#71
Refs EventHub/EventHubSpec#8
2026-08-14 21:27:34 +03:00
aleksey
347a645933
feat(auth): POST /v1/logout and admin logout revoke refresh session. Refs EventHub/EventHubBack#69
CI / test (push) Successful in 7m32s
CI / deploy-ift (push) Successful in 2m29s
CI / e2e-ift (push) Successful in 1m29s
CI / deploy-stage (push) Successful in 2m3s
CI / e2e-stage (push) Successful in 2m1s
2026-08-14 20:23:16 +03:00
aleksey
2567585333
feat(booking): studio journal and instance inbox. Refs EventHub/EventHubFront#60
CI / test (push) Successful in 7m31s
CI / deploy-ift (push) Successful in 2m38s
CI / e2e-ift (push) Successful in 1m26s
CI / deploy-stage (push) Successful in 2m3s
CI / e2e-stage (push) Successful in 1m21s
2026-08-14 11:13:01 +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
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
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
e8addae3b7
fix: raise Mnesia wait_for_tables beyond gen_server 5s default
...
CI / test (push) Failing after 27m9s
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
Caller timed out while mnesia:wait_for_tables ran the full 5s on IFT disc load; use infinity call timeout, 120s wait, and one repair retry.
2026-07-19 10:45:25 +03:00
aleksey
31c2a1b7d7
fix: subscribe stats_collector after Mnesia tables are ready
...
CI / test (push) Failing after 13m10s
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
Backfill ran during init_tables before wait_for_tables, so dirty reads hit {no_exists,user} and crash-looped eventhub on IFT.
2026-07-18 23:33:56 +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
4327de486f
fix(mnesia): apply dump_log_write_threshold before mnesia start.
...
CI / test (push) Successful in 16m25s
CI / deploy-ift (push) Successful in 5m49s
CI / e2e-ift (push) Failing after 4m38s
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
change_config rejected the key; set_env + verify enables the IFT ceiling ladder. Refs EventHub/EventHubBack#30 Refs EventHub/EventHubBack#34
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-16 19:22:32 +03:00
aleksey
94106cf964
fix(mnesia): поднять dump_log_write_threshold; Traefik base v3.3.6. Refs EventHub/EventHubBack#34 Refs EventHub/EventHubDevOps#3 [skip ci]
2026-07-15 17:28:39 +03:00
aleksey
2eeda5c4c4
feat(backend): build identity в health, VERSION bake и auto stage по sha-*
CI / test (push) Successful in 28m3s
2026-07-14 21:25:40 +03:00
aleksey
cf8e6bcc07
Fail-fast secrets in stage/prod via EVENTHUB_ENV. Refs EventHub/EventHubBack#25
2026-07-07 19:52:04 +03:00
aleksey
7c5f2d26b8
Mnesia migrations with global lock on startup. Refs EventHub/EventHubBack#24
2026-07-07 17:54:29 +03:00
aleksey
f507d08e2c
Добавлена оперативная и историческая статистика нод и узлов mnesia #22
2026-05-28 18:59:21 +03:00
aleksey
1986fd4694
Расширена статистика для разделов #22
2026-05-28 14:09:07 +03:00
aleksey
4444461ee3
Сделано подтверждение регистрации пользователей #22
2026-05-27 22:02:53 +03:00
aleksey
01dbc6d6cb
Расширена работа с бан словами #22
2026-05-25 21:30:33 +03:00
aleksey
c2d2e934d9
Раздел api Календари #22
2026-05-25 17:50:57 +03:00
aleksey
6098039632
хендлер рефреш токена для админа #22
2026-05-24 22:18:05 +03:00
aleksey
f04043a485
fix init_default_admins
2026-05-18 19:48:48 +03:00
aleksey
3abf5c94ee
Рефакторинг обработчиков. Финальное тестирование #21
2026-05-18 14:37:59 +03:00
aleksey
40806df62a
Рефакторинг обработчиков. Часть 3 #21
2026-05-13 23:02:59 +03:00
aleksey
6403f061df
Рефакторинг обработчиков. Часть 1 #21
2026-05-10 22:14:38 +03:00
aleksey
a35d6f7acc
Добавлен Swagger #20
2026-05-09 18:15:45 +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
574d0d2e43
Архивирование с быстрым подключением и серверный рендеринг для веб-клиента #15
2026-05-04 15:19:53 +03:00
aleksey
83ce92afa4
Настройка репликации. Финал #14
2026-05-03 21:02:29 +03:00
aleksey
3d61830f1c
Настройка репликации. Часть 1 #14
2026-05-03 14:55:57 +03:00
aleksey
f36dd3bbc1
Переделать связь нод в кластере на автоматическое обнаружение #9
2026-05-01 22:30:40 +03:00
aleksey
967a024d0c
Ролевая модель и аудит Часть 2. Финал. #6
2026-04-28 19:38:31 +03:00
aleksey
7ea4efd7d9
Перенести все админские эндпоинты на порт 8445 и добавить отдельную авторизацию для админов. Часть 2. Final #3
2026-04-28 12:42:10 +03:00
aleksey
4ed6a961ab
Перенести все админские эндпоинты на порт 8445 и добавить отдельную авторизацию для админов. Часть 1
2026-04-27 15:54:48 +03:00
aleksey
6bb29174a5
Улучшения в кластере. Кластер формируется динамически, без единой точки отказа (каждая нода подключается ко всем трём через connect_nodes/0)
2026-04-24 20:32:37 +03:00
aleksey
e57a2b9768
Add observer, prometheus and grafana
2026-04-24 18:20:48 +03:00
aleksey
081dcf9588
Stage 10 final
2026-04-22 23:15:20 +03:00
aleksey
e3a08cfa04
Stage 9
2026-04-21 17:03:09 +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
aleksey
42a047a938
Stage 3.3
2026-04-20 14:04:30 +03:00