From 822bf96966b9663e0c3117082e21cd0108d7c98a Mon Sep 17 00:00:00 2001 From: ahasani194 Date: Mon, 27 Apr 2026 21:53:11 +0330 Subject: [PATCH] feat: add new form field components for company details and consumer management - Implemented CompanyNameComponent, DescriptionComponent, DeviceIdComponent, EconomicCodeComponent, EmailComponent, FirstNameComponent, FiscalCodeComponent, GuildIdComponent, LastNameComponent, LegalNameComponent, LicenseStartsAtComponent, MobileComponent, MobileNumberComponent, ModelComponent, NameComponent, NationalCodeComponent, NationalIdComponent, PartnerTokenComponent, PosTypeComponent, PostalCodeComponent, ProviderIdComponent, QuantityComponent, RegistrationCodeComponent, RegistrationNumberComponent, SerialNumberComponent, SetOffComponent, SkuComponent, TerminalComponent, UnitPriceComponent, UsernameComponent. - Added field control configurations for new fields in the form. - Updated routing and branding configurations for TIS tenant. - Created consumer type models for handling individual and legal consumer data. --- Dockerfile | 15 +- WEBVIEW_BRIDGE.md | 132 +++ angular.json | 48 +- docker-compose.yml | 5 +- nginx.conf | 11 + ngsw-config.json | 66 ++ package.json | 6 + pnpm-lock.yaml | 669 ++++++++++++++- public-tis/branding/login.webp | Bin 0 -> 537042 bytes public-tis/branding/logo.png | Bin 0 -> 26810 bytes public-tis/favicon.ico | Bin 0 -> 15086 bytes public-tis/favicon/apple-touch-icon.png | Bin 0 -> 10086 bytes public-tis/favicon/favicon-96x96.png | Bin 0 -> 5249 bytes public-tis/favicon/favicon.ico | Bin 0 -> 15086 bytes public-tis/favicon/favicon.svg | 3 + public-tis/favicon/site.webmanifest | 24 + .../favicon/web-app-manifest-192x192.png | Bin 0 -> 10464 bytes .../favicon/web-app-manifest-512x512.png | Bin 0 -> 26810 bytes public/favicon/site.webmanifest | 7 +- scripts/update-ngsw-appdata.js | 21 + src/app.config.ts | 7 +- src/app.routes.ts | 41 +- src/app/branding/branding.config.ts | 1 + src/app/core/services/index.ts | 1 + .../core/services/native-bridge.service.ts | 88 ++ .../core/validators/fiscal-code.validator.ts | 12 + src/app/core/validators/index.ts | 1 + src/app/core/validators/mobile.validator.ts | 2 +- .../core/validators/national-id.validator.ts | 2 +- .../core/validators/postal-code.validator.ts | 2 +- .../invoices/shared-saleInvoice.component.ts | 13 +- .../license-info-dialog.component.html | 4 +- .../license-info-dialog.component.ts | 6 +- .../accounts/components/form.component.html | 4 +- .../accounts/components/form.component.ts | 4 +- .../components/permissions/list.component.ts | 2 +- .../consumer/modules/accounts/models/io.d.ts | 13 +- .../accounts/models/permissions.io.d.ts | 9 +- .../accounts/services/permissions.service.ts | 9 +- .../accounts/views/list.component.html | 9 +- .../modules/accounts/views/list.component.ts | 24 +- .../accounts/views/single.component.ts | 3 +- .../components/complexes/form.component.html | 10 +- .../components/complexes/form.component.ts | 26 +- .../components/form.component.html | 9 +- .../components/form.component.ts | 27 +- .../components/goods/form.component.html | 4 +- .../components/goods/form.component.ts | 4 +- .../components/poses/form.component.html | 16 +- .../components/poses/form.component.ts | 43 +- .../modules/businessActivities/models/io.d.ts | 4 + .../components/form-dialog.component.html | 4 +- .../components/form-dialog.component.ts | 4 +- .../components/form-individual.component.html | 2 +- .../components/form-individual.component.ts | 2 +- .../consumer/modules/customers/models/io.d.ts | 17 +- .../dashboard/models/saleInvoices.io.d.ts | 4 +- .../poses/components/form.component.html | 4 +- .../poses/components/form.component.ts | 4 +- .../consumer/modules/poses/models/io.d.ts | 4 + .../modules/saleInvoices/models/io.d.ts | 2 +- .../accounts/components/form.component.html | 4 +- .../accounts/components/form.component.ts | 4 +- .../partner/modules/accounts/models/io.d.ts | 5 +- .../accounts/views/list.component.html | 9 +- .../modules/accounts/views/list.component.ts | 24 +- .../components/accounts/form.component.html | 6 +- .../components/accounts/form.component.ts | 13 +- .../create-wrapper.component.html | 45 + .../create-wrapper.component.ts | 84 ++ .../form-dialog.component.html | 4 +- .../form-dialog.component.ts | 4 +- .../businessActivities/form.component.html | 13 +- .../businessActivities/form.component.ts | 33 +- .../businessActivities/list.component.html | 7 +- .../businessActivities/list.component.ts | 14 +- .../charge-account-form-dialog.component.html | 4 +- .../charge-account-form-dialog.component.ts | 9 +- .../create-wrapper.component.html | 37 + .../create-wrapper.component.ts | 72 ++ .../complexes/form-dialog.component.html | 4 +- .../complexes/form-dialog.component.ts | 4 +- .../components/complexes/form.component.html | 6 +- .../components/complexes/form.component.ts | 23 +- .../components/complexes/list.component.html | 8 +- .../components/complexes/list.component.ts | 16 +- .../create-consumer-wrapper.component.html | 49 ++ .../create-consumer-wrapper.component.ts | 100 +++ .../components/form-dialog.component.html | 16 + .../components/form-dialog.component.ts | 27 + .../consumers/components/form.component.html | 62 +- .../consumers/components/form.component.ts | 137 ++- .../components/licenses/form.component.html | 4 +- .../components/licenses/form.component.ts | 9 +- .../poses/form-dialog.component.html | 4 +- .../components/poses/form-dialog.component.ts | 4 +- .../components/poses/form.component.html | 12 +- .../components/poses/form.component.ts | 39 +- .../models/businessActivities_io.d.ts | 8 +- .../consumers/models/chargeAccount_io.d.ts | 7 +- .../partner/modules/consumers/models/io.d.ts | 30 +- .../services/chargeAccount.service.ts | 6 +- .../consumers/services/main.service.ts | 25 +- .../modules/consumers/store/consumer.store.ts | 8 +- .../consumers/views/list.component.html | 4 +- .../modules/consumers/views/list.component.ts | 39 +- .../consumers/views/single.component.html | 4 +- .../consumers/views/single.component.ts | 9 +- .../licenses/components/list.component.html | 2 +- .../licenses/components/list.component.ts | 26 +- .../partner/modules/licenses/models/io.d.ts | 9 +- .../modules/licenses/services/main.service.ts | 2 +- .../customers/customer-dialog.component.html | 4 +- .../customers/customer-dialog.component.ts | 4 +- .../components/payload-form.component.html | 4 +- .../components/payload-form.component.ts | 4 +- .../payloads/gold/form.component.html | 2 +- .../payment/form-dialog.component.html | 4 +- .../payment/form-dialog.component.ts | 29 +- .../pre-invoice-dialog.component.html | 4 +- .../pre-invoice-dialog.component.ts | 4 +- .../pos/modules/landing/models/io.d.ts | 5 +- .../pos/modules/landing/store/main.store.ts | 6 +- .../components/accounts/form.component.html | 6 +- .../components/accounts/form.component.ts | 13 +- .../businessActivities/form.component.html | 11 +- .../businessActivities/form.component.ts | 30 +- .../components/complexes/form.component.html | 10 +- .../components/complexes/form.component.ts | 26 +- .../consumers/components/form.component.html | 16 +- .../consumers/components/form.component.ts | 63 +- .../components/licenses/form.component.html | 4 +- .../components/licenses/form.component.ts | 4 +- .../components/poses/form.component.html | 14 +- .../components/poses/form.component.ts | 41 +- .../modules/consumers/models/accounts_io.d.ts | 15 +- .../models/businessActivities_io.d.ts | 6 + .../modules/consumers/models/io.d.ts | 30 +- .../consumers/services/main.service.ts | 22 +- .../modules/consumers/store/consumer.store.ts | 8 +- .../consumers/views/list.component.html | 4 - .../modules/consumers/views/list.component.ts | 35 +- .../consumers/views/single.component.html | 32 +- .../consumers/views/single.component.ts | 11 - .../components/form.component.html | 4 +- .../deviceBrands/components/form.component.ts | 4 +- .../devices/components/form.component.html | 4 +- .../devices/components/form.component.ts | 4 +- .../components/categories/form.component.html | 4 +- .../components/categories/form.component.ts | 4 +- .../guilds/components/form.component.html | 4 +- .../guilds/components/form.component.ts | 4 +- .../components/goods/form.component.html | 14 +- .../guilds/components/goods/form.component.ts | 4 +- .../licenses/components/form.component.html | 4 +- .../licenses/components/form.component.ts | 4 +- .../components/accounts/form.component.html | 8 +- .../components/accounts/form.component.ts | 13 +- .../charge-license-form-dialog.component.html | 4 +- .../charge-license-form-dialog.component.ts | 4 +- .../charge-account-form-dialog.component.html | 4 +- .../charge-account-form-dialog.component.ts | 4 +- .../partners/components/form.component.html | 4 +- .../partners/components/form.component.ts | 4 +- .../modules/partners/models/accounts_io.d.ts | 14 +- .../partners/models/chargeAccount_io.d.ts | 2 +- .../models/chargeLicenseTransactions_io.d.ts | 2 +- .../chargeLicenseTransactions.service.ts | 8 +- .../providers/components/form.component.html | 4 +- .../providers/components/form.component.ts | 4 +- .../components/accounts/form.component.html | 6 +- .../components/accounts/form.component.ts | 18 +- .../users/components/form.component.html | 4 +- .../users/components/form.component.ts | 4 +- .../modules/users/models/accounts_io.d.ts | 8 +- src/app/pages/crud/crud.ts | 779 ++++++++++-------- src/app/pages/uikit/overlaydemo.ts | 492 ++++++----- src/app/shared/apiEnum/select.component.html | 1 + src/app/shared/apiEnum/select.component.ts | 1 + .../guild/components/select.component.html | 1 + .../guild/components/select.component.ts | 1 + ...change-password-form-dialog.component.html | 4 +- .../change-password-form-dialog.component.ts | 6 +- .../components/dialog/dialog.component.ts | 34 + .../components/fields/address.component.ts | 13 + .../fields/branch_code.component.ts | 13 + .../components/fields/cash.component.ts | 13 + .../components/fields/code.component.ts | 13 + .../fields/company_name.component.ts | 13 + .../fields/description.component.ts | 13 + .../components/fields/device_id.component.ts | 13 + .../fields/economic_code.component.ts | 13 + .../components/fields/email.component.ts | 13 + .../components/fields/first_name.component.ts | 13 + .../fields/fiscal_code.component.ts | 13 + .../components/fields/guild_id.component.ts | 13 + src/app/shared/components/fields/index.ts | 34 + .../components/fields/last_name.component.ts | 13 + .../components/fields/legal_name.component.ts | 14 + .../fields/license_starts_at.component.ts | 18 + .../components/fields/mobile.component.ts | 18 + .../fields/mobile_number.component.ts | 13 + .../components/fields/model.component.ts | 13 + .../components/fields/name.component.ts | 14 + .../fields/national_code.component.ts | 13 + .../fields/national_id.component.ts | 13 + .../fields/partner_token.component.ts | 18 + .../components/fields/pos_type.component.ts | 13 + .../fields/postal_code.component.ts | 13 + .../fields/provider_id.component.ts | 13 + .../components/fields/quantity.component.ts | 13 + .../fields/registration_code.component.ts | 13 + .../fields/registration_number.component.ts | 13 + .../fields/serial_number.component.ts | 13 + .../components/fields/set_off.component.ts | 13 + .../shared/components/fields/sku.component.ts | 13 + .../components/fields/terminal.component.ts | 13 + .../components/fields/unit_price.component.ts | 13 + .../components/fields/username.component.ts | 14 + src/app/shared/components/index.ts | 2 + .../password-input.component.html | 4 +- .../passwordInput/password-input.component.ts | 2 +- src/app/shared/constants/fields/index.ts | 114 +++ src/app/shared/constants/index.ts | 1 + src/app/shared/models/consumer.type.ts | 40 + src/environments/environment.prod.ts | 1 + src/environments/environment.staging.ts | 1 + src/environments/environment.tis.ts | 10 + src/environments/environment.ts | 1 + src/index.html | 1 + src/main.ts | 13 + src/tenants/default/app.routes.ts | 35 + src/tenants/default/branding.config.ts | 11 + src/tenants/tis/app.routes.ts | 15 + src/tenants/tis/branding.config.ts | 7 + 235 files changed, 4007 insertions(+), 1260 deletions(-) create mode 100644 WEBVIEW_BRIDGE.md create mode 100644 ngsw-config.json create mode 100644 public-tis/branding/login.webp create mode 100644 public-tis/branding/logo.png create mode 100644 public-tis/favicon.ico create mode 100644 public-tis/favicon/apple-touch-icon.png create mode 100644 public-tis/favicon/favicon-96x96.png create mode 100644 public-tis/favicon/favicon.ico create mode 100644 public-tis/favicon/favicon.svg create mode 100644 public-tis/favicon/site.webmanifest create mode 100644 public-tis/favicon/web-app-manifest-192x192.png create mode 100644 public-tis/favicon/web-app-manifest-512x512.png create mode 100644 scripts/update-ngsw-appdata.js create mode 100644 src/app/branding/branding.config.ts create mode 100644 src/app/core/services/native-bridge.service.ts create mode 100644 src/app/core/validators/fiscal-code.validator.ts create mode 100644 src/app/domains/partner/modules/consumers/components/businessActivities/create-wrapper/create-wrapper.component.html create mode 100644 src/app/domains/partner/modules/consumers/components/businessActivities/create-wrapper/create-wrapper.component.ts create mode 100644 src/app/domains/partner/modules/consumers/components/complexes/create-wrapper/create-wrapper.component.html create mode 100644 src/app/domains/partner/modules/consumers/components/complexes/create-wrapper/create-wrapper.component.ts create mode 100644 src/app/domains/partner/modules/consumers/components/createConsumerWrapper/create-consumer-wrapper.component.html create mode 100644 src/app/domains/partner/modules/consumers/components/createConsumerWrapper/create-consumer-wrapper.component.ts create mode 100644 src/app/domains/partner/modules/consumers/components/form-dialog.component.html create mode 100644 src/app/domains/partner/modules/consumers/components/form-dialog.component.ts create mode 100644 src/app/shared/components/dialog/dialog.component.ts create mode 100644 src/app/shared/components/fields/address.component.ts create mode 100644 src/app/shared/components/fields/branch_code.component.ts create mode 100644 src/app/shared/components/fields/cash.component.ts create mode 100644 src/app/shared/components/fields/code.component.ts create mode 100644 src/app/shared/components/fields/company_name.component.ts create mode 100644 src/app/shared/components/fields/description.component.ts create mode 100644 src/app/shared/components/fields/device_id.component.ts create mode 100644 src/app/shared/components/fields/economic_code.component.ts create mode 100644 src/app/shared/components/fields/email.component.ts create mode 100644 src/app/shared/components/fields/first_name.component.ts create mode 100644 src/app/shared/components/fields/fiscal_code.component.ts create mode 100644 src/app/shared/components/fields/guild_id.component.ts create mode 100644 src/app/shared/components/fields/index.ts create mode 100644 src/app/shared/components/fields/last_name.component.ts create mode 100644 src/app/shared/components/fields/legal_name.component.ts create mode 100644 src/app/shared/components/fields/license_starts_at.component.ts create mode 100644 src/app/shared/components/fields/mobile.component.ts create mode 100644 src/app/shared/components/fields/mobile_number.component.ts create mode 100644 src/app/shared/components/fields/model.component.ts create mode 100644 src/app/shared/components/fields/name.component.ts create mode 100644 src/app/shared/components/fields/national_code.component.ts create mode 100644 src/app/shared/components/fields/national_id.component.ts create mode 100644 src/app/shared/components/fields/partner_token.component.ts create mode 100644 src/app/shared/components/fields/pos_type.component.ts create mode 100644 src/app/shared/components/fields/postal_code.component.ts create mode 100644 src/app/shared/components/fields/provider_id.component.ts create mode 100644 src/app/shared/components/fields/quantity.component.ts create mode 100644 src/app/shared/components/fields/registration_code.component.ts create mode 100644 src/app/shared/components/fields/registration_number.component.ts create mode 100644 src/app/shared/components/fields/serial_number.component.ts create mode 100644 src/app/shared/components/fields/set_off.component.ts create mode 100644 src/app/shared/components/fields/sku.component.ts create mode 100644 src/app/shared/components/fields/terminal.component.ts create mode 100644 src/app/shared/components/fields/unit_price.component.ts create mode 100644 src/app/shared/components/fields/username.component.ts create mode 100644 src/app/shared/constants/fields/index.ts create mode 100644 src/app/shared/constants/index.ts create mode 100644 src/app/shared/models/consumer.type.ts create mode 100644 src/environments/environment.tis.ts create mode 100644 src/tenants/default/app.routes.ts create mode 100644 src/tenants/default/branding.config.ts create mode 100644 src/tenants/tis/app.routes.ts create mode 100644 src/tenants/tis/branding.config.ts diff --git a/Dockerfile b/Dockerfile index 5036166..dc9cdb1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,9 @@ # Build stage FROM node:20 AS builder +ARG TENANT=tis +ARG DIST_DIR=tis + WORKDIR /app # RUN npm config set registry "https://hub.megan.ir/npm/" @@ -11,14 +14,20 @@ RUN pnpm install COPY . . -RUN pnpm run build +RUN if [ "$TENANT" = "default" ]; then \ + pnpm run build; \ + else \ + pnpm run build:$TENANT; \ + fi FROM nginx:alpine +ARG DIST_DIR=tis + COPY nginx.conf /etc/nginx/nginx.conf -COPY --from=builder /app/dist/pos.client/browser /usr/share/nginx/html +COPY --from=builder /app/dist/${DIST_DIR}/browser /usr/share/nginx/html -EXPOSE 4001 +EXPOSE 5000 CMD ["nginx", "-g", "daemon off;"] diff --git a/WEBVIEW_BRIDGE.md b/WEBVIEW_BRIDGE.md new file mode 100644 index 0000000..d148547 --- /dev/null +++ b/WEBVIEW_BRIDGE.md @@ -0,0 +1,132 @@ +# WebView Bridge Contract + +This document defines the Android WebView bridge contract used by tenant builds like `tis`. + +## Scope + +- The bridge is enabled per tenant via `environment.enableNativeBridge`. +- Current tenant config: + - `src/environments/environment.tis.ts` -> `enableNativeBridge: true` + - other environments -> `false` + +## JavaScript host objects + +The web app checks bridge methods on: + +1. `window.AndroidBridge` +2. `window.Android` (fallback) + +Your Android app can expose either one. + +## Required native methods + +Expose these synchronous methods through `@JavascriptInterface`: + +- `pay(payloadJson: String): String` +- `print(payloadJson: String): String` + +Both methods must return a JSON string. + +## Return JSON format + +Success: + +```json +{ + "success": true, + "data": {} +} +``` + +Failure: + +```json +{ + "success": false, + "error": "Reason message" +} +``` + +If a non-JSON string is returned, the app treats it as success with raw data. + +## Payload schemas + +### pay(payload) + +Called before invoice submit when terminal amount is greater than zero. + +```json +{ + "amount": 1200000, + "totalAmount": 3500000, + "invoiceDate": "2026-04-27T10:30:00.000Z" +} +``` + +Fields: + +- `amount` number: terminal payment amount. +- `totalAmount` number: full invoice total. +- `invoiceDate` string: ISO date-time. + +### print(payload) + +Called after successful invoice creation (and from invoice view print action). + +```json +{ + "invoiceId": "a7e1f2...", + "code": "INV-1745730090000" +} +``` + +Fields are optional, but should be used when available. + +## Web behavior summary + +- On native pay failure: + - Invoice submit is stopped. + - User sees warning toast. +- On native print failure or missing bridge: + - In invoice page, app falls back to `window.print()`. + - In POS checkout flow, print failure does not block successful submit. + +## Android integration example (Kotlin) + +```kotlin +class AndroidBridge( + private val context: Context +) { + @JavascriptInterface + fun pay(payloadJson: String): String { + return try { + // TODO: parse payloadJson and run POS payment SDK synchronously + """{"success":true,"data":{"txId":"12345"}}""" + } catch (e: Exception) { + """{"success":false,"error":"${e.message ?: "Payment failed"}"}""" + } + } + + @JavascriptInterface + fun print(payloadJson: String): String { + return try { + // TODO: parse payloadJson and print with printer SDK + """{"success":true}""" + } catch (e: Exception) { + """{"success":false,"error":"${e.message ?: "Print failed"}"}""" + } + } +} +``` + +Attach to WebView: + +```kotlin +webView.settings.javaScriptEnabled = true +webView.addJavascriptInterface(AndroidBridge(this), "AndroidBridge") +``` + +## Notes + +- For production, use HTTPS for web app + API to avoid mixed-content issues. +- Keep method names and payload keys exactly as specified. diff --git a/angular.json b/angular.json index 564b7ee..5bf3c3e 100644 --- a/angular.json +++ b/angular.json @@ -34,7 +34,9 @@ "with": "src/environments/environment.prod.ts" } ], - "outputHashing": "all" + "outputHashing": "all", + "outputPath": "dist/pos.client", + "serviceWorker": "ngsw-config.json" }, "staging": { "extractLicenses": true, @@ -46,7 +48,45 @@ ], "optimization": true, "outputHashing": "all", + "serviceWorker": "ngsw-config.json", "sourceMap": false + }, + "tis": { + "assets": [ + { + "glob": "**/*", + "input": "public-tis" + } + ], + "budgets": [ + { + "maximumError": "3MB", + "maximumWarning": "2MB", + "type": "initial" + }, + { + "maximumError": "8kB", + "maximumWarning": "4kB", + "type": "anyComponentStyle" + } + ], + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.tis.ts" + }, + { + "replace": "src/app.routes.ts", + "with": "src/tenants/tis/app.routes.ts" + }, + { + "replace": "src/app/branding/branding.config.ts", + "with": "src/tenants/tis/branding.config.ts" + } + ], + "outputHashing": "all", + "outputPath": "dist/tis", + "serviceWorker": "ngsw-config.json" } }, "defaultConfiguration": "production", @@ -86,12 +126,14 @@ }, "staging": { "buildTarget": "pos.client:build:staging" + }, + "tis": { + "buildTarget": "pos.client:build:tis" } }, "defaultConfiguration": "development", "options": { - "port": 5000, - "proxyConfig": "src/proxy.conf.js" + "port": 5000 } }, "test": { diff --git a/docker-compose.yml b/docker-compose.yml index 6f60819..8b20d76 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,6 +7,9 @@ services: build: context: . dockerfile: Dockerfile + args: + TENANT: ${TENANT:-tis} + DIST_DIR: ${DIST_DIR:-tis} container_name: psp_panel_prod ports: - "5000:5000" @@ -14,7 +17,7 @@ services: - NODE_ENV=production restart: unless-stopped healthcheck: - test: [ "CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/" ] + test: [ "CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:5000/" ] interval: 30s timeout: 3s retries: 3 diff --git a/nginx.conf b/nginx.conf index b5d1eac..1ca0967 100644 --- a/nginx.conf +++ b/nginx.conf @@ -55,6 +55,17 @@ http { add_header Cache-Control "public, immutable"; } + # Service worker files should be revalidated on each request + location = /ngsw.json { + expires -1; + add_header Cache-Control "no-cache, no-store, must-revalidate"; + } + + location = /ngsw-worker.js { + expires -1; + add_header Cache-Control "no-cache, no-store, must-revalidate"; + } + # Angular routing - serve index.html for all routes location / { try_files $uri $uri/ /index.html; diff --git a/ngsw-config.json b/ngsw-config.json new file mode 100644 index 0000000..bbbb970 --- /dev/null +++ b/ngsw-config.json @@ -0,0 +1,66 @@ +{ + "$schema": "./node_modules/@angular/service-worker/config/schema.json", + "appData": { + "appVersion": "0.0.0", + "buildDate": "2026-04-27T06:02:22.249Z" + }, + "assetGroups": [ + { + "installMode": "prefetch", + "name": "app", + "resources": { + "files": [ + "/favicon.ico", + "/index.html", + "/*.css", + "/*.js" + ] + }, + "updateMode": "prefetch" + }, + { + "installMode": "lazy", + "name": "assets", + "resources": { + "files": [ + "/favicon/**", + "/assets/**", + "/**/*.svg", + "/**/*.png", + "/**/*.jpg", + "/**/*.jpeg", + "/**/*.webp", + "/**/*.gif", + "/**/*.woff", + "/**/*.woff2", + "/**/*.ttf", + "/**/*.otf" + ] + }, + "updateMode": "prefetch" + } + ], + "dataGroups": [ + { + "cacheConfig": { + "maxAge": "1h", + "maxSize": 100, + "strategy": "freshness", + "timeout": "10s" + }, + "name": "api-fresh", + "urls": [ + "/api/**", + "https://*/api/**", + "http://*/api/**" + ] + } + ], + "index": "/index.html", + "navigationUrls": [ + "/**", + "!/**/*.*", + "!/**/*__*", + "!/**/*__*/**" + ] +} diff --git a/package.json b/package.json index ff29732..d2084df 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "@angular/platform-browser": "^20.3.19", "@angular/platform-browser-dynamic": "^20.3.19", "@angular/router": "^20.3.19", + "@angular/service-worker": "^20.3.19", "@primeng/themes": "^20.4.0", "@primeuix/themes": "^1.2.5", "@tailwindcss/postcss": "^4.2.3", @@ -45,6 +46,7 @@ "karma-coverage": "~2.2.1", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", + "madge": "^8.0.0", "postcss": "^8.5.10", "prettier": "^3.8.3", "prettier-plugin-organize-imports": "^4.3.0", @@ -66,9 +68,13 @@ "private": true, "scripts": { "build": "ng build", + "build:tis": "ng build --configuration tis", "ng": "ng", + "prebuild": "node scripts/update-ngsw-appdata.js", + "prebuild:tis": "node scripts/update-ngsw-appdata.js", "prestart": "node aspnetcore-https", "start": "run-script-os", + "start:tis": "ng serve --configuration tis", "test": "ng test", "watch": "ng build --watch --configuration development" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dee4e6f..7af0a38 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,6 +32,9 @@ importers: '@angular/router': specifier: ^20.3.19 version: 20.3.19(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(@angular/platform-browser@20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/service-worker': + specifier: ^20.3.19 + version: 20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2) '@primeng/themes': specifier: ^20.4.0 version: 20.4.0 @@ -89,10 +92,10 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^20.3.24 - version: 20.3.24(@angular/compiler-cli@20.3.19(@angular/compiler@20.3.19)(typescript@5.8.3))(@angular/compiler@20.3.19)(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(@angular/platform-browser@20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@types/node@25.6.0)(chokidar@4.0.3)(jiti@2.6.1)(karma@6.4.4)(lightningcss@1.32.0)(tailwindcss@4.2.3)(tsx@4.21.0)(typescript@5.8.3) + version: 20.3.24(@angular/compiler-cli@20.3.19(@angular/compiler@20.3.19)(typescript@5.8.3))(@angular/compiler@20.3.19)(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(@angular/platform-browser@20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/service-worker@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@types/node@25.6.0)(chokidar@4.0.3)(jiti@2.6.1)(karma@6.4.4)(lightningcss@1.32.0)(tailwindcss@4.2.3)(tsx@4.21.0)(typescript@5.8.3) '@angular/build': specifier: ^20.3.24 - version: 20.3.24(@angular/compiler-cli@20.3.19(@angular/compiler@20.3.19)(typescript@5.8.3))(@angular/compiler@20.3.19)(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(@angular/platform-browser@20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@types/node@25.6.0)(chokidar@4.0.3)(jiti@2.6.1)(karma@6.4.4)(less@4.4.0)(lightningcss@1.32.0)(postcss@8.5.10)(tailwindcss@4.2.3)(terser@5.43.1)(tslib@2.8.1)(tsx@4.21.0)(typescript@5.8.3) + version: 20.3.24(@angular/compiler-cli@20.3.19(@angular/compiler@20.3.19)(typescript@5.8.3))(@angular/compiler@20.3.19)(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(@angular/platform-browser@20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/service-worker@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@types/node@25.6.0)(chokidar@4.0.3)(jiti@2.6.1)(karma@6.4.4)(less@4.4.0)(lightningcss@1.32.0)(postcss@8.5.10)(tailwindcss@4.2.3)(terser@5.43.1)(tslib@2.8.1)(tsx@4.21.0)(typescript@5.8.3) '@angular/cli': specifier: ^20.3.24 version: 20.3.24(@types/node@25.6.0)(chokidar@4.0.3) @@ -138,6 +141,9 @@ importers: karma-jasmine-html-reporter: specifier: ~2.1.0 version: 2.1.0(jasmine-core@5.8.0)(karma-jasmine@5.1.0(karma@6.4.4))(karma@6.4.4) + madge: + specifier: ^8.0.0 + version: 8.0.0(typescript@5.8.3) postcss: specifier: ^8.5.10 version: 8.5.10 @@ -434,6 +440,14 @@ packages: '@angular/platform-browser': 20.3.19 rxjs: ^6.5.3 || ^7.4.0 + '@angular/service-worker@20.3.19': + resolution: {integrity: sha512-djGCXrKw3TavjwKydtR5DXOZaSq9CK6O29OCDC4pCjw4SJmT5bV/PnntOH7jlpxzvWD9/ofO/89M1e2lBzoAWA==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@angular/core': 20.3.19 + rxjs: ^6.5.3 || ^7.4.0 + '@babel/code-frame@7.29.0': resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} engines: {node: '>=6.9.0'} @@ -1052,6 +1066,10 @@ packages: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} + '@dependents/detective-less@5.0.3': + resolution: {integrity: sha512-v6oD9Ukp+N7V4n6p5I/+mM5fIohSfkrDSGlFm5w/pYmchvbk+sMIHsLxrFJ5Lnujewj1BzWL0K84d88lwZAMQA==} + engines: {node: '>=18'} + '@discoveryjs/json-ext@0.6.3': resolution: {integrity: sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==} engines: {node: '>=14.17.0'} @@ -2524,6 +2542,22 @@ packages: '@tailwindcss/postcss@4.2.3': resolution: {integrity: sha512-MehdHOQRVFf300r8F430s4cf2QL+nSjFUNIndX5ZMqDLyMwTnyL4RDZsoDsDU+ThzT5eCj1+erSDKBWdn462Nw==} + '@ts-graphviz/adapter@2.0.6': + resolution: {integrity: sha512-kJ10lIMSWMJkLkkCG5gt927SnGZcBuG0s0HHswGzcHTgvtUe7yk5/3zTEr0bafzsodsOq5Gi6FhQeV775nC35Q==} + engines: {node: '>=18'} + + '@ts-graphviz/ast@2.0.7': + resolution: {integrity: sha512-e6+2qtNV99UT6DJSoLbHfkzfyqY84aIuoV8Xlb9+hZAjgpum8iVHprGeAMQ4rF6sKUAxrmY8rfF/vgAwoPc3gw==} + engines: {node: '>=18'} + + '@ts-graphviz/common@2.1.5': + resolution: {integrity: sha512-S6/9+T6x8j6cr/gNhp+U2olwo1n0jKj/682QVqsh7yXWV6ednHYqxFw0ZsY3LyzT0N8jaZ6jQY9YD99le3cmvg==} + engines: {node: '>=18'} + + '@ts-graphviz/core@2.0.7': + resolution: {integrity: sha512-w071DSzP94YfN6XiWhOxnLpYT3uqtxJBDYdh6Jdjzt+Ce6DNspJsPQgpC7rbts/B8tEkq0LHoYuIF/O5Jh5rPg==} + engines: {node: '>=18'} + '@ts-morph/common@0.22.0': resolution: {integrity: sha512-HqNBuV/oIlMKdkLshXd1zKBqNQCsuPEsgQOkfFQ/eUKjRlwndXW1AjN9LVkBEIukm00gGXSRmfkl0Wv5VXLnlw==} @@ -2646,6 +2680,32 @@ packages: '@types/yargs@17.0.35': resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} + '@typescript-eslint/project-service@8.59.0': + resolution: {integrity: sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/tsconfig-utils@8.59.0': + resolution: {integrity: sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/types@8.59.0': + resolution: {integrity: sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.59.0': + resolution: {integrity: sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/visitor-keys@8.59.0': + resolution: {integrity: sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} @@ -2655,6 +2715,21 @@ packages: peerDependencies: vite: ^6.0.0 || ^7.0.0 + '@vue/compiler-core@3.5.33': + resolution: {integrity: sha512-3PZLQwFw4Za3TC8t0FvTy3wI16Kt+pmwcgNZca4Pj9iWL2E72a/gZlpBtAJvEdDMdCxdG/qq0C7PN0bsJuv0Rw==} + + '@vue/compiler-dom@3.5.33': + resolution: {integrity: sha512-PXq0yrfCLzzL07rbXO4awtXY1Z06LG2eu6Adg3RJFa/j3Cii217XxxLXG22N330gw7GmALCY0Z8RgXEviwgpjA==} + + '@vue/compiler-sfc@3.5.33': + resolution: {integrity: sha512-UTUvRO9cY+rROrx/pvN9P5Z7FgA6QGfokUCfhQE4EnmUj3rVnK+CHI0LsEO1pg+I7//iRYMUfcNcCPe7tg0CoA==} + + '@vue/compiler-ssr@3.5.33': + resolution: {integrity: sha512-IErjYdnj1qIupG5xxiVIYiiRvDhGWV4zuh/RCrwfYpuL+HWQzeU6lCk/nF9r7olWMnjKxCAkOctT2qFWFkzb1A==} + + '@vue/shared@3.5.33': + resolution: {integrity: sha512-5vR2QIlmaLG77Ygd4pMP6+SGQ5yox9VhtnbDWTy9DzMzdmeLxZ1QqxrywEZ9sa1AVubfIJyaCG3ytyWU81ufcQ==} + '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -2824,10 +2899,16 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} + app-module-path@2.2.0: + resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} + argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -2861,6 +2942,10 @@ packages: resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} + ast-module-types@6.0.1: + resolution: {integrity: sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA==} + engines: {node: '>=18'} + async-function@1.0.0: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} engines: {node: '>= 0.4'} @@ -3128,9 +3213,20 @@ packages: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} @@ -3282,6 +3378,10 @@ packages: supports-color: optional: true + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -3320,6 +3420,11 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + dependency-tree@11.4.3: + resolution: {integrity: sha512-Y2gzOJ2Rb2X7MN6pT9llWpXxl5J5s5/11CBpJ5b85DjEqZH7jv3T9RO6HRV/PI/3MDmaKn/g7uoYdYmSb9vLlw==} + engines: {node: '>=18'} + hasBin: true + destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -3331,6 +3436,49 @@ packages: detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + detective-amd@6.1.0: + resolution: {integrity: sha512-fmI6LGMvotqd49QaA3ZYw+q0aGp2yXmMjzIuY6fH9j9YFIXY/73yDhMwhX9cPbhWd+AH06NH1Di/LKOuCH0Ubg==} + engines: {node: '>=18'} + hasBin: true + + detective-cjs@6.1.1: + resolution: {integrity: sha512-pSh7mkCKEtLlmANqLu3KDFS3NV8Hx41jy/JF1/gAWOgU+Uo5QTkeI1tWNP4dWGo4L0E9j18Ez9EPsTleautKqA==} + engines: {node: '>=18'} + + detective-es6@5.0.2: + resolution: {integrity: sha512-+qHHGYhjupiVs4rnIpI9nZ5B130A4AmE35ZX1w33hb46vcZ7T3jfDbvmPw0FhWtMHn5BS5HHu7ZtnZ53bMcXZA==} + engines: {node: '>=18'} + + detective-postcss@7.0.1: + resolution: {integrity: sha512-bEOVpHU9picRZux5XnwGsmCN4+8oZo7vSW0O0/Enq/TO5R2pIAP2279NsszpJR7ocnQt4WXU0+nnh/0JuK4KHQ==} + engines: {node: ^14.0.0 || >=16.0.0} + peerDependencies: + postcss: ^8.4.47 + + detective-sass@6.0.2: + resolution: {integrity: sha512-i3xpXHDKS0qI2aFW4asQ7fqlPK00ndOVZELvQapFJCaF0VxYmsNWtd0AmvXbTLMk7bfO5VdIeorhY9KfmHVoVA==} + engines: {node: '>=18'} + + detective-scss@5.0.2: + resolution: {integrity: sha512-9JOEMZ8pDh3ShXmftq7hoQqqJsClaGgxo1hghfCeFlmKf5TC/Twtwb0PAaK8dXwpg9Z0uCmEYSrCxO+kel2eEg==} + engines: {node: '>=18'} + + detective-stylus@5.0.1: + resolution: {integrity: sha512-Dgn0bUqdGbE3oZJ+WCKf8Dmu7VWLcmRJGc6RCzBgG31DLIyai9WAoEhYRgIHpt/BCRMrnXLbGWGPQuBUrnF0TA==} + engines: {node: '>=18'} + + detective-typescript@14.1.2: + resolution: {integrity: sha512-bIeEn0eVi/JRsE1YizBR2ilnMlWRAIBJJ6kXCKNFxEEWhUcEY3R6I3KYIAy48ieURbD1hcb3Ebvl8AqeoPMSzg==} + engines: {node: '>=18'} + peerDependencies: + typescript: ^5.4.4 || ^6.0.2 + + detective-vue2@2.3.0: + resolution: {integrity: sha512-3gwbZPqVTm9sL9XdZsgEJ7x4x99O853VVZHapQAiEkGuMJMpFPjHDrecSgfqnS5JW3FJfYXesLZGvUOibjn49g==} + engines: {node: '>=18'} + peerDependencies: + typescript: ^5.4.4 || ^6.0.2 + di@0.0.1: resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} @@ -3505,6 +3653,11 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + eslint-config-prettier@10.1.8: resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} hasBin: true @@ -3580,6 +3733,10 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + eslint@9.39.4: resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3615,6 +3772,9 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -3711,6 +3871,11 @@ packages: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} + filing-cabinet@5.4.0: + resolution: {integrity: sha512-wLWf4M3lDRoFB2Tp8/ueMhT9i2iahDAOUcBSY6oeReIo0d/3z2U8yEZsfQ3HpDKBlarnHTjDfOK77g5bpYNqVg==} + engines: {node: '>=18'} + hasBin: true + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -3828,6 +3993,10 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} + get-amd-module-type@6.0.2: + resolution: {integrity: sha512-7zShVYAYtMnj9S65CfN+hvpBCByfuB1OY8xID01nZEzXTZbx4YyysAfi+nMl95JSR6odt4q8TCj2W63KAoyVLQ==} + engines: {node: '>=18'} + get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -3840,6 +4009,9 @@ packages: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} + get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -3892,6 +4064,11 @@ packages: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} + gonzales-pe@4.3.0: + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} + hasBin: true + gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -4047,6 +4224,9 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + ini@5.0.0: resolution: {integrity: sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==} engines: {node: ^18.17.0 || >=20.5.0} @@ -4180,6 +4360,10 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + is-plain-obj@3.0.0: resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} engines: {node: '>=10'} @@ -4199,6 +4383,10 @@ packages: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + is-set@2.0.3: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} @@ -4231,6 +4419,13 @@ packages: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} + is-url-superb@4.0.0: + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} + + is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} @@ -4626,6 +4821,16 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + madge@8.0.0: + resolution: {integrity: sha512-9sSsi3TBPhmkTCIpVQF0SPiChj1L7Rq9kU2KDG1o6v2XH9cCw086MopjVCD+vuoL5v8S77DTbVopTO8OUiQpIw==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + typescript: ^5.4.4 + peerDependenciesMeta: + typescript: + optional: true + magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} @@ -4784,6 +4989,16 @@ packages: engines: {node: '>=10'} hasBin: true + module-definition@6.0.2: + resolution: {integrity: sha512-SvAU3lB0+Yjbq55yHY3wkRZBOh+fhU1SnIF3IFbTewv6mtAh7yUT8ACHAJ2mGIJ7tCes2QuCL/cl6m0JSZ/ArA==} + engines: {node: '>=18'} + hasBin: true + + module-lookup-amd@9.1.2: + resolution: {integrity: sha512-HFEiUNm8/woZFJZcd42wrovEHjHN6nwfNjf2CjiVLbVFRbj+sEmEJn0mrx8JY4/qJP8wSZTtmguikAJBqEuRRQ==} + engines: {node: '>=18'} + hasBin: true + mrmime@2.0.1: resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} @@ -4893,6 +5108,10 @@ packages: node-releases@2.0.37: resolution: {integrity: sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==} + node-source-walk@7.0.2: + resolution: {integrity: sha512-71kFFjYaSshDTA8/a2HiTYPLdASWjLJxUyJxGE+ffxU+KhxSBtM9kiLUX+R2yooFdSFKMFpi4n3PFtDy6qXv8A==} + engines: {node: '>=18'} + nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} engines: {node: ^20.17.0 || >=22.9.0} @@ -5071,6 +5290,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse-ms@2.1.0: + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} + parse-node-version@1.0.1: resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} engines: {node: '>= 0.10'} @@ -5143,6 +5366,10 @@ packages: resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==} engines: {node: '>=16.20.0'} + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} @@ -5194,6 +5421,12 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + postcss-values-parser@6.0.2: + resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} + engines: {node: '>=10'} + peerDependencies: + postcss: ^8.2.9 + postcss@8.5.10: resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==} engines: {node: ^10 || ^12 || >=14} @@ -5202,6 +5435,11 @@ packages: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} + precinct@12.3.1: + resolution: {integrity: sha512-wGyTIvtxh2S2NAHxTJj0YymxWOIcEDotu17yHoQUd2Bz2C07LrS28L1nvXDMxrCHvHmV6KTlaIQy5PzRm7Y8rg==} + engines: {node: '>=18'} + hasBin: true + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -5288,6 +5526,10 @@ packages: resolution: {integrity: sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + pretty-ms@7.0.1: + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} + primeclt@0.1.5: resolution: {integrity: sha512-9gSu9yFNWq4GfSisqrHRapi06WsnqqPwu8wCEaHtPZEZcydFpWRKtoi4kFRZuFqrVE+dvNgH1AQ6usAB7a1upg==} engines: {node: '>=14.0.0', npm: '>=6.0.0'} @@ -5352,6 +5594,9 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + quote-unquote@1.0.0: + resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} + range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -5364,6 +5609,10 @@ packages: resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} engines: {node: '>= 0.10'} + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} @@ -5422,9 +5671,22 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + requirejs-config-file@4.0.0: + resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} + engines: {node: '>=10.13.0'} + + requirejs@2.3.8: + resolution: {integrity: sha512-7/cTSLOdYkNBNJcDMWf+luFvMriVm7eYxp4BcFCsAX0wF421Vyce5SXP17c+Jd5otXKGNehIonFlyQXSowL6Mw==} + engines: {node: '>=0.4.0'} + hasBin: true + requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + resolve-dependency-path@4.0.1: + resolution: {integrity: sha512-YQftIIC4vzO9UMhO/sCgXukNyiwVRCVaxiWskCBy7Zpqkplm8kTAISZ8O1MoKW1ca6xzgLUBjZTcDgypXvXxiQ==} + engines: {node: '>=18'} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -5552,6 +5814,11 @@ packages: webpack: optional: true + sass-lookup@6.1.2: + resolution: {integrity: sha512-GjmndmKQBtlPil79RK72L7yc5kDXZPCQeH97bP8R8DcxtXQJO6vECExb3WP/m6+cxaV9h4ZxrSRvCkPG2v/VSw==} + engines: {node: '>=18'} + hasBin: true + sass@1.90.0: resolution: {integrity: sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==} engines: {node: '>=14.0.0'} @@ -5774,6 +6041,9 @@ packages: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} + stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + streamroller@3.1.5: resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} engines: {node: '>=8.0'} @@ -5804,6 +6074,10 @@ packages: string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -5816,10 +6090,19 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + stylus-lookup@6.1.2: + resolution: {integrity: sha512-O+Q/SJ8s1X2aMLh4213fQ9X/bND9M3dhSsyTRe+O1OXPcewGLiYmAtKCrnP7FDvDBaXB2ZHPkCt3zi4cJXBlCQ==} + engines: {node: '>=18'} + hasBin: true + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -5922,12 +6205,26 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-graphviz@2.1.6: + resolution: {integrity: sha512-XyLVuhBVvdJTJr2FJJV2L1pc4MwSjMhcunRVgDE9k4wbb2ee7ORYnPewxMWUav12vxyfUM686MSGsqnVRIInuw==} + engines: {node: '>=18'} + ts-morph@21.0.1: resolution: {integrity: sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==} tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -5980,6 +6277,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + ua-parser-js@0.7.41: resolution: {integrity: sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==} hasBin: true @@ -6090,6 +6392,10 @@ packages: resolution: {integrity: sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==} engines: {node: '>=0.10.0'} + walkdir@0.4.1: + resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} + engines: {node: '>=6.0.0'} + walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} @@ -6408,13 +6714,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@20.3.24(@angular/compiler-cli@20.3.19(@angular/compiler@20.3.19)(typescript@5.8.3))(@angular/compiler@20.3.19)(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(@angular/platform-browser@20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@types/node@25.6.0)(chokidar@4.0.3)(jiti@2.6.1)(karma@6.4.4)(lightningcss@1.32.0)(tailwindcss@4.2.3)(tsx@4.21.0)(typescript@5.8.3)': + '@angular-devkit/build-angular@20.3.24(@angular/compiler-cli@20.3.19(@angular/compiler@20.3.19)(typescript@5.8.3))(@angular/compiler@20.3.19)(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(@angular/platform-browser@20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/service-worker@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@types/node@25.6.0)(chokidar@4.0.3)(jiti@2.6.1)(karma@6.4.4)(lightningcss@1.32.0)(tailwindcss@4.2.3)(tsx@4.21.0)(typescript@5.8.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2003.24(chokidar@4.0.3) '@angular-devkit/build-webpack': 0.2003.24(chokidar@4.0.3)(webpack-dev-server@5.2.2(tslib@2.8.1)(webpack@5.105.0))(webpack@5.105.0(esbuild@0.28.0)) '@angular-devkit/core': 20.3.24(chokidar@4.0.3) - '@angular/build': 20.3.24(@angular/compiler-cli@20.3.19(@angular/compiler@20.3.19)(typescript@5.8.3))(@angular/compiler@20.3.19)(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(@angular/platform-browser@20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@types/node@25.6.0)(chokidar@4.0.3)(jiti@2.6.1)(karma@6.4.4)(less@4.4.0)(lightningcss@1.32.0)(postcss@8.5.6)(tailwindcss@4.2.3)(terser@5.43.1)(tslib@2.8.1)(tsx@4.21.0)(typescript@5.8.3) + '@angular/build': 20.3.24(@angular/compiler-cli@20.3.19(@angular/compiler@20.3.19)(typescript@5.8.3))(@angular/compiler@20.3.19)(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(@angular/platform-browser@20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/service-worker@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@types/node@25.6.0)(chokidar@4.0.3)(jiti@2.6.1)(karma@6.4.4)(less@4.4.0)(lightningcss@1.32.0)(postcss@8.5.6)(tailwindcss@4.2.3)(terser@5.43.1)(tslib@2.8.1)(tsx@4.21.0)(typescript@5.8.3) '@angular/compiler-cli': 20.3.19(@angular/compiler@20.3.19)(typescript@5.8.3) '@babel/core': 7.28.3 '@babel/generator': 7.28.3 @@ -6469,6 +6775,7 @@ snapshots: optionalDependencies: '@angular/core': 20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2) '@angular/platform-browser': 20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)) + '@angular/service-worker': 20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2) esbuild: 0.28.0 karma: 6.4.4 tailwindcss: 4.2.3 @@ -6530,7 +6837,7 @@ snapshots: '@angular/core': 20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2) tslib: 2.8.1 - '@angular/build@20.3.24(@angular/compiler-cli@20.3.19(@angular/compiler@20.3.19)(typescript@5.8.3))(@angular/compiler@20.3.19)(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(@angular/platform-browser@20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@types/node@25.6.0)(chokidar@4.0.3)(jiti@2.6.1)(karma@6.4.4)(less@4.4.0)(lightningcss@1.32.0)(postcss@8.5.10)(tailwindcss@4.2.3)(terser@5.43.1)(tslib@2.8.1)(tsx@4.21.0)(typescript@5.8.3)': + '@angular/build@20.3.24(@angular/compiler-cli@20.3.19(@angular/compiler@20.3.19)(typescript@5.8.3))(@angular/compiler@20.3.19)(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(@angular/platform-browser@20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/service-worker@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@types/node@25.6.0)(chokidar@4.0.3)(jiti@2.6.1)(karma@6.4.4)(less@4.4.0)(lightningcss@1.32.0)(postcss@8.5.10)(tailwindcss@4.2.3)(terser@5.43.1)(tslib@2.8.1)(tsx@4.21.0)(typescript@5.8.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2003.24(chokidar@4.0.3) @@ -6565,6 +6872,7 @@ snapshots: optionalDependencies: '@angular/core': 20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2) '@angular/platform-browser': 20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)) + '@angular/service-worker': 20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2) karma: 6.4.4 less: 4.4.0 lmdb: 3.4.2 @@ -6583,7 +6891,7 @@ snapshots: - tsx - yaml - '@angular/build@20.3.24(@angular/compiler-cli@20.3.19(@angular/compiler@20.3.19)(typescript@5.8.3))(@angular/compiler@20.3.19)(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(@angular/platform-browser@20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@types/node@25.6.0)(chokidar@4.0.3)(jiti@2.6.1)(karma@6.4.4)(less@4.4.0)(lightningcss@1.32.0)(postcss@8.5.6)(tailwindcss@4.2.3)(terser@5.43.1)(tslib@2.8.1)(tsx@4.21.0)(typescript@5.8.3)': + '@angular/build@20.3.24(@angular/compiler-cli@20.3.19(@angular/compiler@20.3.19)(typescript@5.8.3))(@angular/compiler@20.3.19)(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(@angular/platform-browser@20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/service-worker@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@types/node@25.6.0)(chokidar@4.0.3)(jiti@2.6.1)(karma@6.4.4)(less@4.4.0)(lightningcss@1.32.0)(postcss@8.5.6)(tailwindcss@4.2.3)(terser@5.43.1)(tslib@2.8.1)(tsx@4.21.0)(typescript@5.8.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2003.24(chokidar@4.0.3) @@ -6618,6 +6926,7 @@ snapshots: optionalDependencies: '@angular/core': 20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2) '@angular/platform-browser': 20.3.19(@angular/animations@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)))(@angular/common@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2)) + '@angular/service-worker': 20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2) karma: 6.4.4 less: 4.4.0 lmdb: 3.4.2 @@ -6735,6 +7044,12 @@ snapshots: rxjs: 7.8.2 tslib: 2.8.1 + '@angular/service-worker@20.3.19(@angular/core@20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2))(rxjs@7.8.2)': + dependencies: + '@angular/core': 20.3.19(@angular/compiler@20.3.19)(rxjs@7.8.2) + rxjs: 7.8.2 + tslib: 2.8.1 + '@babel/code-frame@7.29.0': dependencies: '@babel/helper-validator-identifier': 7.28.5 @@ -7557,6 +7872,11 @@ snapshots: '@colors/colors@1.5.0': {} + '@dependents/detective-less@5.0.3': + dependencies: + gonzales-pe: 4.3.0 + node-source-walk: 7.0.2 + '@discoveryjs/json-ext@0.6.3': {} '@esbuild/aix-ppc64@0.19.12': @@ -8726,6 +9046,21 @@ snapshots: postcss: 8.5.10 tailwindcss: 4.2.3 + '@ts-graphviz/adapter@2.0.6': + dependencies: + '@ts-graphviz/common': 2.1.5 + + '@ts-graphviz/ast@2.0.7': + dependencies: + '@ts-graphviz/common': 2.1.5 + + '@ts-graphviz/common@2.1.5': {} + + '@ts-graphviz/core@2.0.7': + dependencies: + '@ts-graphviz/ast': 2.0.7 + '@ts-graphviz/common': 2.1.5 + '@ts-morph/common@0.22.0': dependencies: fast-glob: 3.3.3 @@ -8879,12 +9214,79 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 + '@typescript-eslint/project-service@8.59.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.59.0(typescript@5.9.3) + '@typescript-eslint/types': 8.59.0 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/tsconfig-utils@8.59.0(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/types@8.59.0': {} + + '@typescript-eslint/typescript-estree@8.59.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.59.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.59.0(typescript@5.9.3) + '@typescript-eslint/types': 8.59.0 + '@typescript-eslint/visitor-keys': 8.59.0 + debug: 4.4.3 + minimatch: 10.2.5 + semver: 7.7.4 + tinyglobby: 0.2.16 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.59.0': + dependencies: + '@typescript-eslint/types': 8.59.0 + eslint-visitor-keys: 5.0.1 + '@ungap/structured-clone@1.3.0': {} '@vitejs/plugin-basic-ssl@2.1.0(vite@7.3.2(@types/node@25.6.0)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.32.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.21.0))': dependencies: vite: 7.3.2(@types/node@25.6.0)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.32.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.21.0) + '@vue/compiler-core@3.5.33': + dependencies: + '@babel/parser': 7.29.2 + '@vue/shared': 3.5.33 + entities: 7.0.1 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.33': + dependencies: + '@vue/compiler-core': 3.5.33 + '@vue/shared': 3.5.33 + + '@vue/compiler-sfc@3.5.33': + dependencies: + '@babel/parser': 7.29.2 + '@vue/compiler-core': 3.5.33 + '@vue/compiler-dom': 3.5.33 + '@vue/compiler-ssr': 3.5.33 + '@vue/shared': 3.5.33 + estree-walker: 2.0.2 + magic-string: 0.30.21 + postcss: 8.5.10 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.33': + dependencies: + '@vue/compiler-dom': 3.5.33 + '@vue/shared': 3.5.33 + + '@vue/shared@3.5.33': {} + '@webassemblyjs/ast@1.14.1': dependencies: '@webassemblyjs/helper-numbers': 1.13.2 @@ -9074,11 +9476,15 @@ snapshots: ansi-styles@6.2.3: {} + any-promise@1.3.0: {} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 picomatch: 2.3.2 + app-module-path@2.2.0: {} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 @@ -9137,6 +9543,8 @@ snapshots: get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 + ast-module-types@6.0.1: {} + async-function@1.0.0: {} asynckit@0.4.0: {} @@ -9464,8 +9872,14 @@ snapshots: commander@11.1.0: {} + commander@12.1.0: {} + commander@2.20.3: {} + commander@7.2.0: {} + + commondir@1.0.1: {} + compressible@2.0.18: dependencies: mime-db: 1.54.0 @@ -9613,6 +10027,8 @@ snapshots: dependencies: ms: 2.1.3 + deep-extend@0.6.0: {} + deep-is@0.1.4: {} default-browser-id@5.0.1: {} @@ -9646,12 +10062,77 @@ snapshots: depd@2.0.0: {} + dependency-tree@11.4.3: + dependencies: + commander: 12.1.0 + filing-cabinet: 5.4.0 + precinct: 12.3.1 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + destroy@1.2.0: {} detect-libc@2.1.2: {} detect-node@2.1.0: {} + detective-amd@6.1.0: + dependencies: + ast-module-types: 6.0.1 + escodegen: 2.1.0 + get-amd-module-type: 6.0.2 + node-source-walk: 7.0.2 + + detective-cjs@6.1.1: + dependencies: + ast-module-types: 6.0.1 + node-source-walk: 7.0.2 + + detective-es6@5.0.2: + dependencies: + node-source-walk: 7.0.2 + + detective-postcss@7.0.1(postcss@8.5.10): + dependencies: + is-url: 1.2.4 + postcss: 8.5.10 + postcss-values-parser: 6.0.2(postcss@8.5.10) + + detective-sass@6.0.2: + dependencies: + gonzales-pe: 4.3.0 + node-source-walk: 7.0.2 + + detective-scss@5.0.2: + dependencies: + gonzales-pe: 4.3.0 + node-source-walk: 7.0.2 + + detective-stylus@5.0.1: {} + + detective-typescript@14.1.2(typescript@5.9.3): + dependencies: + '@typescript-eslint/typescript-estree': 8.59.0(typescript@5.9.3) + ast-module-types: 6.0.1 + node-source-walk: 7.0.2 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + detective-vue2@2.3.0(typescript@5.9.3): + dependencies: + '@dependents/detective-less': 5.0.3 + '@vue/compiler-sfc': 3.5.33 + detective-es6: 5.0.2 + detective-sass: 6.0.2 + detective-scss: 5.0.2 + detective-stylus: 5.0.1 + detective-typescript: 14.1.2(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + di@0.0.1: {} dns-packet@5.6.1: @@ -9944,6 +10425,14 @@ snapshots: escape-string-regexp@4.0.0: {} + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + eslint-config-prettier@10.1.8(eslint@9.39.4(jiti@2.6.1)): dependencies: eslint: 9.39.4(jiti@2.6.1) @@ -10020,6 +10509,8 @@ snapshots: eslint-visitor-keys@4.2.1: {} + eslint-visitor-keys@5.0.1: {} + eslint@9.39.4(jiti@2.6.1): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) @@ -10081,6 +10572,8 @@ snapshots: estraverse@5.3.0: {} + estree-walker@2.0.2: {} + esutils@2.0.3: {} etag@1.8.1: {} @@ -10224,6 +10717,20 @@ snapshots: dependencies: flat-cache: 4.0.1 + filing-cabinet@5.4.0: + dependencies: + app-module-path: 2.2.0 + commander: 12.1.0 + enhanced-resolve: 5.20.1 + module-definition: 6.0.2 + module-lookup-amd: 9.1.2 + resolve: 1.22.12 + resolve-dependency-path: 4.0.1 + sass-lookup: 6.1.2 + stylus-lookup: 6.1.2 + tsconfig-paths: 4.2.0 + typescript: 5.9.3 + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -10353,6 +10860,11 @@ snapshots: gensync@1.0.0-beta.2: {} + get-amd-module-type@6.0.2: + dependencies: + ast-module-types: 6.0.1 + node-source-walk: 7.0.2 + get-caller-file@2.0.5: {} get-east-asian-width@1.5.0: {} @@ -10370,6 +10882,8 @@ snapshots: hasown: 2.0.3 math-intrinsics: 1.1.0 + get-own-enumerable-property-symbols@3.0.2: {} + get-package-type@0.1.0: {} get-proto@1.0.1: @@ -10425,6 +10939,10 @@ snapshots: define-properties: 1.2.1 gopd: 1.2.0 + gonzales-pe@4.3.0: + dependencies: + minimist: 1.2.8 + gopd@1.2.0: {} graceful-fs@4.2.11: {} @@ -10591,6 +11109,8 @@ snapshots: inherits@2.0.4: {} + ini@1.3.8: {} + ini@5.0.0: {} ini@6.0.0: {} @@ -10719,6 +11239,8 @@ snapshots: is-number@7.0.0: {} + is-obj@1.0.1: {} + is-plain-obj@3.0.0: {} is-plain-object@2.0.4: @@ -10736,6 +11258,8 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.3 + is-regexp@1.0.0: {} + is-set@2.0.3: {} is-shared-array-buffer@1.0.4: @@ -10763,6 +11287,10 @@ snapshots: is-unicode-supported@2.1.0: {} + is-url-superb@4.0.0: {} + + is-url@1.2.4: {} + is-weakmap@2.0.2: {} is-weakref@1.1.1: @@ -11258,6 +11786,25 @@ snapshots: dependencies: yallist: 3.1.1 + madge@8.0.0(typescript@5.8.3): + dependencies: + chalk: 4.1.2 + commander: 7.2.0 + commondir: 1.0.1 + debug: 4.4.3 + dependency-tree: 11.4.3 + ora: 5.4.1 + pluralize: 8.0.0 + pretty-ms: 7.0.1 + rc: 1.2.8 + stream-to-array: 2.3.0 + ts-graphviz: 2.1.6 + walkdir: 0.4.1 + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + magic-string@0.30.17: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -11417,6 +11964,17 @@ snapshots: mkdirp@3.0.1: {} + module-definition@6.0.2: + dependencies: + ast-module-types: 6.0.1 + node-source-walk: 7.0.2 + + module-lookup-amd@9.1.2: + dependencies: + commander: 12.1.0 + requirejs: 2.3.8 + requirejs-config-file: 4.0.0 + mrmime@2.0.1: {} ms@2.0.0: {} @@ -11522,6 +12080,10 @@ snapshots: node-releases@2.0.37: {} + node-source-walk@7.0.2: + dependencies: + '@babel/parser': 7.29.2 + nopt@9.0.0: dependencies: abbrev: 4.0.0 @@ -11765,6 +12327,8 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-ms@2.1.0: {} + parse-node-version@1.0.1: {} parse5-html-rewriting-stream@8.0.0: @@ -11819,6 +12383,8 @@ snapshots: pkce-challenge@5.0.1: {} + pluralize@8.0.0: {} + possible-typed-array-names@1.1.0: {} postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.8.3)(webpack@5.105.0(esbuild@0.28.0)): @@ -11862,6 +12428,13 @@ snapshots: postcss-value-parser@4.2.0: {} + postcss-values-parser@6.0.2(postcss@8.5.10): + dependencies: + color-name: 1.1.4 + is-url-superb: 4.0.0 + postcss: 8.5.10 + quote-unquote: 1.0.0 + postcss@8.5.10: dependencies: nanoid: 3.3.11 @@ -11874,6 +12447,26 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + precinct@12.3.1: + dependencies: + '@dependents/detective-less': 5.0.3 + commander: 12.1.0 + detective-amd: 6.1.0 + detective-cjs: 6.1.1 + detective-es6: 5.0.2 + detective-postcss: 7.0.1(postcss@8.5.10) + detective-sass: 6.0.2 + detective-scss: 5.0.2 + detective-stylus: 5.0.1 + detective-typescript: 14.1.2(typescript@5.9.3) + detective-vue2: 2.3.0(typescript@5.9.3) + module-definition: 6.0.2 + node-source-walk: 7.0.2 + postcss: 8.5.10 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + prelude-ls@1.2.1: {} prettier-linter-helpers@1.0.1: @@ -11905,6 +12498,10 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + pretty-ms@7.0.1: + dependencies: + parse-ms: 2.1.0 + primeclt@0.1.5(@types/node@25.6.0)(encoding@0.1.13)(ws@8.20.0)(zod@4.1.13): dependencies: '@types/inquirer': 9.0.9 @@ -11973,6 +12570,8 @@ snapshots: queue-microtask@1.2.3: {} + quote-unquote@1.0.0: {} + range-parser@1.2.1: {} raw-body@2.5.3: @@ -11989,6 +12588,13 @@ snapshots: iconv-lite: 0.7.2 unpipe: 1.0.0 + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + react-is@18.3.1: {} readable-stream@2.3.8: @@ -12062,8 +12668,17 @@ snapshots: require-from-string@2.0.2: {} + requirejs-config-file@4.0.0: + dependencies: + esprima: 4.0.1 + stringify-object: 3.3.0 + + requirejs@2.3.8: {} + requires-port@1.0.0: {} + resolve-dependency-path@4.0.1: {} + resolve-from@4.0.0: {} resolve-from@5.0.0: {} @@ -12209,6 +12824,11 @@ snapshots: sass: 1.90.0 webpack: 5.105.0(esbuild@0.28.0) + sass-lookup@6.1.2: + dependencies: + commander: 12.1.0 + enhanced-resolve: 5.20.1 + sass@1.90.0: dependencies: chokidar: 4.0.3 @@ -12519,6 +13139,10 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 + stream-to-array@2.3.0: + dependencies: + any-promise: 1.3.0 + streamroller@3.1.5: dependencies: date-format: 4.0.14 @@ -12570,6 +13194,12 @@ snapshots: dependencies: safe-buffer: 5.2.1 + stringify-object@3.3.0: + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -12580,8 +13210,14 @@ snapshots: strip-bom@3.0.0: {} + strip-json-comments@2.0.1: {} + strip-json-comments@3.1.1: {} + stylus-lookup@6.1.2: + dependencies: + commander: 12.1.0 + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -12669,6 +13305,17 @@ snapshots: tree-kill@1.2.2: {} + ts-api-utils@2.5.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + + ts-graphviz@2.1.6: + dependencies: + '@ts-graphviz/adapter': 2.0.6 + '@ts-graphviz/ast': 2.0.7 + '@ts-graphviz/common': 2.1.5 + '@ts-graphviz/core': 2.0.7 + ts-morph@21.0.1: dependencies: '@ts-morph/common': 0.22.0 @@ -12681,6 +13328,12 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + tslib@2.8.1: {} tsx@4.21.0: @@ -12752,6 +13405,8 @@ snapshots: typescript@5.8.3: {} + typescript@5.9.3: {} + ua-parser-js@0.7.41: {} unbox-primitive@1.1.0: @@ -12820,6 +13475,8 @@ snapshots: void-elements@2.0.1: {} + walkdir@0.4.1: {} + walker@1.0.8: dependencies: makeerror: 1.0.12 diff --git a/public-tis/branding/login.webp b/public-tis/branding/login.webp new file mode 100644 index 0000000000000000000000000000000000000000..6e0ecb55fb16df41f4078510d59151e1c638e9ac GIT binary patch literal 537042 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

