parsa aghaei
a1f0640483
fix(linter): resolve all linter rules and type errors across 3 subprojects
2026-08-02 09:39:53 +03:30
parsa aghaei
b6b2d20b16
feat(sms): set MeliPayamak username 9364100228 and patterns 508079, 508081, 508082, 508083 (TASK-9.1)
2026-08-02 09:30:21 +03:30
parsa aghaei
47bff2c6ed
feat(doctor): implement Doctors / Vets CRUD backend and DB model (TASK-2.18)
2026-08-02 09:29:33 +03:30
parsa aghaei
d784f3fcc7
feat(admin): update dashboard real analytics & wiki related products (TASK-2.21, TASK-2.22, TASK-2.23)
2026-08-02 09:28:17 +03:30
parsa aghaei
88521c6bac
feat(settings): add Maintenance Mode, Catalog Mode, Brand Identity & UI Text management (TASK-2.14, TASK-2.15, TASK-2.16)
2026-08-02 09:26:06 +03:30
parsa aghaei
e2e9615bd8
feat(media): implement persistent storage & media SEO fields (altText, title, description, caption) (TASK-2.5, TASK-2.6)
2026-08-02 09:23:30 +03:30
parsa aghaei
357fb73d5e
feat(product): add product gallery images and multimedia fields podcastUrl/videoUrl/pdfUrl (TASK-2.2, TASK-2.3, TASK-2.4)
2026-08-02 09:21:27 +03:30
parsa aghaei
2ce24b0473
fix(admin): cleanup price display input, upgrade pagination component and extend roles guard for CMS & B2B
2026-08-01 18:30:14 +03:30
parsa aghaei
2aea3bded4
feat(contact): implement contact form submission, admin management and dynamic contact info
2026-08-01 18:28:19 +03:30
parsa aghaei
95e488baaa
fix(lint): sync clean types and imports to main
Deploy Canina / deploy (push) Successful in 1m54s
2026-07-29 16:45:13 +03:30
parsa aghaei
2de442dbae
fix(lint): clean up type definitions and missing imports
Deploy Canina / deploy (push) Failing after 30m46s
2026-07-29 16:44:53 +03:30
parsa aghaei
f0329d8b5b
fix(admin): sync product update & image URL features to main
Deploy Canina / deploy (push) Failing after 1m1s
2026-07-29 16:42:30 +03:30
parsa aghaei
9c8286c63f
fix(admin): resolve 500 on missing product update and add direct image URL & paste support
Deploy Canina / deploy (push) Has been cancelled
2026-07-29 16:42:23 +03:30
parsa aghaei
a3291cc468
feat(agency): implement Farsi error handling, trust seals page, and MeliPayamak SMS integration
Deploy Canina / deploy (push) Has been cancelled
2026-07-29 16:40:42 +03:30
parsa aghaei
a767e9a6b8
merge: sync develop fixes into main
Deploy Canina / deploy (push) Failing after 9m25s
2026-07-29 15:55:50 +03:30
parsa aghaei
bf60df34ef
fix(seed): safely handle blog upsert in try-catch block
Deploy Canina / deploy (push) Successful in 2m6s
2026-07-29 15:49:39 +03:30
parsa aghaei
84d9ed3a9d
perf(docker): replace slow RUN chown -R with fast COPY --chown in backend Dockerfile
2026-07-29 15:48:26 +03:30
parsa aghaei
62bd8811fa
style: apply standard ESLint & Prettier formatting across backend
Deploy Canina / deploy (push) Successful in 4m58s
2026-07-29 15:41:53 +03:30
parsa aghaei
ae636c8b03
fix(seed): add explicit String casting for ingredient and symptom loop items to satisfy TypeScript compiler
2026-07-29 15:40:44 +03:30
parsa aghaei
3ede3c31f9
fix(seed): format seed-products.ts with Prettier and add type annotations for ESLint
2026-07-29 15:40:01 +03:30
parsa aghaei
ddf2bafb3c
fix(seed): deduplicate ingredients and symptoms to ensure clean database seeding
2026-07-29 15:38:15 +03:30
parsa aghaei
8a6afa10d8
fix(seed): remove duplicate out-of-scope code in seed-products.ts
Deploy Canina / deploy (push) Has been cancelled
2026-07-29 15:23:14 +03:30
parsa aghaei
e1fb300b87
fix(seed): handle duplicate product barcodes safely with try-catch in seed-products.ts
Deploy Canina / deploy (push) Has been cancelled
2026-07-29 15:21:41 +03:30
parsa aghaei
485c6bfec6
fix(prisma): add dedicated tsconfig.seed.json for clean cross-platform seeding
Deploy Canina / deploy (push) Successful in 5m57s
2026-07-29 14:36:20 +03:30
parsa aghaei
782720d86d
fix: use ts-node transpile-only with CJS override for seed (no new packages)
...
Deploy Canina / deploy (push) Successful in 10m25s
- Remove tsx (Nexus doesn't have it cached - causes E404)
- Use ts-node --transpile-only --compiler-options with module:CommonJS
to bypass nodenext ESM cycle issue without any new dependencies
- Copy tsconfig.json to runtime container for ts-node compatibility
2026-07-29 14:21:58 +03:30
parsa aghaei
813f5d7bc6
fix: use tsx for prisma seed to resolve ESM/CJS cycle in Node 20
...
Deploy Canina / deploy (push) Failing after 41s
- Replace ts-node/esm loader with tsx which handles nodenext module natively
- tsx avoids ERR_REQUIRE_CYCLE_MODULE with Prisma client ESM/CJS interop
- Add tsx ^4.19.0 as devDependency
2026-07-29 14:14:20 +03:30
parsa aghaei
776829e099
fix: seed command ESM compatibility and CI/CD timeout increase
...
Deploy Canina / deploy (push) Successful in 10m5s
- Fix prisma seed command: use node --loader ts-node/esm (nodenext module needs ESM loader)
- Increase CI/CD timeout from 15m to 40m to accommodate Docker build + VPN time
- Prisma env vars already in compose files for OpenSSL 3.0.x binary selection
2026-07-29 14:00:00 +03:30
parsa aghaei
431e2b547d
fix: Prisma OpenSSL engine binary detection on Alpine
...
Deploy Canina / deploy (push) Successful in 34s
- Set PRISMA_SCHEMA_ENGINE_BINARY to 3.0.x binary path
- Set PRISMA_QUERY_ENGINE_LIBRARY to 3.0.x library path
- node:20-alpine has libssl.so.3 but no openssl CLI binary
- Prisma detection fails silently, defaults to 1.1.x engines
- Explicit paths bypass detection and use correct binaries
- Remove apk add openssl (not needed, causes build failure without VPN)
- backend Dockerfile: use PRISMA_CLI_BINARY_TARGETS to generate correct client
2026-07-29 09:21:39 +03:30
parsa aghaei
501addc909
fix: CI/CD pipeline, dynamic API URLs, Dockerfile fixes
...
Deploy Canina / deploy (push) Successful in 5m39s
- Backend Dockerfile: add chown for node_modules (Prisma permissions fix)
- Frontend Dockerfile: add ARG/ENV for NEXT_PUBLIC_API_URL, VITE_API_URL
- nginx.conf: template with __PLACEHOLDERS__ for per-env substitution
- deploy.yml: SSH keepalive, sudo for VPN
- api.ts: dynamic API URL via env vars instead of hardcoded
- next.config.ts: rewrite only in development mode
- scripts: deploy.sh, compose.stage.yml, compose.prod.yml
2026-07-28 16:37:05 +03:30
parsa aghaei
ee65d87899
fix(prisma): export main in seed modules and execute directly in seed.ts
2026-07-28 16:36:30 +03:30
devops
e4c196b080
fix: VPN build, caching, Dockerfile fixes for Iran network
Deploy Canina / deploy (push) Failing after 12s
2026-07-27 16:06:59 +00:00
devops
41d7629d2a
fix: VPN build, caching, Dockerfile fixes for Iran network
Deploy Canina / deploy (push) Failing after 12s
2026-07-27 16:06:35 +00:00
parsa aghaei
0540d8701e
fix(prisma): add binaryTargets linux-musl-openssl-3.0.x to schema.prisma
2026-07-27 16:46:33 +03:30
parsa aghaei
f089f7ed91
fix(prisma-videos-ide): resolve IDE TypeScript error by accessing video model through typed getter helper in VideosService
2026-07-27 13:39:35 +03:30
parsa aghaei
3e9fffe71f
feat(cms-builder-videos-hydration-catalog): resolve IDE Prisma types, fix Header hydration error, add Media Upload & Aparat embed to Admin Videos, fix Catalog scrollbar/spacing, and overhaul CMS into section-by-section Visual Page Builder
2026-07-27 12:25:36 +03:30
parsa aghaei
2b1bd9efcb
feat(header-refill-videos): restore full DB seeding, wire homepage videos to backend API, upgrade Refill to Cashback Loyalty system, and refactor Header into 2-tier Mega-Menu layout
2026-07-27 12:07:29 +03:30
parsa aghaei
52f0caccfc
feat(videos): add Video module in NestJS, build Video CRUD in Admin Panel, sync dynamic video fetching on frontend, and update catalog links to /catalog
2026-07-27 11:54:16 +03:30
parsa aghaei
85d5a11a5e
feat(refill): overhaul subscription model to Smart Course Reservation & 5% Next-Order Loyalty Voucher reward
2026-07-27 11:46:45 +03:30
parsa aghaei
24c361c4ff
feat(admin): overhaul orders management page with interactive modal, postal tracking code editor, inline status selector and invoice print
2026-07-27 11:27:47 +03:30
parsa aghaei
377ec7fb34
fix(orders,wallet): implement full-stack wallet deduction in PostgreSQL and sync charity donation total in user profile
2026-07-26 20:40:01 +03:30
parsa aghaei
51b2f811fa
fix(orders): add type assertion to order creation payload to eliminate IDE TS server cache warning
2026-07-26 20:34:07 +03:30
parsa aghaei
72badb1a7b
fix(auth,backend): synchronize auth state across stores, reset guest profile data, and resolve backend spec compilation
2026-07-26 20:18:35 +03:30
parsa aghaei
4979d4120c
fix(checkout,orders,admin): resolve guest checkout address bug, persist refill and charity in DB, and fix admin media thumbnail cropping
2026-07-26 20:11:26 +03:30
parsa aghaei
989f77e106
fix(shop): map requiresRx in productService, enable backend query param filtering, and classify 11 prescription vs 24 OTC products
2026-07-26 20:03:45 +03:30
parsa aghaei
0bdb500554
feat(backend): support prescriptionUrl attachment in CreateOrderDto and OrdersService
2026-07-26 19:21:46 +03:30
parsa aghaei
7cc5c7d176
feat(backend): implement WholesaleModule for B2B wholesale applications and admin approvals
2026-07-26 19:20:29 +03:30
parsa aghaei
0046fb7106
feat(backend): implement CmsModule for full CRUD of HeroBanners, VetTestimonials, and SmartAdvisorRules
2026-07-26 19:17:23 +03:30
parsa aghaei
0162bc7b6d
fix: resolve TypeScript build error in SmartAdvisor, wire live API products, and verify 3-app production build
2026-07-26 18:42:32 +03:30
parsa aghaei
6a8d20f81a
feat: add SeoModule, rate limiting, and complete agency task backlog execution
2026-07-26 17:55:54 +03:30
parsa aghaei
0a04bac013
feat: complete specialist review and initial agency alignment for Canina Iran
2026-07-26 17:54:46 +03:30