parsa aghaei
5ace474d71
feat(payment): add Idempotency guard, Amount Match check, auto Inquiry reconciliation and comprehensive Admin Transaction Logs management
Deploy Canina / deploy (push) Successful in 2m16s
2026-08-16 12:08:50 +03:30
parsa aghaei
8de1351349
fix(types,lint): resolve all TypeScript type check and eslint errors across backend and sms suite
2026-08-16 12:00:49 +03:30
parsa aghaei
d8c6aa8d8e
feat(sms,admin): implement full sms logging, tracking, filtering, and analytics system
2026-08-16 11:55:50 +03:30
parsa aghaei
0934b4f3af
feat(admin,sms): implement full pattern management CRUD and live binding directly from admin panel
2026-08-16 11:52:13 +03:30
parsa aghaei
09fd339e89
feat(admin,sms): add dynamic sms settings management and live tester in admin panel
2026-08-16 11:48:40 +03:30
parsa aghaei
8992060cb7
feat(payment): implement Zibal IPG payment gateway integration, admin merchant configuration and verification page
Deploy Canina / deploy (push) Successful in 3m28s
2026-08-16 11:40:24 +03:30
parsa aghaei
0831791513
fix(sms): fail loudly when credentials missing, propagate SMS error to OTP response
2026-08-15 18:44:35 +03:30
parsa aghaei
f3ec164c38
fix(backend): use proxy during prisma generate and build
Deploy Canina / deploy (push) Has been cancelled
2026-08-15 16:19:42 +03:30
parsa aghaei
cfc41e349d
fix(backend): explicitly set USER root for apk add openssl in Dockerfile
Deploy Canina / deploy (push) Failing after 1m46s
2026-08-15 16:12:16 +03:30
parsa aghaei
034d4c71b0
fix(backend): install openssl via proxy to enable prisma native engine detection
Deploy Canina / deploy (push) Failing after 1m38s
2026-08-15 16:08:17 +03:30
parsa aghaei
9a65aa48cd
fix(prisma): provide local musl openssl 3.0 engine paths
Deploy Canina / deploy (push) Failing after 3s
2026-08-15 16:04:04 +03:30
parsa aghaei
dbbf75e3c5
fix(prisma): use native binaryTarget and clean hardcoded engine paths
Deploy Canina / deploy (push) Failing after 35s
2026-08-15 16:01:27 +03:30
parsa aghaei
8b0d3d972e
fix(docker): ignore host node_modules and let prisma resolve engines automatically
Deploy Canina / deploy (push) Failing after 34s
2026-08-15 15:58:09 +03:30
parsa aghaei
b1a9d1a5ba
fix(backend): skip prisma postinstall during npm ci
Deploy Canina / deploy (push) Failing after 1m0s
2026-08-15 15:53:09 +03:30
parsa aghaei
f05ea493f3
fix(backend): use direct local binary for prisma generate
Deploy Canina / deploy (push) Failing after 57s
2026-08-15 15:52:11 +03:30
parsa aghaei
3314a5cb0a
fix(backend): use local prisma engines in Dockerfile during build
Deploy Canina / deploy (push) Has been cancelled
2026-08-15 15:50:52 +03:30
parsa aghaei
5ec99155c4
fix(admin,frontend): fix hydration mismatch, admin UI texts sync, and product image resolution
Deploy Canina / deploy (push) Failing after 1s
2026-08-15 15:16:04 +03:30
parsa aghaei
c1bc9e1994
ci: fix runner setup, integrate nexus npm proxy and safe vpn wrapper
Deploy Canina / deploy (push) Failing after 2s
2026-08-09 11:23:21 +03:30
parsa aghaei
4e304944ef
feat(prescriptions & auth): auto-create user and pet profile on prescription submit, validate mobile numbers with regex, allow public upload and auto-reset form state
Deploy Canina / deploy (push) Waiting to run
2026-08-09 09:59:55 +03:30
parsa aghaei
b617331683
fix(analytics, prescription, hydration): filter out admin/static asset requests from view counter, support guest prescription upload with fallback UI, and unify Hero component fallbacks with database defaults
Deploy Canina / deploy (push) Waiting to run
2026-08-09 09:47:51 +03:30
parsa aghaei
3e21aefbf1
fix(linter & types): resolve all ESLint warnings/errors and TypeScript type issues across backend and frontend projects
Deploy Canina / deploy (push) Has been cancelled
2026-08-08 19:31:41 +03:30
parsa aghaei
ea726c52de
feat(seed): expand ingredients seeder to seed 30 comprehensive medical ingredients into database
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 19:21:51 +03:30
parsa aghaei
df47e66b51
feat(database/wiki): seed prisma.ingredient table and remove client-side hardcoded fallback list for 100% dynamic API rendering
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 19:17:13 +03:30
parsa aghaei
e190d3f744
fix(admin-auth & contact): persist admin token in localStorage and allow ADMIN role on contact submission endpoints
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 18:57:43 +03:30
parsa aghaei
fa688e2f8b
fix(api/validation): restore strict forbidNonWhitelisted: true and decorate all GET route queries with explicit DTOs across admin and application APIs
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 18:45:57 +03:30
parsa aghaei
7cc9194827
fix(validation & catalog): disable strict forbidNonWhitelisted in NestJS ValidationPipe and wire full catalog mode & maintenance mode settings to frontend
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:38:48 +03:30
parsa aghaei
9e233bee27
fix(admin/b2b): add GET /b2b/partners endpoint and update B2BManager fetch path to fix 404 error
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:30:42 +03:30
parsa aghaei
43cf55a8ef
fix(admin): resolve GET/PUT /admin/settings 404, videos.map crash, and remove legacy CMS sidebar link
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:26:05 +03:30
parsa aghaei
df340143dc
feat(auth/seed): create admin@canino-iran.com user with bcrypt hash in database & seed.ts
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 18:21:28 +03:30
parsa aghaei
bb1ed1bd03
fix(dto): remove redundant search override property in GetVideosQueryDto
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 18:14:13 +03:30
parsa aghaei
74b3d24622
fix(api/auth): allow public GET on ui-texts & scientific-terms, fix refresh attempt loop, remove duplicate error toasts and prevent unwanted modal popups
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 18:11:17 +03:30
parsa aghaei
adbfa60343
fix(frontend/backend): suppress unauth toast on init, fix admin-login DTO validation and RSC directives
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 18:02:43 +03:30
parsa aghaei
acc662fce8
fix(backend): add dev fallbacks for JWT secrets to prevent local bootstrap crash
Deploy Canina / deploy (push) Has been cancelled
2026-08-08 17:51:48 +03:30
parsa aghaei
59fba0484c
fix(backend): add js-yaml dependency and type definitions for openapi generator
Deploy Canina / deploy (push) Failing after 28s
2026-08-08 17:48:28 +03:30
parsa aghaei
e281ef75da
feat(security/devops): disable swagger in prod, secure staging with basic auth & noindex, add DB backup script and uploads volume persistence
Deploy Canina / deploy (push) Failing after 29s
2026-08-08 17:46:42 +03:30
9f11d8fb2d
chore(workspace): eradicate all tsc errors and eslint warnings across frontend, admin, and backend
Deploy Canina / deploy (push) Failing after 29s
2026-08-07 07:39:26 +03:30
1ae4c99ffc
feat(backend): implement Phase A database models and controllers for cross-boundary dependencies
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 23:45:51 +03:30
ad3f149789
feat(devops,docs,verify): implement Phase 4 CI pipeline, OpenAPI synchronization, and E2E verification matrix
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 22:27:56 +03:30
71e19bfe43
fix(orders): add type assertions for Prisma relations in checkAndSendRefillReminders
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 21:44:44 +03:30
809c69f923
feat(phase2): implement database optimization and RBAC enforcement
...
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
Deploy Canina / deploy (push) Failing after 28s
2026-08-06 21:15:18 +03:30
parsa aghaei
053d6f06d8
fix(types): resolve type errors in ReportData, SmsService, and GetProductsDto
Deploy Canina / deploy (push) Waiting to run
2026-08-05 15:48:11 +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
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
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
67bc500692
security(products): sanitize wholesalePrice for non-B2B/Admin roles [TASK-19.1]
2026-08-03 11:50:20 +03:30
parsa aghaei
920dd532e8
fix(admin-panel): resolve all ESLint errors, types, and hooks lifecycle warnings
2026-08-02 17:08:01 +03:30