5rL!~N-&=_g1 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%0A;_bX`|h289!)2#@fVbLX0k1rXv4I?n(cF2}4 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 COlTRBBms|+u8wZoBhK#pQn}CrYrvo*{rj*_ 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

xHxEUDxio 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 &43-448jobjWV4W7-5QF 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%0AXS-< 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

E6&R3xC?p<8hvQ>q%!J;%^EzK@U9zQG@5$T*_u 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¨{#$8fbY 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 OK$PU}%Vyp)di8&-EZUI( literal 0 HcmV?d00001 diff --git a/public-tis/favicon.ico b/public-tis/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..04bc49eb6dc703cfb675c640d9688bc4a2907c81 GIT binary patch literal 15086 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 TA5Y-DUU!ntRz+M^>X82f-&#H| literal 0 HcmV?d00001 diff --git a/public-tis/favicon/apple-touch-icon.png b/public-tis/favicon/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..107a39090bcd33af853b0d03ad29148897001b77 GIT binary patch literal 10086 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 literal 0 HcmV?d00001 diff --git a/public-tis/favicon/favicon-96x96.png b/public-tis/favicon/favicon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..9cc83f1a8f934370fda22c7da70f7f81d76ef5eb GIT binary patch literal 5249 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 TA5Y-DUU!ntRz+M^>X82f-&#H| literal 0 HcmV?d00001 diff --git a/public-tis/favicon/favicon.svg b/public-tis/favicon/favicon.svg new file mode 100644 index 0000000..9d8298e --- /dev/null +++ b/public-tis/favicon/favicon.svg @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/public-tis/favicon/site.webmanifest b/public-tis/favicon/site.webmanifest new file mode 100644 index 0000000..2ac3423 --- /dev/null +++ b/public-tis/favicon/site.webmanifest @@ -0,0 +1,24 @@ +{ + "background_color": "#ffffff", + "display": "standalone", + "id": "/", + "icons": [ + { + "purpose": "maskable", + "sizes": "192x192", + "src": "/favicon/web-app-manifest-192x192.png", + "type": "image/png" + }, + { + "purpose": "maskable", + "sizes": "512x512", + "src": "/favicon/web-app-manifest-512x512.png", + "type": "image/png" + } + ], + "name": "PSP A - مدیریت صورت‌حساب‌های مالیاتی", + "short_name": "PSP A", + "start_url": "/", + "scope": "/", + "theme_color": "#ffffff" +} diff --git a/public-tis/favicon/web-app-manifest-192x192.png b/public-tis/favicon/web-app-manifest-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..56bb138b4decc738793b5a3f1d6d9f8f2f4a6a56 GIT binary patch literal 10464 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 OK$PU}%Vyp)di8&-EZUI( literal 0 HcmV?d00001 diff --git a/public/favicon/site.webmanifest b/public/favicon/site.webmanifest index d2499ae..ef3c29a 100644 --- a/public/favicon/site.webmanifest +++ b/public/favicon/site.webmanifest @@ -5,17 +5,20 @@ { "purpose": "maskable", "sizes": "192x192", - "src": "/web-app-manifest-192x192.png", + "src": "/favicon/web-app-manifest-192x192.png", "type": "image/png" }, { "purpose": "maskable", "sizes": "512x512", - "src": "/web-app-manifest-512x512.png", + "src": "/favicon/web-app-manifest-512x512.png", "type": "image/png" } ], + "id": "/", "name": "مدیریت صورت‌حساب‌های مالیاتی", + "scope": "/", "short_name": "مدیریت صورت‌حساب‌های مالیاتی", + "start_url": "/", "theme_color": "#ffffff" } diff --git a/scripts/update-ngsw-appdata.js b/scripts/update-ngsw-appdata.js new file mode 100644 index 0000000..e87f000 --- /dev/null +++ b/scripts/update-ngsw-appdata.js @@ -0,0 +1,21 @@ +const fs = require('fs'); +const path = require('path'); + +const root = path.resolve(__dirname, '..'); +const packageJsonPath = path.join(root, 'package.json'); +const ngswConfigPath = path.join(root, 'ngsw-config.json'); + +const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')); +const ngswConfig = JSON.parse(fs.readFileSync(ngswConfigPath, 'utf8')); + +const now = new Date(); +const buildDate = process.env.BUILD_DATE || now.toISOString(); +const appVersion = process.env.APP_VERSION || packageJson.version || '0.0.0'; + +ngswConfig.appData = { + ...(ngswConfig.appData || {}), + appVersion, + buildDate, +}; + +fs.writeFileSync(ngswConfigPath, `${JSON.stringify(ngswConfig, null, 2)}\n`); diff --git a/src/app.config.ts b/src/app.config.ts index 319208f..6188ccb 100644 --- a/src/app.config.ts +++ b/src/app.config.ts @@ -12,13 +12,14 @@ import { withInterceptors, withInterceptorsFromDi, } from '@angular/common/http'; -import { ApplicationConfig, provideZonelessChangeDetection } from '@angular/core'; +import { ApplicationConfig, isDevMode, provideZonelessChangeDetection } from '@angular/core'; import { provideAnimationsAsync } from '@angular/platform-browser/animations/async'; import { provideRouter, withEnabledBlockingInitialNavigation, withInMemoryScrolling, } from '@angular/router'; +import { provideServiceWorker } from '@angular/service-worker'; // Use the consolidated preset that includes our custom variables import { ConfirmationService, MessageService } from 'primeng/api'; import { providePrimeNG } from 'primeng/config'; @@ -73,5 +74,9 @@ export const appConfig: ApplicationConfig = { withInterceptors([loggingInterceptor, authInterceptor, errorInterceptor, dedupInterceptor]), withInterceptorsFromDi(), ), + provideServiceWorker('ngsw-worker.js', { + enabled: !isDevMode(), + registrationStrategy: 'registerWhenStable:30000', + }), ], }; diff --git a/src/app.routes.ts b/src/app.routes.ts index 0017e36..38c1f0b 100644 --- a/src/app.routes.ts +++ b/src/app.routes.ts @@ -1,40 +1 @@ -import { CONSUMER_ROUTES } from '@/domains/consumer/routes'; -import { PARTNER_ROUTES } from '@/domains/partner/routes'; -import { POS_ROUTES } from '@/domains/pos/routes'; -import { PROVIDER_ROUTES } from '@/domains/provider/routes'; -import { SUPER_ADMIN_ROUTES } from '@/domains/superAdmin/routes'; -import { AuthComponent } from '@/modules/auth/pages/auth.component'; -import { Notfound } from '@/pages/notfound/notfound.component'; -import { Routes } from '@angular/router'; -import { AppLayout } from './app/layout/default/app.layout.component'; -import { Dashboard } from './app/pages/dashboard/dashboard'; -import { Documentation } from './app/pages/documentation/documentation'; - -export const appRoutes: Routes = [ - { - path: '', - component: AppLayout, - children: [ - SUPER_ADMIN_ROUTES, - CONSUMER_ROUTES, - PROVIDER_ROUTES, - PARTNER_ROUTES, - { path: 'ng', component: Dashboard }, - { path: 'uikit', loadChildren: () => import('./app/pages/uikit/uikit.routes') }, - { path: 'documentation', component: Documentation }, - { path: 'pages', loadChildren: () => import('./app/pages/pages.routes') }, - ], - }, - POS_ROUTES, - // { - // path: 'pos/:posId', - // component: POSComponent, - // }, - { - path: 'auth', - component: AuthComponent, - }, - { path: 'notfound', component: Notfound }, - // { path: 'auth', loadChildren: () => import('./app/pages/auth/auth.routes') }, - { path: '**', redirectTo: '/notfound' }, -]; +export { appRoutes } from './tenants/default/app.routes'; diff --git a/src/app/branding/branding.config.ts b/src/app/branding/branding.config.ts new file mode 100644 index 0000000..7b2b136 --- /dev/null +++ b/src/app/branding/branding.config.ts @@ -0,0 +1 @@ +export { brandingConfig } from '../../tenants/default/branding.config'; diff --git a/src/app/core/services/index.ts b/src/app/core/services/index.ts index d33c9a3..4329573 100644 --- a/src/app/core/services/index.ts +++ b/src/app/core/services/index.ts @@ -3,3 +3,4 @@ export { AuthService } from './auth.service'; export { ErrorHandlerService } from './error-handler.service'; export { ConfigService } from './config.service'; export * from './breadcrumb.service'; +export * from './native-bridge.service'; diff --git a/src/app/core/services/native-bridge.service.ts b/src/app/core/services/native-bridge.service.ts new file mode 100644 index 0000000..1694f50 --- /dev/null +++ b/src/app/core/services/native-bridge.service.ts @@ -0,0 +1,88 @@ +import { Injectable } from '@angular/core'; +import { environment } from 'src/environments/environment'; + +interface INativeBridgeHost { + pay?: (payload: string) => unknown; + print?: (payload: string) => unknown; +} + +export interface INativePayRequest { + amount: number; + totalAmount: number; + invoiceDate: string; +} + +export interface INativePrintRequest { + invoiceId?: string; + code?: string; +} + +export interface INativeBridgeResult { + success: boolean; + data?: T; + error?: string; +} + +@Injectable({ providedIn: 'root' }) +export class NativeBridgeService { + private get host(): INativeBridgeHost | undefined { + const globalWindow = window as unknown as { + AndroidBridge?: INativeBridgeHost; + Android?: INativeBridgeHost; + }; + + return globalWindow.AndroidBridge || globalWindow.Android; + } + + isEnabled(): boolean { + return !!environment.enableNativeBridge; + } + + canPay(): boolean { + return this.isEnabled() && typeof this.host?.pay === 'function'; + } + + canPrint(): boolean { + return this.isEnabled() && typeof this.host?.print === 'function'; + } + + pay(request: INativePayRequest): INativeBridgeResult { + return this.invoke('pay', request); + } + + print(request: INativePrintRequest): INativeBridgeResult { + return this.invoke('print', request); + } + + private invoke(method: 'pay' | 'print', payload: object): INativeBridgeResult { + if (!this.isEnabled()) { + return { success: false, error: 'Native bridge is disabled for this tenant.' }; + } + + const fn = this.host?.[method]; + if (typeof fn !== 'function') { + return { success: false, error: `Native method "${method}" is not available.` }; + } + + try { + const raw = fn(JSON.stringify(payload)); + const parsed = this.tryParse(raw); + if (parsed && typeof parsed === 'object' && 'success' in parsed) { + return parsed as INativeBridgeResult; + } + + return { success: true, data: parsed ?? raw }; + } catch (error) { + return { success: false, error: (error as Error).message }; + } + } + + private tryParse(value: unknown): unknown { + if (typeof value !== 'string') return value; + try { + return JSON.parse(value); + } catch { + return value; + } + } +} diff --git a/src/app/core/validators/fiscal-code.validator.ts b/src/app/core/validators/fiscal-code.validator.ts new file mode 100644 index 0000000..dc117f2 --- /dev/null +++ b/src/app/core/validators/fiscal-code.validator.ts @@ -0,0 +1,12 @@ +import { ValidatorFn } from '@angular/forms'; + +export function fiscalCodeValidator(): ValidatorFn { + return (control) => { + if (control.value === null || control.value === undefined || control.value === '') { + return null; + } + return control.value.length === 11 && /^[0-9]{11}$/.test(control.value) + ? null + : { fiscalCode: 'معتبر نیست' }; + }; +} diff --git a/src/app/core/validators/index.ts b/src/app/core/validators/index.ts index 3608a4f..66965fa 100644 --- a/src/app/core/validators/index.ts +++ b/src/app/core/validators/index.ts @@ -1,3 +1,4 @@ +export * from './fiscal-code.validator'; export * from './iban.validator'; export * from './mobile.validator'; export * from './must-match.validator'; diff --git a/src/app/core/validators/mobile.validator.ts b/src/app/core/validators/mobile.validator.ts index 71852c7..20907a9 100644 --- a/src/app/core/validators/mobile.validator.ts +++ b/src/app/core/validators/mobile.validator.ts @@ -21,7 +21,7 @@ export function mobileValidator(): ValidatorFn { } if (typeof v !== 'string') { - return { invalidMobile: true }; + return { invalidMobile: 'معتبر نیست' }; } const trimmed = v.trim(); diff --git a/src/app/core/validators/national-id.validator.ts b/src/app/core/validators/national-id.validator.ts index 520a1dc..5a7bcc9 100644 --- a/src/app/core/validators/national-id.validator.ts +++ b/src/app/core/validators/national-id.validator.ts @@ -7,6 +7,6 @@ export function nationalIdValidator(): ValidatorFn { } return control.value.length === 10 && /^[0-9]{10}$/.test(control.value) ? null - : { nationalId: true }; + : { nationalId: 'معتبر نیست' }; }; } diff --git a/src/app/core/validators/postal-code.validator.ts b/src/app/core/validators/postal-code.validator.ts index 5878633..d4309d3 100644 --- a/src/app/core/validators/postal-code.validator.ts +++ b/src/app/core/validators/postal-code.validator.ts @@ -7,6 +7,6 @@ export function postalCodeValidator(): ValidatorFn { } return control.value.length === 10 && /^[0-9]{10}$/.test(control.value) ? null - : { postalCode: true }; + : { postalCode: 'معتبر نیست' }; }; } diff --git a/src/app/domains/consumer/components/invoices/shared-saleInvoice.component.ts b/src/app/domains/consumer/components/invoices/shared-saleInvoice.component.ts index 3e43e6d..9e31568 100644 --- a/src/app/domains/consumer/components/invoices/shared-saleInvoice.component.ts +++ b/src/app/domains/consumer/components/invoices/shared-saleInvoice.component.ts @@ -1,4 +1,5 @@ import { Maybe } from '@/core'; +import { NativeBridgeService } from '@/core/services'; import { AppCardComponent, KeyValueComponent } from '@/shared/components'; import { PageLoadingComponent } from '@/shared/components/page-loading.component'; import { @@ -8,7 +9,7 @@ import { import { PriceMaskDirective } from '@/shared/directives'; import { UikitEmptyStateComponent } from '@/uikit'; import { getGoodUnitTypeProperties } from '@/utils'; -import { Component, EventEmitter, Input, Output, TemplateRef, ViewChild } from '@angular/core'; +import { Component, EventEmitter, inject, Input, Output, TemplateRef, ViewChild } from '@angular/core'; import { Badge } from 'primeng/badge'; import { ButtonDirective } from 'primeng/button'; import { Divider } from 'primeng/divider'; @@ -34,6 +35,8 @@ export type TConsumerSaleInvoice = 'full' | 'customer' | 'pos'; ], }) export class ConsumerSaleInvoiceSharedComponent { + private readonly nativeBridge = inject(NativeBridgeService); + @Input({ required: true }) loading!: boolean; @Input() invoice?: Maybe; @Input() variant: TConsumerSaleInvoice = 'full'; @@ -43,6 +46,14 @@ export class ConsumerSaleInvoiceSharedComponent { @ViewChild('totalAmount', { static: false }) totalAmount!: TemplateRef; printInvoice = () => { + if (this.nativeBridge.isEnabled()) { + const result = this.nativeBridge.print({ + invoiceId: this.invoice?.id, + code: this.invoice?.code, + }); + if (result.success) return; + } + window.print(); }; diff --git a/src/app/domains/consumer/components/license-info-dialog.component.html b/src/app/domains/consumer/components/license-info-dialog.component.html index 32055cd..f5e5b61 100644 --- a/src/app/domains/consumer/components/license-info-dialog.component.html +++ b/src/app/domains/consumer/components/license-info-dialog.component.html @@ -1,4 +1,4 @@ - } --> - + diff --git a/src/app/domains/consumer/components/license-info-dialog.component.ts b/src/app/domains/consumer/components/license-info-dialog.component.ts index 5ef5f48..7894970 100644 --- a/src/app/domains/consumer/components/license-info-dialog.component.ts +++ b/src/app/domains/consumer/components/license-info-dialog.component.ts @@ -1,14 +1,12 @@ import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; -import { KeyValueComponent } from '@/shared/components'; import { Component, inject } from '@angular/core'; -import { Dialog } from 'primeng/dialog'; -import { Message } from 'primeng/message'; import { ConsumerStore } from '../store/main.store'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'consumer-license-info-dialog', templateUrl: './license-info-dialog.component.html', - imports: [Dialog, KeyValueComponent, Message], + imports: [SharedDialogComponent], }) export class ConsumerLicenseInfoDialogComponent extends AbstractDialog { private readonly store = inject(ConsumerStore); diff --git a/src/app/domains/consumer/modules/accounts/components/form.component.html b/src/app/domains/consumer/modules/accounts/components/form.component.html index eb59e74..58fb76b 100644 --- a/src/app/domains/consumer/modules/accounts/components/form.component.html +++ b/src/app/domains/consumer/modules/accounts/components/form.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/consumer/modules/accounts/components/form.component.ts b/src/app/domains/consumer/modules/accounts/components/form.component.ts index 9a1a768..c679589 100644 --- a/src/app/domains/consumer/modules/accounts/components/form.component.ts +++ b/src/app/domains/consumer/modules/accounts/components/form.component.ts @@ -4,14 +4,14 @@ import { SharedPasswordInputComponent } from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IAccountRequest, IAccountResponse } from '../models'; import { AccountsService } from '../services/main.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'account-password-form', templateUrl: './form.component.html', - imports: [ReactiveFormsModule, Dialog, FormFooterActionsComponent, SharedPasswordInputComponent], + imports: [ReactiveFormsModule, SharedDialogComponent, FormFooterActionsComponent, SharedPasswordInputComponent], }) export class ConsumerAccountPasswordFormComponent extends AbstractFormDialog< IAccountRequest, diff --git a/src/app/domains/consumer/modules/accounts/components/permissions/list.component.ts b/src/app/domains/consumer/modules/accounts/components/permissions/list.component.ts index 48c6fd3..6156c42 100644 --- a/src/app/domains/consumer/modules/accounts/components/permissions/list.component.ts +++ b/src/app/domains/consumer/modules/accounts/components/permissions/list.component.ts @@ -54,7 +54,7 @@ export class ConsumerAccountPermissionListComponent { submit() { const dataToSet: IPermissionRequest = {}; const posPermissions = this.permissions() - ?.poses.filter((pos) => pos.hasAccess) + ?.poses?.filter((pos) => pos.hasAccess) .map((pos) => pos.id); const complexPermissions = this.permissions() ?.complexes?.filter((complex) => complex.hasAccess) diff --git a/src/app/domains/consumer/modules/accounts/models/io.d.ts b/src/app/domains/consumer/modules/accounts/models/io.d.ts index a43d10e..96a8e0b 100644 --- a/src/app/domains/consumer/modules/accounts/models/io.d.ts +++ b/src/app/domains/consumer/modules/accounts/models/io.d.ts @@ -3,12 +3,15 @@ export interface IAccountRawResponse { role: string; created_at: string; account: Account; - pos: PosComplex; + pos: PosSummary; } export interface IAccountResponse extends IAccountRawResponse {} export interface IAccountRequest { - name: string; + username?: string; + password?: string; + role?: string; + status?: string; } export interface IAccountPasswordRequest { @@ -20,6 +23,12 @@ interface Account { status: string; } +interface PosSummary { + id: string; + name: string; + complex: PosComplex; +} + interface PosComplex { name: string; branch_code: string; diff --git a/src/app/domains/consumer/modules/accounts/models/permissions.io.d.ts b/src/app/domains/consumer/modules/accounts/models/permissions.io.d.ts index 21dc884..5c13aed 100644 --- a/src/app/domains/consumer/modules/accounts/models/permissions.io.d.ts +++ b/src/app/domains/consumer/modules/accounts/models/permissions.io.d.ts @@ -1,9 +1,11 @@ import ISummary from '@/core/models/summary'; export interface IPermissionRawResponse { - poses: IPosPermissionResponse[]; - complexes: IComplexPermissionResponse[]; - business_activities: ICommonPermissionResponse[]; + poses?: IPosPermissionResponse[]; + complexes?: IComplexPermissionResponse[]; + business_activities?: ICommonPermissionResponse[]; + // Backend currently returns this key in camelCase for non-operator roles. + businessActivities?: ICommonPermissionResponse[]; } export interface IPermissionResponse extends IPermissionRawResponse {} @@ -17,6 +19,7 @@ interface ICommonPermissionResponse { id: string; name: string; hasAccess: boolean; + role?: string | null; } interface IComplexPermissionResponse extends ICommonPermissionResponse { diff --git a/src/app/domains/consumer/modules/accounts/services/permissions.service.ts b/src/app/domains/consumer/modules/accounts/services/permissions.service.ts index d1332fa..f1487f0 100644 --- a/src/app/domains/consumer/modules/accounts/services/permissions.service.ts +++ b/src/app/domains/consumer/modules/accounts/services/permissions.service.ts @@ -1,5 +1,6 @@ import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; +import { map } from 'rxjs/operators'; import { Observable } from 'rxjs'; import { CONSUMER_PERMISSIONS_API_ROUTES } from '../constants'; import { IPermissionRawResponse, IPermissionRequest, IPermissionResponse } from '../models'; @@ -11,7 +12,13 @@ export class PermissionsService { private apiRoutes = CONSUMER_PERMISSIONS_API_ROUTES; getAll(accountId: string): Observable { - return this.http.get(this.apiRoutes.list(accountId)); + return this.http.get(this.apiRoutes.list(accountId)).pipe( + map((res) => ({ + poses: res.poses ?? [], + complexes: res.complexes ?? [], + business_activities: res.business_activities ?? res.businessActivities ?? [], + })), + ); } update(accountId: string, data: IPermissionRequest): Observable { diff --git a/src/app/domains/consumer/modules/accounts/views/list.component.html b/src/app/domains/consumer/modules/accounts/views/list.component.html index 704076d..ff43b3f 100644 --- a/src/app/domains/consumer/modules/accounts/views/list.component.html +++ b/src/app/domains/consumer/modules/accounts/views/list.component.html @@ -8,11 +8,10 @@ /> @if (selectedItemForEdit()) { - } diff --git a/src/app/domains/consumer/modules/accounts/views/list.component.ts b/src/app/domains/consumer/modules/accounts/views/list.component.ts index 0dfd199..df65209 100644 --- a/src/app/domains/consumer/modules/accounts/views/list.component.ts +++ b/src/app/domains/consumer/modules/accounts/views/list.component.ts @@ -1,9 +1,13 @@ // import { CatalogRoleTagComponent } from '@/shared/catalog/roles'; import { AbstractList } from '@/shared/abstractClasses/abstract-list'; +import { + ChangePasswordFormDialogComponent, + IChangePasswordSubmitPayload, +} from '@/shared/components'; import { PageDataListComponent } from '@/shared/components/pageDataList/page-data-list.component'; -import { Component, inject } from '@angular/core'; +import { Component, inject, signal } from '@angular/core'; import { Router } from '@angular/router'; -import { ConsumerAccountPasswordFormComponent } from '../components/form.component'; +import { finalize } from 'rxjs'; import { consumerAccountsNamedRoutes } from '../constants'; import { IAccountResponse } from '../models'; import { AccountsService } from '../services/main.service'; @@ -11,11 +15,12 @@ import { AccountsService } from '../services/main.service'; @Component({ selector: 'consumer-accounts', templateUrl: './list.component.html', - imports: [PageDataListComponent, ConsumerAccountPasswordFormComponent], + imports: [PageDataListComponent, ChangePasswordFormDialogComponent], }) export class ConsumerAccountsComponent extends AbstractList { private readonly service = inject(AccountsService); private readonly router = inject(Router); + passwordSubmitLoading = signal(false); override setColumns(): void { this.columns = [ @@ -48,4 +53,17 @@ export class ConsumerAccountsComponent extends AbstractList { toSinglePage(account: IAccountResponse) { this.router.navigateByUrl(consumerAccountsNamedRoutes.account.meta.pagePath!(account.id)); } + + updatePassword(payload: IChangePasswordSubmitPayload) { + if (!this.selectedItemForEdit()?.id) return; + + this.passwordSubmitLoading.set(true); + this.service + .update(this.selectedItemForEdit()!.id, { password: payload.password }) + .pipe(finalize(() => this.passwordSubmitLoading.set(false))) + .subscribe(() => { + this.visibleForm.set(false); + this.refresh(); + }); + } } diff --git a/src/app/domains/consumer/modules/accounts/views/single.component.ts b/src/app/domains/consumer/modules/accounts/views/single.component.ts index 31ef772..19a127d 100644 --- a/src/app/domains/consumer/modules/accounts/views/single.component.ts +++ b/src/app/domains/consumer/modules/accounts/views/single.component.ts @@ -2,13 +2,12 @@ import { BreadcrumbService } from '@/core/services'; import { AppCardComponent, KeyValueComponent } from '@/shared/components'; import { Component, computed, effect, inject, signal } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; -import { ConsumerAccountPermissionListComponent } from '../components/permissions/list.component'; import { AccountStore } from '../store/account.store'; @Component({ selector: 'consumer-account', templateUrl: './single.component.html', - imports: [AppCardComponent, KeyValueComponent, ConsumerAccountPermissionListComponent], + imports: [AppCardComponent, KeyValueComponent], }) export class ConsumerAccountComponent { private readonly store = inject(AccountStore); diff --git a/src/app/domains/consumer/modules/businessActivities/components/complexes/form.component.html b/src/app/domains/consumer/modules/businessActivities/components/complexes/form.component.html index 248f2ba..1af5372 100644 --- a/src/app/domains/consumer/modules/businessActivities/components/complexes/form.component.html +++ b/src/app/domains/consumer/modules/businessActivities/components/complexes/form.component.html @@ -1,4 +1,4 @@ -

- - - + + + - + diff --git a/src/app/domains/consumer/modules/businessActivities/components/complexes/form.component.ts b/src/app/domains/consumer/modules/businessActivities/components/complexes/form.component.ts index 17330be..faf551b 100644 --- a/src/app/domains/consumer/modules/businessActivities/components/complexes/form.component.ts +++ b/src/app/domains/consumer/modules/businessActivities/components/complexes/form.component.ts @@ -1,17 +1,29 @@ // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { AbstractFormDialog } from '@/shared/abstractClasses'; -import { InputComponent } from '@/shared/components'; +import { + NameComponent, + AddressComponent, + BranchCodeComponent, +} from '@/shared/components'; +import { fieldControl } from '@/shared/constants/fields'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; -import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; +import { ReactiveFormsModule } from '@angular/forms'; import { IComplexRequest, IComplexResponse } from '../../models'; import { ConsumerComplexesService } from '../../services/complexes.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'consumer-complex-form', templateUrl: './form.component.html', - imports: [ReactiveFormsModule, Dialog, InputComponent, FormFooterActionsComponent], + imports: [ + ReactiveFormsModule, + SharedDialogComponent, + NameComponent, + BranchCodeComponent, + AddressComponent, + FormFooterActionsComponent, + ], }) export class ConsumerComplexFormComponent extends AbstractFormDialog< IComplexRequest, @@ -24,9 +36,9 @@ export class ConsumerComplexFormComponent extends AbstractFormDialog< initForm = () => { return this.fb.group({ - name: [this.initialValues?.name || '', [Validators.required]], - branch_code: [this.initialValues?.branch_code || ''], - address: [this.initialValues?.address || '', [Validators.required]], + name: fieldControl.name(this.initialValues?.name || ''), + branch_code: fieldControl.branch_code(this.initialValues?.branch_code || ''), + address: fieldControl.address(this.initialValues?.address || ''), }); }; diff --git a/src/app/domains/consumer/modules/businessActivities/components/form.component.html b/src/app/domains/consumer/modules/businessActivities/components/form.component.html index 57499c6..941cdb6 100644 --- a/src/app/domains/consumer/modules/businessActivities/components/form.component.html +++ b/src/app/domains/consumer/modules/businessActivities/components/form.component.html @@ -1,4 +1,4 @@ -
- + + + + -
+ diff --git a/src/app/domains/consumer/modules/businessActivities/components/form.component.ts b/src/app/domains/consumer/modules/businessActivities/components/form.component.ts index d20d38b..df4f118 100644 --- a/src/app/domains/consumer/modules/businessActivities/components/form.component.ts +++ b/src/app/domains/consumer/modules/businessActivities/components/form.component.ts @@ -1,16 +1,30 @@ import { AbstractFormDialog } from '@/shared/abstractClasses'; -import { InputComponent } from '@/shared/components'; +import { + EconomicCodeComponent, + FiscalCodeComponent, + NameComponent, + PartnerTokenComponent, +} from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; +import { fieldControl } from '@/shared/constants/fields'; import { Component, inject, Input } from '@angular/core'; -import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; +import { ReactiveFormsModule } from '@angular/forms'; import { IBusinessActivityRequest, IBusinessActivityResponse } from '../models'; import { BusinessActivitiesService } from '../services/main.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'consumer-businessActivity-form', templateUrl: './form.component.html', - imports: [ReactiveFormsModule, Dialog, FormFooterActionsComponent, InputComponent], + imports: [ + ReactiveFormsModule, + SharedDialogComponent, + FormFooterActionsComponent, + NameComponent, + EconomicCodeComponent, + FiscalCodeComponent, + PartnerTokenComponent, + ], }) export class ConsumerBusinessActivityFormComponent extends AbstractFormDialog< IBusinessActivityRequest, @@ -20,7 +34,10 @@ export class ConsumerBusinessActivityFormComponent extends AbstractFormDialog< private service = inject(BusinessActivitiesService); form = this.fb.group({ - name: [this.initialValues?.name, [Validators.required]], + name: fieldControl.name(this.initialValues?.name || ''), + economic_code: fieldControl.economic_code(this.initialValues?.economic_code || ''), + fiscal_code: fieldControl.fiscal_code(this.initialValues?.fiscal_code || ''), + partner_token: fieldControl.partner_token(this.initialValues?.partner_token || ''), }); override submitForm(payload: IBusinessActivityRequest) { diff --git a/src/app/domains/consumer/modules/businessActivities/components/goods/form.component.html b/src/app/domains/consumer/modules/businessActivities/components/goods/form.component.html index 053da93..9ab4c83 100644 --- a/src/app/domains/consumer/modules/businessActivities/components/goods/form.component.html +++ b/src/app/domains/consumer/modules/businessActivities/components/goods/form.component.html @@ -1,4 +1,4 @@ - +
@@ -14,4 +14,4 @@ -
+ diff --git a/src/app/domains/consumer/modules/businessActivities/components/goods/form.component.ts b/src/app/domains/consumer/modules/businessActivities/components/goods/form.component.ts index 80ed53f..49b37ef 100644 --- a/src/app/domains/consumer/modules/businessActivities/components/goods/form.component.ts +++ b/src/app/domains/consumer/modules/businessActivities/components/goods/form.component.ts @@ -3,7 +3,6 @@ import { InputComponent } from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { EnumSelectComponent } from '@/shared/apiEnum/select.component'; import { CatalogGuildGoodCategoriesSelectComponent } from '@/shared/catalog/guildGoodCategories'; @@ -12,13 +11,14 @@ import { IConsumerBusinessActivityGoodResponse, } from '../../models/goods_io'; import { BusinessActivityGoodsService } from '../../services/goods.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'consumer-businessActivity-good-form', templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, + SharedDialogComponent, InputComponent, FormFooterActionsComponent, EnumSelectComponent, diff --git a/src/app/domains/consumer/modules/businessActivities/components/poses/form.component.html b/src/app/domains/consumer/modules/businessActivities/components/poses/form.component.html index b70178a..3d05561 100644 --- a/src/app/domains/consumer/modules/businessActivities/components/poses/form.component.html +++ b/src/app/domains/consumer/modules/businessActivities/components/poses/form.component.html @@ -1,4 +1,4 @@ -
- + - + @if (form.controls.pos_type.value === "PSP") { - - - + + + } @if (!editMode) { اطلاعات ورود - + -
+ diff --git a/src/app/domains/consumer/modules/businessActivities/components/poses/form.component.ts b/src/app/domains/consumer/modules/businessActivities/components/poses/form.component.ts index b844993..5ea2dba 100644 --- a/src/app/domains/consumer/modules/businessActivities/components/poses/form.component.ts +++ b/src/app/domains/consumer/modules/businessActivities/components/poses/form.component.ts @@ -1,29 +1,37 @@ // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { MustMatch } from '@/core/validators'; import { AbstractFormDialog } from '@/shared/abstractClasses'; -import { EnumSelectComponent } from '@/shared/apiEnum/select.component'; -import { CatalogProviderSelectComponent } from '@/shared/catalog'; -import { CatalogDeviceSelectComponent } from '@/shared/catalog/devices'; -import { InputComponent, SharedPasswordInputComponent } from '@/shared/components'; +import { + NameComponent, + SharedPasswordInputComponent, + DeviceIdComponent, + ProviderIdComponent, + SerialNumberComponent, + PosTypeComponent, + UsernameComponent, +} from '@/shared/components'; +import { fieldControl } from '@/shared/constants/fields'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { Divider } from 'primeng/divider'; import { IPosRequest, IPosResponse } from '../../models'; import { ConsumerPosesService } from '../../services/poses.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'consumer-pos-form', templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, - InputComponent, + SharedDialogComponent, + NameComponent, FormFooterActionsComponent, - CatalogDeviceSelectComponent, - CatalogProviderSelectComponent, - EnumSelectComponent, + DeviceIdComponent, + ProviderIdComponent, + PosTypeComponent, + SerialNumberComponent, + UsernameComponent, Divider, SharedPasswordInputComponent, ], @@ -37,11 +45,11 @@ export class ConsumerPosFormComponent extends AbstractFormDialog { const form = this.fb.group({ - name: [this.initialValues?.name || '', [Validators.required]], - pos_type: [this.initialValues?.pos_type || '', [Validators.required]], - serial_number: [this.initialValues?.serial_number || ''], - device_id: [this.initialValues?.device?.id || ''], - provider_id: [this.initialValues?.provider?.id || ''], + name: fieldControl.name(this.initialValues?.name || ''), + pos_type: fieldControl.pos_type(this.initialValues?.pos_type || ''), + serial_number: fieldControl.serial_number(this.initialValues?.serial_number || ''), + device_id: fieldControl.device_id(this.initialValues?.device?.id || ''), + provider_id: fieldControl.provider_id(this.initialValues?.provider?.id || ''), username: [''], password: [''], confirmPassword: [''], @@ -82,13 +90,15 @@ export class ConsumerPosFormComponent extends AbstractFormDialog('', { nonNullable: true, - validators: [Validators.required], + validators: fieldControl.username('')[1], }), ); + // @ts-ignore form.addControl( 'password', this.fb.control('', { @@ -96,6 +106,7 @@ export class ConsumerPosFormComponent extends AbstractFormDialog('', { diff --git a/src/app/domains/consumer/modules/businessActivities/models/io.d.ts b/src/app/domains/consumer/modules/businessActivities/models/io.d.ts index b60d201..1ddbaac 100644 --- a/src/app/domains/consumer/modules/businessActivities/models/io.d.ts +++ b/src/app/domains/consumer/modules/businessActivities/models/io.d.ts @@ -4,6 +4,8 @@ export interface IBusinessActivityRawResponse { id: string; name: string; economic_code: string; + fiscal_code: string; + partner_token: string; guild: ISummary; created_at: string; license_info: LicenseInfo; @@ -12,6 +14,8 @@ export interface IBusinessActivityResponse extends IBusinessActivityRawResponse export interface IBusinessActivityRequest { economic_code: string; + fiscal_code: string; + partner_token: string; name: string; } diff --git a/src/app/domains/consumer/modules/customers/components/form-dialog.component.html b/src/app/domains/consumer/modules/customers/components/form-dialog.component.html index 788b056..2ab1a44 100644 --- a/src/app/domains/consumer/modules/customers/components/form-dialog.component.html +++ b/src/app/domains/consumer/modules/customers/components/form-dialog.component.html @@ -1,4 +1,4 @@ - } - + diff --git a/src/app/domains/consumer/modules/customers/components/form-dialog.component.ts b/src/app/domains/consumer/modules/customers/components/form-dialog.component.ts index a88a382..e186e08 100644 --- a/src/app/domains/consumer/modules/customers/components/form-dialog.component.ts +++ b/src/app/domains/consumer/modules/customers/components/form-dialog.component.ts @@ -1,10 +1,10 @@ import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; import { Component, EventEmitter, Input, Output } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { ICustomerResponse } from '../models'; import { ConsumerCustomerIndividualFormComponent } from './form-individual.component'; import { ConsumerCustomerLegalFormComponent } from './form-legal.component'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'consumer-customer-form-dialog', @@ -14,7 +14,7 @@ import { ConsumerCustomerLegalFormComponent } from './form-legal.component'; ConsumerCustomerIndividualFormComponent, ConsumerCustomerLegalFormComponent, ReactiveFormsModule, - Dialog, + SharedDialogComponent, ], }) export class ConsumerBusinessActivityFormComponent extends AbstractDialog { diff --git a/src/app/domains/consumer/modules/customers/components/form-individual.component.html b/src/app/domains/consumer/modules/customers/components/form-individual.component.html index 2eda7a2..a8b346d 100644 --- a/src/app/domains/consumer/modules/customers/components/form-individual.component.html +++ b/src/app/domains/consumer/modules/customers/components/form-individual.component.html @@ -1,7 +1,7 @@
- + diff --git a/src/app/domains/consumer/modules/customers/components/form-individual.component.ts b/src/app/domains/consumer/modules/customers/components/form-individual.component.ts index 8022cb0..825b309 100644 --- a/src/app/domains/consumer/modules/customers/components/form-individual.component.ts +++ b/src/app/domains/consumer/modules/customers/components/form-individual.component.ts @@ -27,7 +27,7 @@ export class ConsumerCustomerIndividualFormComponent extends AbstractForm< return this.fb.group({ first_name: [this.initialValues?.individual?.first_name || '', [Validators.required]], last_name: [this.initialValues?.individual?.last_name || '', [Validators.required]], - national_id: [ + national_code: [ this.initialValues?.individual?.national_id || '', [Validators.required, nationalIdValidator()], ], diff --git a/src/app/domains/consumer/modules/customers/models/io.d.ts b/src/app/domains/consumer/modules/customers/models/io.d.ts index 9090547..1b62129 100644 --- a/src/app/domains/consumer/modules/customers/models/io.d.ts +++ b/src/app/domains/consumer/modules/customers/models/io.d.ts @@ -12,12 +12,21 @@ export interface ICustomerResponse extends ICustomerRawResponse {} export interface ICustomerRequest {} -export interface ICustomerIndividualRequest extends CustomerIndividual { - is_favorite: boolean; +export interface ICustomerIndividualRequest { + first_name?: string; + last_name?: string; + national_code?: string; + postal_code?: string; + economic_code?: string; + is_favorite?: boolean; } -export interface ICustomerLegalRequest extends CustomerLegal { - is_favorite: boolean; +export interface ICustomerLegalRequest { + company_name?: string; + registration_number?: string; + postal_code?: string; + economic_code?: string; + is_favorite?: boolean; } interface CustomerLegal { diff --git a/src/app/domains/consumer/modules/dashboard/models/saleInvoices.io.d.ts b/src/app/domains/consumer/modules/dashboard/models/saleInvoices.io.d.ts index 115b06b..a851f71 100644 --- a/src/app/domains/consumer/modules/dashboard/models/saleInvoices.io.d.ts +++ b/src/app/domains/consumer/modules/dashboard/models/saleInvoices.io.d.ts @@ -3,11 +3,11 @@ import ISummary from '@/core/models/summary'; export interface IStatisticsSaleInvoicesRawResponse { id: string; code: string; - created_date: string; + created_at: string; + created_date?: string; total_amount: string; pos: Pos; consumer_account: ConsumerAccount; - created_at: string; } export interface IStatisticsSaleInvoicesResponse extends IStatisticsSaleInvoicesRawResponse {} diff --git a/src/app/domains/consumer/modules/poses/components/form.component.html b/src/app/domains/consumer/modules/poses/components/form.component.html index c4d25d4..688bcb8 100644 --- a/src/app/domains/consumer/modules/poses/components/form.component.html +++ b/src/app/domains/consumer/modules/poses/components/form.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/consumer/modules/poses/components/form.component.ts b/src/app/domains/consumer/modules/poses/components/form.component.ts index 183cc42..299908e 100644 --- a/src/app/domains/consumer/modules/poses/components/form.component.ts +++ b/src/app/domains/consumer/modules/poses/components/form.component.ts @@ -5,14 +5,14 @@ import { InputComponent } from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IPosRequest, IPosResponse } from '../models'; import { ConsumerPosesService } from '../services/main.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'consumer-pos-form', templateUrl: './form.component.html', - imports: [ReactiveFormsModule, Dialog, InputComponent, FormFooterActionsComponent], + imports: [ReactiveFormsModule, SharedDialogComponent, InputComponent, FormFooterActionsComponent], }) export class ConsumerPosFormComponent extends AbstractFormDialog { private readonly service = inject(ConsumerPosesService); diff --git a/src/app/domains/consumer/modules/poses/models/io.d.ts b/src/app/domains/consumer/modules/poses/models/io.d.ts index 50f079a..5c745ab 100644 --- a/src/app/domains/consumer/modules/poses/models/io.d.ts +++ b/src/app/domains/consumer/modules/poses/models/io.d.ts @@ -7,9 +7,13 @@ export interface IPosRawResponse { model?: string; status: string; pos_type: string; + created_at?: string; complex: ISummary; device?: ISummary; provider?: ISummary; + account?: { + username: string; + }; } export interface IPosResponse extends IPosRawResponse {} diff --git a/src/app/domains/consumer/modules/saleInvoices/models/io.d.ts b/src/app/domains/consumer/modules/saleInvoices/models/io.d.ts index 60125e5..7cf7b36 100644 --- a/src/app/domains/consumer/modules/saleInvoices/models/io.d.ts +++ b/src/app/domains/consumer/modules/saleInvoices/models/io.d.ts @@ -33,6 +33,6 @@ interface Complex extends ISummary { interface Payments { amount: string; - paid_at: string; + paid_at?: string; payment_method: string; } diff --git a/src/app/domains/partner/modules/accounts/components/form.component.html b/src/app/domains/partner/modules/accounts/components/form.component.html index eb59e74..58fb76b 100644 --- a/src/app/domains/partner/modules/accounts/components/form.component.html +++ b/src/app/domains/partner/modules/accounts/components/form.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/partner/modules/accounts/components/form.component.ts b/src/app/domains/partner/modules/accounts/components/form.component.ts index 513fc0b..6b6e7ec 100644 --- a/src/app/domains/partner/modules/accounts/components/form.component.ts +++ b/src/app/domains/partner/modules/accounts/components/form.component.ts @@ -4,14 +4,14 @@ import { SharedPasswordInputComponent } from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IAccountRequest, IAccountResponse } from '../models'; import { AccountsService } from '../services/main.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'account-password-form', templateUrl: './form.component.html', - imports: [ReactiveFormsModule, Dialog, FormFooterActionsComponent, SharedPasswordInputComponent], + imports: [ReactiveFormsModule, SharedDialogComponent, FormFooterActionsComponent, SharedPasswordInputComponent], }) export class PartnerAccountPasswordFormComponent extends AbstractFormDialog< IAccountRequest, diff --git a/src/app/domains/partner/modules/accounts/models/io.d.ts b/src/app/domains/partner/modules/accounts/models/io.d.ts index 06ff6de..177fb71 100644 --- a/src/app/domains/partner/modules/accounts/models/io.d.ts +++ b/src/app/domains/partner/modules/accounts/models/io.d.ts @@ -7,7 +7,10 @@ export interface IAccountRawResponse { export interface IAccountResponse extends IAccountRawResponse {} export interface IAccountRequest { - name: string; + username?: string; + password?: string; + role?: string; + status?: string; } export interface IAccountPasswordRequest { diff --git a/src/app/domains/partner/modules/accounts/views/list.component.html b/src/app/domains/partner/modules/accounts/views/list.component.html index 704076d..ff43b3f 100644 --- a/src/app/domains/partner/modules/accounts/views/list.component.html +++ b/src/app/domains/partner/modules/accounts/views/list.component.html @@ -8,11 +8,10 @@ /> @if (selectedItemForEdit()) { - } diff --git a/src/app/domains/partner/modules/accounts/views/list.component.ts b/src/app/domains/partner/modules/accounts/views/list.component.ts index 05f36ce..75920e5 100644 --- a/src/app/domains/partner/modules/accounts/views/list.component.ts +++ b/src/app/domains/partner/modules/accounts/views/list.component.ts @@ -1,9 +1,13 @@ // import { CatalogRoleTagComponent } from '@/shared/catalog/roles'; import { AbstractList } from '@/shared/abstractClasses/abstract-list'; +import { + ChangePasswordFormDialogComponent, + IChangePasswordSubmitPayload, +} from '@/shared/components'; import { PageDataListComponent } from '@/shared/components/pageDataList/page-data-list.component'; -import { Component, inject } from '@angular/core'; +import { Component, inject, signal } from '@angular/core'; import { Router } from '@angular/router'; -import { PartnerAccountPasswordFormComponent } from '../components/form.component'; +import { finalize } from 'rxjs'; import { partnerAccountsNamedRoutes } from '../constants'; import { IAccountResponse } from '../models'; import { AccountsService } from '../services/main.service'; @@ -11,11 +15,12 @@ import { AccountsService } from '../services/main.service'; @Component({ selector: 'partner-accounts', templateUrl: './list.component.html', - imports: [PageDataListComponent, PartnerAccountPasswordFormComponent], + imports: [PageDataListComponent, ChangePasswordFormDialogComponent], }) export class PartnerAccountsComponent extends AbstractList { private readonly service = inject(AccountsService); private readonly router = inject(Router); + passwordSubmitLoading = signal(false); override setColumns(): void { this.columns = [ @@ -48,4 +53,17 @@ export class PartnerAccountsComponent extends AbstractList { toSinglePage(account: IAccountResponse) { this.router.navigateByUrl(partnerAccountsNamedRoutes.account.meta.pagePath!(account.id)); } + + updatePassword(payload: IChangePasswordSubmitPayload) { + if (!this.selectedItemForEdit()?.id) return; + + this.passwordSubmitLoading.set(true); + this.service + .update(this.selectedItemForEdit()!.id, { password: payload.password }) + .pipe(finalize(() => this.passwordSubmitLoading.set(false))) + .subscribe(() => { + this.visibleForm.set(false); + this.refresh(); + }); + } } diff --git a/src/app/domains/partner/modules/consumers/components/accounts/form.component.html b/src/app/domains/partner/modules/consumers/components/accounts/form.component.html index 4c9c65b..3a4b946 100644 --- a/src/app/domains/partner/modules/consumers/components/accounts/form.component.html +++ b/src/app/domains/partner/modules/consumers/components/accounts/form.component.html @@ -1,4 +1,4 @@ -
- + -
+ diff --git a/src/app/domains/partner/modules/consumers/components/accounts/form.component.ts b/src/app/domains/partner/modules/consumers/components/accounts/form.component.ts index 8c5b4fe..587954c 100644 --- a/src/app/domains/partner/modules/consumers/components/accounts/form.component.ts +++ b/src/app/domains/partner/modules/consumers/components/accounts/form.component.ts @@ -2,21 +2,22 @@ import { MustMatch, password } from '@/core/validators'; // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { AbstractFormDialog } from '@/shared/abstractClasses'; import { EnumSelectComponent } from '@/shared/apiEnum/select.component'; -import { InputComponent, SharedPasswordInputComponent } from '@/shared/components'; +import { SharedPasswordInputComponent, UsernameComponent } from '@/shared/components'; +import { fieldControl } from '@/shared/constants/fields'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IConsumerAccountRequest, IConsumerAccountResponse } from '../../models'; import { PartnerConsumerAccountsService } from '../../services/accounts.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'partner-consumer-account-form', templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, - InputComponent, + SharedDialogComponent, + UsernameComponent, FormFooterActionsComponent, SharedPasswordInputComponent, EnumSelectComponent, @@ -35,7 +36,7 @@ export class ConsumerAccountFormComponent extends AbstractFormDialog< if (this.editMode) { return this.fb.group( { - username: [this.initialValues?.account.username || '', [Validators.required]], + username: fieldControl.username(this.initialValues?.account.username || ''), password: ['', [password()]], confirmPassword: [''], }, @@ -46,7 +47,7 @@ export class ConsumerAccountFormComponent extends AbstractFormDialog< } return this.fb.group( { - username: [this.initialValues?.account.username || '', [Validators.required]], + username: fieldControl.username(this.initialValues?.account.username || ''), role: ['', [Validators.required]], password: ['', [Validators.required, password()]], confirmPassword: ['', [Validators.required]], diff --git a/src/app/domains/partner/modules/consumers/components/businessActivities/create-wrapper/create-wrapper.component.html b/src/app/domains/partner/modules/consumers/components/businessActivities/create-wrapper/create-wrapper.component.html new file mode 100644 index 0000000..12eda76 --- /dev/null +++ b/src/app/domains/partner/modules/consumers/components/businessActivities/create-wrapper/create-wrapper.component.html @@ -0,0 +1,45 @@ + + + + فعالیت اقتصادی + فروشگاه + پایانه‌ی فروشگاهی + + + +
+ @switch (activeStep()) { + @case (1) { + + } + @case (2) { + + } + @case (3) { + + } + } +
+
diff --git a/src/app/domains/partner/modules/consumers/components/businessActivities/create-wrapper/create-wrapper.component.ts b/src/app/domains/partner/modules/consumers/components/businessActivities/create-wrapper/create-wrapper.component.ts new file mode 100644 index 0000000..233659a --- /dev/null +++ b/src/app/domains/partner/modules/consumers/components/businessActivities/create-wrapper/create-wrapper.component.ts @@ -0,0 +1,84 @@ +import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; +import { Component, effect, EventEmitter, Input, Output, signal } from '@angular/core'; +import { Step, StepList, Stepper } from 'primeng/stepper'; +import { IBusinessActivityResponse, IComplexResponse, IPosResponse } from '../../../models'; +import { ConsumerComplexFormContentComponent } from '../../complexes/form.component'; +import { ConsumerPosFormContentComponent } from '../../poses/form.component'; +import { ConsumerBusinessActivitiesFormComponent } from '../form.component'; + +export interface ICreateBusinessActivityStepperResult { + businessActivity: IBusinessActivityResponse; + complex: IComplexResponse; + pos: IPosResponse; +} + +@Component({ + selector: 'partner-consumer-businessActivities-create-wrapper', + templateUrl: './create-wrapper.component.html', + imports: [ + SharedDialogComponent, + Stepper, + StepList, + Step, + ConsumerBusinessActivitiesFormComponent, + ConsumerComplexFormContentComponent, + ConsumerPosFormContentComponent, + ], +}) +export class ConsumerBusinessActivitiesCreateWrapperComponent extends AbstractDialog { + @Input({ required: true }) consumerId!: string; + @Output() onSubmit = new EventEmitter(); + + activeStep = signal(1); + businessActivity = signal(null); + complex = signal(null); + + constructor() { + super(); + + effect(() => { + if (this.visible) { + this.resetWizard(); + } + }); + } + + onBusinessActivitySubmit(response: IBusinessActivityResponse) { + this.businessActivity.set(response); + this.activeStep.set(2); + } + + onComplexSubmit(response: IComplexResponse) { + this.complex.set(response); + this.activeStep.set(3); + } + + onPosSubmit(response: IPosResponse) { + const businessActivity = this.businessActivity(); + const complex = this.complex(); + + if (!businessActivity || !complex) { + return; + } + + this.onSubmit.emit({ + businessActivity, + complex, + pos: response, + }); + + this.close(); + } + + override close() { + this.resetWizard(); + super.close(); + } + + private resetWizard() { + this.activeStep.set(1); + this.businessActivity.set(null); + this.complex.set(null); + } +} diff --git a/src/app/domains/partner/modules/consumers/components/businessActivities/form-dialog.component.html b/src/app/domains/partner/modules/consumers/components/businessActivities/form-dialog.component.html index 966c95e..e5edd4e 100644 --- a/src/app/domains/partner/modules/consumers/components/businessActivities/form-dialog.component.html +++ b/src/app/domains/partner/modules/consumers/components/businessActivities/form-dialog.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/partner/modules/consumers/components/businessActivities/form-dialog.component.ts b/src/app/domains/partner/modules/consumers/components/businessActivities/form-dialog.component.ts index b1325a5..731c02c 100644 --- a/src/app/domains/partner/modules/consumers/components/businessActivities/form-dialog.component.ts +++ b/src/app/domains/partner/modules/consumers/components/businessActivities/form-dialog.component.ts @@ -1,13 +1,13 @@ import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { Dialog } from 'primeng/dialog'; import { IBusinessActivityResponse } from '../../models'; import { ConsumerBusinessActivitiesFormComponent } from './form.component'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'partner-consumer-businessActivities-form', templateUrl: './form-dialog.component.html', - imports: [Dialog, ConsumerBusinessActivitiesFormComponent], + imports: [SharedDialogComponent, ConsumerBusinessActivitiesFormComponent], }) export class ConsumerBusinessActivitiesFormDialogComponent extends AbstractDialog { @Output() onSubmit = new EventEmitter(); diff --git a/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.html b/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.html index 1ea2ecd..a0ab54e 100644 --- a/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.html +++ b/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.html @@ -1,15 +1,14 @@
- - - + + + + + @if (!editMode) { اطلاعات لایسنس - } diff --git a/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.ts b/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.ts index e20c2e6..05f1597 100644 --- a/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.ts +++ b/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.ts @@ -1,10 +1,16 @@ import { AbstractForm } from '@/shared/abstractClasses'; -import { CatalogGuildSelectComponent } from '@/shared/catalog/guild/components/select.component'; -import { InputComponent } from '@/shared/components'; +import { + EconomicCodeComponent, + FiscalCodeComponent, + GuildIdComponent, + LicenseStartsAtComponent, + NameComponent, + PartnerTokenComponent, +} from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; -import { UikitFlatpickrJalaliComponent } from '@/uikit'; +import { fieldControl } from '@/shared/constants/fields'; import { Component, inject, Input } from '@angular/core'; -import { ReactiveFormsModule, Validators } from '@angular/forms'; +import { ReactiveFormsModule } from '@angular/forms'; import { Divider } from 'primeng/divider'; import { IBusinessActivityRequest, IBusinessActivityResponse } from '../../models'; import { PartnerConsumerBusinessActivitiesService } from '../../services/businessActivities.service'; @@ -14,11 +20,14 @@ import { PartnerConsumerBusinessActivitiesService } from '../../services/busines templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - InputComponent, + NameComponent, + EconomicCodeComponent, + FiscalCodeComponent, + PartnerTokenComponent, + GuildIdComponent, + LicenseStartsAtComponent, FormFooterActionsComponent, - CatalogGuildSelectComponent, Divider, - UikitFlatpickrJalaliComponent, ], }) export class ConsumerBusinessActivitiesFormComponent extends AbstractForm< @@ -32,9 +41,11 @@ export class ConsumerBusinessActivitiesFormComponent extends AbstractForm< initForm = () => { const form = this.fb.group({ - name: [this.initialValues?.name || '', [Validators.required]], - economic_code: [this.initialValues?.economic_code || '', [Validators.required]], - guild_id: [this.initialValues?.guild?.id || '', [Validators.required]], + name: fieldControl.name(this.initialValues?.name || ''), + economic_code: fieldControl.economic_code(this.initialValues?.economic_code || ''), + fiscal_code: fieldControl.fiscal_code(this.initialValues?.fiscal_code || ''), + partner_token: fieldControl.partner_token(this.initialValues?.partner_token || ''), + guild_id: fieldControl.guild_id(this.initialValues?.guild?.id || ''), license_starts_at: [''], }); @@ -46,7 +57,7 @@ export class ConsumerBusinessActivitiesFormComponent extends AbstractForm< 'license_starts_at', this.fb.control('', { nonNullable: true, - validators: [Validators.required], + validators: fieldControl.license_starts_at('')[1], }), ); } diff --git a/src/app/domains/partner/modules/consumers/components/businessActivities/list.component.html b/src/app/domains/partner/modules/consumers/components/businessActivities/list.component.html index a5e9c41..e7f9169 100644 --- a/src/app/domains/partner/modules/consumers/components/businessActivities/list.component.html +++ b/src/app/domains/partner/modules/consumers/components/businessActivities/list.component.html @@ -16,9 +16,14 @@ (onRefresh)="refresh()" > + { @Input({ required: true }) consumerId!: string; @@ -50,6 +55,7 @@ export class ConsumerBusinessActivitiesComponent extends AbstractList - + diff --git a/src/app/domains/partner/modules/consumers/components/chargeAccount/charge-account-form-dialog.component.ts b/src/app/domains/partner/modules/consumers/components/chargeAccount/charge-account-form-dialog.component.ts index 6ec8c89..7d11216 100644 --- a/src/app/domains/partner/modules/consumers/components/chargeAccount/charge-account-form-dialog.component.ts +++ b/src/app/domains/partner/modules/consumers/components/chargeAccount/charge-account-form-dialog.component.ts @@ -3,14 +3,19 @@ import { InputComponent } from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IPartnerChargeAccountRequest } from '../../models'; import { PartnerChargeAccountService } from '../../services/chargeAccount.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'partner-charge-account-form-dialog', templateUrl: './charge-account-form-dialog.component.html', - imports: [Dialog, ReactiveFormsModule, InputComponent, FormFooterActionsComponent], + imports: [ + SharedDialogComponent, + ReactiveFormsModule, + InputComponent, + FormFooterActionsComponent, + ], }) export class PartnerChargeAccountFormDialogComponent extends AbstractFormDialog< IPartnerChargeAccountRequest, diff --git a/src/app/domains/partner/modules/consumers/components/complexes/create-wrapper/create-wrapper.component.html b/src/app/domains/partner/modules/consumers/components/complexes/create-wrapper/create-wrapper.component.html new file mode 100644 index 0000000..c277108 --- /dev/null +++ b/src/app/domains/partner/modules/consumers/components/complexes/create-wrapper/create-wrapper.component.html @@ -0,0 +1,37 @@ + + + + فروشگاه + پایانه‌ی روشگاهی + + + +
+ @switch (activeStep()) { + @case (1) { + + } + @case (2) { + + } + } +
+
diff --git a/src/app/domains/partner/modules/consumers/components/complexes/create-wrapper/create-wrapper.component.ts b/src/app/domains/partner/modules/consumers/components/complexes/create-wrapper/create-wrapper.component.ts new file mode 100644 index 0000000..49a4cc3 --- /dev/null +++ b/src/app/domains/partner/modules/consumers/components/complexes/create-wrapper/create-wrapper.component.ts @@ -0,0 +1,72 @@ +import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; +import { Component, effect, EventEmitter, Input, Output, signal } from '@angular/core'; +import { Step, StepList, Stepper } from 'primeng/stepper'; +import { IComplexResponse, IPosResponse } from '../../../models'; +import { ConsumerPosFormContentComponent } from '../../poses/form.component'; +import { ConsumerComplexFormContentComponent } from '../form.component'; + +export interface ICreateComplexStepperResult { + complex: IComplexResponse; + pos: IPosResponse; +} + +@Component({ + selector: 'partner-consumer-complexes-create-wrapper', + templateUrl: './create-wrapper.component.html', + imports: [ + SharedDialogComponent, + Stepper, + StepList, + Step, + ConsumerComplexFormContentComponent, + ConsumerPosFormContentComponent, + ], +}) +export class ConsumerComplexesCreateWrapperComponent extends AbstractDialog { + @Input({ required: true }) consumerId!: string; + @Input({ required: true }) businessActivityId!: string; + @Output() onSubmit = new EventEmitter(); + + activeStep = signal(1); + complex = signal(null); + + constructor() { + super(); + + effect(() => { + if (this.visible) { + this.resetWizard(); + } + }); + } + + onComplexSubmit(response: IComplexResponse) { + this.complex.set(response); + this.activeStep.set(2); + } + + onPosSubmit(response: IPosResponse) { + const complex = this.complex(); + if (!complex) { + return; + } + + this.onSubmit.emit({ + complex, + pos: response, + }); + + this.close(); + } + + override close() { + this.resetWizard(); + super.close(); + } + + private resetWizard() { + this.activeStep.set(1); + this.complex.set(null); + } +} diff --git a/src/app/domains/partner/modules/consumers/components/complexes/form-dialog.component.html b/src/app/domains/partner/modules/consumers/components/complexes/form-dialog.component.html index db27aa3..0d93858 100644 --- a/src/app/domains/partner/modules/consumers/components/complexes/form-dialog.component.html +++ b/src/app/domains/partner/modules/consumers/components/complexes/form-dialog.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/partner/modules/consumers/components/complexes/form-dialog.component.ts b/src/app/domains/partner/modules/consumers/components/complexes/form-dialog.component.ts index c3251a0..69fcfc8 100644 --- a/src/app/domains/partner/modules/consumers/components/complexes/form-dialog.component.ts +++ b/src/app/domains/partner/modules/consumers/components/complexes/form-dialog.component.ts @@ -1,13 +1,13 @@ import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { Dialog } from 'primeng/dialog'; import { IComplexResponse } from '../../models'; import { ConsumerComplexFormContentComponent } from './form.component'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'partner-consumer-complex-form', templateUrl: './form-dialog.component.html', - imports: [Dialog, ConsumerComplexFormContentComponent], + imports: [SharedDialogComponent, ConsumerComplexFormContentComponent], }) export class ConsumerComplexFormDialogComponent extends AbstractDialog { @Output() onSubmit = new EventEmitter(); diff --git a/src/app/domains/partner/modules/consumers/components/complexes/form.component.html b/src/app/domains/partner/modules/consumers/components/complexes/form.component.html index 34fb8d7..0afc1c6 100644 --- a/src/app/domains/partner/modules/consumers/components/complexes/form.component.html +++ b/src/app/domains/partner/modules/consumers/components/complexes/form.component.html @@ -1,6 +1,6 @@
- - - + + + diff --git a/src/app/domains/partner/modules/consumers/components/complexes/form.component.ts b/src/app/domains/partner/modules/consumers/components/complexes/form.component.ts index 175d8b6..f5d7421 100644 --- a/src/app/domains/partner/modules/consumers/components/complexes/form.component.ts +++ b/src/app/domains/partner/modules/consumers/components/complexes/form.component.ts @@ -1,16 +1,27 @@ // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { AbstractForm } from '@/shared/abstractClasses'; -import { InputComponent } from '@/shared/components'; +import { + NameComponent, + AddressComponent, + BranchCodeComponent, +} from '@/shared/components'; +import { fieldControl } from '@/shared/constants/fields'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; -import { ReactiveFormsModule, Validators } from '@angular/forms'; +import { ReactiveFormsModule } from '@angular/forms'; import { IComplexRequest, IComplexResponse } from '../../models'; import { PartnerComplexesService } from '../../services/complexes.service'; @Component({ selector: 'partner-consumer-complex-form-content', templateUrl: './form.component.html', - imports: [ReactiveFormsModule, InputComponent, FormFooterActionsComponent], + imports: [ + ReactiveFormsModule, + NameComponent, + BranchCodeComponent, + AddressComponent, + FormFooterActionsComponent, + ], }) export class ConsumerComplexFormContentComponent extends AbstractForm< IComplexRequest, @@ -24,9 +35,9 @@ export class ConsumerComplexFormContentComponent extends AbstractForm< initForm = () => { return this.fb.group({ - name: [this.initialValues?.name || '', [Validators.required]], - branch_code: [this.initialValues?.branch_code || ''], - address: [this.initialValues?.address || '', [Validators.required]], + name: fieldControl.name(this.initialValues?.name || ''), + branch_code: fieldControl.branch_code(this.initialValues?.branch_code || ''), + address: fieldControl.address(this.initialValues?.address || ''), }); }; diff --git a/src/app/domains/partner/modules/consumers/components/complexes/list.component.html b/src/app/domains/partner/modules/consumers/components/complexes/list.component.html index b7686f2..7bf03d4 100644 --- a/src/app/domains/partner/modules/consumers/components/complexes/list.component.html +++ b/src/app/domains/partner/modules/consumers/components/complexes/list.component.html @@ -16,9 +16,15 @@ (onRefresh)="refresh()" > + { @Input() consumerId!: string; @@ -23,6 +28,8 @@ export class ConsumerComplexesComponent extends AbstractList { @Input() header: IColumn[] = [ { field: 'id', header: 'شناسه', type: 'id' }, { field: 'name', header: 'عنوان' }, + { field: 'branch_code', header: 'کد شعبه' }, + { field: 'pos_count', header: 'تعداد پایانه‌ها' }, { field: 'created_at', header: 'تاریخ ایجاد', @@ -32,6 +39,7 @@ export class ConsumerComplexesComponent extends AbstractList { private readonly service = inject(PartnerComplexesService); private readonly router = inject(Router); + visibleCreateForm = signal(false); override setColumns(): void { this.columns = this.header; @@ -41,6 +49,10 @@ export class ConsumerComplexesComponent extends AbstractList { return this.service.getAll(this.consumerId, this.businessId); } + override openAddForm() { + this.visibleCreateForm.set(true); + } + toSinglePage(item: IComplexResponse) { this.router.navigateByUrl( partnerConsumerComplexesNamedRoutes.complex.meta.pagePath!( diff --git a/src/app/domains/partner/modules/consumers/components/createConsumerWrapper/create-consumer-wrapper.component.html b/src/app/domains/partner/modules/consumers/components/createConsumerWrapper/create-consumer-wrapper.component.html new file mode 100644 index 0000000..f5b1479 --- /dev/null +++ b/src/app/domains/partner/modules/consumers/components/createConsumerWrapper/create-consumer-wrapper.component.html @@ -0,0 +1,49 @@ + + + + اطلاعات اولیه + فعالیت اقتصادی + فروشگاه + پایانه‌ی فروشگاهی + + + +
+ @switch (activeStep()) { + @case (1) { + + } + @case (2) { + + } + @case (3) { + + } + @case (4) { + + } + } +
+
diff --git a/src/app/domains/partner/modules/consumers/components/createConsumerWrapper/create-consumer-wrapper.component.ts b/src/app/domains/partner/modules/consumers/components/createConsumerWrapper/create-consumer-wrapper.component.ts new file mode 100644 index 0000000..01e8a02 --- /dev/null +++ b/src/app/domains/partner/modules/consumers/components/createConsumerWrapper/create-consumer-wrapper.component.ts @@ -0,0 +1,100 @@ +import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; +import { Component, effect, EventEmitter, Output, signal } from '@angular/core'; +import { Step, StepList, Stepper } from 'primeng/stepper'; +import { + IBusinessActivityResponse, + IComplexResponse, + IPartnerConsumerResponse, + IPosResponse, +} from '../../models'; +import { ConsumerBusinessActivitiesFormComponent } from '../businessActivities/form.component'; +import { ConsumerComplexFormContentComponent } from '../complexes/form.component'; +import { ConsumerUserFormContentComponent } from '../form.component'; +import { ConsumerPosFormContentComponent } from '../poses/form.component'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; + +export interface ICreateConsumerStepperResult { + consumer: IPartnerConsumerResponse; + businessActivity: IBusinessActivityResponse; + complex: IComplexResponse; + pos: IPosResponse; +} + +@Component({ + selector: 'partner-create-consumer-wrapper', + templateUrl: './create-consumer-wrapper.component.html', + imports: [ + Stepper, + StepList, + Step, + ConsumerUserFormContentComponent, + ConsumerBusinessActivitiesFormComponent, + ConsumerComplexFormContentComponent, + ConsumerPosFormContentComponent, + SharedDialogComponent, + ], +}) +export class CreateConsumerWrapperComponent extends AbstractDialog { + @Output() onSubmit = new EventEmitter(); + + activeStep = signal(1); + consumer = signal(null); + businessActivity = signal(null); + complex = signal(null); + + constructor() { + super(); + + effect(() => { + if (this.visible) { + this.resetWizard(); + } + }); + } + + onConsumerSubmit(response: IPartnerConsumerResponse) { + this.consumer.set(response); + this.activeStep.set(2); + } + + onBusinessActivitySubmit(response: IBusinessActivityResponse) { + this.businessActivity.set(response); + this.activeStep.set(3); + } + + onComplexSubmit(response: IComplexResponse) { + this.complex.set(response); + this.activeStep.set(4); + } + + onPosSubmit(response: IPosResponse) { + const consumer = this.consumer(); + const businessActivity = this.businessActivity(); + const complex = this.complex(); + + if (!consumer || !businessActivity || !complex) { + return; + } + + this.onSubmit.emit({ + consumer, + businessActivity, + complex, + pos: response, + }); + + this.close(); + } + + override close() { + this.resetWizard(); + super.close(); + } + + private resetWizard() { + this.activeStep.set(1); + this.consumer.set(null); + this.businessActivity.set(null); + this.complex.set(null); + } +} diff --git a/src/app/domains/partner/modules/consumers/components/form-dialog.component.html b/src/app/domains/partner/modules/consumers/components/form-dialog.component.html new file mode 100644 index 0000000..f0087e2 --- /dev/null +++ b/src/app/domains/partner/modules/consumers/components/form-dialog.component.html @@ -0,0 +1,16 @@ + + + diff --git a/src/app/domains/partner/modules/consumers/components/form-dialog.component.ts b/src/app/domains/partner/modules/consumers/components/form-dialog.component.ts new file mode 100644 index 0000000..c2aeb95 --- /dev/null +++ b/src/app/domains/partner/modules/consumers/components/form-dialog.component.ts @@ -0,0 +1,27 @@ +import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; +import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { IPartnerConsumerResponse } from '../models'; +import { ConsumerUserFormContentComponent } from './form.component'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; + +@Component({ + selector: 'partner-consumer-form', + templateUrl: './form-dialog.component.html', + imports: [SharedDialogComponent, ConsumerUserFormContentComponent], +}) +export class ConsumerUserFormDialogComponent extends AbstractDialog { + @Output() onSubmit = new EventEmitter(); + @Input() initialValues?: IPartnerConsumerResponse; + @Input() editMode?: boolean; + + @Input() consumerId?: string; + + get preparedTitle() { + return `${this.editMode ? 'ویرایش' : 'ایجاد'} مشتری`; + } + + onFormSubmit(response: IPartnerConsumerResponse) { + this.onSubmit.emit(response); + this.close(); + } +} diff --git a/src/app/domains/partner/modules/consumers/components/form.component.html b/src/app/domains/partner/modules/consumers/components/form.component.html index cddace7..c6731f7 100644 --- a/src/app/domains/partner/modules/consumers/components/form.component.html +++ b/src/app/domains/partner/modules/consumers/components/form.component.html @@ -1,34 +1,32 @@ - -
- - - - +@if (!editMode) { + +} + + @if (selectedType() === "INDIVIDUAL" && form.controls.individual) { + + + + + } @else if (form.controls.legal) { + + + } - @if (!editMode) { - اطلاعات ورود - - - - اطلاعات لایسنس - - } + @if (!editMode) { + اطلاعات ورود + + + + } - - -
+ + diff --git a/src/app/domains/partner/modules/consumers/components/form.component.ts b/src/app/domains/partner/modules/consumers/components/form.component.ts index 95dffcb..0247233 100644 --- a/src/app/domains/partner/modules/consumers/components/form.component.ts +++ b/src/app/domains/partner/modules/consumers/components/form.component.ts @@ -1,55 +1,88 @@ -import { mobileValidator, MustMatch } from '@/core/validators'; -import { nationalIdValidator } from '@/core/validators/national-id.validator'; -import { AbstractFormDialog } from '@/shared/abstractClasses'; -import { InputComponent, SharedPasswordInputComponent } from '@/shared/components'; +import { MustMatch } from '@/core/validators'; +import { AbstractForm } from '@/shared/abstractClasses'; +import { fieldControl } from '@/shared/constants/fields'; +import { + FirstNameComponent, + LastNameComponent, + LegalNameComponent, + MobileNumberComponent, + NationalCodeComponent, + RegistrationCodeComponent, + SharedPasswordInputComponent, + UsernameComponent, +} from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; -import { UikitFlatpickrJalaliComponent } from '@/uikit'; -import { nowJalali } from '@/utils'; -import { Component, computed, inject, Input } from '@angular/core'; -import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; +import { Component, inject, Input, signal } from '@angular/core'; +import { FormsModule, ReactiveFormsModule, Validators } from '@angular/forms'; import { Divider } from 'primeng/divider'; -import { IConsumerRequest, IConsumerResponse } from '../models'; +import { SelectButton } from 'primeng/selectbutton'; +import { IPartnerConsumerRequest, IPartnerConsumerResponse } from '../models'; import { ConsumersService } from '../services/main.service'; @Component({ - selector: 'partner-consumer-form', + selector: 'partner-consumer-form-content', templateUrl: './form.component.html', imports: [ + FormsModule, ReactiveFormsModule, - Dialog, - InputComponent, + FirstNameComponent, + LastNameComponent, + MobileNumberComponent, + NationalCodeComponent, + LegalNameComponent, + RegistrationCodeComponent, + UsernameComponent, FormFooterActionsComponent, Divider, - UikitFlatpickrJalaliComponent, SharedPasswordInputComponent, + SelectButton, ], }) -export class ConsumerUserFormComponent extends AbstractFormDialog< - IConsumerRequest, - IConsumerResponse +export class ConsumerUserFormContentComponent extends AbstractForm< + IPartnerConsumerRequest, + IPartnerConsumerResponse > { @Input() consumerId?: string; private service = inject(ConsumersService); - preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'ایجاد'} مشتری`); + consumerTypes = [ + { + value: 'INDIVIDUAL', + name: 'حقیقی', + }, + { + value: 'LEGAL', + name: 'حقوقی', + }, + ]; + + selectedType = signal(this.initialValues?.type || this.consumerTypes[0].value); initForm = () => { + this.selectedType.set(this.initialValues?.type || this.consumerTypes[0].value); + const legal = this.fb.group({ + name: fieldControl.legal_name(this.initialValues?.legal?.name || ''), + registration_code: fieldControl.registration_code( + this.initialValues?.legal?.registration_code || '', + ), + }); + const individual = this.fb.group({ + first_name: fieldControl.first_name(this.initialValues?.individual?.first_name || ''), + last_name: fieldControl.last_name(this.initialValues?.individual?.last_name || ''), + mobile_number: fieldControl.mobile_number( + this.initialValues?.individual?.mobile_number || '', + ), + national_code: fieldControl.national_code( + this.initialValues?.individual?.national_code || '', + ), + }); const form = this.fb.group({ - first_name: [this.initialValues?.first_name || '', [Validators.required]], - last_name: [this.initialValues?.last_name || '', [Validators.required]], - mobile_number: [ - this.initialValues?.mobile_number || '', - [Validators.required, mobileValidator()], - ], - national_code: [ - this.initialValues?.national_code || '', - [Validators.required, nationalIdValidator()], - ], + type: [this.initialValues?.type || this.consumerTypes[0].value, [Validators.required]], + legal, + individual, username: [''], password: [''], confirmPassword: [''], - license_starts_at: [nowJalali(), [Validators.required]], }); if (this.editMode) { @@ -59,15 +92,13 @@ export class ConsumerUserFormComponent extends AbstractFormDialog< form.removeControl('password'); // @ts-ignore form.removeControl('confirmPassword'); - // @ts-ignore - form.removeControl('license_starts_at'); form.removeValidators([MustMatch('password', 'confirmPassword')]); } else { form.addControl( 'username', this.fb.control('', { nonNullable: true, - validators: [Validators.required], + validators: fieldControl.username('')[1], }), ); form.addControl( @@ -84,23 +115,43 @@ export class ConsumerUserFormComponent extends AbstractFormDialog< validators: [Validators.required], }), ); - form.addControl( - 'license_starts_at', - this.fb.control(nowJalali(), { - nonNullable: true, - validators: [Validators.required], - }), - ); + form.addValidators([MustMatch('password', 'confirmPassword')]); } + if (form.controls.type.value === 'LEGAL') { + // @ts-ignore + form.addControl('legal', legal); + // @ts-ignore + form.removeControl('individual'); + } else { + // @ts-ignore + form.addControl('individual', individual); + // @ts-ignore + form.removeControl('legal'); + } + + form.controls.type.valueChanges.subscribe((type) => { + if (type === 'LEGAL') { + // @ts-ignore + form.addControl('legal', legal); + // @ts-ignore + form.removeControl('individual'); + } else { + // @ts-ignore + form.addControl('individual', individual); + // @ts-ignore + form.removeControl('legal'); + } + }); + return form; }; form = this.initForm(); override ngOnChanges() { - this.form.patchValue(this.initialValues || {}); + this.form.patchValue((this.initialValues as any) || {}); if (this.editMode && !this.consumerId) { throw 'missing some arguments'; } @@ -108,7 +159,7 @@ export class ConsumerUserFormComponent extends AbstractFormDialog< this.form = this.initForm(); } - override submitForm(payload: IConsumerRequest) { + override submitForm(payload: IPartnerConsumerRequest) { if (this.editMode) { return this.service.update(this.consumerId!, payload); } @@ -116,4 +167,8 @@ export class ConsumerUserFormComponent extends AbstractFormDialog< const { confirmPassword, ...rest } = payload; return this.service.create(rest); } + + changeType(newType: string) { + this.form.controls.type.setValue(newType); + } } diff --git a/src/app/domains/partner/modules/consumers/components/licenses/form.component.html b/src/app/domains/partner/modules/consumers/components/licenses/form.component.html index 2b160b1..a8c1c44 100644 --- a/src/app/domains/partner/modules/consumers/components/licenses/form.component.html +++ b/src/app/domains/partner/modules/consumers/components/licenses/form.component.html @@ -1,4 +1,4 @@ - --> - + diff --git a/src/app/domains/partner/modules/consumers/components/licenses/form.component.ts b/src/app/domains/partner/modules/consumers/components/licenses/form.component.ts index 560fbbd..dc564c2 100644 --- a/src/app/domains/partner/modules/consumers/components/licenses/form.component.ts +++ b/src/app/domains/partner/modules/consumers/components/licenses/form.component.ts @@ -3,14 +3,19 @@ import { FormFooterActionsComponent } from '@/shared/components/formFooterAction import { UikitFlatpickrJalaliComponent } from '@/uikit'; import { Component, computed, inject, Input } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { ILicenseRequest, ILicenseResponse } from '../../models'; import { LicensesService } from '../../services/licenses.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'partner-consumer-license-form', templateUrl: './form.component.html', - imports: [ReactiveFormsModule, Dialog, FormFooterActionsComponent, UikitFlatpickrJalaliComponent], + imports: [ + ReactiveFormsModule, + SharedDialogComponent, + FormFooterActionsComponent, + UikitFlatpickrJalaliComponent, + ], }) export class ConsumerLicenseFormComponent extends AbstractFormDialog< ILicenseRequest, diff --git a/src/app/domains/partner/modules/consumers/components/poses/form-dialog.component.html b/src/app/domains/partner/modules/consumers/components/poses/form-dialog.component.html index 48b9e16..11ea5bd 100644 --- a/src/app/domains/partner/modules/consumers/components/poses/form-dialog.component.html +++ b/src/app/domains/partner/modules/consumers/components/poses/form-dialog.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/partner/modules/consumers/components/poses/form-dialog.component.ts b/src/app/domains/partner/modules/consumers/components/poses/form-dialog.component.ts index f3319a4..1edcca5 100644 --- a/src/app/domains/partner/modules/consumers/components/poses/form-dialog.component.ts +++ b/src/app/domains/partner/modules/consumers/components/poses/form-dialog.component.ts @@ -1,13 +1,13 @@ import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { Dialog } from 'primeng/dialog'; import { IPosResponse } from '../../models'; import { ConsumerPosFormContentComponent } from './form.component'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'partner-consumer-pos-form', templateUrl: './form-dialog.component.html', - imports: [Dialog, ConsumerPosFormContentComponent], + imports: [SharedDialogComponent, ConsumerPosFormContentComponent], }) export class ConsumerPosFormDialogComponent extends AbstractDialog { @Output() onSubmit = new EventEmitter(); diff --git a/src/app/domains/partner/modules/consumers/components/poses/form.component.html b/src/app/domains/partner/modules/consumers/components/poses/form.component.html index 9ef9410..0dd0f2f 100644 --- a/src/app/domains/partner/modules/consumers/components/poses/form.component.html +++ b/src/app/domains/partner/modules/consumers/components/poses/form.component.html @@ -1,16 +1,16 @@
- - + + @if (form.controls.pos_type.value === "PSP") { - - - + + + } @if (!editMode) { اطلاعات ورود - + { const form = this.fb.group({ - name: [this.initialValues?.name || '', [Validators.required]], - pos_type: [this.initialValues?.pos_type || '', [Validators.required]], - serial_number: [this.initialValues?.serial_number || ''], - device_id: [this.initialValues?.device?.id || ''], - provider_id: [this.initialValues?.provider?.id || ''], + name: fieldControl.name(this.initialValues?.name || ''), + pos_type: fieldControl.pos_type(this.initialValues?.pos_type || ''), + serial_number: fieldControl.serial_number(this.initialValues?.serial_number || ''), + device_id: fieldControl.device_id(this.initialValues?.device?.id || ''), + provider_id: fieldControl.provider_id(this.initialValues?.provider?.id || ''), username: [''], password: [''], confirmPassword: [''], @@ -81,13 +89,15 @@ export class ConsumerPosFormContentComponent extends AbstractForm('', { nonNullable: true, - validators: [Validators.required], + validators: fieldControl.username('')[1], }), ); + // @ts-ignore form.addControl( 'password', this.fb.control('', { @@ -95,6 +105,7 @@ export class ConsumerPosFormContentComponent extends AbstractForm('', { diff --git a/src/app/domains/partner/modules/consumers/models/businessActivities_io.d.ts b/src/app/domains/partner/modules/consumers/models/businessActivities_io.d.ts index 9c590bf..72e3555 100644 --- a/src/app/domains/partner/modules/consumers/models/businessActivities_io.d.ts +++ b/src/app/domains/partner/modules/consumers/models/businessActivities_io.d.ts @@ -4,6 +4,8 @@ export interface IBusinessActivityRawResponse { id: string; name: string; economic_code: string; + fiscal_code: string; + partner_token: string; guild: ISummary; created_at: string; license_info: LicenseInfo; @@ -13,9 +15,11 @@ export interface IBusinessActivityResponse extends IBusinessActivityRawResponse export interface IBusinessActivityRequest { name: string; economic_code: string; + fiscal_code: string; + partner_token: string; guild_id: string; - username?: string; - password?: string; + license_starts_at?: string; + expires_at?: string; } interface LicenseInfo { diff --git a/src/app/domains/partner/modules/consumers/models/chargeAccount_io.d.ts b/src/app/domains/partner/modules/consumers/models/chargeAccount_io.d.ts index 0079cbf..74f80fa 100644 --- a/src/app/domains/partner/modules/consumers/models/chargeAccount_io.d.ts +++ b/src/app/domains/partner/modules/consumers/models/chargeAccount_io.d.ts @@ -1,11 +1,8 @@ export interface IPartnerChargeAccountRawResponse { id: string; + credit_id: string; + license_activation_id: string; created_at: string; - // tracking_code: string; - // activation_expires_at: string; - // charged_license_count: number; - // activated_license_count: number; - // remained_license_count: number; } export interface IPartnerChargeAccountResponse extends IPartnerChargeAccountRawResponse {} diff --git a/src/app/domains/partner/modules/consumers/models/io.d.ts b/src/app/domains/partner/modules/consumers/models/io.d.ts index e1f95ea..7005c9b 100644 --- a/src/app/domains/partner/modules/consumers/models/io.d.ts +++ b/src/app/domains/partner/modules/consumers/models/io.d.ts @@ -1,28 +1,6 @@ -export interface IConsumerRawResponse { - id: string; - first_name: string; - last_name: string; - mobile_number: string; - national_code: string; - status: string; - created_at: string; - fullname: string; - license_info: ILicenseInfo; -} -export interface IConsumerResponse extends IConsumerRawResponse {} +import { IConsumerRequest, IConsumerResponse } from '@/shared/models/consumer.type'; -export interface IConsumerRequest { - first_name: string; - last_name: string; - mobile_number: string; - national_code: string; - username: string; - password: string; - license_starts_at: string; -} +export interface IPartnerConsumerRawResponse extends IConsumerResponse {} +export interface IPartnerConsumerResponse extends IPartnerConsumerRawResponse {} -interface ILicenseInfo { - id: string; - starts_at: string; - expires_at: string; -} +export interface IPartnerConsumerRequest extends IConsumerRequest {} diff --git a/src/app/domains/partner/modules/consumers/services/chargeAccount.service.ts b/src/app/domains/partner/modules/consumers/services/chargeAccount.service.ts index 281815b..7d3c002 100644 --- a/src/app/domains/partner/modules/consumers/services/chargeAccount.service.ts +++ b/src/app/domains/partner/modules/consumers/services/chargeAccount.service.ts @@ -2,7 +2,7 @@ import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { PARTNER_BA_ACCOUNTS_CHARGE_API_ROUTES } from '../constants/apiRoutes/accountsCharge'; -import { IPartnerChargeAccountRequest } from '../models'; +import { IPartnerChargeAccountRequest, IPartnerChargeAccountResponse } from '../models'; @Injectable({ providedIn: 'root' }) export class PartnerChargeAccountService { @@ -20,8 +20,8 @@ export class PartnerChargeAccountService { consumerId: string, businessId: string, data: IPartnerChargeAccountRequest, - ): Observable { - return this.http.post( + ): Observable { + return this.http.post( this.apiRoutes.single(consumerId, businessId), data, ); diff --git a/src/app/domains/partner/modules/consumers/services/main.service.ts b/src/app/domains/partner/modules/consumers/services/main.service.ts index 8fe9cd6..43b0cf6 100644 --- a/src/app/domains/partner/modules/consumers/services/main.service.ts +++ b/src/app/domains/partner/modules/consumers/services/main.service.ts @@ -3,7 +3,11 @@ import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { CONSUMERS_API_ROUTES } from '../constants'; -import { IConsumerRawResponse, IConsumerRequest, IConsumerResponse } from '../models'; +import { + IPartnerConsumerRawResponse, + IPartnerConsumerRequest, + IPartnerConsumerResponse, +} from '../models'; @Injectable({ providedIn: 'root' }) export class ConsumersService { @@ -11,18 +15,21 @@ export class ConsumersService { private apiRoutes = CONSUMERS_API_ROUTES; - getAll(): Observable> { - return this.http.get>(this.apiRoutes.list()); + getAll(): Observable> { + return this.http.get>(this.apiRoutes.list()); } - getSingle(consumerId: string): Observable { - return this.http.get(this.apiRoutes.single(consumerId)); + getSingle(consumerId: string): Observable { + return this.http.get(this.apiRoutes.single(consumerId)); } - create(userData: IConsumerRequest): Observable { - return this.http.post(this.apiRoutes.list(), userData); + create(userData: IPartnerConsumerRequest): Observable { + return this.http.post(this.apiRoutes.list(), userData); } - update(consumerId: string, userData: IConsumerRequest): Observable { - return this.http.patch(this.apiRoutes.single(consumerId), userData); + update( + consumerId: string, + userData: IPartnerConsumerRequest, + ): Observable { + return this.http.patch(this.apiRoutes.single(consumerId), userData); } } diff --git a/src/app/domains/partner/modules/consumers/store/consumer.store.ts b/src/app/domains/partner/modules/consumers/store/consumer.store.ts index 0efcc5f..e761fed 100644 --- a/src/app/domains/partner/modules/consumers/store/consumer.store.ts +++ b/src/app/domains/partner/modules/consumers/store/consumer.store.ts @@ -3,17 +3,17 @@ import { computed, inject, Injectable } from '@angular/core'; import { MenuItem } from 'primeng/api'; import { catchError, finalize } from 'rxjs'; import { partnerConsumersNamedRoutes } from '../constants'; -import { IConsumerResponse } from '../models'; +import { IPartnerConsumerResponse } from '../models'; import { ConsumersService } from '../services/main.service'; -interface ConsumerState extends EntityState { +interface ConsumerState extends EntityState { breadcrumbItems: MenuItem[]; } @Injectable({ providedIn: 'root', }) -export class ConsumerStore extends EntityStore { +export class ConsumerStore extends EntityStore { private readonly service = inject(ConsumersService); constructor() { super({ @@ -36,7 +36,7 @@ export class ConsumerStore extends EntityStore routerLink: partnerConsumersNamedRoutes.consumers.meta.pagePath!(), }, { - title: this.entity()?.fullname, + title: this.entity()?.name, routerLink: partnerConsumersNamedRoutes.consumer.meta.pagePath!(consumerId), }, ], diff --git a/src/app/domains/partner/modules/consumers/views/list.component.html b/src/app/domains/partner/modules/consumers/views/list.component.html index d99e857..acd5a29 100644 --- a/src/app/domains/partner/modules/consumers/views/list.component.html +++ b/src/app/domains/partner/modules/consumers/views/list.component.html @@ -15,9 +15,11 @@ (onEdit)="onEditClick($event)" (onRefresh)="refresh()" /> + + { +export class ConsumersComponent extends AbstractList { private readonly service = inject(ConsumersService); private readonly router = inject(Router); + visibleCreateForm = signal(false); override setColumns(): void { this.columns = [ { field: 'id', header: 'شناسه', type: 'id' }, - { field: 'fullname', header: 'نام' }, - { field: 'mobile_number', header: 'شماره موبایل' }, - { field: 'national_code', header: 'کد ملی' }, - // { field: 'status', header: 'وضعیت' }, - // { - // field: 'license_expires_at', - // header: 'تاریخ انقضای لایسنس', - // customDataModel(item) { - // if (item.license_info) { - // return formatJalali(item.license_info.expires_at); - // } - // return 'بدون لایسنس'; - // }, - // }, + { field: 'name', header: 'نام' }, + { field: 'business_counts', header: 'تعداد فعالیت‌های اقتصادی فعال' }, + { field: 'created_at', header: 'تاریخ ایجاد', @@ -46,7 +41,11 @@ export class ConsumersComponent extends AbstractList { return this.service.getAll(); } - toSinglePage(consumer: IConsumerResponse) { + override openAddForm() { + this.visibleCreateForm.set(true); + } + + toSinglePage(consumer: IPartnerConsumerResponse) { this.router.navigateByUrl(partnerConsumersNamedRoutes.consumer.meta.pagePath!(consumer.id)); } } diff --git a/src/app/domains/partner/modules/consumers/views/single.component.html b/src/app/domains/partner/modules/consumers/views/single.component.html index 55573ae..c317862 100644 --- a/src/app/domains/partner/modules/consumers/views/single.component.html +++ b/src/app/domains/partner/modules/consumers/views/single.component.html @@ -3,8 +3,8 @@
- - + +
diff --git a/src/app/domains/partner/modules/consumers/views/single.component.ts b/src/app/domains/partner/modules/consumers/views/single.component.ts index 7800494..1ccfee0 100644 --- a/src/app/domains/partner/modules/consumers/views/single.component.ts +++ b/src/app/domains/partner/modules/consumers/views/single.component.ts @@ -1,11 +1,10 @@ import { BreadcrumbService } from '@/core/services'; import { AppCardComponent, KeyValueComponent } from '@/shared/components'; -import { getLicenseStatus } from '@/utils'; import { Component, computed, effect, inject, signal } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { ConsumerAccountListComponent } from '../components/accounts/list.component'; import { ConsumerBusinessActivitiesComponent } from '../components/businessActivities/list.component'; -import { ConsumerUserFormComponent } from '../components/form.component'; +import { ConsumerUserFormDialogComponent } from '../components/form-dialog.component'; import { ConsumerStore } from '../store/consumer.store'; @Component({ @@ -14,7 +13,7 @@ import { ConsumerStore } from '../store/consumer.store'; imports: [ AppCardComponent, KeyValueComponent, - ConsumerUserFormComponent, + ConsumerUserFormDialogComponent, ConsumerAccountListComponent, ConsumerBusinessActivitiesComponent, ], @@ -31,10 +30,6 @@ export class ConsumerComponent { readonly loading = computed(() => this.store.loading()); readonly consumer = computed(() => this.store.entity()); - readonly license = computed(() => this.store.entity()?.license_info); - readonly licenseStatus = computed(() => - getLicenseStatus(this.store.entity()?.license_info?.expires_at), - ); constructor() { effect(() => { diff --git a/src/app/domains/partner/modules/licenses/components/list.component.html b/src/app/domains/partner/modules/licenses/components/list.component.html index 9e8b390..d279f77 100644 --- a/src/app/domains/partner/modules/licenses/components/list.component.html +++ b/src/app/domains/partner/modules/licenses/components/list.component.html @@ -4,7 +4,7 @@ emptyPlaceholderTitle="تا به حال لایسنسی نفروخته‌اید." [currentPage]="responseMetaData()?.page" [totalRecords]="responseMetaData()?.totalRecords || items().length" - [perPage]="1" + [perPage]="responseMetaData()?.perPage" [items]="items()" [loading]="loading()" (onRefresh)="refresh()" diff --git a/src/app/domains/partner/modules/licenses/components/list.component.ts b/src/app/domains/partner/modules/licenses/components/list.component.ts index 3bd0910..175a417 100644 --- a/src/app/domains/partner/modules/licenses/components/list.component.ts +++ b/src/app/domains/partner/modules/licenses/components/list.component.ts @@ -1,7 +1,7 @@ import { AbstractList } from '@/shared/abstractClasses/abstract-list'; import { PageDataListComponent } from '@/shared/components/pageDataList/page-data-list.component'; import { Component, inject } from '@angular/core'; -import { ILicenseRawResponse, ILicenseResponse } from '../models'; +import { ILicenseResponse } from '../models'; import { PartnerLicensesService } from '../services/main.service'; import { AdminAgentsFilterComponent } from './filter-form.component'; @@ -17,19 +17,25 @@ export class PartnerLicenseListComponent extends AbstractList this.columns = [ { field: 'id', header: 'شناسه', type: 'id' }, { - field: 'consumer', - header: 'مشتری', - customDataModel(item: ILicenseRawResponse) { - return `${item.consumer.first_name} ${item.consumer.last_name}`; + field: 'business_activity', + header: 'عنوان مشتری', + type: 'nested', + nestedOption: { + path: 'business_activity.consumer.name', }, }, { - field: 'accounts_limit', - header: 'تعداد کاربر قابل تعریف', - customDataModel(item: ILicenseRawResponse) { - return item.license.accounts_limit || '-'; + field: 'business_activity', + header: 'عنوان فعالیت اقتصادی', + type: 'nested', + nestedOption: { + path: 'business_activity.name', }, }, + { + field: 'account_allocation_count', + header: 'محدودیت کاربر', + }, { field: 'expires_at', header: 'تاریخ انقضا', type: 'date' }, { field: 'created_at', header: 'تاریخ ایجاد', type: 'date' }, ]; @@ -38,7 +44,7 @@ export class PartnerLicenseListComponent extends AbstractList override getDataRequest() { return this.service.getAll({ page: this.responseMetaData()?.page || 1, - pageSize: this.responseMetaData()?.perPage || 1, + pageSize: this.responseMetaData()?.perPage || 10, }); } } diff --git a/src/app/domains/partner/modules/licenses/models/io.d.ts b/src/app/domains/partner/modules/licenses/models/io.d.ts index 2b9af00..f624c5e 100644 --- a/src/app/domains/partner/modules/licenses/models/io.d.ts +++ b/src/app/domains/partner/modules/licenses/models/io.d.ts @@ -1,3 +1,5 @@ +import { IConsumerResponse } from '@/shared/models/consumer.type'; + export interface ILicenseRawResponse { id: string; starts_at: string; @@ -13,9 +15,4 @@ interface License { accounts_limit?: number; } -interface Consumer { - first_name: string; - last_name: string; - mobile_number: string; - status: string; -} +interface Consumer extends IConsumerResponse {} diff --git a/src/app/domains/partner/modules/licenses/services/main.service.ts b/src/app/domains/partner/modules/licenses/services/main.service.ts index 7f32b99..889e30f 100644 --- a/src/app/domains/partner/modules/licenses/services/main.service.ts +++ b/src/app/domains/partner/modules/licenses/services/main.service.ts @@ -15,7 +15,7 @@ export class PartnerLicensesService { return this.http.get>(this.apiRoutes.list(), { params: { page: paginationQuery?.page || '1', - pageSize: paginationQuery?.pageSize || '50', + perPage: paginationQuery?.pageSize || '50', }, }); } diff --git a/src/app/domains/pos/modules/landing/components/customers/customer-dialog.component.html b/src/app/domains/pos/modules/landing/components/customers/customer-dialog.component.html index 4515247..7cbab4c 100644 --- a/src/app/domains/pos/modules/landing/components/customers/customer-dialog.component.html +++ b/src/app/domains/pos/modules/landing/components/customers/customer-dialog.component.html @@ -1,4 +1,4 @@ - +
@@ -13,4 +13,4 @@ } @else if (selectedCustomerType() === "LEGAL") { } - + diff --git a/src/app/domains/pos/modules/landing/components/customers/customer-dialog.component.ts b/src/app/domains/pos/modules/landing/components/customers/customer-dialog.component.ts index 9c57a2a..437f353 100644 --- a/src/app/domains/pos/modules/landing/components/customers/customer-dialog.component.ts +++ b/src/app/domains/pos/modules/landing/components/customers/customer-dialog.component.ts @@ -2,18 +2,18 @@ import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; import { CustomerType } from '@/shared/localEnum/constants/customerTypes'; import { Component, EventEmitter, inject, Output, signal } from '@angular/core'; import { FormsModule } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { SelectButton } from 'primeng/selectbutton'; import { PosLandingStore } from '../../store/main.store'; import { CustomerIndividualFormComponent } from './individual/form.component'; import { CustomerLegalFormComponent } from './legal/form.component'; import { CustomerUnknownFormComponent } from './unknown/form.component'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'pos-order-customer-dialog', templateUrl: './customer-dialog.component.html', imports: [ - Dialog, + SharedDialogComponent, CustomerIndividualFormComponent, FormsModule, CustomerLegalFormComponent, diff --git a/src/app/domains/pos/modules/landing/components/payload-form.component.html b/src/app/domains/pos/modules/landing/components/payload-form.component.html index f6bebc9..634398a 100644 --- a/src/app/domains/pos/modules/landing/components/payload-form.component.html +++ b/src/app/domains/pos/modules/landing/components/payload-form.component.html @@ -1,4 +1,4 @@ - } } - + diff --git a/src/app/domains/pos/modules/landing/components/payload-form.component.ts b/src/app/domains/pos/modules/landing/components/payload-form.component.ts index e62c685..b049040 100644 --- a/src/app/domains/pos/modules/landing/components/payload-form.component.ts +++ b/src/app/domains/pos/modules/landing/components/payload-form.component.ts @@ -1,16 +1,16 @@ import { IGoodResponse } from '@/domains/pos/models/good.io'; import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; import { Component, computed, EventEmitter, inject, Input, Output, signal } from '@angular/core'; -import { Dialog } from 'primeng/dialog'; import { IGoldPayload, IPosOrderItem, IStandardPayload, TPosOrderGoodPayload } from '../models'; import { PosLandingStore } from '../store/main.store'; import { PosGoldPayloadFormComponent } from './payloads/gold/form.component'; import { PosStandardPayloadFormComponent } from './payloads/standard/form.component'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'pos-payload-form-dialog', templateUrl: './payload-form.component.html', - imports: [PosGoldPayloadFormComponent, Dialog, PosStandardPayloadFormComponent], + imports: [PosGoldPayloadFormComponent, SharedDialogComponent, PosStandardPayloadFormComponent], }) export class PayloadFormDialogComponent extends AbstractDialog { @Input({ required: true }) good!: IGoodResponse; diff --git a/src/app/domains/pos/modules/landing/components/payloads/gold/form.component.html b/src/app/domains/pos/modules/landing/components/payloads/gold/form.component.html index 6c7afc4..3a267d8 100644 --- a/src/app/domains/pos/modules/landing/components/payloads/gold/form.component.html +++ b/src/app/domains/pos/modules/landing/components/payloads/gold/form.component.html @@ -1,7 +1,7 @@ - + - + diff --git a/src/app/domains/pos/modules/landing/components/payment/form-dialog.component.ts b/src/app/domains/pos/modules/landing/components/payment/form-dialog.component.ts index 56523dd..17acbe0 100644 --- a/src/app/domains/pos/modules/landing/components/payment/form-dialog.component.ts +++ b/src/app/domains/pos/modules/landing/components/payment/form-dialog.component.ts @@ -1,3 +1,4 @@ +import { NativeBridgeService } from '@/core/services'; import { ToastService } from '@/core/services/toast.service'; import { AbstractFormDialog } from '@/shared/abstractClasses'; import { InputComponent, KeyValueComponent } from '@/shared/components'; @@ -5,10 +6,10 @@ import { FormFooterActionsComponent } from '@/shared/components/formFooterAction import { Component, computed, inject, signal } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; import { ButtonDirective } from 'primeng/button'; -import { Dialog } from 'primeng/dialog'; import { catchError, throwError } from 'rxjs'; import { IPayment, TOrderPaymentTypes } from '../../models'; import { PosLandingStore } from '../../store/main.store'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'pos-payment-form-dialog', @@ -19,11 +20,12 @@ import { PosLandingStore } from '../../store/main.store'; FormFooterActionsComponent, KeyValueComponent, ButtonDirective, - Dialog, + SharedDialogComponent, ], }) export class PosPaymentFormDialogComponent extends AbstractFormDialog { private readonly store = inject(PosLandingStore); + private readonly nativeBridge = inject(NativeBridgeService); private readonly toastServices = inject(ToastService); readonly totalAmount = computed(() => this.store.orderPricingInfo().totalAmount); @@ -100,6 +102,21 @@ export class PosPaymentFormDialogComponent extends AbstractFormDialog 0 && this.nativeBridge.isEnabled()) { + const payResult = this.nativeBridge.pay({ + amount: payment.terminal, + totalAmount: this.totalAmount(), + invoiceDate: new Date().toISOString(), + }); + + if (!payResult.success) { + return this.toastServices.warn({ + text: payResult.error || 'پرداخت با دستگاه انجام نشد. لطفا دوباره تلاش کنید.', + }); + } + } + this.store.setPayment(payment); this.store @@ -109,7 +126,13 @@ export class PosPaymentFormDialogComponent extends AbstractFormDialog err); }), ) - .subscribe(() => { + .subscribe((res) => { + if (this.nativeBridge.isEnabled()) { + this.nativeBridge.print({ + invoiceId: res?.id, + code: res?.code, + }); + } this.close(); this.toastServices.success({ text: 'فاکتور شما با موفقیت ایجاد شد', diff --git a/src/app/domains/pos/modules/landing/components/pre-invoice-dialog.component.html b/src/app/domains/pos/modules/landing/components/pre-invoice-dialog.component.html index 0486e44..2292f7f 100644 --- a/src/app/domains/pos/modules/landing/components/pre-invoice-dialog.component.html +++ b/src/app/domains/pos/modules/landing/components/pre-invoice-dialog.component.html @@ -1,4 +1,4 @@ -
-
+ diff --git a/src/app/domains/pos/modules/landing/components/pre-invoice-dialog.component.ts b/src/app/domains/pos/modules/landing/components/pre-invoice-dialog.component.ts index fb47fbf..830d60f 100644 --- a/src/app/domains/pos/modules/landing/components/pre-invoice-dialog.component.ts +++ b/src/app/domains/pos/modules/landing/components/pre-invoice-dialog.component.ts @@ -2,13 +2,13 @@ import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; import { UikitFlatpickrJalaliComponent } from '@/uikit'; import { Component, inject } from '@angular/core'; import { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { PosLandingStore } from '../store/main.store'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'pos-pre-invoice-dialog', templateUrl: './pre-invoice-dialog.component.html', - imports: [Dialog, UikitFlatpickrJalaliComponent, ReactiveFormsModule], + imports: [SharedDialogComponent, UikitFlatpickrJalaliComponent, ReactiveFormsModule], }) export class PosPreInvoiceDialogComponent extends AbstractDialog { private readonly store = inject(PosLandingStore); diff --git a/src/app/domains/pos/modules/landing/models/io.d.ts b/src/app/domains/pos/modules/landing/models/io.d.ts index a780ca3..469e5d7 100644 --- a/src/app/domains/pos/modules/landing/models/io.d.ts +++ b/src/app/domains/pos/modules/landing/models/io.d.ts @@ -14,5 +14,8 @@ export interface IPosOrderRequest { customer?: ICustomer; } -export interface IPosOrderRawResponse {} +export interface IPosOrderRawResponse { + id?: string; + code?: string; +} export interface IPosOrderResponse extends IPosOrderRawResponse {} diff --git a/src/app/domains/pos/modules/landing/store/main.store.ts b/src/app/domains/pos/modules/landing/store/main.store.ts index b9c997f..bb2b967 100644 --- a/src/app/domains/pos/modules/landing/store/main.store.ts +++ b/src/app/domains/pos/modules/landing/store/main.store.ts @@ -4,7 +4,7 @@ import { IGoodCategoryResponse, IGoodResponse } from '@/domains/pos/models/good. import { CustomerType } from '@/shared/localEnum/constants/customerTypes'; import { createUUID, JALALI_DATE_FORMATS, nowJalali, parseJalali } from '@/utils'; import { computed, inject, Injectable, signal } from '@angular/core'; -import { catchError, finalize, map, Observable } from 'rxjs'; +import { catchError, finalize, map, throwError } from 'rxjs'; import { ICustomer, IPayment, IPosOrderRequest, IPosOrderResponse } from '../models'; import { IPosInOrderGood, IPosOrderItem } from '../models/types'; import { PosService } from '../services/main.service'; @@ -228,9 +228,7 @@ export class PosLandingStore { finalize(() => { this.setState({ submitOrderLoading: false }); }), - catchError(() => { - return new Observable((observer) => observer.error()); - }), + catchError((error) => throwError(() => error)), map((_res) => { if (_res) { diff --git a/src/app/domains/superAdmin/modules/consumers/components/accounts/form.component.html b/src/app/domains/superAdmin/modules/consumers/components/accounts/form.component.html index 4c9c65b..3a4b946 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/accounts/form.component.html +++ b/src/app/domains/superAdmin/modules/consumers/components/accounts/form.component.html @@ -1,4 +1,4 @@ -
- + -
+ diff --git a/src/app/domains/superAdmin/modules/consumers/components/accounts/form.component.ts b/src/app/domains/superAdmin/modules/consumers/components/accounts/form.component.ts index fc2ce5d..a64b792 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/accounts/form.component.ts +++ b/src/app/domains/superAdmin/modules/consumers/components/accounts/form.component.ts @@ -2,21 +2,22 @@ import { MustMatch, password } from '@/core/validators'; // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { AbstractFormDialog } from '@/shared/abstractClasses'; import { EnumSelectComponent } from '@/shared/apiEnum/select.component'; -import { InputComponent, SharedPasswordInputComponent } from '@/shared/components'; +import { SharedPasswordInputComponent, UsernameComponent } from '@/shared/components'; +import { fieldControl } from '@/shared/constants/fields'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IConsumerAccountRequest, IConsumerAccountResponse } from '../../models'; import { AdminConsumerAccountsService } from '../../services/accounts.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'superAdmin-consumer-account-form', templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, - InputComponent, + SharedDialogComponent, + UsernameComponent, FormFooterActionsComponent, SharedPasswordInputComponent, EnumSelectComponent, @@ -35,7 +36,7 @@ export class ConsumerAccountFormComponent extends AbstractFormDialog< if (this.editMode) { return this.fb.group( { - username: [this.initialValues?.username || '', [Validators.required]], + username: fieldControl.username(this.initialValues?.account?.username || ''), password: ['', [password()]], confirmPassword: [''], }, @@ -46,7 +47,7 @@ export class ConsumerAccountFormComponent extends AbstractFormDialog< } return this.fb.group( { - username: [this.initialValues?.username || '', [Validators.required]], + username: fieldControl.username(this.initialValues?.account?.username || ''), role: ['', [Validators.required]], password: ['', [Validators.required, password()]], confirmPassword: ['', [Validators.required]], diff --git a/src/app/domains/superAdmin/modules/consumers/components/businessActivities/form.component.html b/src/app/domains/superAdmin/modules/consumers/components/businessActivities/form.component.html index cb0d0e4..0059d5d 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/businessActivities/form.component.html +++ b/src/app/domains/superAdmin/modules/consumers/components/businessActivities/form.component.html @@ -1,4 +1,4 @@ -
- - + + + + + -
+ diff --git a/src/app/domains/superAdmin/modules/consumers/components/businessActivities/form.component.ts b/src/app/domains/superAdmin/modules/consumers/components/businessActivities/form.component.ts index 800ffb1..31ab4d6 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/businessActivities/form.component.ts +++ b/src/app/domains/superAdmin/modules/consumers/components/businessActivities/form.component.ts @@ -1,23 +1,32 @@ // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { AbstractFormDialog } from '@/shared/abstractClasses'; -import { CatalogGuildSelectComponent } from '@/shared/catalog/guild/components/select.component'; -import { InputComponent } from '@/shared/components'; +import { + EconomicCodeComponent, + FiscalCodeComponent, + GuildIdComponent, + NameComponent, + PartnerTokenComponent, +} from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; +import { fieldControl } from '@/shared/constants/fields'; import { Component, inject, Input } from '@angular/core'; -import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; +import { ReactiveFormsModule } from '@angular/forms'; import { IBusinessActivityRequest, IBusinessActivityResponse } from '../../models'; import { AdminConsumerBusinessActivitiesService } from '../../services/businessActivities.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'superAdmin-consumer-businessActivities-form', templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, - InputComponent, + SharedDialogComponent, + NameComponent, + EconomicCodeComponent, + FiscalCodeComponent, + PartnerTokenComponent, + GuildIdComponent, FormFooterActionsComponent, - CatalogGuildSelectComponent, ], }) export class ConsumerBusinessActivitiesFormComponent extends AbstractFormDialog< @@ -31,9 +40,12 @@ export class ConsumerBusinessActivitiesFormComponent extends AbstractFormDialog< initForm = () => { return this.fb.group({ - name: [this.initialValues?.name || '', [Validators.required]], + name: fieldControl.name(this.initialValues?.name || ''), + economic_code: fieldControl.economic_code(this.initialValues?.economic_code || ''), + fiscal_code: fieldControl.fiscal_code(this.initialValues?.fiscal_code || ''), + partner_token: fieldControl.partner_token(this.initialValues?.partner_token || ''), // @ts-ignore - guild_id: [this.initialValues?.guild?.id || '', [Validators.required]], + guild_id: fieldControl.guild_id(this.initialValues?.guild?.id || ''), }); }; diff --git a/src/app/domains/superAdmin/modules/consumers/components/complexes/form.component.html b/src/app/domains/superAdmin/modules/consumers/components/complexes/form.component.html index 248f2ba..1af5372 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/complexes/form.component.html +++ b/src/app/domains/superAdmin/modules/consumers/components/complexes/form.component.html @@ -1,4 +1,4 @@ -
- - - + + + -
+ diff --git a/src/app/domains/superAdmin/modules/consumers/components/complexes/form.component.ts b/src/app/domains/superAdmin/modules/consumers/components/complexes/form.component.ts index f6e8c72..42c11be 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/complexes/form.component.ts +++ b/src/app/domains/superAdmin/modules/consumers/components/complexes/form.component.ts @@ -1,17 +1,29 @@ // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { AbstractFormDialog } from '@/shared/abstractClasses'; -import { InputComponent } from '@/shared/components'; +import { + NameComponent, + AddressComponent, + BranchCodeComponent, +} from '@/shared/components'; +import { fieldControl } from '@/shared/constants/fields'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; -import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; +import { ReactiveFormsModule } from '@angular/forms'; import { IComplexRequest, IComplexResponse } from '../../models'; import { AdminComplexesService } from '../../services/complexes.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'superAdmin-consumer-complex-form', templateUrl: './form.component.html', - imports: [ReactiveFormsModule, Dialog, InputComponent, FormFooterActionsComponent], + imports: [ + ReactiveFormsModule, + SharedDialogComponent, + NameComponent, + BranchCodeComponent, + AddressComponent, + FormFooterActionsComponent, + ], }) export class ConsumerComplexFormComponent extends AbstractFormDialog< IComplexRequest, @@ -25,9 +37,9 @@ export class ConsumerComplexFormComponent extends AbstractFormDialog< initForm = () => { return this.fb.group({ - name: [this.initialValues?.name || '', [Validators.required]], - branch_code: [this.initialValues?.branch_code || ''], - address: [this.initialValues?.address || '', [Validators.required]], + name: fieldControl.name(this.initialValues?.name || ''), + branch_code: fieldControl.branch_code(this.initialValues?.branch_code || ''), + address: fieldControl.address(this.initialValues?.address || ''), }); }; diff --git a/src/app/domains/superAdmin/modules/consumers/components/form.component.html b/src/app/domains/superAdmin/modules/consumers/components/form.component.html index db9e098..5ee5fee 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/form.component.html +++ b/src/app/domains/superAdmin/modules/consumers/components/form.component.html @@ -1,4 +1,4 @@ -
- + @if (!editMode) { اطلاعات ورود - + اطلاعات لایسنس - + /> --> - + } -
+ diff --git a/src/app/domains/superAdmin/modules/consumers/components/form.component.ts b/src/app/domains/superAdmin/modules/consumers/components/form.component.ts index 6a4aa3e..12f078f 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/form.component.ts +++ b/src/app/domains/superAdmin/modules/consumers/components/form.component.ts @@ -1,14 +1,13 @@ -import { mobileValidator, MustMatch } from '@/core/validators'; +import { MustMatch } from '@/core/validators'; import { AbstractFormDialog } from '@/shared/abstractClasses'; -import { InputComponent, SharedPasswordInputComponent } from '@/shared/components'; +import { SharedPasswordInputComponent, UsernameComponent } from '@/shared/components'; +import { fieldControl } from '@/shared/constants/fields'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; -import { UikitFlatpickrJalaliComponent } from '@/uikit'; import { Component, computed, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { Divider } from 'primeng/divider'; -import { PartnerSelectComponent } from '../../partners/shared/select.component'; -import { IConsumerRequest, IConsumerResponse } from '../models'; +import { IAdminConsumerRequest, IAdminConsumerResponse } from '../models'; import { ConsumersService } from '../services/main.service'; @Component({ @@ -16,18 +15,16 @@ import { ConsumersService } from '../services/main.service'; templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, - InputComponent, + SharedDialogComponent, + UsernameComponent, FormFooterActionsComponent, Divider, - UikitFlatpickrJalaliComponent, - PartnerSelectComponent, SharedPasswordInputComponent, ], }) export class ConsumerUserFormComponent extends AbstractFormDialog< - IConsumerRequest, - IConsumerResponse + IAdminConsumerRequest, + IAdminConsumerResponse > { @Input() consumerId?: string; private service = inject(ConsumersService); @@ -36,19 +33,19 @@ export class ConsumerUserFormComponent extends AbstractFormDialog< initForm = () => { const form = this.fb.group({ - first_name: [this.initialValues?.first_name || '', [Validators.required]], - last_name: [this.initialValues?.last_name || '', [Validators.required]], - mobile_number: [ - this.initialValues?.mobile_number || '', - [Validators.required, mobileValidator()], - ], + // first_name: [this.initialValues?.first_name || '', [Validators.required]], + // last_name: [this.initialValues?.last_name || '', [Validators.required]], + // mobile_number: [ + // this.initialValues?.mobile_number || '', + // [Validators.required, mobileValidator()], + // ], username: [''], password: [''], confirmPassword: [''], - license: this.fb.group({ - starts_at: [this.initialValues?.license_info?.starts_at || ''], - partner_id: [this.initialValues?.license_info?.partner?.id || ''], - }), + // license: this.fb.group({ + // starts_at: [this.initialValues?.license_info?.starts_at || ''], + // partner_id: [this.initialValues?.license_info?.partner?.id || ''], + // }), }); if (this.editMode) { @@ -60,13 +57,15 @@ export class ConsumerUserFormComponent extends AbstractFormDialog< form.removeControl('confirmPassword'); form.removeValidators([MustMatch('password', 'confirmPassword')]); } else { + // @ts-ignore form.addControl( 'username', this.fb.control('', { nonNullable: true, - validators: [Validators.required], + validators: fieldControl.username('')[1], }), ); + // @ts-ignore form.addControl( 'password', this.fb.control('', { @@ -74,6 +73,7 @@ export class ConsumerUserFormComponent extends AbstractFormDialog< validators: [Validators.required], }), ); + // @ts-ignore form.addControl( 'confirmPassword', this.fb.control('', { @@ -90,13 +90,14 @@ export class ConsumerUserFormComponent extends AbstractFormDialog< form = this.initForm(); override ngOnChanges() { - this.form.patchValue({ - ...(this.initialValues ?? {}), - license: { - ...(this.initialValues?.license_info ?? {}), - partner_id: this.initialValues?.license_info?.partner?.id || '', - }, - }); + // this.form.patchValue(this.initialValues ?? {}); + // this.form.patchValue({ + // ...(this.initialValues ?? {}), + // license: { + // ...(this.initialValues?.license_info ?? {}), + // partner_id: this.initialValues?.license_info?.partner?.id || '', + // }, + // }); if (this.editMode && !this.consumerId) { throw 'missing some arguments'; } @@ -104,7 +105,7 @@ export class ConsumerUserFormComponent extends AbstractFormDialog< this.form = this.initForm(); } - override submitForm(payload: IConsumerRequest) { + override submitForm(payload: IAdminConsumerRequest) { if (this.editMode) { return this.service.update(this.consumerId!, payload); } diff --git a/src/app/domains/superAdmin/modules/consumers/components/licenses/form.component.html b/src/app/domains/superAdmin/modules/consumers/components/licenses/form.component.html index 449bac2..0416858 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/licenses/form.component.html +++ b/src/app/domains/superAdmin/modules/consumers/components/licenses/form.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/superAdmin/modules/consumers/components/licenses/form.component.ts b/src/app/domains/superAdmin/modules/consumers/components/licenses/form.component.ts index 0e73ff3..c457ce8 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/licenses/form.component.ts +++ b/src/app/domains/superAdmin/modules/consumers/components/licenses/form.component.ts @@ -3,17 +3,17 @@ import { FormFooterActionsComponent } from '@/shared/components/formFooterAction import { UikitFlatpickrJalaliComponent } from '@/uikit'; import { Component, computed, inject, Input } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { PartnerSelectComponent } from '../../../partners/shared/select.component'; import { ILicenseRequest, ILicenseResponse } from '../../models'; import { LicensesService } from '../../services/licenses.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'superAdmin-consumer-license-form', templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, + SharedDialogComponent, FormFooterActionsComponent, UikitFlatpickrJalaliComponent, PartnerSelectComponent, diff --git a/src/app/domains/superAdmin/modules/consumers/components/poses/form.component.html b/src/app/domains/superAdmin/modules/consumers/components/poses/form.component.html index 2a8e022..1201ba8 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/poses/form.component.html +++ b/src/app/domains/superAdmin/modules/consumers/components/poses/form.component.html @@ -1,4 +1,4 @@ -
- - + + - + @if (form.controls.pos_type.value === "PSP") { - - + + } -
+ diff --git a/src/app/domains/superAdmin/modules/consumers/components/poses/form.component.ts b/src/app/domains/superAdmin/modules/consumers/components/poses/form.component.ts index de4ed4f..9ebc490 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/poses/form.component.ts +++ b/src/app/domains/superAdmin/modules/consumers/components/poses/form.component.ts @@ -1,27 +1,32 @@ // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { AbstractFormDialog } from '@/shared/abstractClasses'; -import { EnumSelectComponent } from '@/shared/apiEnum/select.component'; -import { CatalogProviderSelectComponent } from '@/shared/catalog'; -import { CatalogDeviceSelectComponent } from '@/shared/catalog/devices'; -import { InputComponent } from '@/shared/components'; +import { + NameComponent, + DeviceIdComponent, + ProviderIdComponent, + SerialNumberComponent, + PosTypeComponent, +} from '@/shared/components'; +import { fieldControl } from '@/shared/constants/fields'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IPosRequest, IPosResponse } from '../../models'; import { AdminPosesService } from '../../services/poses.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'superAdmin-consumer-pos-form', templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, - InputComponent, + SharedDialogComponent, + NameComponent, FormFooterActionsComponent, - CatalogDeviceSelectComponent, - CatalogProviderSelectComponent, - EnumSelectComponent, + DeviceIdComponent, + ProviderIdComponent, + PosTypeComponent, + SerialNumberComponent, ], }) export class ConsumerPosFormComponent extends AbstractFormDialog { @@ -34,27 +39,29 @@ export class ConsumerPosFormComponent extends AbstractFormDialog { const form = this.fb.group({ - name: [this.initialValues?.name || '', [Validators.required]], - serial_number: [this.initialValues?.serial_number || '', [Validators.required]], + name: fieldControl.name(this.initialValues?.name || ''), + serial_number: fieldControl.serial_number(this.initialValues?.serial_number || '', true), // model: [this.initialValues?.model || '', [Validators.required]], - pos_type: [this.initialValues?.pos_type || '', [Validators.required]], - device_id: [this.initialValues?.device?.id || ''], - provider_id: [this.initialValues?.provider?.id || ''], + pos_type: fieldControl.pos_type(this.initialValues?.pos_type || ''), + device_id: fieldControl.device_id(this.initialValues?.device?.id || ''), + provider_id: fieldControl.provider_id(this.initialValues?.provider?.id || ''), }); form.controls.pos_type.valueChanges.subscribe((value) => { if (value === 'PSP') { + // @ts-ignore form.addControl( 'device_id', this.fb.control(this.initialValues?.device?.id ?? '', { nonNullable: true, - validators: [Validators.required], + validators: fieldControl.device_id('', true)[1], }), ); + // @ts-ignore form.addControl( 'provider_id', this.fb.control(this.initialValues?.provider?.id ?? '', { nonNullable: true, - validators: [Validators.required], + validators: fieldControl.provider_id('', true)[1], }), ); } else { diff --git a/src/app/domains/superAdmin/modules/consumers/models/accounts_io.d.ts b/src/app/domains/superAdmin/modules/consumers/models/accounts_io.d.ts index f95fd73..fca6d27 100644 --- a/src/app/domains/superAdmin/modules/consumers/models/accounts_io.d.ts +++ b/src/app/domains/superAdmin/modules/consumers/models/accounts_io.d.ts @@ -1,13 +1,24 @@ import { TAccountType } from '@/core/constants/accountTypes.const'; export interface IConsumerAccountRawResponse { - username: string; id: string; + role: string; + created_at: string; + account: AccountInfo; } export interface IConsumerAccountResponse extends IConsumerAccountRawResponse {} export interface IConsumerAccountRequest { username: string; password?: string; - type: TAccountType; + // Backend accepts role on create and status on update. + role?: string; + status?: string; + // Keep type optional for current form compatibility. + type?: TAccountType; +} + +interface AccountInfo { + username: string; + status: string; } diff --git a/src/app/domains/superAdmin/modules/consumers/models/businessActivities_io.d.ts b/src/app/domains/superAdmin/modules/consumers/models/businessActivities_io.d.ts index a97a076..43fbd86 100644 --- a/src/app/domains/superAdmin/modules/consumers/models/businessActivities_io.d.ts +++ b/src/app/domains/superAdmin/modules/consumers/models/businessActivities_io.d.ts @@ -2,6 +2,9 @@ import ISummary from '@/core/models/summary'; export interface IBusinessActivityRawResponse { name: string; + economic_code: string; + fiscal_code: string; + partner_token: string; guild: ISummary; id: string; } @@ -9,5 +12,8 @@ export interface IBusinessActivityResponse extends IBusinessActivityRawResponse export interface IBusinessActivityRequest { name: string; + economic_code: string; + fiscal_code: string; + partner_token: string; guild_id: string; } diff --git a/src/app/domains/superAdmin/modules/consumers/models/io.d.ts b/src/app/domains/superAdmin/modules/consumers/models/io.d.ts index 68a2be2..ced95e6 100644 --- a/src/app/domains/superAdmin/modules/consumers/models/io.d.ts +++ b/src/app/domains/superAdmin/modules/consumers/models/io.d.ts @@ -1,28 +1,8 @@ -import ISummary from '@/core/models/summary'; +import { IConsumerRequest, IConsumerResponse } from '@/shared/models/consumer.type'; -export interface IConsumerRawResponse { - id: string; - first_name: string; - last_name: string; - mobile_number: string; - status: string; - created_at: string; - fullname: string; - license_info: ILicenseInfo; -} -export interface IConsumerResponse extends IConsumerRawResponse {} +export interface IAdminConsumerRawResponse extends IConsumerResponse {} +export interface IAdminConsumerResponse extends IAdminConsumerRawResponse {} -export interface IConsumerRequest { - first_name: string; - last_name: string; - mobile_number: string; - username: string; - password: string; -} - -interface ILicenseInfo { - id: string; - starts_at: string; - expires_at: string; - partner: ISummary; +export interface IAdminConsumerRequest extends IConsumerRequest { + partner_id: string; } diff --git a/src/app/domains/superAdmin/modules/consumers/services/main.service.ts b/src/app/domains/superAdmin/modules/consumers/services/main.service.ts index 8fe9cd6..572f30b 100644 --- a/src/app/domains/superAdmin/modules/consumers/services/main.service.ts +++ b/src/app/domains/superAdmin/modules/consumers/services/main.service.ts @@ -3,7 +3,11 @@ import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { CONSUMERS_API_ROUTES } from '../constants'; -import { IConsumerRawResponse, IConsumerRequest, IConsumerResponse } from '../models'; +import { + IAdminConsumerRawResponse, + IAdminConsumerRequest, + IAdminConsumerResponse, +} from '../models'; @Injectable({ providedIn: 'root' }) export class ConsumersService { @@ -11,18 +15,18 @@ export class ConsumersService { private apiRoutes = CONSUMERS_API_ROUTES; - getAll(): Observable> { - return this.http.get>(this.apiRoutes.list()); + getAll(): Observable> { + return this.http.get>(this.apiRoutes.list()); } - getSingle(consumerId: string): Observable { - return this.http.get(this.apiRoutes.single(consumerId)); + getSingle(consumerId: string): Observable { + return this.http.get(this.apiRoutes.single(consumerId)); } - create(userData: IConsumerRequest): Observable { - return this.http.post(this.apiRoutes.list(), userData); + create(userData: IAdminConsumerRequest): Observable { + return this.http.post(this.apiRoutes.list(), userData); } - update(consumerId: string, userData: IConsumerRequest): Observable { - return this.http.patch(this.apiRoutes.single(consumerId), userData); + update(consumerId: string, userData: IAdminConsumerRequest): Observable { + return this.http.patch(this.apiRoutes.single(consumerId), userData); } } diff --git a/src/app/domains/superAdmin/modules/consumers/store/consumer.store.ts b/src/app/domains/superAdmin/modules/consumers/store/consumer.store.ts index f65d9a7..cd89396 100644 --- a/src/app/domains/superAdmin/modules/consumers/store/consumer.store.ts +++ b/src/app/domains/superAdmin/modules/consumers/store/consumer.store.ts @@ -3,17 +3,17 @@ import { computed, inject, Injectable } from '@angular/core'; import { MenuItem } from 'primeng/api'; import { catchError, finalize } from 'rxjs'; import { superAdminConsumersNamedRoutes } from '../constants'; -import { IConsumerResponse } from '../models'; +import { IAdminConsumerResponse } from '../models'; import { ConsumersService } from '../services/main.service'; -interface ConsumerState extends EntityState { +interface ConsumerState extends EntityState { breadcrumbItems: MenuItem[]; } @Injectable({ providedIn: 'root', }) -export class ConsumerStore extends EntityStore { +export class ConsumerStore extends EntityStore { private readonly service = inject(ConsumersService); constructor() { super({ @@ -36,7 +36,7 @@ export class ConsumerStore extends EntityStore routerLink: superAdminConsumersNamedRoutes.consumers.meta.pagePath!(), }, { - title: this.entity()?.fullname, + title: this.entity()?.name, routerLink: superAdminConsumersNamedRoutes.consumer.meta.pagePath!(consumerId), }, ], diff --git a/src/app/domains/superAdmin/modules/consumers/views/list.component.html b/src/app/domains/superAdmin/modules/consumers/views/list.component.html index 222d407..56d43f6 100644 --- a/src/app/domains/superAdmin/modules/consumers/views/list.component.html +++ b/src/app/domains/superAdmin/modules/consumers/views/list.component.html @@ -1,14 +1,10 @@ { +export class ConsumersComponent extends AbstractList { private readonly service = inject(ConsumersService); private readonly router = inject(Router); override setColumns(): void { this.columns = [ { field: 'id', header: 'شناسه', type: 'id' }, - { field: 'fullname', header: 'نام' }, - { field: 'mobile_number', header: 'شماره موبایل' }, - { field: 'status', header: 'وضعیت' }, + { field: 'name', header: 'نام' }, + { field: 'business_counts', header: 'تعداد فعالیت‌های اقتصادی' }, { - field: 'license_expires_at', - header: 'تاریخ انقضای لایسنس', - customDataModel(item) { - if (item.license_info) { - return formatJalali(item.license_info.expires_at); - } - return 'بدون لایسنس'; - }, + field: 'partner', + header: 'ایجاد شده توسط', + type: 'nested', + nestedOption: { path: 'partner.name' }, }, + { field: 'status', header: 'وضعیت' }, + // { + // field: 'license_expires_at', + // header: 'تاریخ انقضای لایسنس', + // customDataModel(item) { + // if (item.license_info) { + // return formatJalali(item.license_info.expires_at); + // } + // return 'بدون لایسنس'; + // }, + // }, { field: 'created_at', header: 'تاریخ ایجاد', @@ -46,7 +51,7 @@ export class ConsumersComponent extends AbstractList { return this.service.getAll(); } - toSinglePage(consumer: IConsumerResponse) { + toSinglePage(consumer: IAdminConsumerResponse) { this.router.navigateByUrl(superAdminConsumersNamedRoutes.consumer.meta.pagePath!(consumer.id)); } } diff --git a/src/app/domains/superAdmin/modules/consumers/views/single.component.html b/src/app/domains/superAdmin/modules/consumers/views/single.component.html index 6f77378..e94e1a4 100644 --- a/src/app/domains/superAdmin/modules/consumers/views/single.component.html +++ b/src/app/domains/superAdmin/modules/consumers/views/single.component.html @@ -3,28 +3,9 @@
- - + + - @if (licenseStatus() === "EXPIRED") { - - - منقضی شده در - - - - } @else if (licenseStatus() === "ACTIVE") { - - - تا تاریخ - - - - } @else { - - ارایه نشده - - }
@@ -39,13 +20,4 @@ [initialValues]="consumer() || undefined" (onSubmit)="getData()" /> - -
diff --git a/src/app/domains/superAdmin/modules/consumers/views/single.component.ts b/src/app/domains/superAdmin/modules/consumers/views/single.component.ts index 2760d17..5be204a 100644 --- a/src/app/domains/superAdmin/modules/consumers/views/single.component.ts +++ b/src/app/domains/superAdmin/modules/consumers/views/single.component.ts @@ -1,14 +1,10 @@ import { BreadcrumbService } from '@/core/services'; import { AppCardComponent, KeyValueComponent } from '@/shared/components'; -import { JalaliDateDirective } from '@/shared/directives'; -import { getLicenseStatus } from '@/utils'; import { Component, computed, effect, inject, signal } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; -import { Button } from 'primeng/button'; import { ConsumerAccountListComponent } from '../components/accounts/list.component'; import { ConsumerBusinessActivitiesComponent } from '../components/businessActivities/list.component'; import { ConsumerUserFormComponent } from '../components/form.component'; -import { ConsumerLicenseFormComponent } from '../components/licenses/form.component'; import { ConsumerStore } from '../store/consumer.store'; @Component({ @@ -20,9 +16,6 @@ import { ConsumerStore } from '../store/consumer.store'; ConsumerUserFormComponent, ConsumerAccountListComponent, ConsumerBusinessActivitiesComponent, - Button, - JalaliDateDirective, - ConsumerLicenseFormComponent, ], }) export class ConsumerComponent { @@ -37,10 +30,6 @@ export class ConsumerComponent { readonly loading = computed(() => this.store.loading()); readonly consumer = computed(() => this.store.entity()); - readonly license = computed(() => this.store.entity()?.license_info); - readonly licenseStatus = computed(() => - getLicenseStatus(this.store.entity()?.license_info?.expires_at), - ); constructor() { effect(() => { diff --git a/src/app/domains/superAdmin/modules/deviceBrands/components/form.component.html b/src/app/domains/superAdmin/modules/deviceBrands/components/form.component.html index ad9ed30..fb5f139 100644 --- a/src/app/domains/superAdmin/modules/deviceBrands/components/form.component.html +++ b/src/app/domains/superAdmin/modules/deviceBrands/components/form.component.html @@ -1,4 +1,4 @@ - - +
diff --git a/src/app/domains/superAdmin/modules/deviceBrands/components/form.component.ts b/src/app/domains/superAdmin/modules/deviceBrands/components/form.component.ts index 0663180..9aff03d 100644 --- a/src/app/domains/superAdmin/modules/deviceBrands/components/form.component.ts +++ b/src/app/domains/superAdmin/modules/deviceBrands/components/form.component.ts @@ -3,14 +3,14 @@ import { InputComponent } from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, computed, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IDeviceBrandRequest, IDeviceBrandResponse } from '../models'; import { DeviceBrandsService } from '../services/main.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'deviceBrand-form', templateUrl: './form.component.html', - imports: [ReactiveFormsModule, Dialog, InputComponent, FormFooterActionsComponent], + imports: [ReactiveFormsModule, SharedDialogComponent, InputComponent, FormFooterActionsComponent], }) export class DeviceBrandFormComponent extends AbstractFormDialog< IDeviceBrandRequest, diff --git a/src/app/domains/superAdmin/modules/devices/components/form.component.html b/src/app/domains/superAdmin/modules/devices/components/form.component.html index 15586bd..6f31857 100644 --- a/src/app/domains/superAdmin/modules/devices/components/form.component.html +++ b/src/app/domains/superAdmin/modules/devices/components/form.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/superAdmin/modules/devices/components/form.component.ts b/src/app/domains/superAdmin/modules/devices/components/form.component.ts index 5fa4c80..548e8c3 100644 --- a/src/app/domains/superAdmin/modules/devices/components/form.component.ts +++ b/src/app/domains/superAdmin/modules/devices/components/form.component.ts @@ -5,16 +5,16 @@ import { InputComponent } from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IDeviceRequest, IDeviceResponse } from '../models'; import { SuperAdminDeviceService } from '../services/main.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'superAdmin-device-form', templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, + SharedDialogComponent, InputComponent, FormFooterActionsComponent, CatalogDeviceBrandSelectComponent, diff --git a/src/app/domains/superAdmin/modules/guilds/components/categories/form.component.html b/src/app/domains/superAdmin/modules/guilds/components/categories/form.component.html index 68dfbcb..217b091 100644 --- a/src/app/domains/superAdmin/modules/guilds/components/categories/form.component.html +++ b/src/app/domains/superAdmin/modules/guilds/components/categories/form.component.html @@ -1,7 +1,7 @@ - +
-
+ diff --git a/src/app/domains/superAdmin/modules/guilds/components/categories/form.component.ts b/src/app/domains/superAdmin/modules/guilds/components/categories/form.component.ts index e7d925f..3204425 100644 --- a/src/app/domains/superAdmin/modules/guilds/components/categories/form.component.ts +++ b/src/app/domains/superAdmin/modules/guilds/components/categories/form.component.ts @@ -3,15 +3,15 @@ import { InputComponent } from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IGoodCategoriesResponse, IGoodCategoryRequest } from '../../models'; import { GuildGoodCategoriesService } from '../../services/goodCategories.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'admin-guild-good-categories-form', templateUrl: './form.component.html', - imports: [ReactiveFormsModule, Dialog, InputComponent, FormFooterActionsComponent], + imports: [ReactiveFormsModule, SharedDialogComponent, InputComponent, FormFooterActionsComponent], }) export class GuildGoodCategoryFormComponent extends AbstractFormDialog< IGoodCategoryRequest, diff --git a/src/app/domains/superAdmin/modules/guilds/components/form.component.html b/src/app/domains/superAdmin/modules/guilds/components/form.component.html index b5743da..540c1fe 100644 --- a/src/app/domains/superAdmin/modules/guilds/components/form.component.html +++ b/src/app/domains/superAdmin/modules/guilds/components/form.component.html @@ -1,8 +1,8 @@ - +
-
+ diff --git a/src/app/domains/superAdmin/modules/guilds/components/form.component.ts b/src/app/domains/superAdmin/modules/guilds/components/form.component.ts index 708d875..109b391 100644 --- a/src/app/domains/superAdmin/modules/guilds/components/form.component.ts +++ b/src/app/domains/superAdmin/modules/guilds/components/form.component.ts @@ -3,9 +3,9 @@ import { InputComponent } from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IGuildRequest, IGuildResponse } from '../models'; import { GuildsService } from '../services/main.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; interface T { name: string; @@ -15,7 +15,7 @@ interface T { @Component({ selector: 'admin-guild-form', templateUrl: './form.component.html', - imports: [ReactiveFormsModule, Dialog, InputComponent, FormFooterActionsComponent], + imports: [ReactiveFormsModule, SharedDialogComponent, InputComponent, FormFooterActionsComponent], }) export class GuildFormComponent extends AbstractFormDialog { @Input() guildId?: string; diff --git a/src/app/domains/superAdmin/modules/guilds/components/goods/form.component.html b/src/app/domains/superAdmin/modules/guilds/components/goods/form.component.html index 5208e21..ffed12d 100644 --- a/src/app/domains/superAdmin/modules/guilds/components/goods/form.component.html +++ b/src/app/domains/superAdmin/modules/guilds/components/goods/form.component.html @@ -1,4 +1,10 @@ - +
@@ -9,10 +15,10 @@ [control]="form.controls.category_id" name="category_id" /> - - + + -
+ diff --git a/src/app/domains/superAdmin/modules/guilds/components/goods/form.component.ts b/src/app/domains/superAdmin/modules/guilds/components/goods/form.component.ts index 9f26c6c..f347130 100644 --- a/src/app/domains/superAdmin/modules/guilds/components/goods/form.component.ts +++ b/src/app/domains/superAdmin/modules/guilds/components/goods/form.component.ts @@ -3,7 +3,6 @@ import { InputComponent } from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input, signal } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { Maybe } from '@/core'; import { EnumSelectComponent } from '@/shared/apiEnum/select.component'; @@ -13,13 +12,14 @@ import { buildFormData } from '@/utils'; import { IGuildGoodRequest, IGuildGoodsResponse } from '../../models'; import { GuildGoodsService } from '../../services/goods.service'; import { GuildCategoriesSelectComponent } from '../categories/select.component'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'admin-guild-good-form', templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, + SharedDialogComponent, InputComponent, FormFooterActionsComponent, EnumSelectComponent, diff --git a/src/app/domains/superAdmin/modules/licenses/components/form.component.html b/src/app/domains/superAdmin/modules/licenses/components/form.component.html index c79416b..dd6f0d4 100644 --- a/src/app/domains/superAdmin/modules/licenses/components/form.component.html +++ b/src/app/domains/superAdmin/modules/licenses/components/form.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/superAdmin/modules/licenses/components/form.component.ts b/src/app/domains/superAdmin/modules/licenses/components/form.component.ts index 2afdae1..1e3f8a0 100644 --- a/src/app/domains/superAdmin/modules/licenses/components/form.component.ts +++ b/src/app/domains/superAdmin/modules/licenses/components/form.component.ts @@ -3,14 +3,14 @@ import { InputComponent } from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { ILicenseRequest, ILicenseResponse } from '../models'; import { LicensesService } from '../services/main.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'license-form', templateUrl: './form.component.html', - imports: [ReactiveFormsModule, Dialog, InputComponent, FormFooterActionsComponent], + imports: [ReactiveFormsModule, SharedDialogComponent, InputComponent, FormFooterActionsComponent], }) export class LicenseFormComponent extends AbstractFormDialog { private service = inject(LicensesService); diff --git a/src/app/domains/superAdmin/modules/partners/components/accounts/form.component.html b/src/app/domains/superAdmin/modules/partners/components/accounts/form.component.html index ba914bf..d550faa 100644 --- a/src/app/domains/superAdmin/modules/partners/components/accounts/form.component.html +++ b/src/app/domains/superAdmin/modules/partners/components/accounts/form.component.html @@ -1,4 +1,4 @@ -
- - + + -
+ diff --git a/src/app/domains/superAdmin/modules/partners/components/accounts/form.component.ts b/src/app/domains/superAdmin/modules/partners/components/accounts/form.component.ts index a2cc6d2..59506f7 100644 --- a/src/app/domains/superAdmin/modules/partners/components/accounts/form.component.ts +++ b/src/app/domains/superAdmin/modules/partners/components/accounts/form.component.ts @@ -2,21 +2,22 @@ import { MustMatch, password } from '@/core/validators'; // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { AbstractFormDialog } from '@/shared/abstractClasses'; import { EnumSelectComponent } from '@/shared/apiEnum/select.component'; -import { InputComponent, SharedPasswordInputComponent } from '@/shared/components'; +import { SharedPasswordInputComponent, UsernameComponent } from '@/shared/components'; +import { fieldControl } from '@/shared/constants/fields'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IPartnerAccountRequest, IPartnerAccountResponse } from '../../models'; import { AdminPartnerAccountsService } from '../../services/accounts.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'superAdmin-partner-account-form', templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, - InputComponent, + SharedDialogComponent, + UsernameComponent, FormFooterActionsComponent, SharedPasswordInputComponent, EnumSelectComponent, @@ -34,8 +35,8 @@ export class PartnerAccountFormComponent extends AbstractFormDialog< initForm = () => { return this.fb.group( { - username: [this.initialValues?.username || '', [Validators.required]], - type: ['', [Validators.required]], + username: fieldControl.username(this.initialValues?.account?.username || ''), + role: [this.initialValues?.role || '', [Validators.required]], password: ['', [Validators.required, password()]], confirmPassword: ['', [Validators.required]], }, diff --git a/src/app/domains/superAdmin/modules/partners/components/charge-license-form-dialog.component.html b/src/app/domains/superAdmin/modules/partners/components/charge-license-form-dialog.component.html index 2c43221..fdbca2a 100644 --- a/src/app/domains/superAdmin/modules/partners/components/charge-license-form-dialog.component.html +++ b/src/app/domains/superAdmin/modules/partners/components/charge-license-form-dialog.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/superAdmin/modules/partners/components/charge-license-form-dialog.component.ts b/src/app/domains/superAdmin/modules/partners/components/charge-license-form-dialog.component.ts index 1e6ba68..bd1ae64 100644 --- a/src/app/domains/superAdmin/modules/partners/components/charge-license-form-dialog.component.ts +++ b/src/app/domains/superAdmin/modules/partners/components/charge-license-form-dialog.component.ts @@ -5,15 +5,15 @@ import { UikitFlatpickrJalaliComponent } from '@/uikit'; import { nowJalali } from '@/utils'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IPartnerChargeLicenseTransactionRequest } from '../models/chargeLicenseTransactions_io'; import { AdminPartnerChargeLicenseTransactionsService } from '../services/chargeLicenseTransactions.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'partner-charge-license-form-dialog', templateUrl: './charge-license-form-dialog.component.html', imports: [ - Dialog, + SharedDialogComponent, ReactiveFormsModule, InputComponent, FormFooterActionsComponent, diff --git a/src/app/domains/superAdmin/modules/partners/components/chargeAccount/charge-account-form-dialog.component.html b/src/app/domains/superAdmin/modules/partners/components/chargeAccount/charge-account-form-dialog.component.html index b08ad5d..c9b8d66 100644 --- a/src/app/domains/superAdmin/modules/partners/components/chargeAccount/charge-account-form-dialog.component.html +++ b/src/app/domains/superAdmin/modules/partners/components/chargeAccount/charge-account-form-dialog.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/superAdmin/modules/partners/components/chargeAccount/charge-account-form-dialog.component.ts b/src/app/domains/superAdmin/modules/partners/components/chargeAccount/charge-account-form-dialog.component.ts index 975760b..88c0dd6 100644 --- a/src/app/domains/superAdmin/modules/partners/components/chargeAccount/charge-account-form-dialog.component.ts +++ b/src/app/domains/superAdmin/modules/partners/components/chargeAccount/charge-account-form-dialog.component.ts @@ -5,15 +5,15 @@ import { UikitFlatpickrJalaliComponent } from '@/uikit'; import { nowJalali } from '@/utils'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IAdminPartnerChargeAccountRequest } from '../../models/chargeAccount_io'; import { AdminPartnerChargeAccountService } from '../../services/chargeAccount.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'admin-partner-charge-account-form-dialog', templateUrl: './charge-account-form-dialog.component.html', imports: [ - Dialog, + SharedDialogComponent, ReactiveFormsModule, InputComponent, FormFooterActionsComponent, diff --git a/src/app/domains/superAdmin/modules/partners/components/form.component.html b/src/app/domains/superAdmin/modules/partners/components/form.component.html index 0c18700..8aeeb86 100644 --- a/src/app/domains/superAdmin/modules/partners/components/form.component.html +++ b/src/app/domains/superAdmin/modules/partners/components/form.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/superAdmin/modules/partners/components/form.component.ts b/src/app/domains/superAdmin/modules/partners/components/form.component.ts index e168cc7..f5809a9 100644 --- a/src/app/domains/superAdmin/modules/partners/components/form.component.ts +++ b/src/app/domains/superAdmin/modules/partners/components/form.component.ts @@ -4,17 +4,17 @@ import { InputComponent, SharedPasswordInputComponent } from '@/shared/component import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, computed, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { Divider } from 'primeng/divider'; import { IPartnerRequest, IPartnerResponse } from '../models'; import { PartnersService } from '../services/main.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'partner-form', templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, + SharedDialogComponent, InputComponent, FormFooterActionsComponent, Divider, diff --git a/src/app/domains/superAdmin/modules/partners/models/accounts_io.d.ts b/src/app/domains/superAdmin/modules/partners/models/accounts_io.d.ts index ecefbf1..1e80a4e 100644 --- a/src/app/domains/superAdmin/modules/partners/models/accounts_io.d.ts +++ b/src/app/domains/superAdmin/modules/partners/models/accounts_io.d.ts @@ -1,13 +1,23 @@ import { TAccountType } from '@/core/constants/accountTypes.const'; export interface IPartnerAccountRawResponse { - username: string; id: string; + role: string; + created_at: string; + account: AccountInfo; } export interface IPartnerAccountResponse extends IPartnerAccountRawResponse {} export interface IPartnerAccountRequest { username: string; password?: string; - type: TAccountType; + role?: string; + status?: string; + // Keep type optional for current form compatibility. + type?: TAccountType; +} + +interface AccountInfo { + username: string; + status: string; } diff --git a/src/app/domains/superAdmin/modules/partners/models/chargeAccount_io.d.ts b/src/app/domains/superAdmin/modules/partners/models/chargeAccount_io.d.ts index 521b72e..c16ec2f 100644 --- a/src/app/domains/superAdmin/modules/partners/models/chargeAccount_io.d.ts +++ b/src/app/domains/superAdmin/modules/partners/models/chargeAccount_io.d.ts @@ -4,7 +4,7 @@ export interface IAdminPartnerChargeAccountRawResponse { tracking_code: string; activation_expires_at: string; charged_license_count: number; - activated_license_count: number; + activation_count: number; remained_license_count: number; } diff --git a/src/app/domains/superAdmin/modules/partners/models/chargeLicenseTransactions_io.d.ts b/src/app/domains/superAdmin/modules/partners/models/chargeLicenseTransactions_io.d.ts index 5190373..3db82fa 100644 --- a/src/app/domains/superAdmin/modules/partners/models/chargeLicenseTransactions_io.d.ts +++ b/src/app/domains/superAdmin/modules/partners/models/chargeLicenseTransactions_io.d.ts @@ -4,7 +4,7 @@ export interface IPartnerChargeLicenseTransactionRawResponse { tracking_code: string; activation_expires_at: string; charged_license_count: number; - activated_license_count: number; + activation_count: number; remained_license_count: number; } export interface IPartnerChargeLicenseTransactionResponse extends IPartnerChargeLicenseTransactionRawResponse {} diff --git a/src/app/domains/superAdmin/modules/partners/services/chargeLicenseTransactions.service.ts b/src/app/domains/superAdmin/modules/partners/services/chargeLicenseTransactions.service.ts index e42de4c..8563b95 100644 --- a/src/app/domains/superAdmin/modules/partners/services/chargeLicenseTransactions.service.ts +++ b/src/app/domains/superAdmin/modules/partners/services/chargeLicenseTransactions.service.ts @@ -17,8 +17,8 @@ export class AdminPartnerChargeLicenseTransactionsService { getAll( partnerId: string, - ): Observable> { - return this.http.get>( + ): Observable> { + return this.http.get>( this.apiRoutes.list(partnerId), ); } @@ -26,8 +26,8 @@ export class AdminPartnerChargeLicenseTransactionsService { charge( partnerId: string, data: IPartnerChargeLicenseTransactionRequest, - ): Observable { - return this.http.post( + ): Observable { + return this.http.post( this.apiRoutes.list(partnerId), data, ); diff --git a/src/app/domains/superAdmin/modules/providers/components/form.component.html b/src/app/domains/superAdmin/modules/providers/components/form.component.html index 6963472..e31caa7 100644 --- a/src/app/domains/superAdmin/modules/providers/components/form.component.html +++ b/src/app/domains/superAdmin/modules/providers/components/form.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/superAdmin/modules/providers/components/form.component.ts b/src/app/domains/superAdmin/modules/providers/components/form.component.ts index ea99c1b..c7d4a89 100644 --- a/src/app/domains/superAdmin/modules/providers/components/form.component.ts +++ b/src/app/domains/superAdmin/modules/providers/components/form.component.ts @@ -4,17 +4,17 @@ import { InputComponent, SharedPasswordInputComponent } from '@/shared/component import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, computed, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { Divider } from 'primeng/divider'; import { IProviderRequest, IProviderResponse } from '../models'; import { ProvidersService } from '../services/main.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'provider-form', templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, + SharedDialogComponent, InputComponent, FormFooterActionsComponent, Divider, diff --git a/src/app/domains/superAdmin/modules/users/components/accounts/form.component.html b/src/app/domains/superAdmin/modules/users/components/accounts/form.component.html index ba914bf..92d16f8 100644 --- a/src/app/domains/superAdmin/modules/users/components/accounts/form.component.html +++ b/src/app/domains/superAdmin/modules/users/components/accounts/form.component.html @@ -1,4 +1,4 @@ -
- + -
+ diff --git a/src/app/domains/superAdmin/modules/users/components/accounts/form.component.ts b/src/app/domains/superAdmin/modules/users/components/accounts/form.component.ts index 6b2d1ac..c31d9ab 100644 --- a/src/app/domains/superAdmin/modules/users/components/accounts/form.component.ts +++ b/src/app/domains/superAdmin/modules/users/components/accounts/form.component.ts @@ -2,11 +2,12 @@ import { MustMatch, password } from '@/core/validators'; // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { AbstractFormDialog } from '@/shared/abstractClasses'; import { EnumSelectComponent } from '@/shared/apiEnum/select.component'; -import { InputComponent, SharedPasswordInputComponent } from '@/shared/components'; +import { SharedPasswordInputComponent, UsernameComponent } from '@/shared/components'; +import { fieldControl } from '@/shared/constants/fields'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IAccountRequest, IAccountResponse } from '../../models'; import { AdminUserAccountsService } from '../../services/accounts.service'; @@ -15,8 +16,8 @@ import { AdminUserAccountsService } from '../../services/accounts.service'; templateUrl: './form.component.html', imports: [ ReactiveFormsModule, - Dialog, - InputComponent, + SharedDialogComponent, + UsernameComponent, FormFooterActionsComponent, EnumSelectComponent, SharedPasswordInputComponent, @@ -35,9 +36,8 @@ export class UserAccountFormComponent extends AbstractFormDialog< if (this.editMode) { return this.fb.group( { - username: [this.initialValues?.username || '', [Validators.required]], - // @ts-ignore - type: [this.initialValues?.type, [Validators.required]], + username: fieldControl.username(this.initialValues?.username || ''), + type: [this.initialValues?.type || '', [Validators.required]], password: ['', [password()]], confirmPassword: [''], @@ -49,9 +49,9 @@ export class UserAccountFormComponent extends AbstractFormDialog< } return this.fb.group( { - username: [this.initialValues?.username || '', [Validators.required]], + username: fieldControl.username(this.initialValues?.username || ''), // @ts-ignore - type: [this.initialValues?.type, [Validators.required]], + type: [this.initialValues?.type || '', [Validators.required]], password: ['', [Validators.required, password()]], confirmPassword: ['', [Validators.required]], diff --git a/src/app/domains/superAdmin/modules/users/components/form.component.html b/src/app/domains/superAdmin/modules/users/components/form.component.html index 3c42c1e..e8d6ae1 100644 --- a/src/app/domains/superAdmin/modules/users/components/form.component.html +++ b/src/app/domains/superAdmin/modules/users/components/form.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/domains/superAdmin/modules/users/components/form.component.ts b/src/app/domains/superAdmin/modules/users/components/form.component.ts index 1a2ee26..4d2527e 100644 --- a/src/app/domains/superAdmin/modules/users/components/form.component.ts +++ b/src/app/domains/superAdmin/modules/users/components/form.component.ts @@ -5,14 +5,14 @@ import { InputComponent } from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { IUserRequest, IUserResponse } from '../models'; import { UsersService } from '../services/main.service'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'superAdmin-user-form', templateUrl: './form.component.html', - imports: [ReactiveFormsModule, Dialog, InputComponent, FormFooterActionsComponent], + imports: [ReactiveFormsModule, SharedDialogComponent, InputComponent, FormFooterActionsComponent], }) export class UserAccountFormComponent extends AbstractFormDialog { private readonly service = inject(UsersService); diff --git a/src/app/domains/superAdmin/modules/users/models/accounts_io.d.ts b/src/app/domains/superAdmin/modules/users/models/accounts_io.d.ts index 54bdb83..40c8e8a 100644 --- a/src/app/domains/superAdmin/modules/users/models/accounts_io.d.ts +++ b/src/app/domains/superAdmin/modules/users/models/accounts_io.d.ts @@ -1,13 +1,17 @@ import { TAccountType } from '@/core/constants/accountTypes.const'; export interface IAccountRawResponse { - username: string; id: string; + username?: string; + status?: string; + type?: string; + created_at?: string; } export interface IAccountResponse extends IAccountRawResponse {} export interface IAccountRequest { username: string; password?: string; - type: TAccountType; + type?: TAccountType; + status?: string; } diff --git a/src/app/pages/crud/crud.ts b/src/app/pages/crud/crud.ts index 0a14156..4195328 100644 --- a/src/app/pages/crud/crud.ts +++ b/src/app/pages/crud/crud.ts @@ -1,387 +1,488 @@ -import { Component, OnInit, signal, ViewChild } from '@angular/core'; -import { ConfirmationService, MessageService } from 'primeng/api'; -import { Table, TableModule } from 'primeng/table'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { CommonModule } from '@angular/common'; +import { Component, OnInit, signal, ViewChild } from '@angular/core'; import { FormsModule } from '@angular/forms'; +import { ConfirmationService, MessageService } from 'primeng/api'; import { ButtonModule } from 'primeng/button'; +import { ConfirmDialogModule } from 'primeng/confirmdialog'; +import { DialogModule } from 'primeng/dialog'; +import { IconFieldModule } from 'primeng/iconfield'; +import { InputIconModule } from 'primeng/inputicon'; +import { InputNumberModule } from 'primeng/inputnumber'; +import { InputTextModule } from 'primeng/inputtext'; +import { RadioButtonModule } from 'primeng/radiobutton'; +import { RatingModule } from 'primeng/rating'; import { RippleModule } from 'primeng/ripple'; +import { SelectModule } from 'primeng/select'; +import { Table, TableModule } from 'primeng/table'; +import { TagModule } from 'primeng/tag'; +import { TextareaModule } from 'primeng/textarea'; import { ToastModule } from 'primeng/toast'; import { ToolbarModule } from 'primeng/toolbar'; -import { RatingModule } from 'primeng/rating'; -import { InputTextModule } from 'primeng/inputtext'; -import { TextareaModule } from 'primeng/textarea'; -import { SelectModule } from 'primeng/select'; -import { RadioButtonModule } from 'primeng/radiobutton'; -import { InputNumberModule } from 'primeng/inputnumber'; -import { DialogModule } from 'primeng/dialog'; -import { TagModule } from 'primeng/tag'; -import { InputIconModule } from 'primeng/inputicon'; -import { IconFieldModule } from 'primeng/iconfield'; -import { ConfirmDialogModule } from 'primeng/confirmdialog'; import { Product, ProductService } from '../service/product.service'; interface Column { - field: string; - header: string; - customExportHeader?: string; + field: string; + header: string; + customExportHeader?: string; } interface ExportColumn { - title: string; - dataKey: string; + title: string; + dataKey: string; } @Component({ - selector: 'app-crud', - standalone: true, - imports: [ - CommonModule, - TableModule, - FormsModule, - ButtonModule, - RippleModule, - ToastModule, - ToolbarModule, - RatingModule, - InputTextModule, - TextareaModule, - SelectModule, - RadioButtonModule, - InputNumberModule, - DialogModule, - TagModule, - InputIconModule, - IconFieldModule, - ConfirmDialogModule - ], - template: ` - - - - - + selector: 'app-crud', + standalone: true, + imports: [ + CommonModule, + TableModule, + FormsModule, + ButtonModule, + RippleModule, + ToastModule, + ToolbarModule, + RatingModule, + InputTextModule, + TextareaModule, + SelectModule, + RadioButtonModule, + InputNumberModule, + DialogModule, + TagModule, + InputIconModule, + IconFieldModule, + ConfirmDialogModule, + SharedDialogComponent, + ], + template: ` + + + + + - - - - + + + + - - -
-
Manage Products
- - - - -
-
- - - - - - Code - - Name - - - Image - - Price - - - - Category - - - - Reviews - - - - Status - - - - - - - - - - - {{ product.code }} - {{ product.name }} - - - - {{ product.price | currency: 'USD' }} - {{ product.category }} - - - - - - - - - - - - -
+ + +
+
Manage Products
+ + + + +
+
+ + + + + + Code + + Name + + + Image + + Price + + + + Category + + + + Reviews + + + + Status + + + + + + + + + + + {{ product.code }} + {{ product.name }} + + + + {{ product.price | currency: 'USD' }} + {{ product.category }} + + + + + + + + + + + + +
- - -
- -
- - - Name is required. -
-
- - -
+ + +
+ +
+ + + Name is required. +
+
+ + +
-
- - -
+
+ + +
-
- Category -
-
- - -
-
- - -
-
- - -
-
- - -
-
-
+
+ Category +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
-
-
- - -
-
- - -
-
-
-
+
+
+ + +
+
+ + +
+
+
+
- - - - -
+ + + + + - - `, - providers: [MessageService, ProductService, ConfirmationService] + + `, + providers: [MessageService, ProductService, ConfirmationService], }) export class Crud implements OnInit { - productDialog: boolean = false; + productDialog: boolean = false; - products = signal([]); + products = signal([]); - product!: Product; + product!: Product; - selectedProducts!: Product[] | null; + selectedProducts!: Product[] | null; - submitted: boolean = false; + submitted: boolean = false; - statuses!: any[]; + statuses!: any[]; - @ViewChild('dt') dt!: Table; + @ViewChild('dt') dt!: Table; - exportColumns!: ExportColumn[]; + exportColumns!: ExportColumn[]; - cols!: Column[]; + cols!: Column[]; - constructor( - private productService: ProductService, - private messageService: MessageService, - private confirmationService: ConfirmationService - ) {} + constructor( + private productService: ProductService, + private messageService: MessageService, + private confirmationService: ConfirmationService, + ) {} - exportCSV() { - this.dt.exportCSV(); - } + exportCSV() { + this.dt.exportCSV(); + } - ngOnInit() { - this.loadDemoData(); - } + ngOnInit() { + this.loadDemoData(); + } - loadDemoData() { - this.productService.getProducts().then((data) => { - this.products.set(data); + loadDemoData() { + this.productService.getProducts().then((data) => { + this.products.set(data); + }); + + this.statuses = [ + { label: 'INSTOCK', value: 'instock' }, + { label: 'LOWSTOCK', value: 'lowstock' }, + { label: 'OUTOFSTOCK', value: 'outofstock' }, + ]; + + this.cols = [ + { field: 'code', header: 'Code', customExportHeader: 'Product Code' }, + { field: 'name', header: 'Name' }, + { field: 'image', header: 'Image' }, + { field: 'price', header: 'Price' }, + { field: 'category', header: 'Category' }, + ]; + + this.exportColumns = this.cols.map((col) => ({ title: col.header, dataKey: col.field })); + } + + onGlobalFilter(table: Table, event: Event) { + table.filterGlobal((event.target as HTMLInputElement).value, 'contains'); + } + + openNew() { + this.product = {}; + this.submitted = false; + this.productDialog = true; + } + + editProduct(product: Product) { + this.product = { ...product }; + this.productDialog = true; + } + + deleteSelectedProducts() { + this.confirmationService.confirm({ + message: 'Are you sure you want to delete the selected products?', + header: 'Confirm', + icon: 'pi pi-exclamation-triangle', + accept: () => { + this.products.set(this.products().filter((val) => !this.selectedProducts?.includes(val))); + this.selectedProducts = null; + this.messageService.add({ + severity: 'success', + summary: 'Successful', + detail: 'Products Deleted', + life: 3000, }); + }, + }); + } - this.statuses = [ - { label: 'INSTOCK', value: 'instock' }, - { label: 'LOWSTOCK', value: 'lowstock' }, - { label: 'OUTOFSTOCK', value: 'outofstock' } - ]; + hideDialog() { + this.productDialog = false; + this.submitted = false; + } - this.cols = [ - { field: 'code', header: 'Code', customExportHeader: 'Product Code' }, - { field: 'name', header: 'Name' }, - { field: 'image', header: 'Image' }, - { field: 'price', header: 'Price' }, - { field: 'category', header: 'Category' } - ]; - - this.exportColumns = this.cols.map((col) => ({ title: col.header, dataKey: col.field })); - } - - onGlobalFilter(table: Table, event: Event) { - table.filterGlobal((event.target as HTMLInputElement).value, 'contains'); - } - - openNew() { + deleteProduct(product: Product) { + this.confirmationService.confirm({ + message: 'Are you sure you want to delete ' + product.name + '?', + header: 'Confirm', + icon: 'pi pi-exclamation-triangle', + accept: () => { + this.products.set(this.products().filter((val) => val.id !== product.id)); this.product = {}; - this.submitted = false; - this.productDialog = true; - } - - editProduct(product: Product) { - this.product = { ...product }; - this.productDialog = true; - } - - deleteSelectedProducts() { - this.confirmationService.confirm({ - message: 'Are you sure you want to delete the selected products?', - header: 'Confirm', - icon: 'pi pi-exclamation-triangle', - accept: () => { - this.products.set(this.products().filter((val) => !this.selectedProducts?.includes(val))); - this.selectedProducts = null; - this.messageService.add({ - severity: 'success', - summary: 'Successful', - detail: 'Products Deleted', - life: 3000 - }); - } + this.messageService.add({ + severity: 'success', + summary: 'Successful', + detail: 'Product Deleted', + life: 3000, }); + }, + }); + } + + findIndexById(id: string): number { + let index = -1; + for (let i = 0; i < this.products().length; i++) { + if (this.products()[i].id === id) { + index = i; + break; + } } - hideDialog() { - this.productDialog = false; - this.submitted = false; - } + return index; + } - deleteProduct(product: Product) { - this.confirmationService.confirm({ - message: 'Are you sure you want to delete ' + product.name + '?', - header: 'Confirm', - icon: 'pi pi-exclamation-triangle', - accept: () => { - this.products.set(this.products().filter((val) => val.id !== product.id)); - this.product = {}; - this.messageService.add({ - severity: 'success', - summary: 'Successful', - detail: 'Product Deleted', - life: 3000 - }); - } + createId(): string { + let id = ''; + var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + for (var i = 0; i < 5; i++) { + id += chars.charAt(Math.floor(Math.random() * chars.length)); + } + return id; + } + + getSeverity(status: string) { + switch (status) { + case 'INSTOCK': + return 'success'; + case 'LOWSTOCK': + return 'warn'; + case 'OUTOFSTOCK': + return 'danger'; + default: + return 'info'; + } + } + + saveProduct() { + this.submitted = true; + let _products = this.products(); + if (this.product.name?.trim()) { + if (this.product.id) { + _products[this.findIndexById(this.product.id)] = this.product; + this.products.set([..._products]); + this.messageService.add({ + severity: 'success', + summary: 'Successful', + detail: 'Product Updated', + life: 3000, }); + } else { + this.product.id = this.createId(); + this.product.image = 'product-placeholder.svg'; + this.messageService.add({ + severity: 'success', + summary: 'Successful', + detail: 'Product Created', + life: 3000, + }); + this.products.set([..._products, this.product]); + } + + this.productDialog = false; + this.product = {}; } - - findIndexById(id: string): number { - let index = -1; - for (let i = 0; i < this.products().length; i++) { - if (this.products()[i].id === id) { - index = i; - break; - } - } - - return index; - } - - createId(): string { - let id = ''; - var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; - for (var i = 0; i < 5; i++) { - id += chars.charAt(Math.floor(Math.random() * chars.length)); - } - return id; - } - - getSeverity(status: string) { - switch (status) { - case 'INSTOCK': - return 'success'; - case 'LOWSTOCK': - return 'warn'; - case 'OUTOFSTOCK': - return 'danger'; - default: - return 'info'; - } - } - - saveProduct() { - this.submitted = true; - let _products = this.products(); - if (this.product.name?.trim()) { - if (this.product.id) { - _products[this.findIndexById(this.product.id)] = this.product; - this.products.set([..._products]); - this.messageService.add({ - severity: 'success', - summary: 'Successful', - detail: 'Product Updated', - life: 3000 - }); - } else { - this.product.id = this.createId(); - this.product.image = 'product-placeholder.svg'; - this.messageService.add({ - severity: 'success', - summary: 'Successful', - detail: 'Product Created', - life: 3000 - }); - this.products.set([..._products, this.product]); - } - - this.productDialog = false; - this.product = {}; - } - } + } } diff --git a/src/app/pages/uikit/overlaydemo.ts b/src/app/pages/uikit/overlaydemo.ts index 7156449..6f7f154 100644 --- a/src/app/pages/uikit/overlaydemo.ts +++ b/src/app/pages/uikit/overlaydemo.ts @@ -1,230 +1,334 @@ +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { Component, OnInit } from '@angular/core'; +import { FormsModule } from '@angular/forms'; import { ConfirmationService, MessageService } from 'primeng/api'; import { ButtonModule } from 'primeng/button'; -import { DialogModule } from 'primeng/dialog'; -import { ToastModule } from 'primeng/toast'; -import { DrawerModule } from 'primeng/drawer'; -import { Popover, PopoverModule } from 'primeng/popover'; import { ConfirmPopupModule } from 'primeng/confirmpopup'; +import { DialogModule } from 'primeng/dialog'; +import { DrawerModule } from 'primeng/drawer'; import { InputTextModule } from 'primeng/inputtext'; -import { FormsModule } from '@angular/forms'; -import { TooltipModule } from 'primeng/tooltip'; +import { Popover, PopoverModule } from 'primeng/popover'; import { TableModule } from 'primeng/table'; +import { ToastModule } from 'primeng/toast'; +import { TooltipModule } from 'primeng/tooltip'; import { Product, ProductService } from '../service/product.service'; @Component({ - selector: 'app-overlay-demo', - standalone: true, - imports: [ToastModule, DialogModule, ButtonModule, DrawerModule, PopoverModule, ConfirmPopupModule, InputTextModule, FormsModule, TooltipModule, TableModule, ToastModule], - template: `
-
-
-
Dialog
- -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -

- - - -
- -
+ selector: 'app-overlay-demo', + standalone: true, + imports: [ + ToastModule, + DialogModule, + ButtonModule, + DrawerModule, + PopoverModule, + ConfirmPopupModule, + InputTextModule, + FormsModule, + TooltipModule, + TableModule, + ToastModule, + SharedDialogComponent, + ], + template: `
+
+
+
SharedDialogComponent
+ +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud + exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure + dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt + mollit anim id est laborum. +

+ + + +
+ +
-
-
Popover
-
- - - - - - Name - Image - Price - - - - - {{ product.name }} - - {{ product.price }} - - - - - -
-
- -
-
Tooltip
-
- - -
-
+
+
Popover
+
+ + + + + + Name + Image + Price + + + + + {{ product.name }} + + + + {{ product.price }} + + + + +
-
-
-
Drawer
- -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. -

-
+
- -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. -

-
- - -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. -

-
- - -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. -

-
- - -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. -

-
- - - - - - -
- -
-
ConfirmPopup
- - -
- -
-
ConfirmDialog
- - -
- - Are you sure you want to proceed? -
- - - - -
-
+
+
Tooltip
+
+ +
-
`, - providers: [ConfirmationService, MessageService, ProductService] +
+
+
+
+
Drawer
+ +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud + exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. +

+
+ + +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud + exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. +

+
+ + +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud + exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. +

+
+ + +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud + exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. +

+
+ + +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud + exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. +

+
+ + + + + + +
+ +
+
ConfirmPopup
+ + +
+ +
+
ConfirmDialog
+ + +
+ + Are you sure you want to proceed? +
+ + + + +
+
+
+
`, + providers: [ConfirmationService, MessageService, ProductService], }) export class OverlayDemo implements OnInit { - images: any[] = []; + images: any[] = []; - display: boolean = false; + display: boolean = false; - products: Product[] = []; + products: Product[] = []; - visibleLeft: boolean = false; + visibleLeft: boolean = false; - visibleRight: boolean = false; + visibleRight: boolean = false; - visibleTop: boolean = false; + visibleTop: boolean = false; - visibleBottom: boolean = false; + visibleBottom: boolean = false; - visibleFull: boolean = false; + visibleFull: boolean = false; - displayConfirmation: boolean = false; + displayConfirmation: boolean = false; - selectedProduct!: Product; + selectedProduct!: Product; - constructor( - private productService: ProductService, - private confirmationService: ConfirmationService, - private messageService: MessageService - ) {} + constructor( + private productService: ProductService, + private confirmationService: ConfirmationService, + private messageService: MessageService, + ) {} - ngOnInit() { - this.productService.getProductsSmall().then((products) => (this.products = products)); + ngOnInit() { + this.productService.getProductsSmall().then((products) => (this.products = products)); - this.images = []; - this.images.push({ - source: 'assets/demo/images/sopranos/sopranos1.jpg', - thumbnail: 'assets/demo/images/sopranos/sopranos1_small.jpg', - title: 'Sopranos 1' + this.images = []; + this.images.push({ + source: 'assets/demo/images/sopranos/sopranos1.jpg', + thumbnail: 'assets/demo/images/sopranos/sopranos1_small.jpg', + title: 'Sopranos 1', + }); + this.images.push({ + source: 'assets/demo/images/sopranos/sopranos2.jpg', + thumbnail: 'assets/demo/images/sopranos/sopranos2_small.jpg', + title: 'Sopranos 2', + }); + this.images.push({ + source: 'assets/demo/images/sopranos/sopranos3.jpg', + thumbnail: 'assets/demo/images/sopranos/sopranos3_small.jpg', + title: 'Sopranos 3', + }); + this.images.push({ + source: 'assets/demo/images/sopranos/sopranos4.jpg', + thumbnail: 'assets/demo/images/sopranos/sopranos4_small.jpg', + title: 'Sopranos 4', + }); + } + + confirm(event: Event) { + this.confirmationService.confirm({ + key: 'confirm2', + target: event.target || new EventTarget(), + message: 'Are you sure that you want to proceed?', + icon: 'pi pi-exclamation-triangle', + accept: () => { + this.messageService.add({ + severity: 'info', + summary: 'Confirmed', + detail: 'You have accepted', }); - this.images.push({ - source: 'assets/demo/images/sopranos/sopranos2.jpg', - thumbnail: 'assets/demo/images/sopranos/sopranos2_small.jpg', - title: 'Sopranos 2' + }, + reject: () => { + this.messageService.add({ + severity: 'error', + summary: 'Rejected', + detail: 'You have rejected', }); - this.images.push({ - source: 'assets/demo/images/sopranos/sopranos3.jpg', - thumbnail: 'assets/demo/images/sopranos/sopranos3_small.jpg', - title: 'Sopranos 3' - }); - this.images.push({ - source: 'assets/demo/images/sopranos/sopranos4.jpg', - thumbnail: 'assets/demo/images/sopranos/sopranos4_small.jpg', - title: 'Sopranos 4' - }); - } + }, + }); + } - confirm(event: Event) { - this.confirmationService.confirm({ - key: 'confirm2', - target: event.target || new EventTarget(), - message: 'Are you sure that you want to proceed?', - icon: 'pi pi-exclamation-triangle', - accept: () => { - this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'You have accepted' }); - }, - reject: () => { - this.messageService.add({ severity: 'error', summary: 'Rejected', detail: 'You have rejected' }); - } - }); - } + open() { + this.display = true; + } - open() { - this.display = true; - } + close() { + this.display = false; + } - close() { - this.display = false; - } + toggleDataTable(op: Popover, event: any) { + op.toggle(event); + } - toggleDataTable(op: Popover, event: any) { - op.toggle(event); - } + onProductSelect(op: Popover, event: any) { + op.hide(); + this.messageService.add({ + severity: 'info', + summary: 'Product Selected', + detail: event?.data.name, + life: 3000, + }); + } - onProductSelect(op: Popover, event: any) { - op.hide(); - this.messageService.add({ severity: 'info', summary: 'Product Selected', detail: event?.data.name, life: 3000 }); - } + openConfirmation() { + this.displayConfirmation = true; + } - openConfirmation() { - this.displayConfirmation = true; - } - - closeConfirmation() { - this.displayConfirmation = false; - } + closeConfirmation() { + this.displayConfirmation = false; + } } diff --git a/src/app/shared/apiEnum/select.component.html b/src/app/shared/apiEnum/select.component.html index c2e543d..5c3c80b 100644 --- a/src/app/shared/apiEnum/select.component.html +++ b/src/app/shared/apiEnum/select.component.html @@ -7,6 +7,7 @@ [formControl]="control" [showClear]="showClear" [filter]="true" + [name]="name || type" appendTo="body" /> diff --git a/src/app/shared/apiEnum/select.component.ts b/src/app/shared/apiEnum/select.component.ts index bcb2a93..8cf1e70 100644 --- a/src/app/shared/apiEnum/select.component.ts +++ b/src/app/shared/apiEnum/select.component.ts @@ -15,6 +15,7 @@ import { EnumsService } from './services'; }) export class EnumSelectComponent extends AbstractSelectComponent { @Input({ required: true }) type!: TEnumApi; + @Input() name?: string; @Input() customLabel?: string; private readonly service = inject(EnumsService); diff --git a/src/app/shared/catalog/guild/components/select.component.html b/src/app/shared/catalog/guild/components/select.component.html index 31cf852..7acf987 100644 --- a/src/app/shared/catalog/guild/components/select.component.html +++ b/src/app/shared/catalog/guild/components/select.component.html @@ -8,6 +8,7 @@ [formControl]="control" [showClear]="showClear" [filter]="true" + [name]="name" appendTo="body" /> diff --git a/src/app/shared/catalog/guild/components/select.component.ts b/src/app/shared/catalog/guild/components/select.component.ts index b72d34f..83a28b5 100644 --- a/src/app/shared/catalog/guild/components/select.component.ts +++ b/src/app/shared/catalog/guild/components/select.component.ts @@ -17,6 +17,7 @@ export class CatalogGuildSelectComponent extends AbstractSelectComponent< IListingResponse > { @Input() override showClear: boolean = false; + @Input({ required: true }) name!: string; @Input() label: string = ''; private readonly service = inject(CatalogsService); diff --git a/src/app/shared/components/changePasswordFormDialog/change-password-form-dialog.component.html b/src/app/shared/components/changePasswordFormDialog/change-password-form-dialog.component.html index 02bfcb9..0e809b3 100644 --- a/src/app/shared/components/changePasswordFormDialog/change-password-form-dialog.component.html +++ b/src/app/shared/components/changePasswordFormDialog/change-password-form-dialog.component.html @@ -1,4 +1,4 @@ - - + diff --git a/src/app/shared/components/changePasswordFormDialog/change-password-form-dialog.component.ts b/src/app/shared/components/changePasswordFormDialog/change-password-form-dialog.component.ts index 431d090..5a2a7ac 100644 --- a/src/app/shared/components/changePasswordFormDialog/change-password-form-dialog.component.ts +++ b/src/app/shared/components/changePasswordFormDialog/change-password-form-dialog.component.ts @@ -3,8 +3,8 @@ import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, EventEmitter, Output, input } from '@angular/core'; import { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms'; -import { Dialog } from 'primeng/dialog'; import { SharedPasswordInputComponent } from '../passwordInput/password-input.component'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; export interface IChangePasswordSubmitPayload { password: string; @@ -14,7 +14,7 @@ export interface IChangePasswordSubmitPayload { @Component({ selector: 'shared-change-password-form-dialog', templateUrl: './change-password-form-dialog.component.html', - imports: [ReactiveFormsModule, Dialog, FormFooterActionsComponent, SharedPasswordInputComponent], + imports: [ReactiveFormsModule, SharedDialogComponent, FormFooterActionsComponent, SharedPasswordInputComponent], }) export class ChangePasswordFormDialogComponent extends AbstractDialog { title = input(''); @@ -35,7 +35,7 @@ export class ChangePasswordFormDialogComponent extends AbstractDialog { ); get dialogHeader() { - return this.title() ? `تغییر گذرواژه‌ی ${this.title()}` : 'تغییر گذرواژه'; + return this.title() ? `تغییر گذرواژه ${this.title()}` : 'تغییر گذرواژه'; } submit() { diff --git a/src/app/shared/components/dialog/dialog.component.ts b/src/app/shared/components/dialog/dialog.component.ts new file mode 100644 index 0000000..fb13734 --- /dev/null +++ b/src/app/shared/components/dialog/dialog.component.ts @@ -0,0 +1,34 @@ +import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { Dialog } from 'primeng/dialog'; + +@Component({ + selector: 'shared-dialog', + template: ` + + + + `, + imports: [Dialog], +}) +export class SharedDialogComponent { + @Input() header = ''; + @Input() visible = false; + @Output() visibleChange = new EventEmitter(); + + @Input() modal = true; + @Input() closable = true; + @Input() draggable = false; + @Input() style: Record | undefined; + @Input() breakpoints: Record | undefined; + + @Output() onHide = new EventEmitter(); +} diff --git a/src/app/shared/components/fields/address.component.ts b/src/app/shared/components/fields/address.component.ts new file mode 100644 index 0000000..1a139c1 --- /dev/null +++ b/src/app/shared/components/fields/address.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-address', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class AddressComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'address'; +} diff --git a/src/app/shared/components/fields/branch_code.component.ts b/src/app/shared/components/fields/branch_code.component.ts new file mode 100644 index 0000000..b66a2b5 --- /dev/null +++ b/src/app/shared/components/fields/branch_code.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-branch-code', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class BranchCodeComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'branch_code'; +} diff --git a/src/app/shared/components/fields/cash.component.ts b/src/app/shared/components/fields/cash.component.ts new file mode 100644 index 0000000..eb64b4b --- /dev/null +++ b/src/app/shared/components/fields/cash.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-cash', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class CashComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'cash'; +} diff --git a/src/app/shared/components/fields/code.component.ts b/src/app/shared/components/fields/code.component.ts new file mode 100644 index 0000000..8807b70 --- /dev/null +++ b/src/app/shared/components/fields/code.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-code', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class CodeComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'code'; +} diff --git a/src/app/shared/components/fields/company_name.component.ts b/src/app/shared/components/fields/company_name.component.ts new file mode 100644 index 0000000..23a377d --- /dev/null +++ b/src/app/shared/components/fields/company_name.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-company-name', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class CompanyNameComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'company_name'; +} diff --git a/src/app/shared/components/fields/description.component.ts b/src/app/shared/components/fields/description.component.ts new file mode 100644 index 0000000..a214b30 --- /dev/null +++ b/src/app/shared/components/fields/description.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-description', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class DescriptionComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'description'; +} diff --git a/src/app/shared/components/fields/device_id.component.ts b/src/app/shared/components/fields/device_id.component.ts new file mode 100644 index 0000000..ff4fafa --- /dev/null +++ b/src/app/shared/components/fields/device_id.component.ts @@ -0,0 +1,13 @@ +import { CatalogDeviceSelectComponent } from '@/shared/catalog/devices'; +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; + +@Component({ + selector: 'field-device-id', + template: ``, + imports: [ReactiveFormsModule, CatalogDeviceSelectComponent], +}) +export class DeviceIdComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'device_id'; +} diff --git a/src/app/shared/components/fields/economic_code.component.ts b/src/app/shared/components/fields/economic_code.component.ts new file mode 100644 index 0000000..8c9cd7f --- /dev/null +++ b/src/app/shared/components/fields/economic_code.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-economic-code', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class EconomicCodeComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'economic_code'; +} diff --git a/src/app/shared/components/fields/email.component.ts b/src/app/shared/components/fields/email.component.ts new file mode 100644 index 0000000..0a576f8 --- /dev/null +++ b/src/app/shared/components/fields/email.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-email', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class EmailComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'email'; +} diff --git a/src/app/shared/components/fields/first_name.component.ts b/src/app/shared/components/fields/first_name.component.ts new file mode 100644 index 0000000..8682ae2 --- /dev/null +++ b/src/app/shared/components/fields/first_name.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-first-name', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class FirstNameComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'first_name'; +} diff --git a/src/app/shared/components/fields/fiscal_code.component.ts b/src/app/shared/components/fields/fiscal_code.component.ts new file mode 100644 index 0000000..2bc842d --- /dev/null +++ b/src/app/shared/components/fields/fiscal_code.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-fiscal-code', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class FiscalCodeComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'fiscal_code'; +} diff --git a/src/app/shared/components/fields/guild_id.component.ts b/src/app/shared/components/fields/guild_id.component.ts new file mode 100644 index 0000000..d5b1d29 --- /dev/null +++ b/src/app/shared/components/fields/guild_id.component.ts @@ -0,0 +1,13 @@ +import { CatalogGuildSelectComponent } from '@/shared/catalog/guild/components/select.component'; +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; + +@Component({ + selector: 'field-guild-id', + template: ``, + imports: [ReactiveFormsModule, CatalogGuildSelectComponent], +}) +export class GuildIdComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'guild_id'; +} diff --git a/src/app/shared/components/fields/index.ts b/src/app/shared/components/fields/index.ts new file mode 100644 index 0000000..78efc85 --- /dev/null +++ b/src/app/shared/components/fields/index.ts @@ -0,0 +1,34 @@ +export * from './address.component'; +export * from './branch_code.component'; +export * from './cash.component'; +export * from './code.component'; +export * from './company_name.component'; +export * from './description.component'; +export * from './device_id.component'; +export * from './economic_code.component'; +export * from './email.component'; +export * from './first_name.component'; +export * from './fiscal_code.component'; +export * from './guild_id.component'; +export * from './last_name.component'; +export * from './legal_name.component'; +export * from './license_starts_at.component'; +export * from './mobile.component'; +export * from './mobile_number.component'; +export * from './model.component'; +export * from './name.component'; +export * from './national_code.component'; +export * from './national_id.component'; +export * from './partner_token.component'; +export * from './pos_type.component'; +export * from './postal_code.component'; +export * from './provider_id.component'; +export * from './quantity.component'; +export * from './registration_code.component'; +export * from './registration_number.component'; +export * from './serial_number.component'; +export * from './set_off.component'; +export * from './sku.component'; +export * from './terminal.component'; +export * from './unit_price.component'; +export * from './username.component'; diff --git a/src/app/shared/components/fields/last_name.component.ts b/src/app/shared/components/fields/last_name.component.ts new file mode 100644 index 0000000..8164d13 --- /dev/null +++ b/src/app/shared/components/fields/last_name.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-last-name', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class LastNameComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'last_name'; +} diff --git a/src/app/shared/components/fields/legal_name.component.ts b/src/app/shared/components/fields/legal_name.component.ts new file mode 100644 index 0000000..9fba078 --- /dev/null +++ b/src/app/shared/components/fields/legal_name.component.ts @@ -0,0 +1,14 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-legal-name', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class LegalNameComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'name'; + @Input() label = 'نام شرکت'; +} diff --git a/src/app/shared/components/fields/license_starts_at.component.ts b/src/app/shared/components/fields/license_starts_at.component.ts new file mode 100644 index 0000000..6152936 --- /dev/null +++ b/src/app/shared/components/fields/license_starts_at.component.ts @@ -0,0 +1,18 @@ +import { UikitFlatpickrJalaliComponent } from '@/uikit'; +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; + +@Component({ + selector: 'field-license-starts-at', + template: ``, + imports: [ReactiveFormsModule, UikitFlatpickrJalaliComponent], +}) +export class LicenseStartsAtComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'license_starts_at'; +} diff --git a/src/app/shared/components/fields/mobile.component.ts b/src/app/shared/components/fields/mobile.component.ts new file mode 100644 index 0000000..c512927 --- /dev/null +++ b/src/app/shared/components/fields/mobile.component.ts @@ -0,0 +1,18 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-mobile', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class MobileComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'mobile'; +} diff --git a/src/app/shared/components/fields/mobile_number.component.ts b/src/app/shared/components/fields/mobile_number.component.ts new file mode 100644 index 0000000..c0156e3 --- /dev/null +++ b/src/app/shared/components/fields/mobile_number.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-mobile-number', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class MobileNumberComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'mobile_number'; +} diff --git a/src/app/shared/components/fields/model.component.ts b/src/app/shared/components/fields/model.component.ts new file mode 100644 index 0000000..c5e5088 --- /dev/null +++ b/src/app/shared/components/fields/model.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-model', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class ModelComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'model'; +} diff --git a/src/app/shared/components/fields/name.component.ts b/src/app/shared/components/fields/name.component.ts new file mode 100644 index 0000000..14d859a --- /dev/null +++ b/src/app/shared/components/fields/name.component.ts @@ -0,0 +1,14 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-name', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class NameComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'name'; + @Input() label = 'عنوان'; +} diff --git a/src/app/shared/components/fields/national_code.component.ts b/src/app/shared/components/fields/national_code.component.ts new file mode 100644 index 0000000..4859527 --- /dev/null +++ b/src/app/shared/components/fields/national_code.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-national-code', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class NationalCodeComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'national_code'; +} diff --git a/src/app/shared/components/fields/national_id.component.ts b/src/app/shared/components/fields/national_id.component.ts new file mode 100644 index 0000000..bea1674 --- /dev/null +++ b/src/app/shared/components/fields/national_id.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-national-id', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class NationalIdComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'national_id'; +} diff --git a/src/app/shared/components/fields/partner_token.component.ts b/src/app/shared/components/fields/partner_token.component.ts new file mode 100644 index 0000000..e79e24c --- /dev/null +++ b/src/app/shared/components/fields/partner_token.component.ts @@ -0,0 +1,18 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-partner-token', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class PartnerTokenComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'partner_token'; +} diff --git a/src/app/shared/components/fields/pos_type.component.ts b/src/app/shared/components/fields/pos_type.component.ts new file mode 100644 index 0000000..6e08517 --- /dev/null +++ b/src/app/shared/components/fields/pos_type.component.ts @@ -0,0 +1,13 @@ +import { EnumSelectComponent } from '@/shared/apiEnum/select.component'; +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; + +@Component({ + selector: 'field-pos-type', + template: ``, + imports: [ReactiveFormsModule, EnumSelectComponent], +}) +export class PosTypeComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'pos_type'; +} diff --git a/src/app/shared/components/fields/postal_code.component.ts b/src/app/shared/components/fields/postal_code.component.ts new file mode 100644 index 0000000..894df9d --- /dev/null +++ b/src/app/shared/components/fields/postal_code.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-postal-code', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class PostalCodeComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'postal_code'; +} diff --git a/src/app/shared/components/fields/provider_id.component.ts b/src/app/shared/components/fields/provider_id.component.ts new file mode 100644 index 0000000..372d359 --- /dev/null +++ b/src/app/shared/components/fields/provider_id.component.ts @@ -0,0 +1,13 @@ +import { CatalogProviderSelectComponent } from '@/shared/catalog'; +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; + +@Component({ + selector: 'field-provider-id', + template: ``, + imports: [ReactiveFormsModule, CatalogProviderSelectComponent], +}) +export class ProviderIdComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'provider_id'; +} diff --git a/src/app/shared/components/fields/quantity.component.ts b/src/app/shared/components/fields/quantity.component.ts new file mode 100644 index 0000000..9e739cb --- /dev/null +++ b/src/app/shared/components/fields/quantity.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-quantity', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class QuantityComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'quantity'; +} diff --git a/src/app/shared/components/fields/registration_code.component.ts b/src/app/shared/components/fields/registration_code.component.ts new file mode 100644 index 0000000..ba5a968 --- /dev/null +++ b/src/app/shared/components/fields/registration_code.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-registration-code', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class RegistrationCodeComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'registration_code'; +} diff --git a/src/app/shared/components/fields/registration_number.component.ts b/src/app/shared/components/fields/registration_number.component.ts new file mode 100644 index 0000000..24be7d0 --- /dev/null +++ b/src/app/shared/components/fields/registration_number.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-registration-number', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class RegistrationNumberComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'registration_number'; +} diff --git a/src/app/shared/components/fields/serial_number.component.ts b/src/app/shared/components/fields/serial_number.component.ts new file mode 100644 index 0000000..7d17a46 --- /dev/null +++ b/src/app/shared/components/fields/serial_number.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-serial-number', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class SerialNumberComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'serial_number'; +} diff --git a/src/app/shared/components/fields/set_off.component.ts b/src/app/shared/components/fields/set_off.component.ts new file mode 100644 index 0000000..e5d28a0 --- /dev/null +++ b/src/app/shared/components/fields/set_off.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-set-off', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class SetOffComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'set_off'; +} diff --git a/src/app/shared/components/fields/sku.component.ts b/src/app/shared/components/fields/sku.component.ts new file mode 100644 index 0000000..fc60faa --- /dev/null +++ b/src/app/shared/components/fields/sku.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-sku', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class SkuComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'sku'; +} diff --git a/src/app/shared/components/fields/terminal.component.ts b/src/app/shared/components/fields/terminal.component.ts new file mode 100644 index 0000000..0549ec2 --- /dev/null +++ b/src/app/shared/components/fields/terminal.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-terminal', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class TerminalComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'terminal'; +} diff --git a/src/app/shared/components/fields/unit_price.component.ts b/src/app/shared/components/fields/unit_price.component.ts new file mode 100644 index 0000000..48c9ab5 --- /dev/null +++ b/src/app/shared/components/fields/unit_price.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-unit-price', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class UnitPriceComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'unit_price'; +} diff --git a/src/app/shared/components/fields/username.component.ts b/src/app/shared/components/fields/username.component.ts new file mode 100644 index 0000000..8430ed4 --- /dev/null +++ b/src/app/shared/components/fields/username.component.ts @@ -0,0 +1,14 @@ +import { Component, Input } from '@angular/core'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; +import { InputComponent } from '../input/input.component'; + +@Component({ + selector: 'field-username', + template: ``, + imports: [ReactiveFormsModule, InputComponent], +}) +export class UsernameComponent { + @Input({ required: true }) control = new FormControl(''); + @Input() name = 'username'; + @Input() label = 'نام کاربری'; +} diff --git a/src/app/shared/components/index.ts b/src/app/shared/components/index.ts index 74de5f4..3812deb 100644 --- a/src/app/shared/components/index.ts +++ b/src/app/shared/components/index.ts @@ -2,6 +2,8 @@ export * from './breadcrumb.component'; export * from './card-data.component'; export * from './changePasswordFormDialog/change-password-form-dialog.component'; +export * from './dialog/dialog.component'; +export * from './fields'; export * from './inlineConfirmation/inline-confirmation.component'; export * from './inlineEdit/inline-edit.component'; export * from './input/input.component'; diff --git a/src/app/shared/components/passwordInput/password-input.component.html b/src/app/shared/components/passwordInput/password-input.component.html index 0fe40a0..f409da6 100644 --- a/src/app/shared/components/passwordInput/password-input.component.html +++ b/src/app/shared/components/passwordInput/password-input.component.html @@ -2,7 +2,7 @@ [Validators.required] as ValidatorFn[]; +type ControlConfig = [string, ValidatorFn[]]; + +export const fieldControl = { + name: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + code: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + description: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []], + company_name: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + first_name: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + firstName: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + last_name: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + lastName: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + legal_name: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + registration_code: (value = '', isRequired = true): ControlConfig => [ + value, + isRequired ? required() : [], + ], + registration_number: (value = '', isRequired = true): ControlConfig => [ + value, + isRequired ? required() : [], + ], + mobile_number: (value = '', isRequired = true): ControlConfig => [ + value, + isRequired ? [Validators.required, mobileValidator()] : [mobileValidator()], + ], + mobile: (value = '', isRequired = true): ControlConfig => [ + value, + isRequired ? [Validators.required, mobileValidator()] : [mobileValidator()], + ], + email: (value = '', isRequired = false): ControlConfig => [ + value, + isRequired ? [Validators.required, Validators.email] : [Validators.email], + ], + national_code: (value = '', isRequired = true): ControlConfig => [ + value, + isRequired ? [Validators.required, nationalIdValidator()] : [nationalIdValidator()], + ], + national_id: (value = '', isRequired = true): ControlConfig => [ + value, + isRequired ? [Validators.required, nationalIdValidator()] : [nationalIdValidator()], + ], + postal_code: (value = '', isRequired = true): ControlConfig => [ + value, + isRequired ? [Validators.required, postalCodeValidator()] : [postalCodeValidator()], + ], + username: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + economic_code: (value = '', isRequired = true): ControlConfig => [ + value, + isRequired ? required() : [], + ], + fiscal_code: (value = '', isRequired = true): ControlConfig => [ + value, + isRequired ? [Validators.required, fiscalCodeValidator()] : [fiscalCodeValidator()], + ], + partner_token: (value = '', isRequired = true): ControlConfig => [ + value, + isRequired ? required() : [], + ], + guild_id: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + license_starts_at: (value = '', isRequired = true): ControlConfig => [ + value, + isRequired ? required() : [], + ], + branch_code: (value = '', isRequired = false): ControlConfig => [ + value, + isRequired ? required() : [], + ], + address: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + pos_type: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + type: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + role: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + unit_type: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + pricing_model: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + gender: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []], + legal: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []], + individual: (value = '', isRequired = false): ControlConfig => [ + value, + isRequired ? required() : [], + ], + partner_id: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + brand_id: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + category_id: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + starts_at: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + expires_at: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + activated_expires_at: (value = '', isRequired = true): ControlConfig => [ + value, + isRequired ? required() : [], + ], + invoiceDate: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + quantity: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + unit_price: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + cash: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []], + set_off: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []], + setOff: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []], + terminal: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []], + sku: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + model: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []], + serial_number: (value = '', isRequired = false): ControlConfig => [ + value, + isRequired ? required() : [], + ], + device_id: (value = '', isRequired = false): ControlConfig => [ + value, + isRequired ? required() : [], + ], + provider_id: (value = '', isRequired = false): ControlConfig => [ + value, + isRequired ? required() : [], + ], +}; diff --git a/src/app/shared/constants/index.ts b/src/app/shared/constants/index.ts new file mode 100644 index 0000000..cbc6c8c --- /dev/null +++ b/src/app/shared/constants/index.ts @@ -0,0 +1 @@ +export * from './fields'; diff --git a/src/app/shared/models/consumer.type.ts b/src/app/shared/models/consumer.type.ts new file mode 100644 index 0000000..d1bf45d --- /dev/null +++ b/src/app/shared/models/consumer.type.ts @@ -0,0 +1,40 @@ +import { Maybe } from '@/core'; + +export interface IConsumerRawResponse { + id: string; + status: string; + created_at: string; + name: string; + type: 'INDIVIDUAL' | 'LEGAL'; + partner: { + id: string; + name: string; + code: string; + }; + individual?: Maybe; + legal?: Maybe; +} +export interface IConsumerResponse extends IConsumerRawResponse {} + +export interface IConsumerRequest { + type?: 'INDIVIDUAL' | 'LEGAL'; + username?: string; + password?: string; + status?: string; + customer?: { + individual?: IConsumerIndividual; + legal?: IConsumerLegal; + }; +} + +interface IConsumerIndividual { + first_name: string; + last_name: string; + mobile_number: string; + national_code?: string; +} + +interface IConsumerLegal { + name: string; + registration_code?: string; +} diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 9bad5de..f801336 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -6,4 +6,5 @@ export const environment = { port: 5000, enableLogging: false, enableDebug: false, + enableNativeBridge: false, }; diff --git a/src/environments/environment.staging.ts b/src/environments/environment.staging.ts index 5cc17e6..21d8a7b 100644 --- a/src/environments/environment.staging.ts +++ b/src/environments/environment.staging.ts @@ -4,6 +4,7 @@ export const environment = { apiBaseUrl: 'https://staging-api.yourdomain.com', host: 'staging.yourdomain.com', port: 443, + enableNativeBridge: false, apiEndpoints: { auth: '/api/auth', users: '/api/users', diff --git a/src/environments/environment.tis.ts b/src/environments/environment.tis.ts new file mode 100644 index 0000000..ffb4abc --- /dev/null +++ b/src/environments/environment.tis.ts @@ -0,0 +1,10 @@ +// TIS tenant environment configuration +export const environment = { + production: true, + apiBaseUrl: 'http://194.59.214.243:5002', + host: 'localhost', + port: 5000, + enableLogging: false, + enableDebug: false, + enableNativeBridge: true, +}; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 122bf58..3f7ba4d 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -8,4 +8,5 @@ export const environment = { port: 5000, enableLogging: true, enableDebug: true, + enableNativeBridge: false, }; diff --git a/src/index.html b/src/index.html index 17efe0d..aed0bf8 100644 --- a/src/index.html +++ b/src/index.html @@ -5,6 +5,7 @@ پنل مدیریت صورت‌حساب‌های مالیاتی + diff --git a/src/main.ts b/src/main.ts index d1aee1e..3cccf51 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,7 @@ import { bootstrapApplication } from '@angular/platform-browser'; import flatpickr from 'flatpickr-wrap'; import faLocales from 'flatpickr-wrap/dist/l10n/fa.js'; +import { brandingConfig } from './app/branding/branding.config'; import { AppComponent } from './app.component'; import { appConfig } from './app.config'; @@ -19,4 +20,16 @@ if (flatpickr.defaultConfig) { }); } +document.title = brandingConfig.appTitle; + +const manifestLink = document.querySelector('link[rel="manifest"]'); +if (manifestLink) { + manifestLink.setAttribute('href', brandingConfig.manifestPath); +} + +const themeMeta = document.querySelector('meta[name="theme-color"]'); +if (themeMeta) { + themeMeta.setAttribute('content', brandingConfig.themeColor); +} + bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)); diff --git a/src/tenants/default/app.routes.ts b/src/tenants/default/app.routes.ts new file mode 100644 index 0000000..4965e3d --- /dev/null +++ b/src/tenants/default/app.routes.ts @@ -0,0 +1,35 @@ +import { CONSUMER_ROUTES } from '@/domains/consumer/routes'; +import { PARTNER_ROUTES } from '@/domains/partner/routes'; +import { POS_ROUTES } from '@/domains/pos/routes'; +import { PROVIDER_ROUTES } from '@/domains/provider/routes'; +import { SUPER_ADMIN_ROUTES } from '@/domains/superAdmin/routes'; +import { AppLayout } from '@/layout/default/app.layout.component'; +import { AuthComponent } from '@/modules/auth/pages/auth.component'; +import { Dashboard } from '@/pages/dashboard/dashboard'; +import { Documentation } from '@/pages/documentation/documentation'; +import { Notfound } from '@/pages/notfound/notfound.component'; +import { Routes } from '@angular/router'; + +export const appRoutes: Routes = [ + { + path: '', + component: AppLayout, + children: [ + SUPER_ADMIN_ROUTES, + CONSUMER_ROUTES, + PROVIDER_ROUTES, + PARTNER_ROUTES, + { path: 'ng', component: Dashboard }, + { path: 'uikit', loadChildren: () => import('@/pages/uikit/uikit.routes') }, + { path: 'documentation', component: Documentation }, + { path: 'pages', loadChildren: () => import('@/pages/pages.routes') }, + ], + }, + POS_ROUTES, + { + path: 'auth', + component: AuthComponent, + }, + { path: 'notfound', component: Notfound }, + { path: '**', redirectTo: '/notfound' }, +]; diff --git a/src/tenants/default/branding.config.ts b/src/tenants/default/branding.config.ts new file mode 100644 index 0000000..a1223a1 --- /dev/null +++ b/src/tenants/default/branding.config.ts @@ -0,0 +1,11 @@ +export interface BrandingConfig { + appTitle: string; + manifestPath: string; + themeColor: string; +} + +export const brandingConfig: BrandingConfig = { + appTitle: 'پنل مدیریت صورت‌حساب‌های مالیاتی', + manifestPath: '/favicon/site.webmanifest', + themeColor: '#ffffff', +}; diff --git a/src/tenants/tis/app.routes.ts b/src/tenants/tis/app.routes.ts new file mode 100644 index 0000000..abb2745 --- /dev/null +++ b/src/tenants/tis/app.routes.ts @@ -0,0 +1,15 @@ +import { POS_ROUTES } from '@/domains/pos/routes'; +import { AuthComponent } from '@/modules/auth/pages/auth.component'; +import { Notfound } from '@/pages/notfound/notfound.component'; +import { Routes } from '@angular/router'; + +export const appRoutes: Routes = [ + { path: '', redirectTo: 'pos', pathMatch: 'full' }, + POS_ROUTES, + { + path: 'auth', + component: AuthComponent, + }, + { path: 'notfound', component: Notfound }, + { path: '**', redirectTo: '/notfound' }, +]; diff --git a/src/tenants/tis/branding.config.ts b/src/tenants/tis/branding.config.ts new file mode 100644 index 0000000..a6dfd0f --- /dev/null +++ b/src/tenants/tis/branding.config.ts @@ -0,0 +1,7 @@ +import { BrandingConfig } from '../default/branding.config'; + +export const brandingConfig: BrandingConfig = { + appTitle: 'PSP A - مدیریت صورت‌حساب‌های مالیاتی', + manifestPath: '/favicon/site.webmanifest', + themeColor: '#ffffff', +};