@open-mercato/core 0.6.8-develop.7100.1.fbf66fca35 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/dist/helpers/integration/api.js +1 -13
- package/dist/helpers/integration/api.js.map +2 -2
- package/dist/helpers/integration/communicationChannelsFixtures.js +0 -19
- package/dist/helpers/integration/communicationChannelsFixtures.js.map +2 -2
- package/dist/modules/api_keys/api/keys/route.js +1 -1
- package/dist/modules/api_keys/api/keys/route.js.map +2 -2
- package/dist/modules/api_keys/backend/api-keys/page.js +1 -3
- package/dist/modules/api_keys/backend/api-keys/page.js.map +2 -2
- package/dist/modules/attachments/api/route.js +2 -2
- package/dist/modules/attachments/api/route.js.map +2 -2
- package/dist/modules/attachments/components/AttachmentLibrary.js +0 -2
- package/dist/modules/attachments/components/AttachmentLibrary.js.map +2 -2
- package/dist/modules/attachments/di.js +1 -11
- package/dist/modules/attachments/di.js.map +2 -2
- package/dist/modules/attachments/index.js.map +1 -1
- package/dist/modules/attachments/lib/scoped-upload-service.js +2 -15
- package/dist/modules/attachments/lib/scoped-upload-service.js.map +2 -2
- package/dist/modules/attachments/lib/upload-limits.js +2 -6
- package/dist/modules/attachments/lib/upload-limits.js.map +2 -2
- package/dist/modules/audit_logs/backend/audit-logs/page.js +0 -6
- package/dist/modules/audit_logs/backend/audit-logs/page.js.map +2 -2
- package/dist/modules/audit_logs/lib/display-helpers.js +11 -19
- package/dist/modules/audit_logs/lib/display-helpers.js.map +2 -2
- package/dist/modules/audit_logs/services/actionLogService.js +12 -57
- package/dist/modules/audit_logs/services/actionLogService.js.map +3 -3
- package/dist/modules/auth/acl.js +5 -30
- package/dist/modules/auth/acl.js.map +2 -2
- package/dist/modules/auth/api/feature-check.js +2 -8
- package/dist/modules/auth/api/feature-check.js.map +2 -2
- package/dist/modules/auth/api/login.js +20 -4
- package/dist/modules/auth/api/login.js.map +2 -2
- package/dist/modules/auth/api/roles/acl/route.js +33 -28
- package/dist/modules/auth/api/roles/acl/route.js.map +2 -2
- package/dist/modules/auth/api/routeError.js +11 -0
- package/dist/modules/auth/api/routeError.js.map +7 -0
- package/dist/modules/auth/api/session/refresh.js +1 -25
- package/dist/modules/auth/api/session/refresh.js.map +2 -2
- package/dist/modules/auth/api/users/acl/route.js +73 -102
- package/dist/modules/auth/api/users/acl/route.js.map +2 -2
- package/dist/modules/auth/api/users/route.js +5 -13
- package/dist/modules/auth/api/users/route.js.map +2 -2
- package/dist/modules/auth/backend/roles/[id]/edit/page.meta.js +1 -5
- package/dist/modules/auth/backend/roles/[id]/edit/page.meta.js.map +2 -2
- package/dist/modules/auth/backend/roles/page.js +1 -3
- package/dist/modules/auth/backend/roles/page.js.map +2 -2
- package/dist/modules/auth/backend/users/[id]/edit/page.meta.js +1 -5
- package/dist/modules/auth/backend/users/[id]/edit/page.meta.js.map +2 -2
- package/dist/modules/auth/backend/users/page.js +1 -2
- package/dist/modules/auth/backend/users/page.js.map +2 -2
- package/dist/modules/auth/components/AclEditor.js +30 -39
- package/dist/modules/auth/components/AclEditor.js.map +2 -2
- package/dist/modules/auth/data/entities.js.map +2 -2
- package/dist/modules/auth/data/validators.js +1 -5
- package/dist/modules/auth/data/validators.js.map +2 -2
- package/dist/modules/auth/di.js +9 -35
- package/dist/modules/auth/di.js.map +2 -2
- package/dist/modules/auth/frontend/reset/[token]/page.js +0 -46
- package/dist/modules/auth/frontend/reset/[token]/page.js.map +2 -2
- package/dist/modules/auth/lib/grantChecks.js.map +2 -2
- package/dist/modules/auth/services/authService.js +2 -16
- package/dist/modules/auth/services/authService.js.map +2 -2
- package/dist/modules/auth/services/rbacService.js +24 -67
- package/dist/modules/auth/services/rbacService.js.map +3 -3
- package/dist/modules/business_rules/backend/logs/page.js +1 -3
- package/dist/modules/business_rules/backend/logs/page.js.map +2 -2
- package/dist/modules/business_rules/backend/rules/[id]/page.meta.js +6 -1
- package/dist/modules/business_rules/backend/rules/[id]/page.meta.js.map +2 -2
- package/dist/modules/business_rules/backend/rules/create/page.meta.js +5 -1
- package/dist/modules/business_rules/backend/rules/create/page.meta.js.map +2 -2
- package/dist/modules/business_rules/backend/rules/page.js +1 -3
- package/dist/modules/business_rules/backend/rules/page.js.map +2 -2
- package/dist/modules/business_rules/backend/sets/[id]/page.meta.js +6 -1
- package/dist/modules/business_rules/backend/sets/[id]/page.meta.js.map +2 -2
- package/dist/modules/business_rules/backend/sets/create/page.meta.js +5 -1
- package/dist/modules/business_rules/backend/sets/create/page.meta.js.map +2 -2
- package/dist/modules/business_rules/backend/sets/page.js +1 -3
- package/dist/modules/business_rules/backend/sets/page.js.map +2 -2
- package/dist/modules/business_rules/lib/expression-evaluator.js +9 -9
- package/dist/modules/business_rules/lib/expression-evaluator.js.map +2 -2
- package/dist/modules/business_rules/lib/rule-evaluator.js +9 -10
- package/dist/modules/business_rules/lib/rule-evaluator.js.map +2 -2
- package/dist/modules/catalog/ai-agents.js +1 -1
- package/dist/modules/catalog/ai-agents.js.map +1 -1
- package/dist/modules/catalog/ai-tools/merchandising-pack.js +2 -2
- package/dist/modules/catalog/ai-tools/merchandising-pack.js.map +2 -2
- package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js +2 -5
- package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js.map +2 -2
- package/dist/modules/catalog/components/categories/CategoriesDataTable.js +0 -2
- package/dist/modules/catalog/components/categories/CategoriesDataTable.js.map +2 -2
- package/dist/modules/catalog/components/products/ProductsDataTable.js +1 -7
- package/dist/modules/catalog/components/products/ProductsDataTable.js.map +2 -2
- package/dist/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.js +0 -2
- package/dist/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.js.map +2 -2
- package/dist/modules/communication_channels/api/post/channels/[id]/test-send/route.js +1 -9
- package/dist/modules/communication_channels/api/post/channels/[id]/test-send/route.js.map +2 -2
- package/dist/modules/communication_channels/api/post/test-seed/route.js +10 -95
- package/dist/modules/communication_channels/api/post/test-seed/route.js.map +2 -2
- package/dist/modules/communication_channels/backend/communication_channels/channels/page.js +0 -3
- package/dist/modules/communication_channels/backend/communication_channels/channels/page.js.map +2 -2
- package/dist/modules/communication_channels/commands/ingest-inbound-message.js +1 -14
- package/dist/modules/communication_channels/commands/ingest-inbound-message.js.map +2 -2
- package/dist/modules/communication_channels/di.js +1 -7
- package/dist/modules/communication_channels/di.js.map +2 -2
- package/dist/modules/communication_channels/lib/email-capabilities.js +1 -4
- package/dist/modules/communication_channels/lib/email-capabilities.js.map +2 -2
- package/dist/modules/communication_channels/lib/test-seed.js +2 -41
- package/dist/modules/communication_channels/lib/test-seed.js.map +2 -2
- package/dist/modules/configs/lib/system-status.js +0 -9
- package/dist/modules/configs/lib/system-status.js.map +2 -2
- package/dist/modules/currencies/backend/currencies/page.js +1 -3
- package/dist/modules/currencies/backend/currencies/page.js.map +2 -2
- package/dist/modules/currencies/backend/exchange-rates/page.js +1 -3
- package/dist/modules/currencies/backend/exchange-rates/page.js.map +2 -2
- package/dist/modules/customer_accounts/api/admin/domain-mappings.js +0 -9
- package/dist/modules/customer_accounts/api/admin/domain-mappings.js.map +2 -2
- package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js +1 -3
- package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js.map +2 -2
- package/dist/modules/customer_accounts/backend/customer_accounts/settings/CustomerAccountsSettingsPageClient.js +84 -0
- package/dist/modules/customer_accounts/backend/customer_accounts/settings/CustomerAccountsSettingsPageClient.js.map +7 -0
- package/dist/modules/customer_accounts/backend/customer_accounts/settings/page.js +7 -81
- package/dist/modules/customer_accounts/backend/customer_accounts/settings/page.js.map +2 -2
- package/dist/modules/customer_accounts/backend/customer_accounts/users/PortalUsersPageClient.js +523 -0
- package/dist/modules/customer_accounts/backend/customer_accounts/users/PortalUsersPageClient.js.map +7 -0
- package/dist/modules/customer_accounts/backend/customer_accounts/users/[id]/PortalUserDetailPageClient.js +731 -0
- package/dist/modules/customer_accounts/backend/customer_accounts/users/[id]/PortalUserDetailPageClient.js.map +7 -0
- package/dist/modules/customer_accounts/backend/customer_accounts/users/[id]/page.js +7 -727
- package/dist/modules/customer_accounts/backend/customer_accounts/users/[id]/page.js.map +2 -2
- package/dist/modules/customer_accounts/backend/customer_accounts/users/page.js +7 -521
- package/dist/modules/customer_accounts/backend/customer_accounts/users/page.js.map +2 -2
- package/dist/modules/customer_accounts/extension-points.js +1 -1
- package/dist/modules/customer_accounts/extension-points.js.map +2 -2
- package/dist/modules/customer_accounts/lib/portalUrl.js +69 -0
- package/dist/modules/customer_accounts/lib/portalUrl.js.map +7 -0
- package/dist/modules/customer_accounts/services/domainMappingService.js +0 -10
- package/dist/modules/customer_accounts/services/domainMappingService.js.map +2 -2
- package/dist/modules/customers/ai-tools/companies-pack.js +1 -4
- package/dist/modules/customers/ai-tools/companies-pack.js.map +2 -2
- package/dist/modules/customers/ai-tools/deal-analyzer-pack.js +2 -13
- package/dist/modules/customers/ai-tools/deal-analyzer-pack.js.map +2 -2
- package/dist/modules/customers/ai-tools/deals-pack.js +6 -52
- package/dist/modules/customers/ai-tools/deals-pack.js.map +2 -2
- package/dist/modules/customers/ai-tools/people-pack.js +1 -4
- package/dist/modules/customers/ai-tools/people-pack.js.map +2 -2
- package/dist/modules/customers/api/activities/route.js +6 -48
- package/dist/modules/customers/api/activities/route.js.map +2 -2
- package/dist/modules/customers/api/companies/[id]/people/route.js +64 -20
- package/dist/modules/customers/api/companies/[id]/people/route.js.map +2 -2
- package/dist/modules/customers/api/companies/[id]/route.js +94 -17
- package/dist/modules/customers/api/companies/[id]/route.js.map +2 -2
- package/dist/modules/customers/api/dashboard/widgets/customer-todos/route.js +5 -8
- package/dist/modules/customers/api/dashboard/widgets/customer-todos/route.js.map +2 -2
- package/dist/modules/customers/api/deals/[id]/companies/route.js +1 -1
- package/dist/modules/customers/api/deals/[id]/companies/route.js.map +2 -2
- package/dist/modules/customers/api/deals/[id]/people/route.js +1 -1
- package/dist/modules/customers/api/deals/[id]/people/route.js.map +2 -2
- package/dist/modules/customers/api/deals/[id]/route.js +25 -8
- package/dist/modules/customers/api/deals/[id]/route.js.map +2 -2
- package/dist/modules/customers/api/deals/[id]/stats/route.js +22 -3
- package/dist/modules/customers/api/deals/[id]/stats/route.js.map +2 -2
- package/dist/modules/customers/api/deals/aggregate/route.js +4 -11
- package/dist/modules/customers/api/deals/aggregate/route.js.map +2 -2
- package/dist/modules/customers/api/deals/map/route.js +1 -2
- package/dist/modules/customers/api/deals/map/route.js.map +2 -2
- package/dist/modules/customers/api/deals/route.js +1 -38
- package/dist/modules/customers/api/deals/route.js.map +2 -2
- package/dist/modules/customers/api/entity-roles-factory.js +4 -4
- package/dist/modules/customers/api/entity-roles-factory.js.map +2 -2
- package/dist/modules/customers/api/interactions/route.js +1 -3
- package/dist/modules/customers/api/interactions/route.js.map +2 -2
- package/dist/modules/customers/api/interactions/tasks/route.js +4 -27
- package/dist/modules/customers/api/interactions/tasks/route.js.map +2 -2
- package/dist/modules/customers/api/people/[id]/companies/[linkId]/route.js +3 -4
- package/dist/modules/customers/api/people/[id]/companies/[linkId]/route.js.map +2 -2
- package/dist/modules/customers/api/people/[id]/companies/context.js +1 -1
- package/dist/modules/customers/api/people/[id]/companies/context.js.map +2 -2
- package/dist/modules/customers/api/people/[id]/companies/enriched/route.js +1 -1
- package/dist/modules/customers/api/people/[id]/companies/enriched/route.js.map +2 -2
- package/dist/modules/customers/api/people/[id]/route.js +10 -11
- package/dist/modules/customers/api/people/[id]/route.js.map +2 -2
- package/dist/modules/customers/api/people/check-phone/route.js +9 -51
- package/dist/modules/customers/api/people/check-phone/route.js.map +2 -2
- package/dist/modules/customers/api/todos/route.js +5 -30
- package/dist/modules/customers/api/todos/route.js.map +2 -2
- package/dist/modules/customers/backend/customers/companies/page.js +4 -6
- package/dist/modules/customers/backend/customers/companies/page.js.map +2 -2
- package/dist/modules/customers/backend/customers/deals/[id]/page.js +1 -6
- package/dist/modules/customers/backend/customers/deals/[id]/page.js.map +2 -2
- package/dist/modules/customers/backend/customers/deals/page.js +4 -7
- package/dist/modules/customers/backend/customers/deals/page.js.map +2 -2
- package/dist/modules/customers/backend/customers/deals/pipeline/components/Lane.js +13 -4
- package/dist/modules/customers/backend/customers/deals/pipeline/components/Lane.js.map +2 -2
- package/dist/modules/customers/backend/customers/deals/pipeline/components/StatusFilterPopover.js +14 -85
- package/dist/modules/customers/backend/customers/deals/pipeline/components/StatusFilterPopover.js.map +2 -2
- package/dist/modules/customers/backend/customers/people/page.js +4 -6
- package/dist/modules/customers/backend/customers/people/page.js.map +2 -2
- package/dist/modules/customers/backend/hooks/useEmailDuplicateCheck.js +3 -9
- package/dist/modules/customers/backend/hooks/useEmailDuplicateCheck.js.map +2 -2
- package/dist/modules/customers/commands/deals.js +34 -21
- package/dist/modules/customers/commands/deals.js.map +2 -2
- package/dist/modules/customers/commands/interactions.js.map +1 -1
- package/dist/modules/customers/commands/personCompanyLinks.js +2 -131
- package/dist/modules/customers/commands/personCompanyLinks.js.map +2 -2
- package/dist/modules/customers/components/CustomerTodosTable.js +0 -1
- package/dist/modules/customers/components/CustomerTodosTable.js.map +2 -2
- package/dist/modules/customers/components/DealsKpiStrip.js +6 -7
- package/dist/modules/customers/components/DealsKpiStrip.js.map +2 -2
- package/dist/modules/customers/components/calendar/AgendaList.js +2 -2
- package/dist/modules/customers/components/calendar/AgendaList.js.map +2 -2
- package/dist/modules/customers/components/calendar/CalendarEventEditor.js +1 -1
- package/dist/modules/customers/components/calendar/CalendarEventEditor.js.map +2 -2
- package/dist/modules/customers/components/calendar/CalendarScreen.js +1 -1
- package/dist/modules/customers/components/calendar/CalendarScreen.js.map +2 -2
- package/dist/modules/customers/components/calendar/CalendarSettingsModal.js +1 -1
- package/dist/modules/customers/components/calendar/CalendarSettingsModal.js.map +2 -2
- package/dist/modules/customers/components/calendar/EventBlock.js +1 -1
- package/dist/modules/customers/components/calendar/EventBlock.js.map +2 -2
- package/dist/modules/customers/components/calendar/EventPeekPopover.js +2 -3
- package/dist/modules/customers/components/calendar/EventPeekPopover.js.map +2 -2
- package/dist/modules/customers/components/calendar/editor/PeopleField.js +5 -40
- package/dist/modules/customers/components/calendar/editor/PeopleField.js.map +2 -2
- package/dist/modules/customers/components/calendar/editor/hooks.js +1 -2
- package/dist/modules/customers/components/calendar/editor/hooks.js.map +2 -2
- package/dist/modules/customers/components/calendar/types.js +1 -1
- package/dist/modules/customers/components/calendar/types.js.map +2 -2
- package/dist/modules/customers/components/detail/AssignRoleDialog.js +33 -28
- package/dist/modules/customers/components/detail/AssignRoleDialog.js.map +2 -2
- package/dist/modules/customers/components/detail/CompanyKpiBar.js +4 -5
- package/dist/modules/customers/components/detail/CompanyKpiBar.js.map +2 -2
- package/dist/modules/customers/components/detail/CompanyPeopleSection.js +1 -3
- package/dist/modules/customers/components/detail/CompanyPeopleSection.js.map +2 -2
- package/dist/modules/customers/components/detail/DealForm.js +7 -19
- package/dist/modules/customers/components/detail/DealForm.js.map +2 -2
- package/dist/modules/customers/components/detail/DealsSection.js +5 -6
- package/dist/modules/customers/components/detail/DealsSection.js.map +2 -2
- package/dist/modules/customers/components/detail/EntityTagsDialog.js +11 -35
- package/dist/modules/customers/components/detail/EntityTagsDialog.js.map +2 -2
- package/dist/modules/customers/components/detail/PersonCompaniesSection.js +1 -3
- package/dist/modules/customers/components/detail/PersonCompaniesSection.js.map +2 -2
- package/dist/modules/customers/components/detail/hooks/usePersonTasks.js +13 -19
- package/dist/modules/customers/components/detail/hooks/usePersonTasks.js.map +2 -2
- package/dist/modules/customers/components/detail/schedule/ParticipantsField.js +4 -4
- package/dist/modules/customers/components/detail/schedule/ParticipantsField.js.map +2 -2
- package/dist/modules/customers/components/detail/schedule/useScheduleFormState.js +3 -3
- package/dist/modules/customers/components/detail/schedule/useScheduleFormState.js.map +2 -2
- package/dist/modules/customers/components/detail/utils.js +5 -5
- package/dist/modules/customers/components/detail/utils.js.map +2 -2
- package/dist/modules/customers/data/entities.js.map +1 -1
- package/dist/modules/customers/data/validators.js +3 -32
- package/dist/modules/customers/data/validators.js.map +2 -2
- package/dist/modules/customers/events.js +0 -5
- package/dist/modules/customers/events.js.map +2 -2
- package/dist/modules/customers/lib/calendar/conflicts.js +2 -8
- package/dist/modules/customers/lib/calendar/conflicts.js.map +2 -2
- package/dist/modules/customers/lib/calendar/editorPayload.js +2 -3
- package/dist/modules/customers/lib/calendar/editorPayload.js.map +2 -2
- package/dist/modules/customers/lib/calendar/mapItem.js +3 -8
- package/dist/modules/customers/lib/calendar/mapItem.js.map +2 -2
- package/dist/modules/customers/lib/dealStatus.js +0 -30
- package/dist/modules/customers/lib/dealStatus.js.map +2 -2
- package/dist/modules/customers/lib/findPeopleByAddresses.js +0 -1
- package/dist/modules/customers/lib/findPeopleByAddresses.js.map +2 -2
- package/dist/modules/customers/lib/personCompanies.js +2 -100
- package/dist/modules/customers/lib/personCompanies.js.map +2 -2
- package/dist/modules/customers/lib/todoCompatibility.js +0 -12
- package/dist/modules/customers/lib/todoCompatibility.js.map +2 -2
- package/dist/modules/dashboards/lib/widgetScope.js +1 -6
- package/dist/modules/dashboards/lib/widgetScope.js.map +2 -2
- package/dist/modules/data_sync/backend/data-sync/page.js +1 -3
- package/dist/modules/data_sync/backend/data-sync/page.js.map +2 -2
- package/dist/modules/data_sync/lib/sync-engine.js +6 -72
- package/dist/modules/data_sync/lib/sync-engine.js.map +2 -2
- package/dist/modules/data_sync/workers/sync-export.js +1 -5
- package/dist/modules/data_sync/workers/sync-export.js.map +2 -2
- package/dist/modules/data_sync/workers/sync-import.js +1 -5
- package/dist/modules/data_sync/workers/sync-import.js.map +2 -2
- package/dist/modules/devices/acl.js +1 -9
- package/dist/modules/devices/acl.js.map +2 -2
- package/dist/modules/devices/api/admin/devices/[id]/route.js +32 -5
- package/dist/modules/devices/api/admin/devices/[id]/route.js.map +2 -2
- package/dist/modules/devices/api/admin/devices/route.js +1 -14
- package/dist/modules/devices/api/admin/devices/route.js.map +2 -2
- package/dist/modules/devices/api/deviceList.js +12 -99
- package/dist/modules/devices/api/deviceList.js.map +2 -2
- package/dist/modules/devices/api/openapi.js +1 -3
- package/dist/modules/devices/api/openapi.js.map +2 -2
- package/dist/modules/devices/api/route.js +1 -9
- package/dist/modules/devices/api/route.js.map +2 -2
- package/dist/modules/devices/backend/devices/[id]/page.js +26 -10
- package/dist/modules/devices/backend/devices/[id]/page.js.map +2 -2
- package/dist/modules/devices/backend/devices/create/page.js +1 -17
- package/dist/modules/devices/backend/devices/create/page.js.map +2 -2
- package/dist/modules/devices/backend/devices/page.js +34 -28
- package/dist/modules/devices/backend/devices/page.js.map +2 -2
- package/dist/modules/devices/setup.js +2 -6
- package/dist/modules/devices/setup.js.map +2 -2
- package/dist/modules/directory/backend/directory/organizations/page.js +1 -2
- package/dist/modules/directory/backend/directory/organizations/page.js.map +2 -2
- package/dist/modules/directory/backend/directory/tenants/page.js +1 -2
- package/dist/modules/directory/backend/directory/tenants/page.js.map +2 -2
- package/dist/modules/directory/di.js +0 -9
- package/dist/modules/directory/di.js.map +2 -2
- package/dist/modules/directory/utils/organizationScope.js.map +2 -2
- package/dist/modules/entities/api/records.js +2 -4
- package/dist/modules/entities/api/records.js.map +2 -2
- package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js +1 -3
- package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js.map +2 -2
- package/dist/modules/eudr/api/plots/route.js +1 -5
- package/dist/modules/eudr/api/plots/route.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/evidence-submissions/[id]/page.meta.js +3 -1
- package/dist/modules/eudr/backend/eudr/evidence-submissions/[id]/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/evidence-submissions/create/page.meta.js +1 -0
- package/dist/modules/eudr/backend/eudr/evidence-submissions/create/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/evidence-submissions/page.js +0 -3
- package/dist/modules/eudr/backend/eudr/evidence-submissions/page.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/evidence-submissions/page.meta.js +4 -1
- package/dist/modules/eudr/backend/eudr/evidence-submissions/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/page.meta.js +2 -2
- package/dist/modules/eudr/backend/eudr/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/plots/[id]/page.js +8 -2
- package/dist/modules/eudr/backend/eudr/plots/[id]/page.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/plots/[id]/page.meta.js +3 -1
- package/dist/modules/eudr/backend/eudr/plots/[id]/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/plots/create/page.js +8 -2
- package/dist/modules/eudr/backend/eudr/plots/create/page.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/plots/create/page.meta.js +1 -0
- package/dist/modules/eudr/backend/eudr/plots/create/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/plots/page.js +0 -3
- package/dist/modules/eudr/backend/eudr/plots/page.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/plots/page.meta.js +4 -1
- package/dist/modules/eudr/backend/eudr/plots/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/product-mappings/[id]/page.meta.js +3 -1
- package/dist/modules/eudr/backend/eudr/product-mappings/[id]/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/product-mappings/create/page.meta.js +1 -0
- package/dist/modules/eudr/backend/eudr/product-mappings/create/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/product-mappings/page.js +0 -3
- package/dist/modules/eudr/backend/eudr/product-mappings/page.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/product-mappings/page.meta.js +4 -1
- package/dist/modules/eudr/backend/eudr/product-mappings/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/risk-assessments/[id]/page.meta.js +3 -1
- package/dist/modules/eudr/backend/eudr/risk-assessments/[id]/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/risk-assessments/create/page.meta.js +1 -0
- package/dist/modules/eudr/backend/eudr/risk-assessments/create/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/risk-assessments/page.js +0 -3
- package/dist/modules/eudr/backend/eudr/risk-assessments/page.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/risk-assessments/page.meta.js +4 -1
- package/dist/modules/eudr/backend/eudr/risk-assessments/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/statements/[id]/page.js +2 -0
- package/dist/modules/eudr/backend/eudr/statements/[id]/page.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/statements/[id]/page.meta.js +3 -1
- package/dist/modules/eudr/backend/eudr/statements/[id]/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/statements/create/page.meta.js +1 -0
- package/dist/modules/eudr/backend/eudr/statements/create/page.meta.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/statements/page.js +30 -28
- package/dist/modules/eudr/backend/eudr/statements/page.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/statements/page.meta.js +4 -1
- package/dist/modules/eudr/backend/eudr/statements/page.meta.js.map +2 -2
- package/dist/modules/eudr/commands/statements.js +8 -3
- package/dist/modules/eudr/commands/statements.js.map +2 -2
- package/dist/modules/eudr/components/crudErrorI18n.js +21 -1
- package/dist/modules/eudr/components/crudErrorI18n.js.map +2 -2
- package/dist/modules/eudr/components/formConfig.js +6 -2
- package/dist/modules/eudr/components/formConfig.js.map +2 -2
- package/dist/modules/eudr/data/validators.js +1 -4
- package/dist/modules/eudr/data/validators.js.map +2 -2
- package/dist/modules/eudr/lib/statement-lifecycle.js +9 -1
- package/dist/modules/eudr/lib/statement-lifecycle.js.map +2 -2
- package/dist/modules/feature_toggles/components/FeatureTogglesTable.js +0 -1
- package/dist/modules/feature_toggles/components/FeatureTogglesTable.js.map +2 -2
- package/dist/modules/feature_toggles/components/OverridesTable.js +0 -1
- package/dist/modules/feature_toggles/components/OverridesTable.js.map +2 -2
- package/dist/modules/feature_toggles/defaults.json +8 -0
- package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js +0 -3
- package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js.map +2 -2
- package/dist/modules/inbox_ops/backend/inbox-ops/page.js +0 -3
- package/dist/modules/inbox_ops/backend/inbox-ops/page.js.map +2 -2
- package/dist/modules/inbox_ops/lib/htmlToPlainText.js +12 -1
- package/dist/modules/inbox_ops/lib/htmlToPlainText.js.map +2 -2
- package/dist/modules/integrations/api/[id]/credentials/route.js +1 -6
- package/dist/modules/integrations/api/[id]/credentials/route.js.map +2 -2
- package/dist/modules/integrations/backend/integrations/[id]/page.js +29 -38
- package/dist/modules/integrations/backend/integrations/[id]/page.js.map +2 -2
- package/dist/modules/integrations/backend/integrations/bundle/[id]/page.js +9 -36
- package/dist/modules/integrations/backend/integrations/bundle/[id]/page.js.map +2 -2
- package/dist/modules/integrations/data/validators.js +3 -11
- package/dist/modules/integrations/data/validators.js.map +2 -2
- package/dist/modules/integrations/lib/credentials-masking.js +2 -6
- package/dist/modules/integrations/lib/credentials-masking.js.map +2 -2
- package/dist/modules/messages/api/[id]/route.js +1 -29
- package/dist/modules/messages/api/[id]/route.js.map +2 -2
- package/dist/modules/messages/api/openapi.js +2 -17
- package/dist/modules/messages/api/openapi.js.map +2 -2
- package/dist/modules/messages/api/route.js +2 -17
- package/dist/modules/messages/api/route.js.map +2 -2
- package/dist/modules/messages/components/MessagesInboxPageClient.js +14 -7
- package/dist/modules/messages/components/MessagesInboxPageClient.js.map +2 -2
- package/dist/modules/messages/components/inboxFilters.js +0 -15
- package/dist/modules/messages/components/inboxFilters.js.map +2 -2
- package/dist/modules/messages/components/message-detail/hooks/useMessageDetailsConversation.js +1 -11
- package/dist/modules/messages/components/message-detail/hooks/useMessageDetailsConversation.js.map +2 -2
- package/dist/modules/messages/components/message-detail/panels/MessageHeader.js +1 -3
- package/dist/modules/messages/components/message-detail/panels/MessageHeader.js.map +2 -2
- package/dist/modules/messages/components/message-detail/panels/thread-panel.js +1 -2
- package/dist/modules/messages/components/message-detail/panels/thread-panel.js.map +2 -2
- package/dist/modules/messages/components/messageListLabels.js +2 -14
- package/dist/modules/messages/components/messageListLabels.js.map +2 -2
- package/dist/modules/messages/data/validators.js +4 -18
- package/dist/modules/messages/data/validators.js.map +2 -2
- package/dist/modules/payment_gateways/api/webhook/[provider]/route.js +6 -4
- package/dist/modules/payment_gateways/api/webhook/[provider]/route.js.map +2 -2
- package/dist/modules/payment_gateways/backend/payment-gateways/page.js +1 -3
- package/dist/modules/payment_gateways/backend/payment-gateways/page.js.map +2 -2
- package/dist/modules/payment_gateways/lib/webhook-processor.js +0 -7
- package/dist/modules/payment_gateways/lib/webhook-processor.js.map +2 -2
- package/dist/modules/planner/backend/planner/availability-rulesets/page.js +0 -3
- package/dist/modules/planner/backend/planner/availability-rulesets/page.js.map +2 -2
- package/dist/modules/push_notifications/backend/push_notifications/page.js +1 -3
- package/dist/modules/push_notifications/backend/push_notifications/page.js.map +2 -2
- package/dist/modules/push_notifications/backend/push_notifications/send/page.js +1 -1
- package/dist/modules/push_notifications/backend/push_notifications/send/page.js.map +2 -2
- package/dist/modules/query_index/lib/engine.js +51 -150
- package/dist/modules/query_index/lib/engine.js.map +2 -2
- package/dist/modules/query_index/lib/search-tokens.js +3 -79
- package/dist/modules/query_index/lib/search-tokens.js.map +2 -2
- package/dist/modules/resources/backend/resources/resource-types/page.js +1 -3
- package/dist/modules/resources/backend/resources/resource-types/page.js.map +2 -2
- package/dist/modules/resources/backend/resources/resources/page.js +1 -3
- package/dist/modules/resources/backend/resources/resources/page.js.map +2 -2
- package/dist/modules/sales/backend/sales/channels/offers/page.js +0 -3
- package/dist/modules/sales/backend/sales/channels/offers/page.js.map +2 -2
- package/dist/modules/sales/backend/sales/channels/page.js +0 -3
- package/dist/modules/sales/backend/sales/channels/page.js.map +2 -2
- package/dist/modules/sales/backend/sales/documents/[id]/page.js +8 -10
- package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
- package/dist/modules/sales/commands/documents.js +1 -79
- package/dist/modules/sales/commands/documents.js.map +2 -2
- package/dist/modules/sales/components/PriceWithCurrency.js +5 -7
- package/dist/modules/sales/components/PriceWithCurrency.js.map +2 -2
- package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js +0 -3
- package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js.map +2 -2
- package/dist/modules/sales/components/documents/AdjustmentsSection.js +6 -8
- package/dist/modules/sales/components/documents/AdjustmentsSection.js.map +2 -2
- package/dist/modules/sales/components/documents/ItemsSection.js +22 -51
- package/dist/modules/sales/components/documents/ItemsSection.js.map +2 -2
- package/dist/modules/sales/components/documents/LineItemDialog.js +19 -84
- package/dist/modules/sales/components/documents/LineItemDialog.js.map +2 -2
- package/dist/modules/sales/components/documents/PaymentsSection.js +9 -23
- package/dist/modules/sales/components/documents/PaymentsSection.js.map +2 -2
- package/dist/modules/sales/components/documents/ReturnsSection.js +6 -8
- package/dist/modules/sales/components/documents/ReturnsSection.js.map +2 -2
- package/dist/modules/sales/components/documents/SalesDocumentsTable.js +14 -68
- package/dist/modules/sales/components/documents/SalesDocumentsTable.js.map +2 -2
- package/dist/modules/sales/components/documents/SalesOrderDraftLines.js +5 -6
- package/dist/modules/sales/components/documents/SalesOrderDraftLines.js.map +2 -2
- package/dist/modules/sales/components/documents/ShipmentDialog.js +4 -5
- package/dist/modules/sales/components/documents/ShipmentDialog.js.map +2 -2
- package/dist/modules/sales/components/documents/ShipmentsSection.js +6 -8
- package/dist/modules/sales/components/documents/ShipmentsSection.js.map +2 -2
- package/dist/modules/sales/components/documents/lineItemUtils.js +2 -2
- package/dist/modules/sales/components/documents/lineItemUtils.js.map +2 -2
- package/dist/modules/sales/data/entities.js +2 -8
- package/dist/modules/sales/data/entities.js.map +2 -2
- package/dist/modules/sales/extension-points.js +0 -1
- package/dist/modules/sales/extension-points.js.map +2 -2
- package/dist/modules/sales/setup.js +0 -2
- package/dist/modules/sales/setup.js.map +2 -2
- package/dist/modules/sales/widgets/injection/document-history/widget.client.js +44 -2
- package/dist/modules/sales/widgets/injection/document-history/widget.client.js.map +2 -2
- package/dist/modules/sales/widgets/injection/payment-gateway-status-column/widget.js +2 -10
- package/dist/modules/sales/widgets/injection/payment-gateway-status-column/widget.js.map +2 -2
- package/dist/modules/sales/widgets/injection-table.js +7 -4
- package/dist/modules/sales/widgets/injection-table.js.map +2 -2
- package/dist/modules/staff/backend/staff/leave-requests/page.js +0 -3
- package/dist/modules/staff/backend/staff/leave-requests/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/my-leave-requests/page.js +0 -3
- package/dist/modules/staff/backend/staff/my-leave-requests/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/team-members/page.js +0 -3
- package/dist/modules/staff/backend/staff/team-members/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/team-roles/page.js +0 -3
- package/dist/modules/staff/backend/staff/team-roles/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js +0 -3
- package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/teams/page.js +0 -3
- package/dist/modules/staff/backend/staff/teams/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/timesheets/page.js +18 -29
- package/dist/modules/staff/backend/staff/timesheets/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/timesheets/projects/page.js +0 -3
- package/dist/modules/staff/backend/staff/timesheets/projects/page.js.map +2 -2
- package/dist/modules/sync_excel/lib/adapters/customers.js +0 -1
- package/dist/modules/sync_excel/lib/adapters/customers.js.map +2 -2
- package/dist/modules/warranty_claims/api/assignees/route.js +3 -3
- package/dist/modules/warranty_claims/api/assignees/route.js.map +2 -2
- package/dist/modules/warranty_claims/api/portal/attachments/route.js +2 -2
- package/dist/modules/warranty_claims/api/portal/attachments/route.js.map +2 -2
- package/dist/modules/warranty_claims/api/portal/claims/route.js +9 -12
- package/dist/modules/warranty_claims/api/portal/claims/route.js.map +2 -2
- package/dist/modules/warranty_claims/backend/page.js +0 -3
- package/dist/modules/warranty_claims/backend/page.js.map +2 -2
- package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.js +0 -3
- package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.js.map +2 -2
- package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.js +0 -3
- package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.js.map +2 -2
- package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.js +0 -3
- package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.js.map +2 -2
- package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.js +0 -3
- package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.js.map +2 -2
- package/dist/modules/wms/api/warehouses/route.js +9 -13
- package/dist/modules/wms/api/warehouses/route.js.map +2 -2
- package/dist/modules/wms/api/zones/route.js +2 -15
- package/dist/modules/wms/api/zones/route.js.map +2 -2
- package/dist/modules/wms/commands/configuration.js +9 -121
- package/dist/modules/wms/commands/configuration.js.map +2 -2
- package/dist/modules/wms/commands/inventory-actions.js +0 -3
- package/dist/modules/wms/commands/inventory-actions.js.map +2 -2
- package/dist/modules/wms/commands/shared.js +1 -9
- package/dist/modules/wms/commands/shared.js.map +2 -2
- package/dist/modules/wms/components/backend/WmsConfigurationPage.js +111 -76
- package/dist/modules/wms/components/backend/WmsConfigurationPage.js.map +3 -3
- package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js +0 -1
- package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js.map +2 -2
- package/dist/modules/wms/components/backend/WmsLocationDetailPage.js +20 -16
- package/dist/modules/wms/components/backend/WmsLocationDetailPage.js.map +2 -2
- package/dist/modules/wms/components/backend/WmsLotDetailPage.js +10 -6
- package/dist/modules/wms/components/backend/WmsLotDetailPage.js.map +2 -2
- package/dist/modules/wms/components/backend/WmsLotsListPage.js +0 -1
- package/dist/modules/wms/components/backend/WmsLotsListPage.js.map +2 -2
- package/dist/modules/wms/components/backend/WmsOperationalDashboardPage.js +11 -7
- package/dist/modules/wms/components/backend/WmsOperationalDashboardPage.js.map +2 -2
- package/dist/modules/wms/components/backend/WmsSkuDetailPage.js +10 -6
- package/dist/modules/wms/components/backend/WmsSkuDetailPage.js.map +2 -2
- package/dist/modules/wms/components/backend/inventoryMutationLoaders.js +20 -27
- package/dist/modules/wms/components/backend/inventoryMutationLoaders.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/page.js +1 -3
- package/dist/modules/workflows/backend/definitions/page.js.map +2 -2
- package/dist/modules/workflows/backend/events/page.js +1 -3
- package/dist/modules/workflows/backend/events/page.js.map +2 -2
- package/dist/modules/workflows/backend/instances/page.js +1 -3
- package/dist/modules/workflows/backend/instances/page.js.map +2 -2
- package/dist/modules/workflows/backend/tasks/page.js +1 -3
- package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
- package/dist/modules/workflows/lib/activity-executor.js +0 -4
- package/dist/modules/workflows/lib/activity-executor.js.map +2 -2
- package/package.json +10 -9
- package/src/helpers/integration/api.ts +1 -33
- package/src/helpers/integration/communicationChannelsFixtures.ts +1 -69
- package/src/modules/api_keys/api/keys/route.ts +1 -3
- package/src/modules/api_keys/backend/api-keys/page.tsx +1 -4
- package/src/modules/attachments/AGENTS.md +0 -15
- package/src/modules/attachments/api/route.ts +2 -2
- package/src/modules/attachments/components/AttachmentLibrary.tsx +0 -3
- package/src/modules/attachments/di.ts +0 -16
- package/src/modules/attachments/i18n/de.json +0 -5
- package/src/modules/attachments/i18n/en.json +0 -5
- package/src/modules/attachments/i18n/es.json +0 -5
- package/src/modules/attachments/i18n/ko.json +0 -5
- package/src/modules/attachments/i18n/pl.json +0 -5
- package/src/modules/attachments/index.ts +0 -10
- package/src/modules/attachments/lib/scoped-upload-service.ts +0 -46
- package/src/modules/attachments/lib/upload-limits.ts +2 -6
- package/src/modules/audit_logs/backend/audit-logs/page.tsx +0 -8
- package/src/modules/audit_logs/lib/display-helpers.tsx +32 -42
- package/src/modules/audit_logs/services/actionLogService.ts +11 -74
- package/src/modules/auth/acl.ts +6 -30
- package/src/modules/auth/api/feature-check.ts +3 -10
- package/src/modules/auth/api/login.ts +24 -9
- package/src/modules/auth/api/roles/acl/route.ts +39 -42
- package/src/modules/auth/api/routeError.ts +30 -0
- package/src/modules/auth/api/session/refresh.ts +1 -32
- package/src/modules/auth/api/users/acl/route.ts +101 -185
- package/src/modules/auth/api/users/route.ts +5 -18
- package/src/modules/auth/backend/roles/[id]/edit/page.meta.ts +2 -5
- package/src/modules/auth/backend/roles/page.tsx +2 -4
- package/src/modules/auth/backend/users/[id]/edit/page.meta.ts +2 -5
- package/src/modules/auth/backend/users/page.tsx +2 -3
- package/src/modules/auth/components/AclEditor.tsx +33 -63
- package/src/modules/auth/data/entities.ts +1 -4
- package/src/modules/auth/data/validators.ts +0 -5
- package/src/modules/auth/di.ts +16 -46
- package/src/modules/auth/frontend/reset/[token]/page.tsx +0 -74
- package/src/modules/auth/i18n/de.json +0 -389
- package/src/modules/auth/i18n/en.json +0 -389
- package/src/modules/auth/i18n/es.json +0 -389
- package/src/modules/auth/i18n/ko.json +0 -389
- package/src/modules/auth/i18n/pl.json +2 -391
- package/src/modules/auth/lib/grantChecks.ts +0 -6
- package/src/modules/auth/services/authService.ts +2 -18
- package/src/modules/auth/services/rbacService.ts +24 -110
- package/src/modules/business_rules/backend/logs/page.tsx +1 -4
- package/src/modules/business_rules/backend/rules/[id]/page.meta.ts +5 -0
- package/src/modules/business_rules/backend/rules/create/page.meta.ts +5 -1
- package/src/modules/business_rules/backend/rules/page.tsx +1 -4
- package/src/modules/business_rules/backend/sets/[id]/page.meta.ts +5 -0
- package/src/modules/business_rules/backend/sets/create/page.meta.ts +5 -1
- package/src/modules/business_rules/backend/sets/page.tsx +1 -4
- package/src/modules/business_rules/lib/expression-evaluator.ts +9 -9
- package/src/modules/business_rules/lib/rule-evaluator.ts +9 -10
- package/src/modules/catalog/ai-agents.ts +1 -1
- package/src/modules/catalog/ai-tools/merchandising-pack.ts +2 -2
- package/src/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.tsx +5 -12
- package/src/modules/catalog/components/categories/CategoriesDataTable.tsx +0 -3
- package/src/modules/catalog/components/products/ProductsDataTable.tsx +0 -7
- package/src/modules/catalog/i18n/de.json +0 -1
- package/src/modules/catalog/i18n/en.json +0 -1
- package/src/modules/catalog/i18n/es.json +0 -1
- package/src/modules/catalog/i18n/ko.json +0 -1
- package/src/modules/catalog/i18n/pl.json +0 -1
- package/src/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.tsx +0 -4
- package/src/modules/communication_channels/api/post/channels/[id]/test-send/route.ts +1 -17
- package/src/modules/communication_channels/api/post/test-seed/route.ts +16 -155
- package/src/modules/communication_channels/backend/communication_channels/channels/page.tsx +0 -4
- package/src/modules/communication_channels/commands/ingest-inbound-message.ts +1 -38
- package/src/modules/communication_channels/di.ts +0 -7
- package/src/modules/communication_channels/lib/adapter.ts +0 -14
- package/src/modules/communication_channels/lib/email-capabilities.ts +0 -4
- package/src/modules/communication_channels/lib/test-seed.ts +4 -64
- package/src/modules/configs/i18n/de.json +0 -2
- package/src/modules/configs/i18n/en.json +0 -2
- package/src/modules/configs/i18n/es.json +0 -2
- package/src/modules/configs/i18n/ko.json +0 -2
- package/src/modules/configs/i18n/pl.json +0 -2
- package/src/modules/configs/lib/system-status.ts +0 -9
- package/src/modules/currencies/backend/currencies/page.tsx +1 -4
- package/src/modules/currencies/backend/exchange-rates/page.tsx +1 -4
- package/src/modules/customer_accounts/api/admin/domain-mappings.ts +0 -7
- package/src/modules/customer_accounts/backend/customer_accounts/roles/page.tsx +1 -4
- package/src/modules/customer_accounts/backend/customer_accounts/settings/CustomerAccountsSettingsPageClient.tsx +138 -0
- package/src/modules/customer_accounts/backend/customer_accounts/settings/page.tsx +8 -132
- package/src/modules/customer_accounts/backend/customer_accounts/users/PortalUsersPageClient.tsx +598 -0
- package/src/modules/customer_accounts/backend/customer_accounts/users/[id]/PortalUserDetailPageClient.tsx +838 -0
- package/src/modules/customer_accounts/backend/customer_accounts/users/[id]/page.tsx +6 -838
- package/src/modules/customer_accounts/backend/customer_accounts/users/page.tsx +6 -590
- package/src/modules/customer_accounts/extension-points.ts +1 -1
- package/src/modules/customer_accounts/lib/portalUrl.ts +112 -0
- package/src/modules/customer_accounts/services/domainMappingService.ts +0 -10
- package/src/modules/customers/ai-tools/companies-pack.ts +1 -4
- package/src/modules/customers/ai-tools/deal-analyzer-pack.ts +2 -17
- package/src/modules/customers/ai-tools/deals-pack.ts +1 -66
- package/src/modules/customers/ai-tools/people-pack.ts +1 -4
- package/src/modules/customers/api/activities/route.ts +0 -45
- package/src/modules/customers/api/companies/[id]/people/route.ts +73 -24
- package/src/modules/customers/api/companies/[id]/route.ts +107 -24
- package/src/modules/customers/api/dashboard/widgets/customer-todos/route.ts +8 -16
- package/src/modules/customers/api/deals/[id]/companies/route.ts +1 -4
- package/src/modules/customers/api/deals/[id]/people/route.ts +1 -4
- package/src/modules/customers/api/deals/[id]/route.ts +28 -17
- package/src/modules/customers/api/deals/[id]/stats/route.ts +25 -10
- package/src/modules/customers/api/deals/aggregate/route.ts +4 -14
- package/src/modules/customers/api/deals/map/route.ts +0 -1
- package/src/modules/customers/api/deals/route.ts +1 -50
- package/src/modules/customers/api/entity-roles-factory.ts +4 -8
- package/src/modules/customers/api/interactions/route.ts +2 -8
- package/src/modules/customers/api/interactions/tasks/route.ts +1 -24
- package/src/modules/customers/api/people/[id]/companies/[linkId]/route.ts +4 -12
- package/src/modules/customers/api/people/[id]/companies/context.ts +1 -4
- package/src/modules/customers/api/people/[id]/companies/enriched/route.ts +1 -4
- package/src/modules/customers/api/people/[id]/route.ts +11 -16
- package/src/modules/customers/api/people/check-phone/route.ts +10 -75
- package/src/modules/customers/api/todos/route.ts +2 -27
- package/src/modules/customers/backend/customers/companies/page.tsx +4 -7
- package/src/modules/customers/backend/customers/deals/[id]/page.tsx +2 -7
- package/src/modules/customers/backend/customers/deals/page.tsx +4 -10
- package/src/modules/customers/backend/customers/deals/pipeline/components/Lane.tsx +14 -5
- package/src/modules/customers/backend/customers/deals/pipeline/components/StatusFilterPopover.tsx +27 -109
- package/src/modules/customers/backend/customers/people/page.tsx +4 -7
- package/src/modules/customers/backend/hooks/useEmailDuplicateCheck.ts +4 -12
- package/src/modules/customers/commands/deals.ts +59 -34
- package/src/modules/customers/commands/interactions.ts +1 -1
- package/src/modules/customers/commands/personCompanyLinks.ts +8 -224
- package/src/modules/customers/components/CustomerTodosTable.tsx +0 -2
- package/src/modules/customers/components/DealsKpiStrip.tsx +7 -7
- package/src/modules/customers/components/calendar/AgendaList.tsx +3 -3
- package/src/modules/customers/components/calendar/CalendarEventEditor.tsx +1 -1
- package/src/modules/customers/components/calendar/CalendarScreen.tsx +1 -1
- package/src/modules/customers/components/calendar/CalendarSettingsModal.tsx +1 -1
- package/src/modules/customers/components/calendar/EventBlock.tsx +2 -2
- package/src/modules/customers/components/calendar/EventPeekPopover.tsx +2 -4
- package/src/modules/customers/components/calendar/editor/PeopleField.tsx +5 -61
- package/src/modules/customers/components/calendar/editor/hooks.ts +1 -7
- package/src/modules/customers/components/calendar/types.ts +2 -2
- package/src/modules/customers/components/detail/AssignRoleDialog.tsx +12 -7
- package/src/modules/customers/components/detail/CompanyKpiBar.tsx +4 -5
- package/src/modules/customers/components/detail/CompanyPeopleSection.tsx +1 -8
- package/src/modules/customers/components/detail/DealForm.tsx +2 -22
- package/src/modules/customers/components/detail/DealsSection.tsx +5 -11
- package/src/modules/customers/components/detail/EntityTagsDialog.tsx +12 -58
- package/src/modules/customers/components/detail/PersonCompaniesSection.tsx +1 -8
- package/src/modules/customers/components/detail/hooks/usePersonTasks.ts +14 -23
- package/src/modules/customers/components/detail/schedule/ParticipantsField.tsx +5 -5
- package/src/modules/customers/components/detail/schedule/useScheduleFormState.ts +5 -5
- package/src/modules/customers/components/detail/types.ts +1 -1
- package/src/modules/customers/components/detail/utils.ts +5 -15
- package/src/modules/customers/data/entities.ts +1 -1
- package/src/modules/customers/data/validators.ts +9 -50
- package/src/modules/customers/events.ts +0 -5
- package/src/modules/customers/i18n/de.json +1 -9
- package/src/modules/customers/i18n/en.json +1 -9
- package/src/modules/customers/i18n/es.json +1 -9
- package/src/modules/customers/i18n/ko.json +1 -9
- package/src/modules/customers/i18n/pl.json +1 -9
- package/src/modules/customers/lib/calendar/conflicts.ts +2 -10
- package/src/modules/customers/lib/calendar/editorPayload.ts +3 -4
- package/src/modules/customers/lib/calendar/mapItem.ts +3 -8
- package/src/modules/customers/lib/dealStatus.ts +0 -42
- package/src/modules/customers/lib/findPeopleByAddresses.ts +6 -8
- package/src/modules/customers/lib/personCompanies.ts +1 -136
- package/src/modules/customers/lib/todoCompatibility.ts +1 -19
- package/src/modules/dashboards/i18n/es.json +4 -4
- package/src/modules/dashboards/i18n/pl.json +7 -7
- package/src/modules/dashboards/lib/widgetScope.ts +0 -6
- package/src/modules/data_sync/AGENTS.md +1 -1
- package/src/modules/data_sync/backend/data-sync/page.tsx +1 -4
- package/src/modules/data_sync/lib/adapter.ts +0 -36
- package/src/modules/data_sync/lib/sync-engine.ts +5 -113
- package/src/modules/data_sync/workers/sync-export.ts +0 -4
- package/src/modules/data_sync/workers/sync-import.ts +0 -4
- package/src/modules/devices/AGENTS.md +1 -20
- package/src/modules/devices/acl.ts +1 -9
- package/src/modules/devices/api/admin/devices/[id]/route.ts +34 -5
- package/src/modules/devices/api/admin/devices/route.ts +1 -14
- package/src/modules/devices/api/deviceList.ts +11 -135
- package/src/modules/devices/api/openapi.ts +1 -9
- package/src/modules/devices/api/route.ts +1 -9
- package/src/modules/devices/backend/devices/[id]/page.tsx +32 -18
- package/src/modules/devices/backend/devices/create/page.tsx +1 -17
- package/src/modules/devices/backend/devices/page.tsx +45 -44
- package/src/modules/devices/i18n/de.json +2 -3
- package/src/modules/devices/i18n/en.json +2 -3
- package/src/modules/devices/i18n/es.json +2 -3
- package/src/modules/devices/i18n/ko.json +2 -3
- package/src/modules/devices/i18n/pl.json +2 -3
- package/src/modules/devices/setup.ts +2 -6
- package/src/modules/directory/backend/directory/organizations/page.tsx +1 -3
- package/src/modules/directory/backend/directory/tenants/page.tsx +1 -3
- package/src/modules/directory/di.ts +2 -14
- package/src/modules/directory/utils/organizationScope.ts +15 -4
- package/src/modules/entities/api/records.ts +0 -2
- package/src/modules/entities/backend/entities/user/[entityId]/records/page.tsx +1 -4
- package/src/modules/eudr/api/plots/route.ts +0 -4
- package/src/modules/eudr/backend/eudr/evidence-submissions/[id]/page.meta.ts +2 -0
- package/src/modules/eudr/backend/eudr/evidence-submissions/create/page.meta.ts +1 -0
- package/src/modules/eudr/backend/eudr/evidence-submissions/page.meta.ts +4 -1
- package/src/modules/eudr/backend/eudr/evidence-submissions/page.tsx +0 -4
- package/src/modules/eudr/backend/eudr/page.meta.ts +2 -2
- package/src/modules/eudr/backend/eudr/plots/[id]/page.meta.ts +2 -0
- package/src/modules/eudr/backend/eudr/plots/[id]/page.tsx +8 -2
- package/src/modules/eudr/backend/eudr/plots/create/page.meta.ts +1 -0
- package/src/modules/eudr/backend/eudr/plots/create/page.tsx +8 -2
- package/src/modules/eudr/backend/eudr/plots/page.meta.ts +4 -1
- package/src/modules/eudr/backend/eudr/plots/page.tsx +0 -4
- package/src/modules/eudr/backend/eudr/product-mappings/[id]/page.meta.ts +2 -0
- package/src/modules/eudr/backend/eudr/product-mappings/create/page.meta.ts +1 -0
- package/src/modules/eudr/backend/eudr/product-mappings/page.meta.ts +4 -1
- package/src/modules/eudr/backend/eudr/product-mappings/page.tsx +0 -4
- package/src/modules/eudr/backend/eudr/risk-assessments/[id]/page.meta.ts +2 -0
- package/src/modules/eudr/backend/eudr/risk-assessments/create/page.meta.ts +1 -0
- package/src/modules/eudr/backend/eudr/risk-assessments/page.meta.ts +4 -1
- package/src/modules/eudr/backend/eudr/risk-assessments/page.tsx +0 -4
- package/src/modules/eudr/backend/eudr/statements/[id]/page.meta.ts +2 -0
- package/src/modules/eudr/backend/eudr/statements/[id]/page.tsx +2 -0
- package/src/modules/eudr/backend/eudr/statements/create/page.meta.ts +1 -0
- package/src/modules/eudr/backend/eudr/statements/page.meta.ts +4 -1
- package/src/modules/eudr/backend/eudr/statements/page.tsx +32 -30
- package/src/modules/eudr/commands/statements.ts +7 -2
- package/src/modules/eudr/components/crudErrorI18n.ts +31 -0
- package/src/modules/eudr/components/formConfig.tsx +9 -1
- package/src/modules/eudr/data/validators.ts +1 -16
- package/src/modules/eudr/i18n/de.json +3 -2
- package/src/modules/eudr/i18n/en.json +3 -2
- package/src/modules/eudr/i18n/es.json +3 -2
- package/src/modules/eudr/i18n/ko.json +3 -2
- package/src/modules/eudr/i18n/pl.json +3 -2
- package/src/modules/eudr/lib/statement-lifecycle.ts +8 -0
- package/src/modules/feature_toggles/components/FeatureTogglesTable.tsx +1 -2
- package/src/modules/feature_toggles/components/OverridesTable.tsx +1 -2
- package/src/modules/feature_toggles/defaults.json +8 -0
- package/src/modules/inbox_ops/backend/inbox-ops/log/page.tsx +0 -4
- package/src/modules/inbox_ops/backend/inbox-ops/page.tsx +0 -4
- package/src/modules/inbox_ops/lib/htmlToPlainText.ts +17 -1
- package/src/modules/integrations/api/[id]/credentials/route.ts +4 -6
- package/src/modules/integrations/backend/integrations/[id]/page.tsx +31 -61
- package/src/modules/integrations/backend/integrations/bundle/[id]/page.tsx +9 -44
- package/src/modules/integrations/data/validators.ts +2 -12
- package/src/modules/integrations/i18n/de.json +0 -1
- package/src/modules/integrations/i18n/en.json +0 -1
- package/src/modules/integrations/i18n/es.json +0 -1
- package/src/modules/integrations/i18n/ko.json +0 -1
- package/src/modules/integrations/i18n/pl.json +0 -1
- package/src/modules/integrations/lib/credentials-masking.ts +6 -10
- package/src/modules/messages/api/[id]/route.ts +1 -55
- package/src/modules/messages/api/openapi.ts +0 -20
- package/src/modules/messages/api/route.ts +2 -31
- package/src/modules/messages/components/MessagesInboxPageClient.tsx +16 -9
- package/src/modules/messages/components/inboxFilters.ts +0 -36
- package/src/modules/messages/components/message-detail/hooks/useMessageDetailsConversation.ts +1 -14
- package/src/modules/messages/components/message-detail/panels/MessageHeader.tsx +1 -3
- package/src/modules/messages/components/message-detail/panels/thread-panel.tsx +1 -2
- package/src/modules/messages/components/message-detail/types.ts +0 -3
- package/src/modules/messages/components/messageListLabels.ts +3 -52
- package/src/modules/messages/data/validators.ts +4 -43
- package/src/modules/payment_gateways/api/webhook/[provider]/route.ts +6 -4
- package/src/modules/payment_gateways/backend/payment-gateways/page.tsx +1 -4
- package/src/modules/payment_gateways/lib/webhook-processor.ts +0 -11
- package/src/modules/planner/backend/planner/availability-rulesets/page.tsx +0 -4
- package/src/modules/push_notifications/backend/push_notifications/page.tsx +1 -4
- package/src/modules/push_notifications/backend/push_notifications/send/page.tsx +4 -4
- package/src/modules/query_index/lib/engine.ts +61 -249
- package/src/modules/query_index/lib/search-tokens.ts +3 -135
- package/src/modules/resources/backend/resources/resource-types/page.tsx +1 -4
- package/src/modules/resources/backend/resources/resources/page.tsx +1 -4
- package/src/modules/sales/backend/sales/channels/offers/page.tsx +0 -4
- package/src/modules/sales/backend/sales/channels/page.tsx +0 -4
- package/src/modules/sales/backend/sales/documents/[id]/page.tsx +8 -14
- package/src/modules/sales/commands/documents.ts +0 -93
- package/src/modules/sales/components/PriceWithCurrency.tsx +5 -17
- package/src/modules/sales/components/channels/SalesChannelOffersPanel.tsx +0 -4
- package/src/modules/sales/components/documents/AdjustmentsSection.tsx +5 -6
- package/src/modules/sales/components/documents/ItemsSection.tsx +18 -56
- package/src/modules/sales/components/documents/LineItemDialog.tsx +21 -138
- package/src/modules/sales/components/documents/PaymentsSection.tsx +9 -20
- package/src/modules/sales/components/documents/ReturnsSection.tsx +5 -6
- package/src/modules/sales/components/documents/SalesDocumentsTable.tsx +14 -106
- package/src/modules/sales/components/documents/SalesOrderDraftLines.tsx +5 -6
- package/src/modules/sales/components/documents/ShipmentDialog.tsx +4 -5
- package/src/modules/sales/components/documents/ShipmentsSection.tsx +5 -6
- package/src/modules/sales/components/documents/lineItemUtils.ts +2 -7
- package/src/modules/sales/data/entities.ts +0 -6
- package/src/modules/sales/extension-points.ts +0 -1
- package/src/modules/sales/i18n/de.json +37 -8
- package/src/modules/sales/i18n/en.json +37 -8
- package/src/modules/sales/i18n/es.json +37 -8
- package/src/modules/sales/i18n/ko.json +37 -8
- package/src/modules/sales/i18n/pl.json +37 -8
- package/src/modules/sales/migrations/.snapshot-open-mercato.json +0 -60
- package/src/modules/sales/setup.ts +0 -2
- package/src/modules/sales/widgets/injection/document-history/widget.client.tsx +42 -2
- package/src/modules/sales/widgets/injection/payment-gateway-status-column/widget.ts +1 -9
- package/src/modules/sales/widgets/injection-table.ts +7 -4
- package/src/modules/staff/backend/staff/leave-requests/page.tsx +0 -4
- package/src/modules/staff/backend/staff/my-leave-requests/page.tsx +0 -4
- package/src/modules/staff/backend/staff/team-members/page.tsx +0 -6
- package/src/modules/staff/backend/staff/team-roles/page.tsx +0 -4
- package/src/modules/staff/backend/staff/teams/[id]/edit/page.tsx +0 -4
- package/src/modules/staff/backend/staff/teams/page.tsx +0 -4
- package/src/modules/staff/backend/staff/timesheets/page.tsx +1 -12
- package/src/modules/staff/backend/staff/timesheets/projects/page.tsx +0 -4
- package/src/modules/sync_excel/lib/adapters/customers.ts +0 -5
- package/src/modules/warranty_claims/api/assignees/route.ts +3 -3
- package/src/modules/warranty_claims/api/portal/attachments/route.ts +2 -2
- package/src/modules/warranty_claims/api/portal/claims/route.ts +9 -12
- package/src/modules/warranty_claims/backend/page.tsx +0 -4
- package/src/modules/warranty_claims/backend/warranty_claims/registrations/page.tsx +0 -4
- package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.tsx +0 -4
- package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.tsx +0 -4
- package/src/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.tsx +0 -4
- package/src/modules/wms/api/warehouses/route.ts +9 -13
- package/src/modules/wms/api/zones/route.ts +0 -16
- package/src/modules/wms/commands/configuration.ts +10 -159
- package/src/modules/wms/commands/inventory-actions.ts +0 -3
- package/src/modules/wms/commands/shared.ts +0 -17
- package/src/modules/wms/components/backend/WmsConfigurationPage.tsx +141 -95
- package/src/modules/wms/components/backend/WmsInventoryConsolePage.tsx +0 -2
- package/src/modules/wms/components/backend/WmsLocationDetailPage.tsx +30 -26
- package/src/modules/wms/components/backend/WmsLotDetailPage.tsx +21 -17
- package/src/modules/wms/components/backend/WmsLotsListPage.tsx +0 -2
- package/src/modules/wms/components/backend/WmsOperationalDashboardPage.tsx +17 -13
- package/src/modules/wms/components/backend/WmsSkuDetailPage.tsx +16 -12
- package/src/modules/wms/components/backend/inventoryMutationLoaders.ts +20 -36
- package/src/modules/wms/i18n/de.json +0 -2
- package/src/modules/wms/i18n/en.json +0 -2
- package/src/modules/wms/i18n/es.json +0 -2
- package/src/modules/wms/i18n/ko.json +0 -2
- package/src/modules/wms/i18n/pl.json +0 -2
- package/src/modules/workflows/backend/definitions/page.tsx +1 -4
- package/src/modules/workflows/backend/events/page.tsx +1 -4
- package/src/modules/workflows/backend/instances/page.tsx +1 -4
- package/src/modules/workflows/backend/tasks/page.tsx +1 -4
- package/src/modules/workflows/lib/activity-executor.ts +0 -9
- package/dist/modules/api_keys/di.js +0 -9
- package/dist/modules/api_keys/di.js.map +0 -7
- package/dist/modules/api_keys/services/principalService.js +0 -31
- package/dist/modules/api_keys/services/principalService.js.map +0 -7
- package/dist/modules/attachments/lib/attachment-service.js +0 -313
- package/dist/modules/attachments/lib/attachment-service.js.map +0 -7
- package/dist/modules/auth/api/reset/validate.js +0 -55
- package/dist/modules/auth/api/reset/validate.js.map +0 -7
- package/dist/modules/auth/commands/acl.js +0 -254
- package/dist/modules/auth/commands/acl.js.map +0 -7
- package/dist/modules/auth/lib/userIdFilter.js +0 -16
- package/dist/modules/auth/lib/userIdFilter.js.map +0 -7
- package/dist/modules/auth/services/principalService.js +0 -200
- package/dist/modules/auth/services/principalService.js.map +0 -7
- package/dist/modules/auth/services/roleOrganizationScope.js +0 -41
- package/dist/modules/auth/services/roleOrganizationScope.js.map +0 -7
- package/dist/modules/communication_channels/lib/outbound-recipient.js +0 -33
- package/dist/modules/communication_channels/lib/outbound-recipient.js.map +0 -7
- package/dist/modules/communication_channels/lib/resolve-channel-type.js +0 -51
- package/dist/modules/communication_channels/lib/resolve-channel-type.js.map +0 -7
- package/dist/modules/customers/backend/customers/deals/pipeline/components/toneClasses.js +0 -18
- package/dist/modules/customers/backend/customers/deals/pipeline/components/toneClasses.js.map +0 -7
- package/dist/modules/customers/lib/calendar/participantIdentity.js +0 -9
- package/dist/modules/customers/lib/calendar/participantIdentity.js.map +0 -7
- package/dist/modules/customers/lib/closureStage.js +0 -45
- package/dist/modules/customers/lib/closureStage.js.map +0 -7
- package/dist/modules/customers/lib/detailReadAccess.js +0 -12
- package/dist/modules/customers/lib/detailReadAccess.js.map +0 -7
- package/dist/modules/data_sync/lib/abandoned-run.js +0 -19
- package/dist/modules/data_sync/lib/abandoned-run.js.map +0 -7
- package/dist/modules/devices/api/deviceSerialization.js +0 -46
- package/dist/modules/devices/api/deviceSerialization.js.map +0 -7
- package/dist/modules/devices/backend/devices/useDeviceUserLabels.js +0 -34
- package/dist/modules/devices/backend/devices/useDeviceUserLabels.js.map +0 -7
- package/dist/modules/devices/backend/devices/userOptions.js +0 -52
- package/dist/modules/devices/backend/devices/userOptions.js.map +0 -7
- package/dist/modules/directory/services/organizationHierarchyService.js +0 -29
- package/dist/modules/directory/services/organizationHierarchyService.js.map +0 -7
- package/dist/modules/directory/services/organizationScopeService.js +0 -56
- package/dist/modules/directory/services/organizationScopeService.js.map +0 -7
- package/dist/modules/integrations/backend/integrations/credential-secret-fields.js +0 -55
- package/dist/modules/integrations/backend/integrations/credential-secret-fields.js.map +0 -7
- package/dist/modules/messages/lib/channel-sender-identity.js +0 -26
- package/dist/modules/messages/lib/channel-sender-identity.js.map +0 -7
- package/dist/modules/messages/lib/composeSourceChannelType.js +0 -41
- package/dist/modules/messages/lib/composeSourceChannelType.js.map +0 -7
- package/dist/modules/query_index/lib/search-entity-policy.js +0 -14
- package/dist/modules/query_index/lib/search-entity-policy.js.map +0 -7
- package/dist/modules/sales/components/documents/lineItemShipmentLock.js +0 -54
- package/dist/modules/sales/components/documents/lineItemShipmentLock.js.map +0 -7
- package/dist/modules/sales/lib/salesChannelsToggleSeed.js +0 -33
- package/dist/modules/sales/lib/salesChannelsToggleSeed.js.map +0 -7
- package/dist/modules/sales/migrations/Migration20260821120000_sales_notes_addresses_context_idx.js +0 -32
- package/dist/modules/sales/migrations/Migration20260821120000_sales_notes_addresses_context_idx.js.map +0 -7
- package/dist/modules/wms/api/warehouseSearch.js +0 -21
- package/dist/modules/wms/api/warehouseSearch.js.map +0 -7
- package/dist/modules/wms/components/backend/WarehouseEditDialog.js +0 -158
- package/dist/modules/wms/components/backend/WarehouseEditDialog.js.map +0 -7
- package/dist/modules/wms/components/backend/warehouseFormOptions.js +0 -66
- package/dist/modules/wms/components/backend/warehouseFormOptions.js.map +0 -7
- package/src/modules/api_keys/di.ts +0 -7
- package/src/modules/api_keys/services/principalService.ts +0 -33
- package/src/modules/attachments/lib/attachment-service.ts +0 -468
- package/src/modules/auth/api/reset/validate.ts +0 -57
- package/src/modules/auth/commands/acl.ts +0 -495
- package/src/modules/auth/lib/userIdFilter.ts +0 -31
- package/src/modules/auth/services/principalService.ts +0 -266
- package/src/modules/auth/services/roleOrganizationScope.ts +0 -70
- package/src/modules/communication_channels/lib/outbound-recipient.ts +0 -71
- package/src/modules/communication_channels/lib/resolve-channel-type.ts +0 -99
- package/src/modules/customers/backend/customers/deals/pipeline/components/toneClasses.ts +0 -21
- package/src/modules/customers/lib/calendar/participantIdentity.ts +0 -17
- package/src/modules/customers/lib/closureStage.ts +0 -76
- package/src/modules/customers/lib/detailReadAccess.ts +0 -35
- package/src/modules/data_sync/lib/abandoned-run.ts +0 -56
- package/src/modules/devices/api/deviceSerialization.ts +0 -50
- package/src/modules/devices/backend/devices/useDeviceUserLabels.ts +0 -45
- package/src/modules/devices/backend/devices/userOptions.ts +0 -99
- package/src/modules/directory/services/organizationHierarchyService.ts +0 -34
- package/src/modules/directory/services/organizationScopeService.ts +0 -85
- package/src/modules/integrations/backend/integrations/credential-secret-fields.ts +0 -84
- package/src/modules/messages/lib/channel-sender-identity.ts +0 -55
- package/src/modules/messages/lib/composeSourceChannelType.ts +0 -95
- package/src/modules/query_index/lib/search-entity-policy.ts +0 -46
- package/src/modules/sales/components/documents/lineItemShipmentLock.ts +0 -74
- package/src/modules/sales/lib/salesChannelsToggleSeed.ts +0 -42
- package/src/modules/sales/migrations/Migration20260821120000_sales_notes_addresses_context_idx.ts +0 -87
- package/src/modules/wms/api/warehouseSearch.ts +0 -23
- package/src/modules/wms/components/backend/WarehouseEditDialog.tsx +0 -216
- package/src/modules/wms/components/backend/warehouseFormOptions.ts +0 -72
|
@@ -41,7 +41,6 @@ type TeamRolesResponse = {
|
|
|
41
41
|
items?: Array<Record<string, unknown>>
|
|
42
42
|
total?: number
|
|
43
43
|
totalPages?: number
|
|
44
|
-
totalIsCapped?: boolean
|
|
45
44
|
}
|
|
46
45
|
|
|
47
46
|
type TeamsResponse = {
|
|
@@ -57,7 +56,6 @@ export default function StaffTeamRolesPage() {
|
|
|
57
56
|
const [page, setPage] = React.useState(1)
|
|
58
57
|
const [total, setTotal] = React.useState(0)
|
|
59
58
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
60
|
-
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
61
59
|
const [search, setSearch] = React.useState('')
|
|
62
60
|
const [isLoading, setIsLoading] = React.useState(true)
|
|
63
61
|
const [reloadToken, setReloadToken] = React.useState(0)
|
|
@@ -205,7 +203,6 @@ export default function StaffTeamRolesPage() {
|
|
|
205
203
|
setRows(buildTeamRoleRows(items.map(mapApiTeamRole), labels.groups.unassigned))
|
|
206
204
|
setTotal(typeof payload.total === 'number' ? payload.total : items.length)
|
|
207
205
|
setTotalPages(typeof payload.totalPages === 'number' ? payload.totalPages : Math.max(1, Math.ceil(items.length / PAGE_SIZE)))
|
|
208
|
-
setTotalIsCapped(payload?.totalIsCapped === true)
|
|
209
206
|
} catch (error) {
|
|
210
207
|
logger.error('staff.team-roles.list', { err: error })
|
|
211
208
|
flash(labels.errors.load, 'error')
|
|
@@ -332,7 +329,6 @@ export default function StaffTeamRolesPage() {
|
|
|
332
329
|
pageSize: PAGE_SIZE,
|
|
333
330
|
total,
|
|
334
331
|
totalPages,
|
|
335
|
-
totalIsCapped,
|
|
336
332
|
onPageChange: setPage,
|
|
337
333
|
}}
|
|
338
334
|
rowActions={(row) => row.kind === 'role' ? (
|
|
@@ -60,7 +60,6 @@ type TeamMembersResponse = {
|
|
|
60
60
|
items?: Array<Record<string, unknown>>
|
|
61
61
|
total?: number
|
|
62
62
|
totalPages?: number
|
|
63
|
-
totalIsCapped?: boolean
|
|
64
63
|
}
|
|
65
64
|
|
|
66
65
|
export default function StaffTeamEditPage({ params }: { params?: { id?: string } }) {
|
|
@@ -77,7 +76,6 @@ export default function StaffTeamEditPage({ params }: { params?: { id?: string }
|
|
|
77
76
|
const [memberRows, setMemberRows] = React.useState<TeamMemberRow[]>([])
|
|
78
77
|
const [memberPage, setMemberPage] = React.useState(1)
|
|
79
78
|
const [memberTotal, setMemberTotal] = React.useState(0)
|
|
80
|
-
const [memberTotalIsCapped, setMemberTotalIsCapped] = React.useState(false)
|
|
81
79
|
const [memberTotalPages, setMemberTotalPages] = React.useState(1)
|
|
82
80
|
const [memberSorting, setMemberSorting] = React.useState<SortingState>([{ id: 'displayName', desc: false }])
|
|
83
81
|
const [memberSearch, setMemberSearch] = React.useState('')
|
|
@@ -265,7 +263,6 @@ export default function StaffTeamEditPage({ params }: { params?: { id?: string }
|
|
|
265
263
|
const items = Array.isArray(payload.items) ? payload.items : []
|
|
266
264
|
setMemberRows(items.map(mapApiTeamMember))
|
|
267
265
|
setMemberTotal(typeof payload.total === 'number' ? payload.total : items.length)
|
|
268
|
-
setMemberTotalIsCapped(payload.totalIsCapped === true)
|
|
269
266
|
setMemberTotalPages(
|
|
270
267
|
typeof payload.totalPages === 'number'
|
|
271
268
|
? payload.totalPages
|
|
@@ -437,7 +434,6 @@ export default function StaffTeamEditPage({ params }: { params?: { id?: string }
|
|
|
437
434
|
pageSize: TEAM_MEMBERS_PAGE_SIZE,
|
|
438
435
|
total: memberTotal,
|
|
439
436
|
totalPages: memberTotalPages,
|
|
440
|
-
totalIsCapped: memberTotalIsCapped,
|
|
441
437
|
onPageChange: setMemberPage,
|
|
442
438
|
}}
|
|
443
439
|
rowActions={(row) => (
|
|
@@ -41,7 +41,6 @@ type TeamsResponse = {
|
|
|
41
41
|
items?: Array<Record<string, unknown>>
|
|
42
42
|
total?: number
|
|
43
43
|
totalPages?: number
|
|
44
|
-
totalIsCapped?: boolean
|
|
45
44
|
}
|
|
46
45
|
|
|
47
46
|
export default function StaffTeamsPage() {
|
|
@@ -53,7 +52,6 @@ export default function StaffTeamsPage() {
|
|
|
53
52
|
const [page, setPage] = React.useState(1)
|
|
54
53
|
const [total, setTotal] = React.useState(0)
|
|
55
54
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
56
|
-
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
57
55
|
const [sorting, setSorting] = React.useState<SortingState>([{ id: 'name', desc: false }])
|
|
58
56
|
const [search, setSearch] = React.useState('')
|
|
59
57
|
const [isLoading, setIsLoading] = React.useState(true)
|
|
@@ -178,7 +176,6 @@ export default function StaffTeamsPage() {
|
|
|
178
176
|
setRows(items.map(mapApiTeam))
|
|
179
177
|
setTotal(typeof payload.total === 'number' ? payload.total : items.length)
|
|
180
178
|
setTotalPages(typeof payload.totalPages === 'number' ? payload.totalPages : Math.max(1, Math.ceil(items.length / PAGE_SIZE)))
|
|
181
|
-
setTotalIsCapped(payload?.totalIsCapped === true)
|
|
182
179
|
} catch (error) {
|
|
183
180
|
logger.error('staff.teams.list', { err: error })
|
|
184
181
|
flash(labels.errors.load, 'error')
|
|
@@ -264,7 +261,6 @@ export default function StaffTeamsPage() {
|
|
|
264
261
|
pageSize: PAGE_SIZE,
|
|
265
262
|
total,
|
|
266
263
|
totalPages,
|
|
267
|
-
totalIsCapped,
|
|
268
264
|
onPageChange: setPage,
|
|
269
265
|
}}
|
|
270
266
|
rowActions={(row) => (
|
|
@@ -178,12 +178,6 @@ export default function MyTimesheetsPage() {
|
|
|
178
178
|
blockedMessage: t('ui.forms.flash.saveBlocked', 'Save blocked by validation'),
|
|
179
179
|
})
|
|
180
180
|
|
|
181
|
-
const gridInstanceId = React.useId()
|
|
182
|
-
const durationHintId = `${gridInstanceId}-duration-hint`
|
|
183
|
-
const buildDurationErrorId = React.useCallback(
|
|
184
|
-
(projectId: string, dateKey: string): string => `${gridInstanceId}-duration-error-${projectId}-${dateKey}`,
|
|
185
|
-
[gridInstanceId],
|
|
186
|
-
)
|
|
187
181
|
const durationFormatHint = t(
|
|
188
182
|
'staff.timesheets.my.duration.hint',
|
|
189
183
|
'Enter hours (8 or 1.5), h:mm (1:30) or minutes (90m). Max 24h per day.',
|
|
@@ -925,7 +919,6 @@ export default function MyTimesheetsPage() {
|
|
|
925
919
|
const isDirty = dirty[project.id]?.[dateKey] !== undefined
|
|
926
920
|
const cellError = cellErrors[project.id]?.[dateKey]
|
|
927
921
|
const cellErrorMessage = cellError ? describeDurationError(cellError) : undefined
|
|
928
|
-
const cellErrorId = cellErrorMessage ? buildDurationErrorId(project.id, dateKey) : undefined
|
|
929
922
|
return (
|
|
930
923
|
<td key={dateKey} className={`px-0.5 py-0.5 ${weekend ? 'bg-muted/40' : ''}`}>
|
|
931
924
|
{weekend ? (
|
|
@@ -950,13 +943,9 @@ export default function MyTimesheetsPage() {
|
|
|
950
943
|
placeholder={t('staff.timesheets.my.durationPlaceholder', '0')}
|
|
951
944
|
aria-invalid={cellError !== undefined}
|
|
952
945
|
aria-label={describeDurationCell(project.name, date)}
|
|
953
|
-
aria-describedby={[durationHintId, cellErrorId].filter(Boolean).join(' ')}
|
|
954
946
|
title={cellErrorMessage ?? durationFormatHint}
|
|
955
947
|
/>
|
|
956
948
|
)}
|
|
957
|
-
{cellErrorMessage ? (
|
|
958
|
-
<span id={cellErrorId} role="alert" className="sr-only">{cellErrorMessage}</span>
|
|
959
|
-
) : null}
|
|
960
949
|
</td>
|
|
961
950
|
)
|
|
962
951
|
})}
|
|
@@ -995,7 +984,7 @@ export default function MyTimesheetsPage() {
|
|
|
995
984
|
</tr>
|
|
996
985
|
</tfoot>
|
|
997
986
|
</table>
|
|
998
|
-
<p
|
|
987
|
+
<p className="px-3 py-2 text-xs text-muted-foreground">{durationFormatHint}</p>
|
|
999
988
|
</div>
|
|
1000
989
|
)}
|
|
1001
990
|
</div>
|
|
@@ -79,7 +79,6 @@ type ProjectsResponse = {
|
|
|
79
79
|
items?: Array<Record<string, unknown>>
|
|
80
80
|
total?: number
|
|
81
81
|
totalPages?: number
|
|
82
|
-
totalIsCapped?: boolean
|
|
83
82
|
}
|
|
84
83
|
|
|
85
84
|
type KpisResponse = PmKpis | CollabKpis
|
|
@@ -187,7 +186,6 @@ export default function TimesheetProjectsPage() {
|
|
|
187
186
|
const [page, setPage] = React.useState(1)
|
|
188
187
|
const [total, setTotal] = React.useState(0)
|
|
189
188
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
190
|
-
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
191
189
|
const [sorting, setSorting] = React.useState<SortingState>([{ id: 'updatedAt', desc: true }])
|
|
192
190
|
const [search, setSearch] = React.useState('')
|
|
193
191
|
const [filterValues, setFilterValues] = React.useState<FilterValues>({})
|
|
@@ -406,7 +404,6 @@ export default function TimesheetProjectsPage() {
|
|
|
406
404
|
? payload.totalPages
|
|
407
405
|
: Math.max(1, Math.ceil(items.length / PAGE_SIZE)),
|
|
408
406
|
)
|
|
409
|
-
setTotalIsCapped(payload.totalIsCapped === true)
|
|
410
407
|
} catch (error) {
|
|
411
408
|
logger.error('staff.timesheets.projects.list', { err: error })
|
|
412
409
|
flash(labels.errors.load, 'error')
|
|
@@ -743,7 +740,6 @@ export default function TimesheetProjectsPage() {
|
|
|
743
740
|
pageSize: PAGE_SIZE,
|
|
744
741
|
total,
|
|
745
742
|
totalPages,
|
|
746
|
-
totalIsCapped,
|
|
747
743
|
onPageChange: setPage,
|
|
748
744
|
}}
|
|
749
745
|
rowActions={(row) => (
|
|
@@ -1058,11 +1058,6 @@ export const syncExcelCustomersAdapter: DataSyncAdapter = {
|
|
|
1058
1058
|
const items: ImportItem[] = []
|
|
1059
1059
|
|
|
1060
1060
|
for (let index = 0; index < batchRows.length; index += 1) {
|
|
1061
|
-
// Above the yield, so an abandoned page is never yielded and its cursor never committed —
|
|
1062
|
-
// the rows applied so far are re-applied on resume, which the replay-safety contract on
|
|
1063
|
-
// `streamImport` already requires. Each row goes through the command bus, so a large page
|
|
1064
|
-
// is exactly the case where the operator would otherwise wait out the whole batch.
|
|
1065
|
-
if (input.signal?.aborted) return
|
|
1066
1061
|
items.push(await processRow({
|
|
1067
1062
|
row: batchRows[index],
|
|
1068
1063
|
rowNumber: batch.rowStart + index + 1,
|
|
@@ -40,12 +40,12 @@ export function parseRequestedIds(raw: string): string[] {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
export async function GET(req: Request) {
|
|
43
|
-
const { translate } = await resolveTranslations()
|
|
44
43
|
try {
|
|
45
44
|
const url = new URL(req.url)
|
|
46
45
|
const parsedQuery = querySchema.parse(Object.fromEntries(url.searchParams))
|
|
47
46
|
const container = await createRequestContainer()
|
|
48
47
|
const auth = await getAuthFromRequest(req)
|
|
48
|
+
const { translate } = await resolveTranslations()
|
|
49
49
|
if (!auth || !auth.tenantId) {
|
|
50
50
|
throw new CrudHttpError(401, { error: translate('warranty_claims.errors.unauthorized', 'Unauthorized') })
|
|
51
51
|
}
|
|
@@ -75,10 +75,10 @@ export async function GET(req: Request) {
|
|
|
75
75
|
return NextResponse.json(error.body, { status: error.status })
|
|
76
76
|
}
|
|
77
77
|
if (error instanceof z.ZodError) {
|
|
78
|
-
return NextResponse.json({ error:
|
|
78
|
+
return NextResponse.json({ error: 'warranty_claims.errors.invalidInput' }, { status: 400 })
|
|
79
79
|
}
|
|
80
80
|
logger.error('[warranty_claims] Failed to resolve assignee display names', { error })
|
|
81
|
-
return NextResponse.json({ error:
|
|
81
|
+
return NextResponse.json({ error: 'warranty_claims.errors.load_failed' }, { status: 500 })
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
|
|
@@ -19,7 +19,7 @@ import { readAttachmentMetadata } from '@open-mercato/core/modules/attachments/l
|
|
|
19
19
|
import { clearAttachmentThumbnailCache } from '@open-mercato/core/modules/attachments/lib/thumbnailCache'
|
|
20
20
|
import { isMultipartRequestWithinUploadLimit } from '@open-mercato/core/modules/attachments/lib/upload-limits'
|
|
21
21
|
import {
|
|
22
|
-
|
|
22
|
+
ScopedAttachmentUploadError,
|
|
23
23
|
type ScopedAttachmentUploadErrorCode,
|
|
24
24
|
} from '@open-mercato/core/modules/attachments/lib/scoped-upload-service'
|
|
25
25
|
import type { OpenApiRouteDoc } from '@open-mercato/shared/lib/openapi'
|
|
@@ -413,7 +413,7 @@ async function handleUpload(req: Request, replacement: boolean): Promise<Respons
|
|
|
413
413
|
tags: [CUSTOMER_VISIBLE_ATTACHMENT_TAG],
|
|
414
414
|
})
|
|
415
415
|
} catch (error) {
|
|
416
|
-
if (
|
|
416
|
+
if (error instanceof ScopedAttachmentUploadError) {
|
|
417
417
|
const { t } = await resolveTranslations()
|
|
418
418
|
const [key, fallback] = ATTACHMENT_ERROR_TRANSLATIONS[error.code]
|
|
419
419
|
?? ['warranty_claims.portal.detail.attachmentError', 'Attachment upload failed.']
|
|
@@ -153,13 +153,12 @@ function serializePortalClaim(claim: WarrantyClaim, lines: WarrantyClaimLine[])
|
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
async function resolvePortalContext(req: Request): Promise<PortalContext | Response> {
|
|
156
|
-
const { translate } = await resolveTranslations()
|
|
157
156
|
const auth = await getCustomerAuthFromRequest(req)
|
|
158
157
|
if (!auth) {
|
|
159
|
-
return NextResponse.json({ ok: false, error:
|
|
158
|
+
return NextResponse.json({ ok: false, error: 'warranty_claims.errors.unauthorized' }, { status: 401 })
|
|
160
159
|
}
|
|
161
160
|
if (!auth.customerEntityId) {
|
|
162
|
-
return NextResponse.json({ ok: false, error:
|
|
161
|
+
return NextResponse.json({ ok: false, error: 'warranty_claims.errors.customerAccountNotLinked' }, { status: 403 })
|
|
163
162
|
}
|
|
164
163
|
const container = await createRequestContainer()
|
|
165
164
|
const em = container.resolve('em') as EntityManager
|
|
@@ -265,7 +264,6 @@ async function validatePortalOrderOwnership(
|
|
|
265
264
|
context: PortalContext,
|
|
266
265
|
input: PortalIntakeInput,
|
|
267
266
|
): Promise<OrderValidationResult | Response> {
|
|
268
|
-
const { translate } = await resolveTranslations()
|
|
269
267
|
const orderLineIds = Array.from(new Set(input.lines.flatMap((line) => line.orderLineId ? [line.orderLineId] : [])))
|
|
270
268
|
const orderLinesById = await loadOwnedOrderLines(context, orderLineIds)
|
|
271
269
|
const orderIds = new Set<string>()
|
|
@@ -275,7 +273,7 @@ async function validatePortalOrderOwnership(
|
|
|
275
273
|
let resolvedOrder = input.orderId ? (ordersById.get(input.orderId) ?? null) : null
|
|
276
274
|
if (input.orderId) {
|
|
277
275
|
if (!resolvedOrder) {
|
|
278
|
-
return NextResponse.json({ ok: false, error:
|
|
276
|
+
return NextResponse.json({ ok: false, error: 'warranty_claims.errors.orderNotOwned' }, { status: 404 })
|
|
279
277
|
}
|
|
280
278
|
}
|
|
281
279
|
|
|
@@ -284,9 +282,10 @@ async function validatePortalOrderOwnership(
|
|
|
284
282
|
const resolvedLine = orderLinesById.get(line.orderLineId)
|
|
285
283
|
const lineOrder = resolvedLine ? ordersById.get(resolvedLine.orderId) : null
|
|
286
284
|
if (!resolvedLine || !lineOrder) {
|
|
287
|
-
return NextResponse.json({ ok: false, error:
|
|
285
|
+
return NextResponse.json({ ok: false, error: 'warranty_claims.errors.orderLineMismatch' }, { status: 404 })
|
|
288
286
|
}
|
|
289
287
|
if (resolvedOrder && lineOrder.id !== resolvedOrder.id) {
|
|
288
|
+
const { translate } = await resolveTranslations()
|
|
290
289
|
return NextResponse.json(
|
|
291
290
|
{ ok: false, error: translate('warranty_claims.errors.orderLineMismatch', 'Order line does not belong to the selected order') },
|
|
292
291
|
{ status: 400 },
|
|
@@ -338,8 +337,7 @@ export async function GET(req: Request) {
|
|
|
338
337
|
serialNumber: url.searchParams.get('serialNumber') ?? undefined,
|
|
339
338
|
})
|
|
340
339
|
if (!query.success) {
|
|
341
|
-
|
|
342
|
-
return NextResponse.json({ ok: false, error: translate('warranty_claims.errors.invalidInput', 'Invalid input') }, { status: 400 })
|
|
340
|
+
return NextResponse.json({ ok: false, error: 'warranty_claims.errors.invalidInput' }, { status: 400 })
|
|
343
341
|
}
|
|
344
342
|
const { page, pageSize, search, status, stateGroup, serialNumber } = query.data
|
|
345
343
|
const where = buildPortalOwnedClaimWhere(context)
|
|
@@ -417,16 +415,15 @@ export async function POST(req: Request) {
|
|
|
417
415
|
const contextOrResponse = await resolvePortalContext(req)
|
|
418
416
|
if (contextOrResponse instanceof Response) return contextOrResponse
|
|
419
417
|
const context = contextOrResponse
|
|
420
|
-
const { translate } = await resolveTranslations()
|
|
421
418
|
let body: unknown
|
|
422
419
|
try {
|
|
423
420
|
body = await req.json()
|
|
424
421
|
} catch {
|
|
425
|
-
return NextResponse.json({ ok: false, error:
|
|
422
|
+
return NextResponse.json({ ok: false, error: 'warranty_claims.errors.invalidInput' }, { status: 400 })
|
|
426
423
|
}
|
|
427
424
|
const parsed = portalIntakeInputSchema.safeParse(body)
|
|
428
425
|
if (!parsed.success) {
|
|
429
|
-
return NextResponse.json({ ok: false, error:
|
|
426
|
+
return NextResponse.json({ ok: false, error: 'warranty_claims.errors.invalidInput' }, { status: 400 })
|
|
430
427
|
}
|
|
431
428
|
const ownership = await validatePortalOrderOwnership(context, parsed.data)
|
|
432
429
|
if (ownership instanceof Response) return ownership
|
|
@@ -490,7 +487,7 @@ export async function POST(req: Request) {
|
|
|
490
487
|
)
|
|
491
488
|
const claimId = createResult.result?.claimId
|
|
492
489
|
if (typeof claimId !== 'string') {
|
|
493
|
-
return NextResponse.json({ ok: false, error:
|
|
490
|
+
return NextResponse.json({ ok: false, error: 'warranty_claims.errors.save_failed' }, { status: 500 })
|
|
494
491
|
}
|
|
495
492
|
try {
|
|
496
493
|
await commandBus.execute<{ id: string; actorCustomerId: string }, { claimId: string }>(
|
|
@@ -71,7 +71,6 @@ type ClaimsResponse = {
|
|
|
71
71
|
items?: ClaimRow[]
|
|
72
72
|
total?: number
|
|
73
73
|
totalPages?: number
|
|
74
|
-
totalIsCapped?: boolean
|
|
75
74
|
page?: number
|
|
76
75
|
pageSize?: number
|
|
77
76
|
error?: string
|
|
@@ -422,7 +421,6 @@ export default function WarrantyClaimsPage() {
|
|
|
422
421
|
const [page, setPage] = React.useState(initialUrlState.page)
|
|
423
422
|
const [total, setTotal] = React.useState(0)
|
|
424
423
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
425
|
-
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
426
424
|
const [tabCounts, setTabCounts] = React.useState<ClaimsTabCounts>({})
|
|
427
425
|
const [search, setSearch] = React.useState(initialUrlState.search)
|
|
428
426
|
const [filterValues, setFilterValues] = React.useState<FilterValues>(initialUrlState.filterValues)
|
|
@@ -510,7 +508,6 @@ export default function WarrantyClaimsPage() {
|
|
|
510
508
|
setRows(items.map(normalizeClaimRow).filter((row): row is ClaimRow => row !== null))
|
|
511
509
|
setTotal(typeof call.result?.total === 'number' ? call.result.total : items.length)
|
|
512
510
|
setTotalPages(typeof call.result?.totalPages === 'number' ? call.result.totalPages : 1)
|
|
513
|
-
setTotalIsCapped(call.result?.totalIsCapped === true)
|
|
514
511
|
} catch (error) {
|
|
515
512
|
if (!cancelled) {
|
|
516
513
|
const message = error instanceof Error ? error.message : t('warranty_claims.list.error.load')
|
|
@@ -1258,7 +1255,6 @@ export default function WarrantyClaimsPage() {
|
|
|
1258
1255
|
pageSize: PAGE_SIZE,
|
|
1259
1256
|
total,
|
|
1260
1257
|
totalPages,
|
|
1261
|
-
totalIsCapped,
|
|
1262
1258
|
onPageChange: setPage,
|
|
1263
1259
|
}}
|
|
1264
1260
|
/>
|
|
@@ -31,7 +31,6 @@ type RegistrationsResponse = {
|
|
|
31
31
|
items?: unknown[]
|
|
32
32
|
total?: number
|
|
33
33
|
totalPages?: number
|
|
34
|
-
totalIsCapped?: boolean
|
|
35
34
|
error?: string
|
|
36
35
|
}
|
|
37
36
|
|
|
@@ -142,7 +141,6 @@ export default function WarrantyClaimRegistrationsPage() {
|
|
|
142
141
|
const [page, setPage] = React.useState(1)
|
|
143
142
|
const [total, setTotal] = React.useState(0)
|
|
144
143
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
145
|
-
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
146
144
|
const [tabCounts, setTabCounts] = React.useState<Partial<Record<RegistrationSegment, number>>>({})
|
|
147
145
|
const [search, setSearch] = React.useState('')
|
|
148
146
|
const [filterValues, setFilterValues] = React.useState<FilterValues>({})
|
|
@@ -220,7 +218,6 @@ export default function WarrantyClaimRegistrationsPage() {
|
|
|
220
218
|
setRows(items.map(normalizeRegistration).filter((row): row is RegistrationRecord => row !== null))
|
|
221
219
|
setTotal(typeof call.result?.total === 'number' ? call.result.total : items.length)
|
|
222
220
|
setTotalPages(typeof call.result?.totalPages === 'number' ? call.result.totalPages : 1)
|
|
223
|
-
setTotalIsCapped(call.result?.totalIsCapped === true)
|
|
224
221
|
} catch (error) {
|
|
225
222
|
if (!cancelled) {
|
|
226
223
|
const message = error instanceof Error
|
|
@@ -547,7 +544,6 @@ export default function WarrantyClaimRegistrationsPage() {
|
|
|
547
544
|
pageSize: PAGE_SIZE,
|
|
548
545
|
total,
|
|
549
546
|
totalPages,
|
|
550
|
-
totalIsCapped,
|
|
551
547
|
onPageChange: setPage,
|
|
552
548
|
}}
|
|
553
549
|
/>
|
|
@@ -40,7 +40,6 @@ type TroubleshootingGuidesResponse = {
|
|
|
40
40
|
items?: unknown[]
|
|
41
41
|
total?: number
|
|
42
42
|
totalPages?: number
|
|
43
|
-
totalIsCapped?: boolean
|
|
44
43
|
error?: string
|
|
45
44
|
}
|
|
46
45
|
|
|
@@ -71,7 +70,6 @@ export default function WarrantyTroubleshootingGuidesPage() {
|
|
|
71
70
|
const [page, setPage] = React.useState(1)
|
|
72
71
|
const [total, setTotal] = React.useState(0)
|
|
73
72
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
74
|
-
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
75
73
|
const [tabCounts, setTabCounts] = React.useState<Partial<Record<GuideSegment, number>>>({})
|
|
76
74
|
const [search, setSearch] = React.useState('')
|
|
77
75
|
const [filterValues, setFilterValues] = React.useState<FilterValues>({})
|
|
@@ -157,7 +155,6 @@ export default function WarrantyTroubleshootingGuidesPage() {
|
|
|
157
155
|
setRows(items.map(normalizeTroubleshootingGuide).filter((row): row is TroubleshootingGuideRecord => row !== null))
|
|
158
156
|
setTotal(typeof call.result?.total === 'number' ? call.result.total : items.length)
|
|
159
157
|
setTotalPages(typeof call.result?.totalPages === 'number' ? call.result.totalPages : 1)
|
|
160
|
-
setTotalIsCapped(call.result?.totalIsCapped === true)
|
|
161
158
|
} catch (error) {
|
|
162
159
|
if (!cancelled) {
|
|
163
160
|
const message = error instanceof Error
|
|
@@ -469,7 +466,6 @@ export default function WarrantyTroubleshootingGuidesPage() {
|
|
|
469
466
|
pageSize: PAGE_SIZE,
|
|
470
467
|
total,
|
|
471
468
|
totalPages,
|
|
472
|
-
totalIsCapped,
|
|
473
469
|
onPageChange: setPage,
|
|
474
470
|
}}
|
|
475
471
|
/>
|
|
@@ -33,7 +33,6 @@ type VendorPoliciesResponse = {
|
|
|
33
33
|
items?: unknown[]
|
|
34
34
|
total?: number
|
|
35
35
|
totalPages?: number
|
|
36
|
-
totalIsCapped?: boolean
|
|
37
36
|
error?: string
|
|
38
37
|
}
|
|
39
38
|
|
|
@@ -79,7 +78,6 @@ export default function WarrantyVendorPoliciesPage() {
|
|
|
79
78
|
const [page, setPage] = React.useState(1)
|
|
80
79
|
const [total, setTotal] = React.useState(0)
|
|
81
80
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
82
|
-
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
83
81
|
const [tabCounts, setTabCounts] = React.useState<Partial<Record<VendorPolicySegment, number>>>({})
|
|
84
82
|
const [search, setSearch] = React.useState('')
|
|
85
83
|
const [filterValues, setFilterValues] = React.useState<FilterValues>({})
|
|
@@ -165,7 +163,6 @@ export default function WarrantyVendorPoliciesPage() {
|
|
|
165
163
|
setRows(items.map(normalizeVendorPolicy).filter((row): row is VendorPolicyRecord => row !== null))
|
|
166
164
|
setTotal(typeof call.result?.total === 'number' ? call.result.total : items.length)
|
|
167
165
|
setTotalPages(typeof call.result?.totalPages === 'number' ? call.result.totalPages : 1)
|
|
168
|
-
setTotalIsCapped(call.result?.totalIsCapped === true)
|
|
169
166
|
} catch (error) {
|
|
170
167
|
if (!cancelled) {
|
|
171
168
|
const message = error instanceof Error
|
|
@@ -498,7 +495,6 @@ export default function WarrantyVendorPoliciesPage() {
|
|
|
498
495
|
pageSize: PAGE_SIZE,
|
|
499
496
|
total,
|
|
500
497
|
totalPages,
|
|
501
|
-
totalIsCapped,
|
|
502
498
|
onPageChange: setPage,
|
|
503
499
|
}}
|
|
504
500
|
/>
|
|
@@ -39,7 +39,6 @@ type PortalClaimsResponse = {
|
|
|
39
39
|
page: number
|
|
40
40
|
pageSize: number
|
|
41
41
|
totalPages: number
|
|
42
|
-
totalIsCapped?: boolean
|
|
43
42
|
}
|
|
44
43
|
|
|
45
44
|
function formatDate(value: string | null, fallback: string, locale: string): string {
|
|
@@ -64,7 +63,6 @@ export default function WarrantyClaimsPortalListPage({ params }: Props) {
|
|
|
64
63
|
const [pageSize, setPageSize] = React.useState(20)
|
|
65
64
|
const [total, setTotal] = React.useState(0)
|
|
66
65
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
67
|
-
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
68
66
|
const [isLoading, setIsLoading] = React.useState(true)
|
|
69
67
|
const [error, setError] = React.useState<string | null>(null)
|
|
70
68
|
const [search, setSearch] = React.useState('')
|
|
@@ -104,7 +102,6 @@ export default function WarrantyClaimsPortalListPage({ params }: Props) {
|
|
|
104
102
|
setRows(res.result.items)
|
|
105
103
|
setTotal(res.result.total)
|
|
106
104
|
setTotalPages(res.result.totalPages)
|
|
107
|
-
setTotalIsCapped(res.result.totalIsCapped === true)
|
|
108
105
|
})
|
|
109
106
|
.catch(() => {
|
|
110
107
|
if (!cancelled) {
|
|
@@ -274,7 +271,6 @@ export default function WarrantyClaimsPortalListPage({ params }: Props) {
|
|
|
274
271
|
pageSize,
|
|
275
272
|
total,
|
|
276
273
|
totalPages,
|
|
277
|
-
totalIsCapped,
|
|
278
274
|
onPageChange: setPage,
|
|
279
275
|
onPageSizeChange: (nextPageSize) => {
|
|
280
276
|
setPageSize(nextPageSize)
|
|
@@ -2,9 +2,9 @@ import { z } from 'zod'
|
|
|
2
2
|
import { makeCrudRoute } from '@open-mercato/shared/lib/crud/factory'
|
|
3
3
|
import { resolveTranslations } from '@open-mercato/shared/lib/i18n/server'
|
|
4
4
|
import { parseScopedCommandInput, resolveCrudRecordId } from '@open-mercato/shared/lib/api/scoped'
|
|
5
|
+
import { escapeLikePattern } from '@open-mercato/shared/lib/db/escapeLikePattern'
|
|
5
6
|
import { parseBooleanToken } from '@open-mercato/shared/lib/boolean'
|
|
6
7
|
import { E } from '#generated/entities.ids.generated'
|
|
7
|
-
import { buildWarehouseListSearchOr } from '../warehouseSearch'
|
|
8
8
|
import { Warehouse } from '../../data/entities'
|
|
9
9
|
import { warehouseCreateSchema, warehouseUpdateSchema } from '../../data/validators'
|
|
10
10
|
import { createPagedListResponseSchema, createWmsCrudOpenApi, defaultOkResponseSchema } from '../openapi'
|
|
@@ -77,9 +77,6 @@ const crud = makeCrudRoute({
|
|
|
77
77
|
F.created_at,
|
|
78
78
|
F.updated_at,
|
|
79
79
|
],
|
|
80
|
-
decorateCustomFields: {
|
|
81
|
-
entityIds: E.wms.warehouse,
|
|
82
|
-
},
|
|
83
80
|
sortFieldMap: {
|
|
84
81
|
name: F.name,
|
|
85
82
|
code: F.code,
|
|
@@ -97,7 +94,13 @@ const crud = makeCrudRoute({
|
|
|
97
94
|
if (isActive !== null) filters[F.is_active] = { $eq: isActive }
|
|
98
95
|
const term = query.search?.trim()
|
|
99
96
|
if (term) {
|
|
100
|
-
|
|
97
|
+
const like = `%${escapeLikePattern(term)}%`
|
|
98
|
+
filters.$or = [
|
|
99
|
+
{ [F.name]: { $ilike: like } },
|
|
100
|
+
{ [F.code]: { $ilike: like } },
|
|
101
|
+
{ [F.city]: { $ilike: like } },
|
|
102
|
+
{ [F.country]: { $ilike: like } },
|
|
103
|
+
]
|
|
101
104
|
}
|
|
102
105
|
return filters
|
|
103
106
|
},
|
|
@@ -110,10 +113,7 @@ const crud = makeCrudRoute({
|
|
|
110
113
|
const { translate } = await resolveTranslations()
|
|
111
114
|
return parseScopedCommandInput(warehouseCreateSchema, raw ?? {}, ctx, translate)
|
|
112
115
|
},
|
|
113
|
-
response: ({ result }) => ({
|
|
114
|
-
id: result?.warehouseId ?? null,
|
|
115
|
-
updatedAt: result?.updatedAt ?? null,
|
|
116
|
-
}),
|
|
116
|
+
response: ({ result }) => ({ id: result?.warehouseId ?? null }),
|
|
117
117
|
status: 201,
|
|
118
118
|
},
|
|
119
119
|
update: {
|
|
@@ -166,10 +166,6 @@ export const openApi = createWmsCrudOpenApi({
|
|
|
166
166
|
listResponseSchema: createPagedListResponseSchema(warehouseListItemSchema),
|
|
167
167
|
create: {
|
|
168
168
|
schema: warehouseCreateSchema,
|
|
169
|
-
responseSchema: z.object({
|
|
170
|
-
id: z.string().uuid().nullable(),
|
|
171
|
-
updatedAt: z.string().nullable(),
|
|
172
|
-
}),
|
|
173
169
|
description: 'Creates a warehouse for inventory operations.',
|
|
174
170
|
},
|
|
175
171
|
update: {
|
|
@@ -79,10 +79,6 @@ const crud = makeCrudRoute({
|
|
|
79
79
|
}
|
|
80
80
|
return filters
|
|
81
81
|
},
|
|
82
|
-
// Zones had no decorator before this route gained custom fields, so there is no
|
|
83
|
-
// legacy consumer reading top-level `cf_*`/`cf:*` — take the canonical single-shape
|
|
84
|
-
// response (#1769) rather than emitting both forms.
|
|
85
|
-
decorateCustomFields: { entityIds: [E.wms.warehouse_zone], stripPrefixedKeys: true },
|
|
86
82
|
},
|
|
87
83
|
hooks: {
|
|
88
84
|
afterList: async (payload, ctx) => {
|
|
@@ -126,16 +122,6 @@ export const POST = crud.POST
|
|
|
126
122
|
export const PUT = crud.PUT
|
|
127
123
|
export const DELETE = crud.DELETE
|
|
128
124
|
|
|
129
|
-
// Mirrors `CustomFieldDisplayEntry` from @open-mercato/shared/lib/crud/custom-fields, so
|
|
130
|
-
// the generated OpenAPI documents how to read an entry instead of an opaque record.
|
|
131
|
-
const customFieldDisplayEntrySchema = z.object({
|
|
132
|
-
key: z.string(),
|
|
133
|
-
label: z.string().nullable(),
|
|
134
|
-
value: z.unknown(),
|
|
135
|
-
kind: z.string().nullable(),
|
|
136
|
-
multi: z.boolean(),
|
|
137
|
-
})
|
|
138
|
-
|
|
139
125
|
const zoneListItemSchema = z.object({
|
|
140
126
|
id: z.string().uuid().nullable().optional(),
|
|
141
127
|
organization_id: z.string().uuid().nullable().optional(),
|
|
@@ -148,8 +134,6 @@ const zoneListItemSchema = z.object({
|
|
|
148
134
|
priority: z.number().nullable().optional(),
|
|
149
135
|
created_at: z.string().nullable().optional(),
|
|
150
136
|
updated_at: z.string().nullable().optional(),
|
|
151
|
-
customValues: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
152
|
-
customFields: z.array(customFieldDisplayEntrySchema).optional(),
|
|
153
137
|
})
|
|
154
138
|
|
|
155
139
|
export const openApi = createWmsCrudOpenApi({
|