parsa aghaei
d8fc57c23d
fix(prisma): import process and configure types node for seed tsconfig
Deploy Canina / deploy (push) Failing after 25s
2026-08-17 12:06:38 +03:30
parsa aghaei
d4bee0c1e9
fix(wiki): resolve double English brackets in ingredients, match 100% catalog products and clean orphan terms
Deploy Canina / deploy (push) Failing after 49s
2026-08-17 12:01:29 +03:30
parsa aghaei
6df92f03d7
feat: complete settings sync, standard UI inputs, prescriptions flow, pet profile and checkout enhancements
Deploy Canina / deploy (push) Failing after 51s
2026-08-17 11:46:49 +03:30
parsa aghaei
b3c60a1a7d
feat(settings): unify settings and ui-texts with canonical aliases, add PriceInput thousand separators, and synchronize financial endpoints
Deploy Canina / deploy (push) Successful in 1m46s
2026-08-17 09:57:23 +03:30
parsa aghaei
2d594c5d69
feat(ui): dynamic logo customization, centralized contact links, hero slider, banner placements, reorganized admin sidebar & ui-texts save fix
Deploy Canina / deploy (push) Has been cancelled
2026-08-17 09:26:05 +03:30
parsa aghaei
2fca778930
feat: complete payment retry, reviews system, catalog mode enforcement, and UI text defaults
Deploy Canina / deploy (push) Successful in 1m48s
2026-08-17 09:01:33 +03:30
parsa aghaei
e1b035d6dd
fix(prisma,api): execute ddl statements individually to fix P2021 error and eliminate duplicate toast notifications across app and admin panel
Deploy Canina / deploy (push) Successful in 1m47s
2026-08-16 19:41:21 +03:30
parsa aghaei
884b0486cc
fix(all): auto-create ticket tables, multi-tier otp rate limiting, packaged order status & badges, pet kindness footprint
Deploy Canina / deploy (push) Successful in 1m46s
2026-08-16 19:19:20 +03:30
parsa aghaei
d9254e9b01
fix(all): resolve wallet callback validation, card-to-card conditional rendering, pet management tab, withdrawal settings, smart advisor loop, reports chart and announcement config
Deploy Canina / deploy (push) Successful in 1m47s
2026-08-16 19:05:03 +03:30
parsa aghaei
b807d25632
fix: resolve admin orders re-fetching loop and update order confirmation SMS pattern args structure
Deploy Canina / deploy (push) Successful in 40s
2026-08-16 18:32:49 +03:30
parsa aghaei
b527befe4a
fix: resolve wallet topup callback and verify flow, fix admin orders BigInt serialization 500 error, and fix reactive B2B settings toggle
Deploy Canina / deploy (push) Successful in 1m41s
2026-08-16 18:20:46 +03:30
parsa aghaei
42707c04cf
feat: complete tickets & vet consultation, fix wallet balance overflow, b2b toggle, and transaction manual verification
Deploy Canina / deploy (push) Successful in 1m51s
2026-08-16 18:01:43 +03:30
parsa aghaei
1aa9d6e34d
fix(orders): resolve 500 error in order creation by fixing orderItems payload and prevent premature wallet deduction
Deploy Canina / deploy (push) Successful in 1m43s
2026-08-16 17:04:23 +03:30
parsa aghaei
8d1b786a24
chore(brand): rename all Persian occurrences of کانینا to کنینا across the project
Deploy Canina / deploy (push) Successful in 1m50s
2026-08-16 16:40:08 +03:30
parsa aghaei
cbd7e1a24d
feat(auth): implement WebOTP SMS auto-fill, auto-submit, password setup in dashboard, and password visibility toggle
2026-08-16 16:37:59 +03:30
parsa aghaei
e1f471c978
fix(auth): normalize mobile digits and whitespace in login, register, and admin user creation
Deploy Canina / deploy (push) Successful in 1m43s
2026-08-16 15:31:28 +03:30
parsa aghaei
2984b9f637
fix(settings): add validated SmsLogQueryDto to allow pagination and filter queries on sms logs
Deploy Canina / deploy (push) Successful in 1m42s
2026-08-16 15:22:10 +03:30
parsa aghaei
ad854a717b
feat(admin): implement complete User CRUD with create, edit, delete, and direct wallet adjust capabilities
Deploy Canina / deploy (push) Successful in 1m53s
2026-08-16 15:16:47 +03:30
parsa aghaei
6ae35efb3e
fix(filter): preserve custom Persian error messages in HttpExceptionFilter
Deploy Canina / deploy (push) Successful in 1m43s
2026-08-16 15:12:18 +03:30
parsa aghaei
0c32985ce2
fix(auth): centralize JWT secret with registerAsync to ensure consistent signing and verification
2026-08-16 15:11:05 +03:30
parsa aghaei
1a21c4c642
fix(auth): add refresh & logout endpoints and ensure UsersService.findById handles fallback admin
Deploy Canina / deploy (push) Successful in 1m53s
2026-08-16 15:07:07 +03:30
parsa aghaei
28fc660f69
chore(graphify): update knowledge graph artifacts
Deploy Canina / deploy (push) Successful in 1m41s
2026-08-16 15:01:26 +03:30
parsa aghaei
9b7a9e363d
fix(auth): add reliable fallback for JWT secrets to prevent login signing crashes in production
Deploy Canina / deploy (push) Has been cancelled
2026-08-16 14:59:44 +03:30
parsa aghaei
f1b77f3fba
fix(backend): fix dist output structure and runtime entrypoint in Dockerfile
Deploy Canina / deploy (push) Successful in 32s
2026-08-16 14:31:09 +03:30
parsa aghaei
fd5eb9dd1d
feat(admin): add comprehensive SSL certificate management page with shamsi/gregorian validity, live domain tester, and live Traefik volume sync
Deploy Canina / deploy (push) Successful in 41s
2026-08-16 14:23:07 +03:30
parsa aghaei
b161ecf815
feat(canina): implement multi-select bulk media delete, fix logo clipping, fix blog API URLs, and improve dosage labels
2026-08-16 13:06:32 +03:30
parsa aghaei
6e98b8779d
feat(payment): add raw logs, IP/UA capture, exponential backoff, inventory hold, IPaymentGateway interface and admin health check
Deploy Canina / deploy (push) Successful in 1m53s
2026-08-16 12:24:20 +03:30
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
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