Commit Graph

96 Commits

Author SHA1 Message Date
Kirill 2b5c7fff5e fix(server): remove duplicate registerAuthRoutes call 2026-05-22 15:31:35 +05:00
Kirill b3b539b6fb fix(api): register auth routes
Add missing registerAuthRoutes call in registerApiRoutes to enable
POST /api/auth/request-code, /verify-code, /register, /login,
/forgot-password, /reset-password, and PATCH /api/me/profile routes
2026-05-22 15:21:55 +05:00
Kirill 49f24d7482 split auth.js into focused modules (Task 3)
- auth-session.js: GET /api/me, GET /api/me/auth-methods
- auth-password.js: POST /api/me/password, POST /api/me/change-password
- auth-oauth.js: DELETE /api/me/oauth/:provider
- auth.js: kept only /api/auth/* routes + /api/me/profile
- api.js: registers new auth route modules
- tests split to separate files per module
2026-05-22 15:19:30 +05:00
Kirill d79d02d5d1 refactor: remove email change functionality 2026-05-22 14:20:11 +05:00
Kirill ad43ff98b6 feat: add password change and reset via email code 2026-05-22 14:12:29 +05:00
Kirill 22282c5f4e fix: accept token as query param in authenticate, pass token to oauth link URL 2026-05-22 13:52:48 +05:00
Kirill 669b9aa45d test commit 2026-05-22 12:51:41 +05:00
Kirill b2ccc2a256 chore: fix lint issues, remove unused hasAvatar 2026-05-22 12:27:20 +05:00
Kirill 6bedf0b28a test(server): add password auth and account methods tests 2026-05-22 11:57:11 +05:00
Kirill abb14a49e0 feat(server): add auth-methods, set-password, unlink-oauth endpoints 2026-05-22 11:47:46 +05:00
Kirill c9fa05b7bf feat(server): add oauth link routes for account binding 2026-05-22 11:45:12 +05:00
Kirill 5f180fffaf refactor(server): oauth only email, remove profile requests, support account linking state 2026-05-22 11:41:40 +05:00
Kirill bb7b40ac45 fix(server): remove all avatarType references after DB column drop 2026-05-22 11:36:11 +05:00
Kirill c3e4f5bdd2 feat(server): add POST /api/auth/register and /api/auth/login
- Add register endpoint with email/password validation, bcrypt hashing
- Add login endpoint with rate limiting per IP (5 attempts/min)
- Add helper functions: validatePassword, hashPassword, comparePassword, isAdminEmail
- Add checkLoginRateLimit for brute-force protection
- Add bcrypt dependency
- Remove avatarType column from User (migration)
2026-05-22 11:26:00 +05:00
Kirill f6729210db feat: public admin avatar endpoint, real admin avatar in user chat 2026-05-21 21:50:07 +05:00
Kirill 57da755ea1 feat: real user avatars in reviews, conditional product link 2026-05-21 21:10:49 +05:00
Kirill 7e7bade80c feat: avatars in order messages 2026-05-21 21:05:22 +05:00
Kirill 2751332356 feat: avatar column in admin users table 2026-05-21 20:52:43 +05:00
Kirill 52290e162e fix: use mutation variables in onSuccess, fix null displayName handling 2026-05-21 20:42:59 +05:00
Kirill 0dfa428931 feat: add admin settings page for display name and avatar editing 2026-05-21 20:28:35 +05:00
Kirill 47124a01a7 test commit 2026-05-21 14:22:03 +05:00
Kirill 058fa26e12 test commit 2026-05-21 13:39:45 +05:00
Kirill 1837b36b14 test commit 2026-05-21 12:02:29 +05:00
Kirill ae6f86041a fix: trustProxy for webhook IP validation, filter expired payments, remove dead code 2026-05-20 19:40:23 +05:00
Kirill 3177413acd chore: fix prettier formatting 2026-05-20 19:33:13 +05:00
Kirill dcf601d4a2 feat: add yookassa webhook endpoint 2026-05-20 19:19:48 +05:00
Kirill 317b910710 fix: email validation, conditional order update, improved tests for payment routes 2026-05-20 19:12:46 +05:00
Kirill 7d0854a294 fix: use correct notification event name in payment route 2026-05-20 19:00:39 +05:00
Kirill 8d45155b54 feat: rewrite payment route for yookassa redirect flow 2026-05-20 18:53:21 +05:00
Kirill abadbbd4c4 fix: add retry to getPayment, normalize return, env validation, webhook/builder tests 2026-05-20 18:11:14 +05:00
Kirill a3556367c6 fix: correct retryable check in yookassa fetchWithRetry 2026-05-20 18:04:07 +05:00
Kirill 3879e4b388 feat: add yookassa API client library with tests 2026-05-20 17:59:35 +05:00
Kirill b06ba64365 test commit 2026-05-20 12:07:22 +05:00
Kirill af5376d0e1 fix: rename name→displayName in remaining Prisma select clauses 2026-05-20 11:31:24 +05:00
Kirill c32d5e6aff fix: use sx for justifyContent in OAuthButtons, fix import order in test 2026-05-20 11:14:36 +05:00
Kirill bf22aaf917 test: OAuth user model fields 2026-05-20 11:10:18 +05:00
Kirill 6fde248dc5 feat: enrich Yandex OAuth with firstName/lastName/gender/avatar 2026-05-20 10:55:37 +05:00
Kirill d2d2f721cd feat: enrich VK OAuth with firstName/lastName/gender/avatar 2026-05-20 10:53:58 +05:00
Kirill 32a4406cb8 refactor: rename name→displayName in review files 2026-05-20 10:51:48 +05:00
Kirill cc7e46b447 refactor: rename name→displayName in admin-users 2026-05-20 10:50:38 +05:00
Kirill ce49f75100 feat: use displayName in mapUserForClient and profile update 2026-05-20 10:46:31 +05:00
Kirill 57275514bf feat: remove server info-page routes 2026-05-19 14:56:37 +05:00
Kirill 5adbe9baa7 test commit 2026-05-19 11:25:23 +05:00
Kirill d0b3c97803 feat: improve notifications - fix auth code tg duplicate, double order notify, add PAID label, expand text, add deliveryFeeAdjusted event 2026-05-18 14:48:54 +05:00
Kirill 2f67c37502 test commit 2026-05-18 13:54:05 +05:00
Kirill 6912008a2c test: add notification preferences tests 2026-05-18 12:06:29 +05:00
Kirill 912724082e test: add notification preferences tests 2026-05-18 11:45:51 +05:00
Kirill 1d36f6a31b feat: create admin notification settings on bootstrap 2026-05-18 11:40:24 +05:00
Kirill 84cdccaa17 feat: emit notification events from existing routes 2026-05-18 11:39:02 +05:00
Kirill e73a0ae09a feat: wire up notification system in server 2026-05-18 11:36:19 +05:00