@open-mercato/core 0.4.11-develop.1406.2f08706ed8 → 0.4.11-develop.1413.f6aab77ce7
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/dist/generated/entities/access_log/index.js.map +1 -1
- package/dist/generated/entities/action_log/index.js.map +1 -1
- package/dist/generated/entities/api_key/index.js.map +1 -1
- package/dist/generated/entities/attachment/index.js.map +1 -1
- package/dist/generated/entities/attachment_partition/index.js.map +1 -1
- package/dist/generated/entities/business_rule/index.js.map +1 -1
- package/dist/generated/entities/carrier_shipment/index.js.map +1 -1
- package/dist/generated/entities/catalog_offer/index.js.map +1 -1
- package/dist/generated/entities/catalog_option_schema_template/index.js.map +1 -1
- package/dist/generated/entities/catalog_price_kind/index.js.map +1 -1
- package/dist/generated/entities/catalog_product/index.js.map +1 -1
- package/dist/generated/entities/catalog_product_category/index.js.map +1 -1
- package/dist/generated/entities/catalog_product_category_assignment/index.js.map +1 -1
- package/dist/generated/entities/catalog_product_price/index.js.map +1 -1
- package/dist/generated/entities/catalog_product_tag/index.js.map +1 -1
- package/dist/generated/entities/catalog_product_tag_assignment/index.js.map +1 -1
- package/dist/generated/entities/catalog_product_unit_conversion/index.js.map +1 -1
- package/dist/generated/entities/catalog_product_variant/index.js.map +1 -1
- package/dist/generated/entities/catalog_product_variant_relation/index.js.map +1 -1
- package/dist/generated/entities/currency/index.js.map +1 -1
- package/dist/generated/entities/currency_fetch_config/index.js.map +1 -1
- package/dist/generated/entities/custom_entity/index.js.map +1 -1
- package/dist/generated/entities/custom_entity_storage/index.js.map +1 -1
- package/dist/generated/entities/custom_field_def/index.js.map +1 -1
- package/dist/generated/entities/custom_field_entity_config/index.js.map +1 -1
- package/dist/generated/entities/custom_field_value/index.js.map +1 -1
- package/dist/generated/entities/customer_activity/index.js.map +1 -1
- package/dist/generated/entities/customer_address/index.js.map +1 -1
- package/dist/generated/entities/customer_comment/index.js.map +1 -1
- package/dist/generated/entities/customer_company_profile/index.js.map +1 -1
- package/dist/generated/entities/customer_deal/index.js.map +1 -1
- package/dist/generated/entities/customer_deal_company_link/index.js.map +1 -1
- package/dist/generated/entities/customer_deal_person_link/index.js.map +1 -1
- package/dist/generated/entities/customer_dictionary_entry/index.js.map +1 -1
- package/dist/generated/entities/customer_entity/index.js.map +1 -1
- package/dist/generated/entities/customer_interaction/index.js.map +1 -1
- package/dist/generated/entities/customer_person_profile/index.js.map +1 -1
- package/dist/generated/entities/customer_pipeline/index.js.map +1 -1
- package/dist/generated/entities/customer_pipeline_stage/index.js.map +1 -1
- package/dist/generated/entities/customer_role/index.js.map +1 -1
- package/dist/generated/entities/customer_role_acl/index.js.map +1 -1
- package/dist/generated/entities/customer_settings/index.js.map +1 -1
- package/dist/generated/entities/customer_tag/index.js.map +1 -1
- package/dist/generated/entities/customer_tag_assignment/index.js.map +1 -1
- package/dist/generated/entities/customer_todo_link/index.js.map +1 -1
- package/dist/generated/entities/customer_user/index.js.map +1 -1
- package/dist/generated/entities/customer_user_acl/index.js.map +1 -1
- package/dist/generated/entities/customer_user_email_verification/index.js.map +1 -1
- package/dist/generated/entities/customer_user_invitation/index.js.map +1 -1
- package/dist/generated/entities/customer_user_password_reset/index.js.map +1 -1
- package/dist/generated/entities/customer_user_role/index.js.map +1 -1
- package/dist/generated/entities/customer_user_session/index.js.map +1 -1
- package/dist/generated/entities/dashboard_layout/index.js.map +1 -1
- package/dist/generated/entities/dashboard_role_widgets/index.js.map +1 -1
- package/dist/generated/entities/dashboard_user_widgets/index.js.map +1 -1
- package/dist/generated/entities/dictionary/index.js.map +1 -1
- package/dist/generated/entities/dictionary_entry/index.js.map +1 -1
- package/dist/generated/entities/encryption_map/index.js.map +1 -1
- package/dist/generated/entities/entity_index_coverage/index.js.map +1 -1
- package/dist/generated/entities/entity_index_job/index.js.map +1 -1
- package/dist/generated/entities/entity_index_row/index.js.map +1 -1
- package/dist/generated/entities/entity_translation/index.js.map +1 -1
- package/dist/generated/entities/exchange_rate/index.js.map +1 -1
- package/dist/generated/entities/feature_toggle/index.js.map +1 -1
- package/dist/generated/entities/feature_toggle_override/index.js.map +1 -1
- package/dist/generated/entities/gateway_transaction/index.js.map +1 -1
- package/dist/generated/entities/inbox_discrepancy/index.js.map +1 -1
- package/dist/generated/entities/inbox_email/index.js.map +1 -1
- package/dist/generated/entities/inbox_proposal/index.js.map +1 -1
- package/dist/generated/entities/inbox_proposal_action/index.js.map +1 -1
- package/dist/generated/entities/inbox_settings/index.js.map +1 -1
- package/dist/generated/entities/indexer_error_log/index.js.map +1 -1
- package/dist/generated/entities/indexer_status_log/index.js.map +1 -1
- package/dist/generated/entities/integration_credentials/index.js.map +1 -1
- package/dist/generated/entities/integration_log/index.js.map +1 -1
- package/dist/generated/entities/integration_state/index.js.map +1 -1
- package/dist/generated/entities/message/index.js.map +1 -1
- package/dist/generated/entities/message_access_token/index.js.map +1 -1
- package/dist/generated/entities/message_confirmation/index.js.map +1 -1
- package/dist/generated/entities/message_object/index.js.map +1 -1
- package/dist/generated/entities/message_recipient/index.js.map +1 -1
- package/dist/generated/entities/module_config/index.js.map +1 -1
- package/dist/generated/entities/notification/index.js.map +1 -1
- package/dist/generated/entities/organization/index.js.map +1 -1
- package/dist/generated/entities/password_reset/index.js.map +1 -1
- package/dist/generated/entities/perspective/index.js.map +1 -1
- package/dist/generated/entities/planner_availability_rule/index.js.map +1 -1
- package/dist/generated/entities/planner_availability_rule_set/index.js.map +1 -1
- package/dist/generated/entities/progress_job/index.js.map +1 -1
- package/dist/generated/entities/resources_resource/index.js.map +1 -1
- package/dist/generated/entities/resources_resource_activity/index.js.map +1 -1
- package/dist/generated/entities/resources_resource_comment/index.js.map +1 -1
- package/dist/generated/entities/resources_resource_tag/index.js.map +1 -1
- package/dist/generated/entities/resources_resource_tag_assignment/index.js.map +1 -1
- package/dist/generated/entities/resources_resource_type/index.js.map +1 -1
- package/dist/generated/entities/role/index.js.map +1 -1
- package/dist/generated/entities/role_acl/index.js.map +1 -1
- package/dist/generated/entities/role_perspective/index.js.map +1 -1
- package/dist/generated/entities/role_sidebar_preference/index.js.map +1 -1
- package/dist/generated/entities/rule_execution_log/index.js.map +1 -1
- package/dist/generated/entities/rule_set/index.js.map +1 -1
- package/dist/generated/entities/rule_set_member/index.js.map +1 -1
- package/dist/generated/entities/sales_channel/index.js.map +1 -1
- package/dist/generated/entities/sales_credit_memo/index.js.map +1 -1
- package/dist/generated/entities/sales_credit_memo_line/index.js.map +1 -1
- package/dist/generated/entities/sales_delivery_window/index.js.map +1 -1
- package/dist/generated/entities/sales_document_address/index.js.map +1 -1
- package/dist/generated/entities/sales_document_sequence/index.js.map +1 -1
- package/dist/generated/entities/sales_document_tag/index.js.map +1 -1
- package/dist/generated/entities/sales_document_tag_assignment/index.js.map +1 -1
- package/dist/generated/entities/sales_invoice/index.js.map +1 -1
- package/dist/generated/entities/sales_invoice_line/index.js.map +1 -1
- package/dist/generated/entities/sales_note/index.js.map +1 -1
- package/dist/generated/entities/sales_order/index.js.map +1 -1
- package/dist/generated/entities/sales_order_adjustment/index.js.map +1 -1
- package/dist/generated/entities/sales_order_line/index.js.map +1 -1
- package/dist/generated/entities/sales_payment/index.js.map +1 -1
- package/dist/generated/entities/sales_payment_allocation/index.js.map +1 -1
- package/dist/generated/entities/sales_payment_method/index.js.map +1 -1
- package/dist/generated/entities/sales_quote/index.js.map +1 -1
- package/dist/generated/entities/sales_quote_adjustment/index.js.map +1 -1
- package/dist/generated/entities/sales_quote_line/index.js.map +1 -1
- package/dist/generated/entities/sales_return/index.js.map +1 -1
- package/dist/generated/entities/sales_return_line/index.js.map +1 -1
- package/dist/generated/entities/sales_settings/index.js.map +1 -1
- package/dist/generated/entities/sales_shipment/index.js.map +1 -1
- package/dist/generated/entities/sales_shipment_item/index.js.map +1 -1
- package/dist/generated/entities/sales_shipping_method/index.js.map +1 -1
- package/dist/generated/entities/sales_tax_rate/index.js.map +1 -1
- package/dist/generated/entities/search_token/index.js.map +1 -1
- package/dist/generated/entities/session/index.js.map +1 -1
- package/dist/generated/entities/staff_leave_request/index.js.map +1 -1
- package/dist/generated/entities/staff_team/index.js.map +1 -1
- package/dist/generated/entities/staff_team_member/index.js.map +1 -1
- package/dist/generated/entities/staff_team_member_activity/index.js.map +1 -1
- package/dist/generated/entities/staff_team_member_address/index.js.map +1 -1
- package/dist/generated/entities/staff_team_member_comment/index.js.map +1 -1
- package/dist/generated/entities/staff_team_member_job_history/index.js.map +1 -1
- package/dist/generated/entities/staff_team_role/index.js.map +1 -1
- package/dist/generated/entities/step_instance/index.js.map +1 -1
- package/dist/generated/entities/sync_cursor/index.js.map +1 -1
- package/dist/generated/entities/sync_external_id_mapping/index.js.map +1 -1
- package/dist/generated/entities/sync_mapping/index.js.map +1 -1
- package/dist/generated/entities/sync_run/index.js.map +1 -1
- package/dist/generated/entities/sync_schedule/index.js.map +1 -1
- package/dist/generated/entities/tenant/index.js.map +1 -1
- package/dist/generated/entities/upgrade_action_run/index.js.map +1 -1
- package/dist/generated/entities/user/index.js.map +1 -1
- package/dist/generated/entities/user_acl/index.js.map +1 -1
- package/dist/generated/entities/user_consent/index.js.map +1 -1
- package/dist/generated/entities/user_role/index.js.map +1 -1
- package/dist/generated/entities/user_sidebar_preference/index.js.map +1 -1
- package/dist/generated/entities/user_task/index.js.map +1 -1
- package/dist/generated/entities/webhook_processed_event/index.js.map +1 -1
- package/dist/generated/entities/workflow_definition/index.js.map +1 -1
- package/dist/generated/entities/workflow_event/index.js.map +1 -1
- package/dist/generated/entities/workflow_event_trigger/index.js.map +1 -1
- package/dist/generated/entities/workflow_instance/index.js.map +1 -1
- package/dist/generated/entities.ids.generated.js +1 -2
- package/dist/generated/entities.ids.generated.js.map +2 -2
- package/dist/generated/entity-fields-registry.js +2585 -316
- package/dist/generated/entity-fields-registry.js.map +2 -2
- package/dist/helpers/integration/auth.js +23 -0
- package/dist/helpers/integration/auth.js.map +2 -2
- package/dist/helpers/integration/salesUi.js +261 -28
- package/dist/helpers/integration/salesUi.js.map +3 -3
- package/dist/modules/api_docs/frontend/docs/api/page.js +10 -10
- package/dist/modules/api_docs/frontend/docs/api/page.js.map +2 -2
- package/dist/modules/auth/api/admin/nav.js +5 -3
- package/dist/modules/auth/api/admin/nav.js.map +2 -2
- package/dist/modules/auth/lib/backendChrome.js +28 -1
- package/dist/modules/auth/lib/backendChrome.js.map +2 -2
- package/dist/modules/catalog/api/products/route.js +23 -6
- package/dist/modules/catalog/api/products/route.js.map +2 -2
- package/dist/modules/configs/lib/system-status.js +1 -1
- package/dist/modules/configs/lib/system-status.js.map +1 -1
- package/dist/modules/customers/backend/customers/deals/[id]/page.js +226 -221
- package/dist/modules/customers/backend/customers/deals/[id]/page.js.map +2 -2
- package/dist/modules/customers/commands/companies.js +14 -0
- package/dist/modules/customers/commands/companies.js.map +2 -2
- package/dist/modules/customers/commands/people.js +18 -1
- package/dist/modules/customers/commands/people.js.map +2 -2
- package/dist/modules/entities/backend/entities/user/[entityId]/records/create/page.js +0 -1
- package/dist/modules/entities/backend/entities/user/[entityId]/records/create/page.js.map +2 -2
- package/dist/modules/query_index/lib/engine.js +2 -2
- package/dist/modules/query_index/lib/engine.js.map +2 -2
- package/generated/entities/access_log/index.ts +11 -11
- package/generated/entities/action_log/index.ts +20 -20
- package/generated/entities/api_key/index.ts +17 -17
- package/generated/entities/attachment/index.ts +15 -15
- package/generated/entities/attachment_partition/index.ts +11 -11
- package/generated/entities/business_rule/index.ts +23 -23
- package/generated/entities/carrier_shipment/index.ts +17 -17
- package/generated/entities/catalog_offer/index.ts +15 -15
- package/generated/entities/catalog_option_schema_template/index.ts +12 -12
- package/generated/entities/catalog_price_kind/index.ts +13 -13
- package/generated/entities/catalog_product/index.ts +39 -39
- package/generated/entities/catalog_product_category/index.ts +19 -19
- package/generated/entities/catalog_product_category_assignment/index.ts +8 -8
- package/generated/entities/catalog_product_price/index.ts +25 -25
- package/generated/entities/catalog_product_tag/index.ts +8 -8
- package/generated/entities/catalog_product_tag_assignment/index.ts +7 -7
- package/generated/entities/catalog_product_unit_conversion/index.ts +12 -12
- package/generated/entities/catalog_product_variant/index.ts +24 -24
- package/generated/entities/catalog_product_variant_relation/index.ts +14 -14
- package/generated/entities/currency/index.ts +14 -14
- package/generated/entities/currency_fetch_config/index.ts +13 -13
- package/generated/entities/custom_entity/index.ts +13 -13
- package/generated/entities/custom_entity_storage/index.ts +9 -9
- package/generated/entities/custom_field_def/index.ts +11 -11
- package/generated/entities/custom_field_entity_config/index.ts +9 -9
- package/generated/entities/custom_field_value/index.ts +13 -13
- package/generated/entities/customer_activity/index.ts +14 -14
- package/generated/entities/customer_address/index.ts +20 -20
- package/generated/entities/customer_comment/index.ts +12 -12
- package/generated/entities/customer_company_profile/index.ts +13 -13
- package/generated/entities/customer_deal/index.ts +22 -22
- package/generated/entities/customer_deal_company_link/index.ts +4 -4
- package/generated/entities/customer_deal_person_link/index.ts +5 -5
- package/generated/entities/customer_dictionary_entry/index.ts +11 -11
- package/generated/entities/customer_entity/index.ts +32 -32
- package/generated/entities/customer_interaction/index.ts +20 -20
- package/generated/entities/customer_person_profile/index.ts +16 -16
- package/generated/entities/customer_pipeline/index.ts +7 -7
- package/generated/entities/customer_pipeline_stage/index.ts +8 -8
- package/generated/entities/customer_role/index.ts +12 -12
- package/generated/entities/customer_role_acl/index.ts +8 -8
- package/generated/entities/customer_settings/index.ts +6 -6
- package/generated/entities/customer_tag/index.ts +10 -10
- package/generated/entities/customer_tag_assignment/index.ts +6 -6
- package/generated/entities/customer_todo_link/index.ts +8 -8
- package/generated/entities/customer_user/index.ts +17 -17
- package/generated/entities/customer_user_acl/index.ts +8 -8
- package/generated/entities/customer_user_email_verification/index.ts +7 -7
- package/generated/entities/customer_user_invitation/index.ts +15 -15
- package/generated/entities/customer_user_password_reset/index.ts +6 -6
- package/generated/entities/customer_user_role/index.ts +5 -5
- package/generated/entities/customer_user_session/index.ts +9 -9
- package/generated/entities/dashboard_layout/index.ts +8 -8
- package/generated/entities/dashboard_role_widgets/index.ts +8 -8
- package/generated/entities/dashboard_user_widgets/index.ts +9 -9
- package/generated/entities/dictionary/index.ts +12 -12
- package/generated/entities/dictionary_entry/index.ts +11 -11
- package/generated/entities/encryption_map/index.ts +9 -9
- package/generated/entities/entity_index_coverage/index.ts +9 -9
- package/generated/entities/entity_index_job/index.ts +12 -12
- package/generated/entities/entity_index_row/index.ts +11 -11
- package/generated/entities/entity_translation/index.ts +8 -8
- package/generated/entities/exchange_rate/index.ts +13 -13
- package/generated/entities/feature_toggle/index.ts +10 -10
- package/generated/entities/feature_toggle_override/index.ts +6 -6
- package/generated/entities/gateway_transaction/index.ts +22 -22
- package/generated/entities/inbox_discrepancy/index.ts +15 -15
- package/generated/entities/inbox_email/index.ts +26 -26
- package/generated/entities/inbox_proposal/index.ts +22 -22
- package/generated/entities/inbox_proposal_action/index.ts +23 -23
- package/generated/entities/inbox_settings/index.ts +9 -9
- package/generated/entities/indexer_error_log/index.ts +11 -11
- package/generated/entities/indexer_status_log/index.ts +11 -11
- package/generated/entities/integration_credentials/index.ts +8 -8
- package/generated/entities/integration_log/index.ts +12 -12
- package/generated/entities/integration_state/index.ts +12 -12
- package/generated/entities/message/index.ts +31 -31
- package/generated/entities/message_access_token/index.ts +8 -8
- package/generated/entities/message_confirmation/index.ts +9 -9
- package/generated/entities/message_object/index.ts +10 -10
- package/generated/entities/message_recipient/index.ts +14 -14
- package/generated/entities/module_config/index.ts +6 -6
- package/generated/entities/notification/index.ts +27 -27
- package/generated/entities/organization/index.ts +15 -15
- package/generated/entities/password_reset/index.ts +7 -7
- package/generated/entities/perspective/index.ts +11 -11
- package/generated/entities/planner_availability_rule/index.ts +15 -15
- package/generated/entities/planner_availability_rule_set/index.ts +9 -9
- package/generated/entities/progress_job/index.ts +27 -27
- package/generated/entities/resources_resource/index.ts +18 -18
- package/generated/entities/resources_resource_activity/index.ts +13 -13
- package/generated/entities/resources_resource_comment/index.ts +11 -11
- package/generated/entities/resources_resource_tag/index.ts +10 -10
- package/generated/entities/resources_resource_tag_assignment/index.ts +7 -7
- package/generated/entities/resources_resource_type/index.ts +10 -10
- package/generated/entities/role/index.ts +5 -5
- package/generated/entities/role_acl/index.ts +9 -9
- package/generated/entities/role_perspective/index.ts +11 -11
- package/generated/entities/role_sidebar_preference/index.ts +8 -8
- package/generated/entities/rule_execution_log/index.ts +13 -13
- package/generated/entities/rule_set/index.ts +12 -12
- package/generated/entities/rule_set_member/index.ts +8 -8
- package/generated/entities/sales_channel/index.ts +25 -25
- package/generated/entities/sales_credit_memo/index.ts +21 -21
- package/generated/entities/sales_credit_memo_line/index.ts +20 -20
- package/generated/entities/sales_delivery_window/index.ts +15 -15
- package/generated/entities/sales_document_address/index.ts +24 -24
- package/generated/entities/sales_document_sequence/index.ts +8 -8
- package/generated/entities/sales_document_tag/index.ts +10 -10
- package/generated/entities/sales_document_tag_assignment/index.ts +10 -10
- package/generated/entities/sales_invoice/index.ts +25 -25
- package/generated/entities/sales_invoice_line/index.ts +23 -23
- package/generated/entities/sales_note/index.ts +14 -14
- package/generated/entities/sales_order/index.ts +71 -71
- package/generated/entities/sales_order_adjustment/index.ts +20 -20
- package/generated/entities/sales_order_line/index.ts +44 -44
- package/generated/entities/sales_payment/index.ts +20 -20
- package/generated/entities/sales_payment_allocation/index.ts +9 -9
- package/generated/entities/sales_payment_method/index.ts +15 -15
- package/generated/entities/sales_quote/index.ts +56 -56
- package/generated/entities/sales_quote_adjustment/index.ts +20 -20
- package/generated/entities/sales_quote_line/index.ts +37 -37
- package/generated/entities/sales_return/index.ts +14 -14
- package/generated/entities/sales_return_line/index.ts +13 -13
- package/generated/entities/sales_settings/index.ts +10 -10
- package/generated/entities/sales_shipment/index.ts +24 -24
- package/generated/entities/sales_shipment_item/index.ts +7 -7
- package/generated/entities/sales_shipping_method/index.ts +19 -19
- package/generated/entities/sales_tax_rate/index.ts +22 -22
- package/generated/entities/search_token/index.ts +9 -9
- package/generated/entities/session/index.ts +7 -7
- package/generated/entities/staff_leave_request/index.ts +18 -18
- package/generated/entities/staff_team/index.ts +9 -9
- package/generated/entities/staff_team_member/index.ts +14 -14
- package/generated/entities/staff_team_member_activity/index.ts +13 -13
- package/generated/entities/staff_team_member_address/index.ts +20 -20
- package/generated/entities/staff_team_member_comment/index.ts +11 -11
- package/generated/entities/staff_team_member_job_history/index.ts +11 -11
- package/generated/entities/staff_team_role/index.ts +11 -11
- package/generated/entities/step_instance/index.ts +17 -17
- package/generated/entities/sync_cursor/index.ts +8 -8
- package/generated/entities/sync_external_id_mapping/index.ts +12 -12
- package/generated/entities/sync_mapping/index.ts +8 -8
- package/generated/entities/sync_run/index.ts +21 -21
- package/generated/entities/sync_schedule/index.ts +16 -16
- package/generated/entities/tenant/index.ts +7 -7
- package/generated/entities/upgrade_action_run/index.ts +7 -7
- package/generated/entities/user/index.ts +11 -11
- package/generated/entities/user_acl/index.ts +9 -9
- package/generated/entities/user_consent/index.ts +14 -14
- package/generated/entities/user_role/index.ts +5 -5
- package/generated/entities/user_sidebar_preference/index.ts +9 -9
- package/generated/entities/user_task/index.ts +22 -22
- package/generated/entities/webhook_processed_event/index.ts +7 -7
- package/generated/entities/workflow_definition/index.ts +17 -17
- package/generated/entities/workflow_event/index.ts +9 -9
- package/generated/entities/workflow_event_trigger/index.ts +15 -15
- package/generated/entities/workflow_instance/index.ts +22 -22
- package/generated/entities.ids.generated.ts +258 -258
- package/generated/entity-fields-registry.ts +2587 -319
- package/package.json +3 -3
- package/src/helpers/integration/auth.ts +22 -0
- package/src/helpers/integration/salesUi.ts +397 -29
- package/src/modules/api_docs/frontend/docs/api/page.tsx +14 -11
- package/src/modules/auth/api/admin/nav.ts +5 -4
- package/src/modules/auth/lib/backendChrome.tsx +36 -3
- package/src/modules/catalog/api/products/route.ts +25 -6
- package/src/modules/configs/lib/system-status.ts +1 -1
- package/src/modules/customers/backend/customers/deals/[id]/page.tsx +1 -1
- package/src/modules/customers/commands/companies.ts +15 -0
- package/src/modules/customers/commands/people.ts +19 -1
- package/src/modules/entities/backend/entities/user/[entityId]/records/create/page.tsx +0 -1
- package/src/modules/query_index/lib/engine.ts +1 -2
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { NextResponse } from 'next/server'
|
|
2
2
|
import type { OpenApiRouteDoc } from '@open-mercato/shared/lib/openapi'
|
|
3
3
|
import { z } from 'zod'
|
|
4
|
-
import {
|
|
4
|
+
import { resolveTranslations } from '@open-mercato/shared/lib/i18n/server'
|
|
5
5
|
import { getAuthFromRequest } from '@open-mercato/shared/lib/auth/server'
|
|
6
6
|
import { createRequestContainer } from '@open-mercato/shared/lib/di/container'
|
|
7
|
+
import { getBackendRouteManifests } from '@open-mercato/shared/modules/registry'
|
|
7
8
|
import { resolveFeatureCheckContext } from '@open-mercato/core/modules/directory/utils/organizationScope'
|
|
8
|
-
import { resolveBackendChromePayload } from '../../lib/backendChrome'
|
|
9
|
+
import { groupBackendRoutesByModule, resolveBackendChromePayload } from '../../lib/backendChrome'
|
|
9
10
|
|
|
10
11
|
export const metadata = {
|
|
11
12
|
GET: { requireAuth: true },
|
|
@@ -94,7 +95,6 @@ export async function GET(req: Request) {
|
|
|
94
95
|
get?: (key: string) => Promise<unknown>
|
|
95
96
|
set?: (key: string, value: unknown, options?: { tags?: string[] }) => Promise<void>
|
|
96
97
|
} | null
|
|
97
|
-
|
|
98
98
|
let selectedOrganizationId: string | null | undefined
|
|
99
99
|
let selectedTenantId: string | null | undefined
|
|
100
100
|
try {
|
|
@@ -138,8 +138,9 @@ export async function GET(req: Request) {
|
|
|
138
138
|
const payload = await resolveBackendChromePayload({
|
|
139
139
|
auth,
|
|
140
140
|
locale,
|
|
141
|
-
modules:
|
|
141
|
+
modules: groupBackendRoutesByModule(getBackendRouteManifests()),
|
|
142
142
|
translate: (key, fallback) => (key ? translate(key, fallback) : fallback),
|
|
143
|
+
request: req,
|
|
143
144
|
selectedOrganizationId,
|
|
144
145
|
selectedTenantId,
|
|
145
146
|
})
|
|
@@ -3,7 +3,7 @@ import type { FilterQuery } from '@mikro-orm/core'
|
|
|
3
3
|
import type { EntityManager } from '@mikro-orm/postgresql'
|
|
4
4
|
import type { AwilixContainer } from 'awilix'
|
|
5
5
|
import type { AuthContext } from '@open-mercato/shared/lib/auth/server'
|
|
6
|
-
import type {
|
|
6
|
+
import type { BackendRouteManifestEntry } from '@open-mercato/shared/modules/registry'
|
|
7
7
|
import type {
|
|
8
8
|
BackendChromePayload,
|
|
9
9
|
BackendChromeNavGroup,
|
|
@@ -32,7 +32,21 @@ import type { SidebarPreferencesSettings } from '@open-mercato/shared/modules/na
|
|
|
32
32
|
|
|
33
33
|
type TranslationFn = (key: string | undefined, fallback: string) => string
|
|
34
34
|
|
|
35
|
-
type RouteModule =
|
|
35
|
+
type RouteModule = {
|
|
36
|
+
id: string
|
|
37
|
+
backendRoutes?: BackendRouteManifestEntry[]
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function groupBackendRoutesByModule(routes: BackendRouteManifestEntry[]): RouteModule[] {
|
|
41
|
+
return Array.from(
|
|
42
|
+
routes.reduce((grouped, route) => {
|
|
43
|
+
const list = grouped.get(route.moduleId) ?? []
|
|
44
|
+
list.push(route)
|
|
45
|
+
grouped.set(route.moduleId, list)
|
|
46
|
+
return grouped
|
|
47
|
+
}, new Map<string, BackendRouteManifestEntry[]>()),
|
|
48
|
+
).map(([id, backendRoutes]) => ({ id, backendRoutes }))
|
|
49
|
+
}
|
|
36
50
|
|
|
37
51
|
type SerializableSectionItem = {
|
|
38
52
|
id: string
|
|
@@ -62,6 +76,7 @@ type ResolveBackendChromePayloadArgs = {
|
|
|
62
76
|
locale: string
|
|
63
77
|
modules: RouteModule[]
|
|
64
78
|
translate: TranslationFn
|
|
79
|
+
request?: Request
|
|
65
80
|
selectedOrganizationId?: string | null
|
|
66
81
|
selectedTenantId?: string | null
|
|
67
82
|
}
|
|
@@ -219,6 +234,7 @@ export async function resolveBackendChromePayload({
|
|
|
219
234
|
locale,
|
|
220
235
|
modules,
|
|
221
236
|
translate,
|
|
237
|
+
request,
|
|
222
238
|
selectedOrganizationId,
|
|
223
239
|
selectedTenantId,
|
|
224
240
|
}: ResolveBackendChromePayloadArgs): Promise<BackendChromePayload> {
|
|
@@ -229,6 +245,7 @@ export async function resolveBackendChromePayload({
|
|
|
229
245
|
isSuperAdmin: boolean
|
|
230
246
|
features: string[]
|
|
231
247
|
}>
|
|
248
|
+
userHasAllFeatures: (userId: string, required: string[], scope: { tenantId: string | null; organizationId: string | null }) => Promise<boolean>
|
|
232
249
|
}
|
|
233
250
|
|
|
234
251
|
let scopedOrganizationId: string | null = auth.orgId ?? null
|
|
@@ -239,6 +256,7 @@ export async function resolveBackendChromePayload({
|
|
|
239
256
|
const { organizationId, scope, allowedOrganizationIds } = await resolveFeatureCheckContext({
|
|
240
257
|
container,
|
|
241
258
|
auth,
|
|
259
|
+
request,
|
|
242
260
|
selectedId: selectedOrganizationId,
|
|
243
261
|
tenantId: selectedTenantId,
|
|
244
262
|
})
|
|
@@ -260,7 +278,22 @@ export async function resolveBackendChromePayload({
|
|
|
260
278
|
: { isSuperAdmin: false, features: [] }
|
|
261
279
|
|
|
262
280
|
const grantedFeatures = acl.isSuperAdmin ? ['*'] : acl.features
|
|
263
|
-
const featureChecker = async (): Promise<string[]> =>
|
|
281
|
+
const featureChecker = async (features: string[]): Promise<string[]> => {
|
|
282
|
+
if (!allowNavigation || !features.length) return []
|
|
283
|
+
const context = {
|
|
284
|
+
tenantId: scopedTenantId ?? auth.tenantId ?? null,
|
|
285
|
+
organizationId: scopedOrganizationId ?? null,
|
|
286
|
+
}
|
|
287
|
+
const hasAll = await rbac.userHasAllFeatures(auth.sub, features, context)
|
|
288
|
+
if (hasAll) return features
|
|
289
|
+
|
|
290
|
+
const granted: string[] = []
|
|
291
|
+
for (const feature of features) {
|
|
292
|
+
const hasFeature = await rbac.userHasAllFeatures(auth.sub, [feature], context)
|
|
293
|
+
if (hasFeature) granted.push(feature)
|
|
294
|
+
}
|
|
295
|
+
return granted
|
|
296
|
+
}
|
|
264
297
|
|
|
265
298
|
let userEntities: Array<{ entityId: string; label: string; href: string }> = []
|
|
266
299
|
if (allowNavigation) {
|
|
@@ -179,16 +179,35 @@ export async function buildProductFilters(
|
|
|
179
179
|
if (query.productType) {
|
|
180
180
|
filters.product_type = { $eq: query.productType };
|
|
181
181
|
}
|
|
182
|
-
const term = sanitizeSearchTerm(query.search);
|
|
183
|
-
if (term) {
|
|
184
|
-
filters.search_text = {
|
|
185
|
-
$ilike: `%${escapeLikePattern(term)}%`,
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
182
|
const scope = {
|
|
189
183
|
organizationId: ctx.selectedOrganizationId ?? ctx.auth?.orgId ?? null,
|
|
190
184
|
tenantId: ctx.auth?.tenantId ?? null,
|
|
191
185
|
};
|
|
186
|
+
const term = sanitizeSearchTerm(query.search);
|
|
187
|
+
if (term) {
|
|
188
|
+
const like = `%${escapeLikePattern(term)}%`;
|
|
189
|
+
const searchMatches = await findWithDecryption(
|
|
190
|
+
em,
|
|
191
|
+
CatalogProduct,
|
|
192
|
+
{
|
|
193
|
+
...scope,
|
|
194
|
+
...(query.withDeleted ? {} : { deletedAt: null }),
|
|
195
|
+
$or: [
|
|
196
|
+
{ title: { $ilike: like } },
|
|
197
|
+
{ subtitle: { $ilike: like } },
|
|
198
|
+
{ description: { $ilike: like } },
|
|
199
|
+
{ sku: { $ilike: like } },
|
|
200
|
+
{ handle: { $ilike: like } },
|
|
201
|
+
],
|
|
202
|
+
},
|
|
203
|
+
{ fields: ["id"] },
|
|
204
|
+
scope,
|
|
205
|
+
);
|
|
206
|
+
const productIds = searchMatches
|
|
207
|
+
.map((product) => product.id)
|
|
208
|
+
.filter((id): id is string => typeof id === "string" && id.length > 0);
|
|
209
|
+
intersectProductIds(productIds);
|
|
210
|
+
}
|
|
192
211
|
|
|
193
212
|
const channelFilterIds = parseIdList(query.channelIds);
|
|
194
213
|
if (channelFilterIds.length) {
|
|
@@ -273,7 +273,7 @@ export const SYSTEM_STATUS_VARIABLES: SystemStatusVariableDefinition[] = [
|
|
|
273
273
|
labelKey: 'configs.systemStatus.variables.forceQueryIndexOnPartialIndexes.label',
|
|
274
274
|
descriptionKey: 'configs.systemStatus.variables.forceQueryIndexOnPartialIndexes.description',
|
|
275
275
|
docUrl: `${SYSTEM_STATUS_DOC_BASE}#force_query_index_on_partial_indexes`,
|
|
276
|
-
defaultValue: '
|
|
276
|
+
defaultValue: 'false',
|
|
277
277
|
},
|
|
278
278
|
{
|
|
279
279
|
key: 'ENTITIES_BACKCOMPAT_EAV_FOR_CUSTOM',
|
|
@@ -401,7 +401,7 @@ export default function DealDetailPage({ params }: { params?: { id?: string } })
|
|
|
401
401
|
|
|
402
402
|
return (
|
|
403
403
|
<Page>
|
|
404
|
-
<PageBody>
|
|
404
|
+
<PageBody>Piotr nie jest pizdą, tylko zajebistym gościem, który robi świetną robotę w Mercato i jest super miły dla wszystkich dookoła. Dzięki Piotrze za wszystko co robisz! <br/><br/>
|
|
405
405
|
<div className="flex flex-col gap-6">
|
|
406
406
|
<FormHeader
|
|
407
407
|
mode="detail"
|
|
@@ -69,6 +69,15 @@ const companyCrudEvents: CrudEventsConfig = {
|
|
|
69
69
|
}),
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
function companyEntityIndexEntry(entity: CustomerEntity): QueryIndexEventEntry {
|
|
73
|
+
return {
|
|
74
|
+
entityType: E.customers.customer_entity,
|
|
75
|
+
recordId: entity.id,
|
|
76
|
+
tenantId: entity.tenantId,
|
|
77
|
+
organizationId: entity.organizationId,
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
72
81
|
type CompanyAddressSnapshot = {
|
|
73
82
|
id: string
|
|
74
83
|
name: string | null
|
|
@@ -462,6 +471,7 @@ const createCompanyCommand: CommandHandler<CompanyCreateInput, { entityId: strin
|
|
|
462
471
|
indexer: companyCrudIndexer,
|
|
463
472
|
events: companyCrudEvents,
|
|
464
473
|
})
|
|
474
|
+
await emitQueryIndexUpsertEvents(ctx, [companyEntityIndexEntry(entity)])
|
|
465
475
|
|
|
466
476
|
return { entityId: entity.id, companyId: profile.id }
|
|
467
477
|
},
|
|
@@ -513,6 +523,7 @@ const createCompanyCommand: CommandHandler<CompanyCreateInput, { entityId: strin
|
|
|
513
523
|
indexer: companyCrudIndexer,
|
|
514
524
|
events: companyCrudEvents,
|
|
515
525
|
})
|
|
526
|
+
await emitQueryIndexDeleteEvents(ctx, [companyEntityIndexEntry(entity)])
|
|
516
527
|
},
|
|
517
528
|
}
|
|
518
529
|
|
|
@@ -587,6 +598,7 @@ const updateCompanyCommand: CommandHandler<CompanyUpdateInput, { entityId: strin
|
|
|
587
598
|
indexer: companyCrudIndexer,
|
|
588
599
|
events: companyCrudEvents,
|
|
589
600
|
})
|
|
601
|
+
await emitQueryIndexUpsertEvents(ctx, [companyEntityIndexEntry(record)])
|
|
590
602
|
|
|
591
603
|
return { entityId: record.id }
|
|
592
604
|
},
|
|
@@ -746,6 +758,7 @@ const updateCompanyCommand: CommandHandler<CompanyUpdateInput, { entityId: strin
|
|
|
746
758
|
indexer: companyCrudIndexer,
|
|
747
759
|
events: companyCrudEvents,
|
|
748
760
|
})
|
|
761
|
+
await emitQueryIndexUpsertEvents(ctx, [companyEntityIndexEntry(entity)])
|
|
749
762
|
|
|
750
763
|
const resetValues = buildCustomFieldResetMap(before.custom, payload?.after?.custom)
|
|
751
764
|
if (Object.keys(resetValues).length) {
|
|
@@ -864,6 +877,7 @@ const deleteCompanyCommand: CommandHandler<{ body?: Record<string, unknown>; que
|
|
|
864
877
|
events: companyCrudEvents,
|
|
865
878
|
})
|
|
866
879
|
|
|
880
|
+
await emitQueryIndexDeleteEvents(ctx, [companyEntityIndexEntry(record)])
|
|
867
881
|
await emitQueryIndexDeleteEvents(ctx, indexDeletes)
|
|
868
882
|
await emitQueryIndexUpsertEvents(ctx, memberUpserts)
|
|
869
883
|
await emitQueryIndexUpsertEvents(ctx, dealUpserts)
|
|
@@ -1222,6 +1236,7 @@ const deleteCompanyCommand: CommandHandler<{ body?: Record<string, unknown>; que
|
|
|
1222
1236
|
if (Object.keys(resetValues).length) {
|
|
1223
1237
|
await setCompanyCustomFields(ctx, profile.id, entity.organizationId, entity.tenantId, resetValues)
|
|
1224
1238
|
}
|
|
1239
|
+
await emitQueryIndexUpsertEvents(ctx, [companyEntityIndexEntry(entity)])
|
|
1225
1240
|
await emitQueryIndexUpsertEvents(ctx, childUpserts)
|
|
1226
1241
|
await emitQueryIndexUpsertEvents(ctx, memberUpserts)
|
|
1227
1242
|
await emitQueryIndexUpsertEvents(ctx, dealUpserts)
|
|
@@ -192,6 +192,15 @@ const personCrudEvents: CrudEventsConfig = {
|
|
|
192
192
|
}),
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
+
function personEntityIndexEntry(entity: CustomerEntity): QueryIndexEventEntry {
|
|
196
|
+
return {
|
|
197
|
+
entityType: E.customers.customer_entity,
|
|
198
|
+
recordId: entity.id,
|
|
199
|
+
tenantId: entity.tenantId,
|
|
200
|
+
organizationId: entity.organizationId,
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
195
204
|
function normalizeOptionalString(value: string | null | undefined): string | null {
|
|
196
205
|
if (typeof value !== 'string') return null
|
|
197
206
|
const trimmed = value.trim()
|
|
@@ -591,6 +600,7 @@ const createPersonCommand: CommandHandler<PersonCreateInput, { entityId: string;
|
|
|
591
600
|
indexer: personCrudIndexer,
|
|
592
601
|
events: personCrudEvents,
|
|
593
602
|
})
|
|
603
|
+
await emitQueryIndexUpsertEvents(ctx, [personEntityIndexEntry(entity)])
|
|
594
604
|
|
|
595
605
|
return { entityId: entity.id, personId: profile.id }
|
|
596
606
|
},
|
|
@@ -643,6 +653,7 @@ const createPersonCommand: CommandHandler<PersonCreateInput, { entityId: string;
|
|
|
643
653
|
indexer: personCrudIndexer,
|
|
644
654
|
events: personCrudEvents,
|
|
645
655
|
})
|
|
656
|
+
await emitQueryIndexDeleteEvents(ctx, [personEntityIndexEntry(entity)])
|
|
646
657
|
},
|
|
647
658
|
}
|
|
648
659
|
|
|
@@ -769,6 +780,7 @@ const updatePersonCommand: CommandHandler<PersonUpdateInput, { entityId: string
|
|
|
769
780
|
indexer: personCrudIndexer,
|
|
770
781
|
events: personCrudEvents,
|
|
771
782
|
})
|
|
783
|
+
await emitQueryIndexUpsertEvents(ctx, [personEntityIndexEntry(record)])
|
|
772
784
|
|
|
773
785
|
return { entityId: record.id }
|
|
774
786
|
},
|
|
@@ -895,11 +907,12 @@ const updatePersonCommand: CommandHandler<PersonUpdateInput, { entityId: string
|
|
|
895
907
|
await em.flush()
|
|
896
908
|
}
|
|
897
909
|
|
|
910
|
+
const indexedEntity = await em.findOne(CustomerEntity, { id: before.entity.id })
|
|
898
911
|
const de = (ctx.container.resolve('dataEngine') as DataEngine)
|
|
899
912
|
await emitCrudUndoSideEffects({
|
|
900
913
|
dataEngine: de,
|
|
901
914
|
action: 'updated',
|
|
902
|
-
entity:
|
|
915
|
+
entity: indexedEntity,
|
|
903
916
|
identifiers: {
|
|
904
917
|
id: before.profile.id ?? before.entity.id,
|
|
905
918
|
organizationId: before.entity.organizationId,
|
|
@@ -908,6 +921,9 @@ const updatePersonCommand: CommandHandler<PersonUpdateInput, { entityId: string
|
|
|
908
921
|
indexer: personCrudIndexer,
|
|
909
922
|
events: personCrudEvents,
|
|
910
923
|
})
|
|
924
|
+
if (indexedEntity) {
|
|
925
|
+
await emitQueryIndexUpsertEvents(ctx, [personEntityIndexEntry(indexedEntity)])
|
|
926
|
+
}
|
|
911
927
|
|
|
912
928
|
const resetValues = buildCustomFieldResetMap(before.custom, payload?.after?.custom)
|
|
913
929
|
if (Object.keys(resetValues).length) {
|
|
@@ -1014,6 +1030,7 @@ const deletePersonCommand: CommandHandler<{ body?: Record<string, unknown>; quer
|
|
|
1014
1030
|
events: personCrudEvents,
|
|
1015
1031
|
})
|
|
1016
1032
|
|
|
1033
|
+
await emitQueryIndexDeleteEvents(ctx, [personEntityIndexEntry(record)])
|
|
1017
1034
|
await emitQueryIndexDeleteEvents(ctx, indexDeletes)
|
|
1018
1035
|
await emitQueryIndexUpsertEvents(ctx, dealUpserts)
|
|
1019
1036
|
return { entityId: record.id }
|
|
@@ -1354,6 +1371,7 @@ const deletePersonCommand: CommandHandler<{ body?: Record<string, unknown>; quer
|
|
|
1354
1371
|
if (Object.keys(resetValues).length) {
|
|
1355
1372
|
await setCustomFieldsForPerson(ctx, entity.id, profile.id, entity.organizationId, entity.tenantId, resetValues)
|
|
1356
1373
|
}
|
|
1374
|
+
await emitQueryIndexUpsertEvents(ctx, [personEntityIndexEntry(entity)])
|
|
1357
1375
|
await emitQueryIndexUpsertEvents(ctx, upsertEntries)
|
|
1358
1376
|
await emitQueryIndexUpsertEvents(ctx, dealUpserts)
|
|
1359
1377
|
},
|
|
@@ -50,7 +50,6 @@ export default function CreateRecordPage({ params }: { params: { entityId?: stri
|
|
|
50
50
|
customEntity
|
|
51
51
|
submitLabel={t('entities.userEntities.records.form.submitCreate', 'Create')}
|
|
52
52
|
cancelHref={`/backend/entities/user/${encodeURIComponent(entityId)}/records`}
|
|
53
|
-
successRedirect={`/backend/entities/user/${encodeURIComponent(entityId)}/records`}
|
|
54
53
|
onSubmit={async (values) => {
|
|
55
54
|
await submitCustomEntityRecord({
|
|
56
55
|
entityId,
|
|
@@ -239,7 +239,6 @@ export class HybridQueryEngine implements QueryEngine {
|
|
|
239
239
|
const wantsCf = (
|
|
240
240
|
(opts.fields || []).some((field) => typeof field === 'string' && (field.startsWith('cf:') || field.startsWith('l10n:'))) ||
|
|
241
241
|
cfFilters.length > 0 ||
|
|
242
|
-
opts.includeCustomFields === true ||
|
|
243
242
|
(Array.isArray(opts.includeCustomFields) && opts.includeCustomFields.length > 0)
|
|
244
243
|
)
|
|
245
244
|
|
|
@@ -2081,7 +2080,7 @@ export class HybridQueryEngine implements QueryEngine {
|
|
|
2081
2080
|
|
|
2082
2081
|
private isForcePartialIndexEnabled(): boolean {
|
|
2083
2082
|
if (this.forcePartialIndexEnabled != null) return this.forcePartialIndexEnabled
|
|
2084
|
-
this.forcePartialIndexEnabled = resolveBooleanEnv(['FORCE_QUERY_INDEX_ON_PARTIAL_INDEXES'],
|
|
2083
|
+
this.forcePartialIndexEnabled = resolveBooleanEnv(['FORCE_QUERY_INDEX_ON_PARTIAL_INDEXES'], false)
|
|
2085
2084
|
return this.forcePartialIndexEnabled
|
|
2086
2085
|
}
|
|
2087
2086
|
|