Commit Graph

636 Commits

Author SHA1 Message Date
71e19bfe43 fix(orders): add type assertions for Prisma relations in checkAndSendRefillReminders
Some checks failed
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 21:44:44 +03:30
809c69f923 feat(phase2): implement database optimization and RBAC enforcement
Some checks failed
Deploy Canina / deploy (push) Failing after 28s
- TASK-FIN-001: Eliminate N+1 query loop in OrdersService.create with batched findMany query.
- Perform monetary calculations strictly using Prisma.Decimal methods (.add(), .mul(), .sub()).
- Add validation for duplicate product IDs and invalid quantities in order items.
- Implement global DecimalInterceptor registered in main.ts to serialize Prisma.Decimal values into exact string representations in API responses.
- TASK-SEC-003: Create roles.decorator.ts and roles.guard.ts in common directory with backward-compatible re-exports in auth directory.
- Enforce RBAC on SettingsController with @UseGuards(JwtAuthGuard, RolesGuard) and @Roles('Admin').
- Add unit specs for DecimalInterceptor, RolesGuard, SettingsController, and OrdersService Decimal batch operations.
2026-08-06 21:29:20 +03:30
a64291a19a feat(security): implement phase 1 core security & build hygiene
Some checks failed
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 21:15:18 +03:30
f4cdca4ed1 docs(audit): finalize Phase 3 Master Task Backlog and audit planning artifacts
Some checks failed
Deploy Canina / deploy (push) Failing after 29s
2026-08-06 20:54:44 +03:30
parsa aghaei
6f04474195 md file deleted.
Some checks failed
Deploy Canina / deploy (push) Failing after 28s
2026-08-05 16:00:54 +03:30
parsa aghaei
bac9a02c49 fix(reports): add optional value property to TopCouponItem interface [TASK-26.20]
Some checks failed
Deploy Canina / deploy (push) Failing after 27s
2026-08-05 15:48:51 +03:30
parsa aghaei
053d6f06d8 fix(types): resolve type errors in ReportData, SmsService, and GetProductsDto
Some checks are pending
Deploy Canina / deploy (push) Waiting to run
2026-08-05 15:48:11 +03:30
parsa aghaei
aac0716046 feat: complete all section 26 backlog tasks including pet image upload [TASK-26.18]
Some checks are pending
Deploy Canina / deploy (push) Waiting to run
2026-08-05 15:45:11 +03:30
parsa aghaei
187aa7c962 feat: add excel export to reports and video view counter increment [TASK-26.20]
Some checks are pending
Deploy Canina / deploy (push) Waiting to run
2026-08-05 14:42:38 +03:30
parsa aghaei
8a05854aa0 feat(orders): atomic order transaction and refill cron job handler [TASK-26.19] 2026-08-05 14:41:58 +03:30
parsa aghaei
cbcff26e63 feat(pets): add admin pet health records query and paginated pet list endpoint [TASK-26.17] 2026-08-05 14:41:26 +03:30
parsa aghaei
d94b33f96d feat(admin): wallet adjustment endpoint and atomic prisma wallet topup transaction [TASK-26.14] [TASK-26.15] [TASK-26.16] 2026-08-05 14:40:35 +03:30
parsa aghaei
3497a743b3 feat(products): fix search query filter overwrite and add minPrice maxPrice sorting filters [TASK-26.10] [TASK-26.11] 2026-08-05 14:39:58 +03:30
parsa aghaei
7f3c04acf5 fix(auth): complete logout state cleanup and admin protected route token validation [TASK-26.8] [TASK-26.9] 2026-08-05 14:39:31 +03:30
parsa aghaei
350182c5a4 security(auth): remove OTP console log and hardcoded admin credentials [TASK-26.4] [TASK-26.5] 2026-08-05 14:38:57 +03:30
parsa aghaei
3fe379a1d2 docs: add section 26 mega tasks to backlog [TASK-26] 2026-08-05 14:38:31 +03:30
parsa aghaei
ce30ade808 feat: complete all remaining backlog tasks 25.1 to 25.14
Some checks are pending
Deploy Canina / deploy (push) Waiting to run
2026-08-05 14:37:44 +03:30
parsa aghaei
1542c85b29 feat(pet): allow direct manual supplement add for stock monitoring [TASK-25.5] 2026-08-05 14:29:38 +03:30
parsa aghaei
d5f4d2a610 feat(advisor): allow direct number input for age and weight [TASK-25.4] 2026-08-05 14:29:08 +03:30
parsa aghaei
070c68e4c9 feat(admin): complete full user management page with detail modal and profile edit [TASK-25.3] 2026-08-05 14:28:42 +03:30
parsa aghaei
81a2837c04 feat: restore profile pets dropdown, fix logout handler, cleanup task titles, fix maintenance guard, add catalog settings & shipping fee calculation
Some checks are pending
Deploy Canina / deploy (push) Waiting to run
2026-08-05 14:17:13 +03:30
parsa aghaei
c79b0fa394 docs: add tasks 25.1 to 25.14 to backlog 2026-08-05 14:10:42 +03:30
parsa aghaei
b6453d05b9 fix(admin): fix Topbar profile dropdown and logout action [TASK-26.1]
Some checks failed
Deploy Canina / deploy (push) Failing after 28s
2026-08-03 17:23:16 +03:30
parsa aghaei
7c69a48910 docs(backlog): add TASKS 25 to 38 covering user requests 2026-08-03 17:22:17 +03:30
parsa aghaei
71ff923d35 fix(admin): relocate dosage logic to general tab & clean up syntax 2026-08-03 16:53:40 +03:30
parsa aghaei
c6aa77f7c9 feat(admin): add product buy price field, dual price/percentage margin calculator, and security sanitization [TASK-BUYPRICE] 2026-08-03 12:04:27 +03:30
parsa aghaei
38261c2f76 fix(admin): update Category resolution type check in Products.tsx 2026-08-03 12:02:46 +03:30
parsa aghaei
68c7656964 fix(admin): safely resolve category name for Category | string union type on product list row 2026-08-03 12:00:27 +03:30
parsa aghaei
bf213bb05d fix(admin): resolve mediaImageError state and category name type errors in Products.tsx 2026-08-03 11:58:06 +03:30
parsa aghaei
262c759055 fix(admin): use onMouseDown for symptom autocomplete options to prevent focus blur loss 2026-08-03 11:55:47 +03:30
parsa aghaei
1da8fdda21 fix(ssr): wrap localStorage access in window check in ClientLayout.tsx 2026-08-03 11:54:28 +03:30
parsa aghaei
3d0139da53 fix(build): import missing useSettingsStore in ArchivePage.tsx 2026-08-03 11:53:47 +03:30
parsa aghaei
75d6f45dee docs(backlog): mark all tasks (TASK-11.1 through TASK-24.1) as completed 2026-08-03 11:52:47 +03:30
parsa aghaei
9cc1b74d72 feat(admin): add Info Tooltips and flexible discount rule settings to Coupons manager [TASK-23.1, TASK-24.1] 2026-08-03 11:52:32 +03:30
parsa aghaei
c3ca9ccaa2 feat(admin): support dual URL link and Media Manager picker for multimedia attachments [TASK-22.1] 2026-08-03 11:51:48 +03:30
parsa aghaei
8505081b2e feat(admin): add selective auto-complete symptoms tagging to product editor [TASK-20.1] 2026-08-03 11:50:39 +03:30
parsa aghaei
67bc500692 security(products): sanitize wholesalePrice for non-B2B/Admin roles [TASK-19.1] 2026-08-03 11:50:20 +03:30
parsa aghaei
e30452d6cb feat(admin): add Dosage Calculator Fields logic builder in product editor [TASK-18.1] 2026-08-03 11:49:58 +03:30
parsa aghaei
2f37d0a92c feat(catalog/maintenance): add granular sub-settings for Catalog Mode and Maintenance Page redirect [TASK-17.1] 2026-08-03 11:49:38 +03:30
parsa aghaei
ce36d7ab38 feat(ui): add sliding announcement marquee ticker banner to header [TASK-16.1] 2026-08-03 11:48:40 +03:30
parsa aghaei
d52d1e57f2 feat(auth/contact/sms): sync contact submissions in admin, refine SMS error logs, trigger Auth Modal on 401 [TASK-13.1, TASK-14.1, TASK-15.1] 2026-08-03 11:47:50 +03:30
parsa aghaei
89c836d7b6 docs(backlog): mark TASK-11.1 and TASK-12.1 as completed 2026-08-03 11:44:34 +03:30
parsa aghaei
eec05c4eaa feat(ux): add outside click backdrop dismissal for mobile filters and drawer menus [TASK-12.1] 2026-08-03 11:44:21 +03:30
parsa aghaei
443b08ed58 feat(shop): add product sorting options (newest, price asc/desc, name) with backend params integration [TASK-11.1] 2026-08-03 11:43:51 +03:30
parsa aghaei
c97b46eb57 docs(backlog): add atomic tasks TASK-11.1 through TASK-24.1 for user requests 2026-08-03 11:42:01 +03:30
parsa aghaei
6b566e9a51 fix(api): suppress toast notifications on handled 404 responses 2026-08-03 11:30:00 +03:30
parsa aghaei
f22238d6c7 fix(responsive): eliminate horizontal mobile scroll & fix 404 text font size overflow 2026-08-03 10:26:02 +03:30
parsa aghaei
cf5ab2030d test(frontend): update test imports to lib/ path, configure vitest.config.ts and vitest.setup.ts 2026-08-03 10:22:16 +03:30
parsa aghaei
7e072793eb fix(types): allow File or ChangeEvent in handleFileUpload and ensure safe localStorage in userStore 2026-08-03 10:16:57 +03:30
parsa aghaei
c1b2f416ed fix(lint&types): resolve all lint warnings, typecheck errors and effect state updates across frontend application and admin panel 2026-08-03 10:13:11 +03:30