mirror of
https://dev.azure.com/hugendubel/ISA/_git/ISA-Frontend
synced 2025-12-28 22:42:11 +01:00
feat(crm): add customer bon redemption feature - New library @isa/crm/feature/customer-bon-redemption - Implement bon validation and redemption flow - Add SignalStore for state management - Add resource pattern for reactive data loading - Add facade for business logic abstraction - Add Zod schemas for runtime validation - Integrate with loyalty card API endpoints - Add accessibility and E2E test attributes - Remove mock provider (use real facade) - Exclude generated swagger files from linting Components: - BonInputFieldComponent - input with validation - BonDetailsDisplayComponent - shows validated bon - BonRedemptionButtonComponent - redemption action Data Access: - CustomerBonRedemptionFacade - business logic - CustomerBonCheckResource - reactive validation - BonRedemptionStore - component state - CrmSearchService - API integration (checkBon, addBon) Issue: 5314 Related work items: #5314
177 lines
8.2 KiB
JSON
177 lines
8.2 KiB
JSON
{
|
|
"compileOnSave": false,
|
|
"compilerOptions": {
|
|
"sourceMap": true,
|
|
"declaration": false,
|
|
"moduleResolution": "node",
|
|
"emitDecoratorMetadata": true,
|
|
"experimentalDecorators": true,
|
|
"importHelpers": false,
|
|
"target": "ES2022",
|
|
"module": "es2020",
|
|
"lib": ["es2020", "dom"],
|
|
"baseUrl": "./",
|
|
"paths": {
|
|
"@adapter/*": ["apps/isa-app/src/adapter/*/index.ts"],
|
|
"@cdn/*": ["apps/isa-app/src/cdn/*/index.ts"],
|
|
"@core/*": ["apps/isa-app/src/core/*/index.ts"],
|
|
"@core/config": ["libs/core/config/src/index.ts"],
|
|
"@domain/*": ["apps/isa-app/src/domain/*/index.ts"],
|
|
"@external/*": ["apps/isa-app/src/external/*/index.ts"],
|
|
"@generated/swagger/availability-api": [
|
|
"generated/swagger/availability-api/src/index.ts"
|
|
],
|
|
"@generated/swagger/cat-search-api": [
|
|
"generated/swagger/cat-search-api/src/index.ts"
|
|
],
|
|
"@generated/swagger/checkout-api": [
|
|
"generated/swagger/checkout-api/src/index.ts"
|
|
],
|
|
"@generated/swagger/crm-api": ["generated/swagger/crm-api/src/index.ts"],
|
|
"@generated/swagger/eis-api": ["generated/swagger/eis-api/src/index.ts"],
|
|
"@generated/swagger/inventory-api": [
|
|
"generated/swagger/inventory-api/src/index.ts"
|
|
],
|
|
"@generated/swagger/isa-api": ["generated/swagger/isa-api/src/index.ts"],
|
|
"@generated/swagger/oms-api": ["generated/swagger/oms-api/src/index.ts"],
|
|
"@generated/swagger/print-api": [
|
|
"generated/swagger/print-api/src/index.ts"
|
|
],
|
|
"@generated/swagger/wws-api": ["generated/swagger/wws-api/src/index.ts"],
|
|
"@hub/*": ["apps/isa-app/src/hub/*/index.ts"],
|
|
"@isa/availability/data-access": [
|
|
"libs/availability/data-access/src/index.ts"
|
|
],
|
|
"@isa/catalogue/data-access": ["libs/catalogue/data-access/src/index.ts"],
|
|
"@isa/checkout/data-access": ["libs/checkout/data-access/src/index.ts"],
|
|
"@isa/checkout/feature/reward-catalog": [
|
|
"libs/checkout/feature/reward-catalog/src/index.ts"
|
|
],
|
|
"@isa/checkout/feature/reward-order-confirmation": [
|
|
"libs/checkout/feature/reward-order-confirmation/src/index.ts"
|
|
],
|
|
"@isa/checkout/feature/reward-shopping-cart": [
|
|
"libs/checkout/feature/reward-shopping-cart/src/index.ts"
|
|
],
|
|
"@isa/checkout/shared/product-info": [
|
|
"libs/checkout/shared/product-info/src/index.ts"
|
|
],
|
|
"@isa/checkout/shared/reward-selection-dialog": [
|
|
"libs/checkout/shared/reward-selection-dialog/src/index.ts"
|
|
],
|
|
"@isa/common/data-access": ["libs/common/data-access/src/index.ts"],
|
|
"@isa/common/decorators": ["libs/common/decorators/src/index.ts"],
|
|
"@isa/common/print": ["libs/common/print/src/index.ts"],
|
|
"@isa/core/auth": ["libs/core/auth/src/index.ts"],
|
|
"@isa/core/config": ["libs/core/config/src/index.ts"],
|
|
"@isa/core/logging": ["libs/core/logging/src/index.ts"],
|
|
"@isa/core/navigation": ["libs/core/navigation/src/index.ts"],
|
|
"@isa/core/storage": ["libs/core/storage/src/index.ts"],
|
|
"@isa/core/tabs": ["libs/core/tabs/src/index.ts"],
|
|
"@isa/crm/data-access": ["libs/crm/data-access/src/index.ts"],
|
|
"@isa/crm/feature/customer-bon-redemption": [
|
|
"libs/crm/feature/customer-bon-redemption/src/index.ts"
|
|
],
|
|
"@isa/crm/feature/customer-booking": [
|
|
"libs/crm/feature/customer-booking/src/index.ts"
|
|
],
|
|
"@isa/crm/feature/customer-card-transactions": [
|
|
"libs/crm/feature/customer-card-transactions/src/index.ts"
|
|
],
|
|
"@isa/crm/feature/customer-loyalty-cards": [
|
|
"libs/crm/feature/customer-loyalty-cards/src/index.ts"
|
|
],
|
|
"@isa/icons": ["libs/icons/src/index.ts"],
|
|
"@isa/oms/data-access": ["libs/oms/data-access/src/index.ts"],
|
|
"@isa/oms/feature/return-details": [
|
|
"libs/oms/feature/return-details/src/index.ts"
|
|
],
|
|
"@isa/oms/feature/return-process": [
|
|
"libs/oms/feature/return-process/src/index.ts"
|
|
],
|
|
"@isa/oms/feature/return-review": [
|
|
"libs/oms/feature/return-review/src/index.ts"
|
|
],
|
|
"@isa/oms/feature/return-search": [
|
|
"libs/oms/feature/return-search/src/index.ts"
|
|
],
|
|
"@isa/oms/feature/return-summary": [
|
|
"libs/oms/feature/return-summary/src/index.ts"
|
|
],
|
|
"@isa/oms/shared/product-info": [
|
|
"libs/oms/shared/product-info/src/index.ts"
|
|
],
|
|
"@isa/oms/shared/task-list": ["libs/oms/shared/task-list/src/index.ts"],
|
|
"@isa/oms/utils/translation": ["libs/oms/utils/translation/src/index.ts"],
|
|
"@isa/remission/data-access": ["libs/remission/data-access/src/index.ts"],
|
|
"@isa/remission/feature/remission-list": [
|
|
"libs/remission/feature/remission-list/src/index.ts"
|
|
],
|
|
"@isa/remission/feature/remission-return-receipt-details": [
|
|
"libs/remission/feature/remission-return-receipt-details/src/index.ts"
|
|
],
|
|
"@isa/remission/feature/remission-return-receipt-list": [
|
|
"libs/remission/feature/remission-return-receipt-list/src/index.ts"
|
|
],
|
|
"@isa/remission/shared/product": [
|
|
"libs/remission/shared/product/src/index.ts"
|
|
],
|
|
"@isa/remission/shared/remission-start-dialog": [
|
|
"libs/remission/shared/remission-start-dialog/src/index.ts"
|
|
],
|
|
"@isa/remission/shared/return-receipt-actions": [
|
|
"libs/remission/shared/return-receipt-actions/src/index.ts"
|
|
],
|
|
"@isa/remission/shared/search-item-to-remit-dialog": [
|
|
"libs/remission/shared/search-item-to-remit-dialog/src/index.ts"
|
|
],
|
|
"@isa/shared/address": ["libs/shared/address/src/index.ts"],
|
|
"@isa/shared/delivery": ["libs/shared/delivery/src/index.ts"],
|
|
"@isa/shared/filter": ["libs/shared/filter/src/index.ts"],
|
|
"@isa/shared/product-format": ["libs/shared/product-format/src/index.ts"],
|
|
"@isa/shared/product-image": ["libs/shared/product-image/src/index.ts"],
|
|
"@isa/shared/product-router-link": [
|
|
"libs/shared/product-router-link/src/index.ts"
|
|
],
|
|
"@isa/shared/quantity-control": [
|
|
"libs/shared/quantity-control/src/index.ts"
|
|
],
|
|
"@isa/shared/scanner": ["libs/shared/scanner/src/index.ts"],
|
|
"@isa/ui/bullet-list": ["libs/ui/bullet-list/src/index.ts"],
|
|
"@isa/ui/buttons": ["libs/ui/buttons/src/index.ts"],
|
|
"@isa/ui/carousel": ["libs/ui/carousel/src/index.ts"],
|
|
"@isa/ui/datepicker": ["libs/ui/datepicker/src/index.ts"],
|
|
"@isa/ui/dialog": ["libs/ui/dialog/src/index.ts"],
|
|
"@isa/ui/empty-state": ["libs/ui/empty-state/src/index.ts"],
|
|
"@isa/ui/expandable": ["libs/ui/expandable/src/index.ts"],
|
|
"@isa/ui/input-controls": ["libs/ui/input-controls/src/index.ts"],
|
|
"@isa/ui/item-rows": ["libs/ui/item-rows/src/index.ts"],
|
|
"@isa/ui/label": ["libs/ui/label/src/index.ts"],
|
|
"@isa/ui/layout": ["libs/ui/layout/src/index.ts"],
|
|
"@isa/ui/menu": ["libs/ui/menu/src/index.ts"],
|
|
"@isa/ui/progress-bar": ["libs/ui/progress-bar/src/index.ts"],
|
|
"@isa/ui/search-bar": ["libs/ui/search-bar/src/index.ts"],
|
|
"@isa/ui/skeleton-loader": ["libs/ui/skeleton-loader/src/index.ts"],
|
|
"@isa/ui/switch": ["libs/ui/switch/src/index.ts"],
|
|
"@isa/ui/toolbar": ["libs/ui/toolbar/src/index.ts"],
|
|
"@isa/ui/tooltip": ["libs/ui/tooltip/src/index.ts"],
|
|
"@isa/utils/ean-validation": ["libs/utils/ean-validation/src/index.ts"],
|
|
"@isa/utils/format-name": ["libs/utils/format-name/src/index.ts"],
|
|
"@isa/utils/scroll-position": ["libs/utils/scroll-position/src/index.ts"],
|
|
"@isa/utils/z-safe-parse": ["libs/utils/z-safe-parse/src/index.ts"],
|
|
"@modal/*": ["apps/isa-app/src/modal/*/index.ts"],
|
|
"@page/*": ["apps/isa-app/src/page/*/index.ts"],
|
|
"@shared/*": ["apps/isa-app/src/shared/*/index.ts"],
|
|
"@shared/components/*": ["apps/isa-app/src/shared/components/*/index.ts"],
|
|
"@shared/directives/*": ["apps/isa-app/src/shared/directives/*/index.ts"],
|
|
"@shared/pipes/*": ["apps/isa-app/src/shared/pipes/*/index.ts"],
|
|
"@shared/services/*": ["apps/isa-app/src/shared/services/*/index.ts"],
|
|
"@swagger/*": ["apps/isa-app/src/swagger/*/index.ts"],
|
|
"@ui/*": ["apps/isa-app/src/ui/*/index.ts"],
|
|
"@utils/*": ["apps/isa-app/src/utils/*/index.ts"],
|
|
"packageJson": ["package.json"]
|
|
},
|
|
"skipLibCheck": true
|
|
}
|
|
}
|