From f8e388ea57b8fd3c91ffa61bf124f69d2591e0d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Tue, 23 Dec 2025 13:11:52 +0100 Subject: [PATCH 01/11] Added plugin --- plugins.yml | 7 +++++++ requirements.txt | 1 + 2 files changed, 8 insertions(+) diff --git a/plugins.yml b/plugins.yml index da52e471b3..132402893a 100644 --- a/plugins.yml +++ b/plugins.yml @@ -564,3 +564,10 @@ plugins: 'ai_actions/install_ai_actions.md': 'ai_actions/configure_ai_actions.md' 'discounts/install_discounts.md': 'discounts/configure_discounts.md' 'content_management/collaborative_editing/install_collaborative_editing.md': 'content_management/collaborative_editing/configure_collaborative_editing.md' + + - llmstxt: + markdown_description: Ibexa Developer Documentation + full_output: llms-full.txt + sections: + Usage documentation: + - index.md diff --git a/requirements.txt b/requirements.txt index 962ce3391e..44d2b4ab8c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,3 +7,4 @@ mkdocs-macros-plugin==1.3.7 mkdocs-redirects==1.2.2 mkdocs-autolinks-plugin==0.7.1 Jinja2==3.1.6 +mkdocs-llmstxt From d8b8cca2f0542d1498ce78445fd979d2f5617361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Tue, 23 Dec 2025 13:32:36 +0100 Subject: [PATCH 02/11] Added script generating config --- plugins.yml | 1619 ++++++++++++++++++++++++-------------- update_llmstxt_config.py | 258 ++++++ 2 files changed, 1305 insertions(+), 572 deletions(-) create mode 100755 update_llmstxt_config.py diff --git a/plugins.yml b/plugins.yml index 132402893a..541d6108b8 100644 --- a/plugins.yml +++ b/plugins.yml @@ -1,573 +1,1048 @@ plugins: - - search - - autolinks - - macros: - j2_block_start_string: '[[%' - j2_block_end_string: '%]]' - j2_variable_start_string: '[[=' - j2_variable_end_string: '=]]' - - tags - - redirects: - redirect_maps: - 'api/field_types_reference/xmltextfield.md': 'content_management/field_types/field_type_reference/field_type_reference.md' - 'extending/extending_image_editor.md': 'content_management/images/extend_image_editor.md' - 'guide/configuration/config_connector.md': 'content_management/images/add_image_asset_from_dam.md' - 'guide/image_editor.md': 'content_management/images/configure_image_editor.md' - 'guide/images.md': 'content_management/images/images.md' - 'guide/config_back_office.md': 'administration/back_office/back_office_configuration.md' - 'guide/config_connector.md': 'content_management/images/add_image_asset_from_dam.md' - 'guide/config_dynamic.md': 'administration/configuration/dynamic_configuration.md' - 'guide/config_repository.md': 'administration/configuration/repository_configuration.md' - 'guide/configuration.md': 'administration/configuration/configuration.md' - 'guide/shop_configuration.md': 'commerce/commerce.md' - 'commerce/basket.md': 'commerce/commerce.md' - 'templating/layout/customize_basket.md': 'commerce/commerce.md' - 'guide/search/extend_solr.md': 'search/search_engines/solr_search_engine/solr_overview.md' - 'guide/search/extend_elasticsearch.md': 'search/search_engines/elasticsearch/elasticsearch_overview.md' - - 'api/public_php_api.md': 'api/php_api/php_api.md' - 'api/rest_api_usage.md': 'api/rest_api/rest_api_usage/rest_api_usage.md' - 'api/rest_api_requests.md': 'api/rest_api/rest_api_usage/rest_requests.md' - 'api/rest_api_responses.md': 'api/rest_api/rest_api_usage/rest_responses.md' - 'api/rest_api_testing.md': 'api/rest_api/rest_api_usage/testing_rest_api.md' - 'api/rest_api_extension_media_type.md': 'api/rest_api/extending_rest_api/adding_custom_media_type.md' - 'api/rest_api_extension_resource.md': 'api/rest_api/extending_rest_api/creating_new_rest_resource.md' - 'api/rest_api_authentication.md': 'api/rest_api/rest_api_authentication.md' - 'api/graphql.md': 'api/graphql/graphql.md' - 'api/graphql_queries.md': 'api/graphql/graphql_queries.md' - 'api/graphql_operations.md': 'api/graphql/graphql_operations.md' - 'api/graphql_customization.md': 'api/graphql/graphql_customization.md' - - 'guide/repository/event_reference/event_reference.md': 'api/event_reference/event_reference.md' - 'guide/repository/event_reference/content_events.md': 'api/event_reference/content_events.md' - 'guide/repository/event_reference/content_type_events.md': 'api/event_reference/content_type_events.md' - 'guide/repository/event_reference/location_events.md': 'api/event_reference/location_events.md' - 'guide/repository/event_reference/catalog_events.md': 'api/event_reference/catalog_events.md' - 'guide/repository/event_reference/language_events.md': 'api/event_reference/language_events.md' - 'guide/repository/event_reference/section_events.md': 'api/event_reference/section_events.md' - 'guide/repository/event_reference/object_state_events.md': 'api/event_reference/object_state_events.md' - 'guide/repository/event_reference/role_events.md': 'api/event_reference/role_events.md' - 'guide/repository/event_reference/user_events.md': 'api/event_reference/user_events.md' - 'guide/repository/event_reference/page_events.md': 'api/event_reference/page_events.md' - 'guide/repository/event_reference/site_events.md': 'api/event_reference/site_events.md' - 'guide/repository/event_reference/shop_events.md': 'api/event_reference/event_reference.md' - 'guide/repository/event_reference/url_events.md': 'api/event_reference/url_events.md' - 'guide/repository/event_reference/trash_events.md': 'api/event_reference/trash_events.md' - 'guide/repository/event_reference/other_events.md': 'api/event_reference/other_events.md' - - 'guide/project_organization.md': 'administration/project_organization/project_organization.md' - 'guide/architecture.md': 'administration/project_organization/architecture.md' - 'guide/bundles.md': 'administration/project_organization/bundles.md' - 'guide/admin_panel.md': 'administration/admin_panel/admin_panel.md' - 'administration/admin_panel.md': 'administration/admin_panel/admin_panel.md' - 'guide/configuration/configuration.md': 'administration/configuration/configuration.md' - 'guide/configuration/config_dynamic.md': 'administration/configuration/dynamic_configuration.md' - 'guide/configuration/config_repository.md': 'administration/configuration/repository_configuration.md' - - 'extending/extending_back_office.md': 'administration/back_office/back_office.md' - 'extending/config_back_office.md': 'administration/back_office/back_office_configuration.md' - 'extending/content_tree.md': 'administration/back_office/content_tree.md' - 'extending/reusable_back_office_templates.md': 'administration/back_office/back_office_elements/reusable_components.md' - 'extending/creating_custom_dropdowns.md': 'administration/back_office/back_office_elements/add_dropdowns.md' - 'extending/custom_icons.md': 'administration/back_office/back_office_elements/custom_icons.md' - 'extending/drag_and_drop.md': 'administration/back_office/back_office_elements/add_drag_and_drop.md' - 'extending/custom_components.md': 'administration/back_office/back_office_elements/custom_components.md' - 'extending/extending_date_and_time.md': 'administration/back_office/back_office_elements/formatting_date_and_time.md' - 'extending/extending_thumbnails.md': 'administration/back_office/back_office_elements/extending_thumbnails.md' - 'extending/import_assets_from_bundle.md': 'administration/back_office/back_office_elements/importing_assets_from_bundle.md' - 'extending/tabs/back_office_tabs.md': 'administration/back_office/back_office_tabs/back_office_tabs.md' - 'extending/tabs/add_dashboard_tab.md': 'administration/back_office/back_office_tabs/create_dashboard_tab.md' - 'extending/menus/back_office_menus.md': 'administration/back_office/back_office_menus/back_office_menus.md' - 'extending/menus/add_menu_item.md': 'administration/back_office/back_office_menus/add_menu_item.md' - 'extending/add_user_setting.md': 'administration/back_office/add_user_setting.md' - 'extending/customize_calendar.md': 'administration/back_office/customize_calendar.md' - 'extending/extending_udw.md': 'administration/back_office/browser/browser.md' - 'extending/add_udw_tab.md': 'administration/back_office/browser/add_browser_tab.md' - 'extending/extending_multifile_upload.md': 'administration/back_office/multifile_upload.md' - 'extending/extending_subitems_list.md': 'administration/back_office/subitems_list.md' - 'guide/sending_notifications.md': 'administration/back_office/notifications.md' - - 'guide/content_management.md': 'content_management/content_model.md' - 'guide/content_model.md': 'content_management/content_model.md' - 'guide/taxonomy/taxonomy.md': 'content_management/taxonomy/taxonomy.md' - 'guide/images/images.md': 'content_management/images/images.md' - 'guide/images/image_editor.md': 'content_management/images/configure_image_editor.md' - 'guide/images/extending_image_editor.md': 'content_management/images/extend_image_editor.md' - 'guide/images/config_connector.md': 'content_management/images/add_image_asset_from_dam.md' - 'extending/extending_online_editor.md': 'content_management/rich_text/extend_online_editor.md' - 'extending/richtext_block.md': 'content_management/rich_text/create_custom_richtext_block.md' - 'guide/file_management/file_management.md': 'content_management/file_management/file_management.md' - 'guide/file_management/binary_media_download.md': 'content_management/file_management/binary_and_media_download.md' - 'guide/file_management/handling_file_url.md': 'content_management/file_management/file_url_handling.md' - 'guide/page/page_blocks.md': 'content_management/pages/page_blocks.md' - 'guide/page/page_block_attributes.md': 'content_management/pages/page_block_attributes.md' - 'guide/page/page_block_validators.md': 'content_management/pages/page_block_validators.md' - 'guide/page/create_custom_page_block.md': 'content_management/pages/create_custom_page_block.md' - 'guide/form_builder/forms.md': 'content_management/forms/forms.md' - 'api/public_php_api_managing_forms.md': 'content_management/forms/form_api.md' - 'ibexa_products/experience.md': 'ibexa_products/ibexa_experience.md' - 'ibexa_products/headless.md': 'ibexa_products/ibexa_headless.md' - 'personalization/personalization_brochure.md': 'personalization/personalization_guide.md' - 'guide/form_builder/create_custom_form_field.md': 'content_management/forms/create_custom_form_field.md' - 'guide/form_builder/customize_email_notifications.md': 'content_management/forms/customize_email_notifications.md' - 'guide/workflow/workflow.md': 'content_management/workflow/workflow.md' - 'guide/workflow/add_custom_workflow_action.md': 'content_management/workflow/add_custom_workflow_action.md' - 'guide/url_management.md': 'content_management/url_management/url_management.md' - 'api/public_php_api_url_service.md': 'content_management/url_management/url_api.md' - 'guide/user_generated_content.md': 'content_management/user_generated_content.md' - - 'api/public_php_api_browsing.md': 'content_management/content_api/browsing_content.md' - 'api/public_php_api_creating_content.md': 'content_management/content_api/creating_content.md' - 'api/public_php_api_managing_content.md': 'content_management/content_api/managing_content.md' - - 'guide/data_migration/data_migration.md': 'content_management/data_migration/data_migration.md' - 'guide/data_migration/importing_data.md': 'content_management/data_migration/importing_data.md' - 'guide/data_migration/exporting_data.md': 'content_management/data_migration/exporting_data.md' - 'guide/data_migration/migration_management.md': 'content_management/data_migration/managing_migrations.md' - 'guide/data_migration/data_migration_actions.md': 'content_management/data_migration/data_migration_actions.md' - 'guide/data_migration/create_migration_action.md': 'content_management/data_migration/create_data_migration_action.md' - 'guide/data_migration/create_migration_step.md': 'content_management/data_migration/create_data_migration_step.md' - 'guide/data_migration/add_data_migration_matcher.md': 'content_management/data_migration/add_data_migration_matcher.md' - 'api/public_php_api_managing_migrations.md': 'content_management/data_migration/data_migration_api.md' - 'api/field_type_api.md': 'content_management/field_types/field_types.md' - 'api/field_type_type_and_value.md': 'content_management/field_types/type_and_value.md' - 'api/field_type_form_and_template.md': 'content_management/field_types/form_and_template.md' - 'api/field_type_storage.md': 'content_management/field_types/field_type_storage.md' - 'api/field_type_validation.md': 'content_management/field_types/field_type_validation.md' - 'api/field_type_search.md': 'content_management/field_types/field_type_search.md' - 'api/field_type/create_custom_generic_field_type.md': 'content_management/field_types/create_custom_generic_field_type.md' - 'api/field_type/create_custom_field_type_comparison.md': 'content_management/field_types/create_custom_field_type_comparison.md' - 'api/field_type_reference.md': 'content_management/field_types/field_type_reference/field_type_reference.md' - 'api/field_types_reference/authorfield.md': 'content_management/field_types/field_type_reference/authorfield.md' - 'api/field_types_reference/binaryfilefield.md': 'content_management/field_types/field_type_reference/binaryfilefield.md' - 'api/field_types_reference/checkboxfield.md': 'content_management/field_types/field_type_reference/checkboxfield.md' - 'api/field_types_reference/contentqueryfield.md': 'content_management/field_types/field_type_reference/contentqueryfield.md' - 'api/field_types_reference/countryfield.md': 'content_management/field_types/field_type_reference/countryfield.md' - 'api/field_types_reference/customergroupfield.md': 'content_management/field_types/field_type_reference/customergroupfield.md' - 'api/field_types_reference/dateandtimefield.md': 'content_management/field_types/field_type_reference/dateandtimefield.md' - 'api/field_types_reference/datefield.md': 'content_management/field_types/field_type_reference/datefield.md' - 'api/field_types_reference/emailaddressfield.md': 'content_management/field_types/field_type_reference/emailaddressfield.md' - 'api/field_types_reference/floatfield.md': 'content_management/field_types/field_type_reference/floatfield.md' - 'api/field_types_reference/formfield.md': 'content_management/field_types/field_type_reference/formfield.md' - 'api/field_types_reference/imagefield.md': 'content_management/field_types/field_type_reference/imagefield.md' - 'api/field_types_reference/imageassetfield.md': 'content_management/field_types/field_type_reference/imageassetfield.md' - 'api/field_types_reference/integerfield.md': 'content_management/field_types/field_type_reference/integerfield.md' - 'api/field_types_reference/isbnfield.md': 'content_management/field_types/field_type_reference/isbnfield.md' - 'api/field_types_reference/keywordfield.md': 'content_management/field_types/field_type_reference/keywordfield.md' - 'api/field_types_reference/maplocationfield.md': 'content_management/field_types/field_type_reference/maplocationfield.md' - 'api/field_types_reference/matrixfield.md': 'content_management/field_types/field_type_reference/matrixfield.md' - 'api/field_types_reference/measurementfield.md': 'content_management/field_types/field_type_reference/measurementfield.md' - 'api/field_types_reference/mediafield.md': 'content_management/field_types/field_type_reference/mediafield.md' - 'api/field_types_reference/nullfield.md': 'content_management/field_types/field_type_reference/nullfield.md' - 'api/field_types_reference/pagefield.md': 'content_management/field_types/field_type_reference/pagefield.md' - 'api/field_types_reference/relationfield.md': 'content_management/field_types/field_type_reference/relationfield.md' - 'api/field_types_reference/relationlistfield.md': 'content_management/field_types/field_type_reference/relationlistfield.md' - 'api/field_types_reference/richtextfield.md': 'content_management/field_types/field_type_reference/richtextfield.md' - 'api/field_types_reference/selectionfield.md': 'content_management/field_types/field_type_reference/selectionfield.md' - 'api/field_types_reference/sesexternaldata.md': 'content_management/field_types/field_type_reference/field_type_reference.md' - 'content_management/field_types/field_type_reference/sesexternaldata.md': 'content_management/field_types/field_type_reference/field_type_reference.md' - 'api/field_types_reference/sesprofiledata.md': 'content_management/field_types/field_type_reference/field_type_reference.md' - 'content_management/field_types/field_type_reference/sesprofiledata.md': 'content_management/field_types/field_type_reference/field_type_reference.md' - 'api/field_types_reference/sesselection.md': 'content_management/field_types/field_type_reference/productspecificationfield.md' - 'content_management/field_types/field_type_reference/sesselection.md': 'content_management/field_types/field_type_reference/productspecificationfield.md' - 'api/field_types_reference/specificationstype.md': 'content_management/field_types/field_type_reference/productspecificationfield.md' - 'content_management/field_types/field_type_reference/specificationstype.md': 'content_management/field_types/field_type_reference/productspecificationfield.md' - 'api/field_types_reference/textblockfield.md': 'content_management/field_types/field_type_reference/textblockfield.md' - 'api/field_types_reference/textlinefield.md': 'content_management/field_types/field_type_reference/textlinefield.md' - 'api/field_types_reference/timefield.md': 'content_management/field_types/field_type_reference/timefield.md' - 'api/field_types_reference/urlfield.md': 'content_management/field_types/field_type_reference/urlfield.md' - 'api/field_types_reference/userfield.md': 'content_management/field_types/field_type_reference/userfield.md' - - 'guide/content_rendering/render_content/render_content.md': 'templating/render_content/render_content.md' - 'guide/content_rendering/render_content/render_page.md': 'templating/render_content/render_page.md' - 'guide/content_rendering/render_content/render_product.md': 'templating/render_content/customize_product_view.md' - 'guide/content_rendering/templates/templates.md': 'templating/templates/templates.md' - 'guide/content_rendering/templates/template_configuration.md': 'templating/templates/template_configuration.md' - 'guide/content_rendering/templates/view_matcher_reference.md': 'templating/templates/view_matcher_reference.md' - 'guide/content_rendering/templates/custom_view_matcher.md': 'templating/templates/create_custom_view_matcher.md' - 'guide/content_rendering/assets.md': 'templating/assets.md' - 'guide/content_rendering/image_variations.md': 'templating/image_variations.md' - 'guide/content_rendering/twig_function_reference/twig_functions_reference.md': 'templating/twig_function_reference/twig_function_reference.md' - 'guide/content_rendering/twig_function_reference/content_twig_functions.md': 'templating/twig_function_reference/content_twig_functions.md' - 'guide/content_rendering/twig_function_reference/field_twig_functions.md': 'templating/twig_function_reference/field_twig_functions.md' - 'guide/content_rendering/twig_function_reference/product_twig_functions.md': 'templating/twig_function_reference/product_twig_functions.md' - 'guide/content_rendering/twig_function_reference/image_twig_functions.md': 'templating/twig_function_reference/image_twig_functions.md' - 'guide/content_rendering/twig_function_reference/url_twig_functions.md': 'templating/twig_function_reference/url_twig_functions.md' - 'guide/content_rendering/twig_function_reference/date_twig_filters.md': 'templating/twig_function_reference/date_twig_filters.md' - 'guide/content_rendering/twig_function_reference/other_twig_filters.md': 'templating/twig_function_reference/icon_twig_functions.md' - 'guide/content_rendering/urls_and_routes.md': 'templating/urls_and_routes/urls_and_routes.md' - 'guide/content_rendering/custom_breadcrumbs.md': 'templating/urls_and_routes/custom_breadcrumbs.md' - 'guide/content_rendering/design_engine/design_engine.md': 'templating/design_engine/design_engine.md' - 'guide/content_rendering/design_engine/add_new_design.md': 'templating/design_engine/add_new_design.md' - 'guide/content_rendering/queries_and_controllers/content_queries.md': 'templating/queries_and_controllers/content_queries.md' - 'guide/content_rendering/queries_and_controllers/built-in_query_types.md': 'templating/queries_and_controllers/built-in_query_types.md' - 'guide/content_rendering/queries_and_controllers/custom_query_type.md': 'templating/queries_and_controllers/create_custom_query_type.md' - 'guide/content_rendering/queries_and_controllers/controllers.md': 'templating/queries_and_controllers/controllers.md' - 'guide/content_rendering/embed_and_list_content/list_content.md': 'templating/embed_and_list_content/list_content.md' - 'guide/content_rendering/embed_and_list_content/list_products.md': 'templating/layout/customize_storefront_layout.md' - 'guide/content_rendering/embed_and_list_content/embed_content.md': 'templating/embed_and_list_content/embed_content.md' - 'guide/content_rendering/embed_and_list_content/render_images.md': 'templating/embed_and_list_content/render_images.md' - 'guide/content_rendering/layout/add_breadcrumbs.md': 'templating/layout/add_breadcrumbs.md' - 'guide/content_rendering/layout/add_forgot_password.md': 'templating/layout/add_forgot_password_option.md' - 'guide/content_rendering/layout/add_login_form.md': 'templating/layout/add_login_form.md' - 'guide/content_rendering/layout/add_menu.md': 'templating/layout/add_navigation_menu.md' - 'guide/content_rendering/layout/add_search_form.md': 'templating/layout/add_search_form.md' - 'guide/content_rendering/layout/add_register_user_template.md': 'customer_management/create_user_registration_form.md' - 'guide/content_rendering/layout/customize_basket.md': 'templating/layout/add_search_form.md' - - 'guide/catalog/catalog.md': 'pim/pim.md' - 'guide/catalog/catalog_configuration.md': 'pim/pim_configuration.md' - 'api/public_php_api_managing_catalog.md': 'pim/product_api.md' - 'guide/catalog/enable_purchasing_products.md': 'pim/enable_purchasing_products.md' - 'guide/catalog/create_custom_attribute_type.md': 'pim/create_custom_attribute_type.md' - 'guide/pricing/price_engine.md': 'pim/prices.md' - 'api/public_php_api_managing_prices.md': 'pim/price_api.md' - 'guide/bestsellers.md': 'pim/pim.md' - 'pim/bestsellers.md': 'pim/pim.md' - 'guide/basket/basket.md': 'commerce/commerce.md' - 'guide/basket/wishlist_and_stored_baskets.md': 'commerce/commerce.md' - 'commerce/wishlist_and_stored_baskets.md': 'commerce/commerce.md' - 'commerce/basket.md': 'commerce/commerce.md' - 'guide/checkout/checkout.md': 'commerce/checkout/checkout.md' - 'guide/checkout/order_confirmation.md': 'commerce/checkout/checkout.md' - 'commerce/checkout/order_confirmation.md': 'commerce/checkout/checkout.md' - 'guide/checkout/return_process.md': 'commerce/checkout/checkout.md' - 'commerce/checkout/return_process.md': 'commerce/checkout/checkout.md' - 'guide/payment/payment.md': 'commerce/payment/payment.md' - 'guide/payment/payment_api.md': 'commerce/payment/payment_api.md' - 'guide/payment/payment_troubleshooting.md': 'commerce/commerce.md' - 'commerce/payment/payment_troubleshooting.md': 'commerce/commerce.md' - 'guide/payment/paypal.md': 'commerce/commerce.md' - 'commerce/payment/paypal.md': 'commerce/commerce.md' - 'guide/quick_order/quick_order.md': 'commerce/commerce.md' - 'commerce/quick_order/quick_order.md': 'commerce/commerce.md' - 'guide/quick_order/quick_order_configuration.md': 'commerce/commerce.md' - 'commerce/quick_order/quick_order_configuration.md': 'commerce/commerce.md' - 'guide/order_history/order_history.md': 'commerce/order_management/order_management.md' - 'commerce/order_history/order_history.md': 'commerce/order_management/order_management.md' - 'guide/order_history/order_history_configuration.md': 'commerce/order_management/order_management.md' - 'commerce/order_history/order_history_configuration.md': 'commerce/order_management/order_management.md' - 'api/shop_business_api.md': 'commerce/commerce.md' - 'commerce/shop_api.md': 'commerce/commerce.md' - - - 'guide/multisite/multisite.md': 'multisite/multisite.md' - 'guide/multisite/multisite_configuration.md': 'multisite/multisite_configuration.md' - 'guide/multisite/set_up_campaign_siteaccess.md': 'multisite/set_up_campaign_siteaccess.md' - 'guide/multisite/set_up_translation_siteaccess.md': 'multisite/set_up_translation_siteaccess.md' - 'guide/multisite/site_factory.md': 'multisite/site_factory/site_factory.md' - 'guide/multisite/site_factory_configuration.md': 'multisite/site_factory/site_factory_configuration.md' - 'guide/multisite/siteaccess_matching.md': 'multisite/siteaccess/siteaccess_matching.md' - 'guide/multisite/injecting_siteaccess.md': 'multisite/siteaccess/injecting_siteaccess.md' - 'guide/multisite/siteaccess_aware_configuration.md': 'multisite/siteaccess/siteaccess_aware_configuration.md' - 'guide/internationalization.md': 'multisite/languages/languages.md' - 'guide/back_office_translations.md': 'multisite/languages/back_office_translations.md' - 'guide/shop_translations.md': 'multisite/languages/languages.md' - - 'guide/permissions.md': 'permissions/permissions.md' - 'guide/permission_use_cases.md': 'permissions/permission_use_cases.md' - 'guide/limitations.md': 'permissions/limitations.md' - 'guide/limitation_reference.md': 'permissions/limitation_reference.md' - 'guide/custom_policies.md': 'permissions/custom_policies.md' - - 'guide/user_management/user_management.md': 'users/users.md' - 'api/public_php_api_managing_users.md': 'users/segment_api.md' - 'guide/user_management/customer_groups.md': 'users/customer_groups.md' - 'guide/user_management/login_and_registration.md': 'users/users.md' - 'users/login_and_registration.md': 'users/users.md' - 'users/user_management.md': 'users/users.md' - 'guide/user_management/oauth.md': 'users/oauth_client.md' - 'users/oauth_authentication.md': 'users/oauth_client.md' - 'guide/user_management/login_via_external_service.md': 'users/oauth_client.md' - 'users/add_login_through_external_service.md': 'users/oauth_client.md' - 'guide/user_management/token.md': 'users/users.md' - 'users/token.md': 'users/users.md' - 'guide/customers/customers.md': 'users/users.md' - 'users/customers/customers.md': 'users/users.md' - 'guide/customers/customer_api/customer_api.md': 'users/users.md' - 'users/customers/customer_api.md': 'users/users.md' - 'guide/customers/customer_api/customer_profile_data.md': 'users/users.md' - 'users/customers/customer_profile_data.md': 'users/users.md' - 'guide/customers/customer_api/configuration_for_customer_data.md': 'users/users.md' - 'users/customers/customer_data_configuration.md': 'users/users.md' - 'guide/personalization/personalization.md': 'personalization/personalization.md' - 'guide/personalization/enabling_personalization.md': 'personalization/enable_personalization.md' - 'guide/personalization/basic_integration.md': 'personalization/integrate_recommendation_service.md' - 'guide/personalization/developer_guide/tracking_api.md': 'personalization/api_reference/tracking_api.md' - 'guide/personalization/developer_guide/importing_historical_user_tracking_data.md': 'personalization/importing_historical_user_tracking_data.md' - 'guide/personalization/developer_guide/tracking_with_ibexa-tracker.md': 'personalization/tracking_with_ibexa-tracker.md' - 'guide/personalization/developer_guide/recommendation_api.md': 'personalization/api_reference/recommendation_api.md' - 'guide/personalization/developer_guide/content_api.md': 'personalization/api_reference/content_api.md' - 'guide/personalization/developer_guide/user_api.md': 'personalization/api_reference/user_api.md' - 'guide/personalization/developer_guide/attributes_search_elastic.md': 'personalization/attribute_search_in_elasticsearch.md' - 'guide/personalization/best_practices/tracking_integration.md': 'personalization/tracking_integration.md' - 'guide/personalization/best_practices/recommendation_integration.md': 'personalization/recommendation_integration.md' - - 'guide/search/search.md': 'search/search.md' - 'guide/search/elastic.md': 'search/search_engines/elasticsearch/elasticsearch_overview.md' - 'guide/search/solr.md': 'search/search_engines/solr_search_engine/solr_overview.md' - 'api/public_php_api_search.md': 'search/search_api.md' - 'guide/search/criteria_reference/search_criteria_reference.md': 'search/criteria_reference/search_criteria_reference.md' - 'guide/search/criteria_reference/ancestor_criterion.md': 'search/criteria_reference/ancestor_criterion.md' - 'guide/search/criteria_reference/contentid_criterion.md': 'search/criteria_reference/contentid_criterion.md' - 'guide/search/criteria_reference/contenttypegroupid_criterion.md': 'search/criteria_reference/contenttypegroupid_criterion.md' - 'guide/search/criteria_reference/contenttypeid_criterion.md': 'search/criteria_reference/contenttypeid_criterion.md' - 'guide/search/criteria_reference/contenttypeidentifier_criterion.md': 'search/criteria_reference/contenttypeidentifier_criterion.md' - 'guide/search/criteria_reference/currencycode_criterion.md': 'search/criteria_reference/currencycode_criterion.md' - 'guide/search/criteria_reference/customergroupid_criterion.md': 'search/criteria_reference/customergroupid_criterion.md' - 'guide/search/criteria_reference/datemetadata_criterion.md': 'search/criteria_reference/datemetadata_criterion.md' - 'guide/search/criteria_reference/depth_criterion.md': 'search/criteria_reference/depth_criterion.md' - 'guide/search/criteria_reference/field_criterion.md': 'search/criteria_reference/field_criterion.md' - 'guide/search/criteria_reference/fieldrelation_criterion.md': 'search/criteria_reference/fieldrelation_criterion.md' - 'guide/search/criteria_reference/fulltext_criterion.md': 'search/criteria_reference/fulltext_criterion.md' - 'guide/search/criteria_reference/iscurrencyenabled_criterion.md': 'search/criteria_reference/iscurrencyenabled_criterion.md' - 'guide/search/criteria_reference/isfieldempty_criterion.md': 'search/criteria_reference/isfieldempty_criterion.md' - 'guide/search/criteria_reference/ismainlocation_criterion.md': 'search/criteria_reference/ismainlocation_criterion.md' - 'guide/search/criteria_reference/isproductbased_criterion.md': 'search/criteria_reference/isproductbased_criterion.md' - 'guide/search/criteria_reference/isuserbased_criterion.md': 'search/criteria_reference/isuserbased_criterion.md' - 'guide/search/criteria_reference/isuserenabled_criterion.md': 'search/criteria_reference/isuserenabled_criterion.md' - 'guide/search/criteria_reference/languagecode_criterion.md': 'search/criteria_reference/languagecode_criterion.md' - 'guide/search/criteria_reference/locationid_criterion.md': 'search/criteria_reference/locationid_criterion.md' - 'guide/search/criteria_reference/locationremoteid_criterion.md': 'search/criteria_reference/locationremoteid_criterion.md' - 'guide/search/criteria_reference/maplocationdistance_criterion.md': 'search/criteria_reference/maplocationdistance_criterion.md' - 'guide/search/criteria_reference/matchall_criterion.md': 'search/criteria_reference/matchall_criterion.md' - 'guide/search/criteria_reference/matchnone_criterion.md': 'search/criteria_reference/matchnone_criterion.md' - 'guide/search/criteria_reference/objectstateid_criterion.md': 'search/criteria_reference/objectstateid_criterion.md' - 'guide/search/criteria_reference/objectstateidentifier_criterion.md': 'search/criteria_reference/objectstateidentifier_criterion.md' - 'guide/search/criteria_reference/parentlocationid_criterion.md': 'search/criteria_reference/parentlocationid_criterion.md' - 'guide/search/criteria_reference/priority_criterion.md': 'search/criteria_reference/priority_criterion.md' - 'guide/search/criteria_reference/remoteid_criterion.md': 'search/criteria_reference/remoteid_criterion.md' - 'guide/search/criteria_reference/sectionid_criterion.md': 'search/criteria_reference/sectionid_criterion.md' - 'guide/search/criteria_reference/sectionidentifier_criterion.md': 'search/criteria_reference/sectionidentifier_criterion.md' - 'guide/search/criteria_reference/sibling_criterion.md': 'search/criteria_reference/sibling_criterion.md' - 'guide/search/criteria_reference/subtree_criterion.md': 'search/criteria_reference/subtree_criterion.md' - 'guide/search/criteria_reference/useremail_criterion.md': 'search/criteria_reference/useremail_criterion.md' - 'guide/search/criteria_reference/userid_criterion.md': 'search/criteria_reference/userid_criterion.md' - 'guide/search/criteria_reference/userlogin_criterion.md': 'search/criteria_reference/userlogin_criterion.md' - 'guide/search/criteria_reference/usermetadata_criterion.md': 'search/criteria_reference/usermetadata_criterion.md' - 'guide/search/criteria_reference/visibility_criterion.md': 'search/criteria_reference/visibility_criterion.md' - 'guide/search/criteria_reference/logicaland_criterion.md': 'search/criteria_reference/logicaland_criterion.md' - 'guide/search/criteria_reference/logicalnot_criterion.md': 'search/criteria_reference/logicalnot_criterion.md' - 'guide/search/criteria_reference/logicalor_criterion.md': 'search/criteria_reference/logicalor_criterion.md' - 'guide/search/criteria_reference/baseprice_criterion.md': 'search/criteria_reference/baseprice_criterion.md' - 'guide/search/criteria_reference/checkboxattribute_criterion.md': 'search/criteria_reference/checkboxattribute_criterion.md' - 'guide/search/criteria_reference/colorattribute_criterion.md': 'search/criteria_reference/colorattribute_criterion.md' - 'guide/search/criteria_reference/createdat_criterion.md': 'search/criteria_reference/createdat_criterion.md' - 'guide/search/criteria_reference/createdatrange_criterion.md': 'search/criteria_reference/createdatrange_criterion.md' - 'guide/search/criteria_reference/customprice_criterion.md': 'search/criteria_reference/customprice_criterion.md' - 'guide/search/criteria_reference/floatattribute_criterion.md': 'search/criteria_reference/floatattribute_criterion.md' - 'guide/search/criteria_reference/integerattribute_criterion.md': 'search/criteria_reference/integerattribute_criterion.md' - 'guide/search/criteria_reference/productavailability_criterion.md': 'search/criteria_reference/productavailability_criterion.md' - 'guide/search/criteria_reference/productcategory_criterion.md': 'search/criteria_reference/productcategory_criterion.md' - 'guide/search/criteria_reference/productcode_criterion.md': 'search/criteria_reference/productcode_criterion.md' - 'guide/search/criteria_reference/productname_criterion.md': 'search/criteria_reference/productname_criterion.md' - 'guide/search/criteria_reference/producttype_criterion.md': 'search/criteria_reference/producttype_criterion.md' - 'guide/search/criteria_reference/selectionattribute_criterion.md': 'search/criteria_reference/selectionattribute_criterion.md' - 'guide/search/sort_clause_reference/sort_clause_reference.md': 'search/sort_clause_reference/sort_clause_reference.md' - 'guide/search/sort_clause_reference/contentid_sort_clause.md': 'search/sort_clause_reference/contentid_sort_clause.md' - 'guide/search/sort_clause_reference/contentname_sort_clause.md': 'search/sort_clause_reference/contentname_sort_clause.md' - 'guide/search/sort_clause_reference/contenttranslatedname_sort_clause.md': 'search/sort_clause_reference/contenttranslatedname_sort_clause.md' - 'guide/search/sort_clause_reference/contenttypename_sort_clause.md': 'search/sort_clause_reference/contenttypename_sort_clause.md' - 'guide/search/sort_clause_reference/customfield_sort_clause.md': 'search/sort_clause_reference/customfield_sort_clause.md' - 'guide/search/sort_clause_reference/datemodified_sort_clause.md': 'search/sort_clause_reference/datemodified_sort_clause.md' - 'guide/search/sort_clause_reference/datepublished_sort_clause.md': 'search/sort_clause_reference/datepublished_sort_clause.md' - 'guide/search/sort_clause_reference/datetrashed_sort_clause.md': 'search/sort_clause_reference/datetrashed_sort_clause.md' - 'guide/search/sort_clause_reference/depth_sort_clause.md': 'search/sort_clause_reference/depth_sort_clause.md' - 'guide/search/sort_clause_reference/field_sort_clause.md': 'search/sort_clause_reference/field_sort_clause.md' - 'guide/search/sort_clause_reference/id_sort_clause.md': 'search/sort_clause_reference/id_sort_clause.md' - 'guide/search/sort_clause_reference/ismainlocation_sort_clause.md': 'search/sort_clause_reference/ismainlocation_sort_clause.md' - 'guide/search/sort_clause_reference/maplocationdistance_sort_clause.md': 'search/sort_clause_reference/maplocationdistance_sort_clause.md' - 'guide/search/sort_clause_reference/path_sort_clause.md': 'search/sort_clause_reference/path_sort_clause.md' - 'guide/search/sort_clause_reference/priority_sort_clause.md': 'search/sort_clause_reference/priority_sort_clause.md' - 'guide/search/sort_clause_reference/random_sort_clause.md': 'search/sort_clause_reference/random_sort_clause.md' - 'guide/search/sort_clause_reference/score_sort_clause.md': 'search/sort_clause_reference/score_sort_clause.md' - 'guide/search/sort_clause_reference/sectionidentifier_sort_clause.md': 'search/sort_clause_reference/sectionidentifier_sort_clause.md' - 'guide/search/sort_clause_reference/sectionname_sort_clause.md': 'search/sort_clause_reference/sectionname_sort_clause.md' - 'guide/search/sort_clause_reference/userlogin_sort_clause.md': 'search/sort_clause_reference/userlogin_sort_clause.md' - 'guide/search/sort_clause_reference/visibility_sort_clause.md': 'search/sort_clause_reference/visibility_sort_clause.md' - 'guide/search/sort_clause_reference/createdat_sort_clause.md': 'search/sort_clause_reference/createdat_sort_clause.md' - 'guide/search/sort_clause_reference/productavailability_sort_clause.md': 'search/sort_clause_reference/productavailability_sort_clause.md' - 'guide/search/sort_clause_reference/productcode_sort_clause.md': 'search/sort_clause_reference/productcode_sort_clause.md' - 'guide/search/sort_clause_reference/productname_sort_clause.md': 'search/sort_clause_reference/productname_sort_clause.md' - 'guide/search/aggregation_reference/aggregation_reference.md': 'search/aggregation_reference/aggregation_reference.md' - 'guide/search/aggregation_reference/contenttypeterm_aggregation.md': 'search/aggregation_reference/contenttypeterm_aggregation.md' - 'guide/search/aggregation_reference/contenttypegroupterm_aggregation.md': 'search/aggregation_reference/contenttypegroupterm_aggregation.md' - 'guide/search/aggregation_reference/datemetadatarange_aggregation.md': 'search/aggregation_reference/datemetadatarange_aggregation.md' - 'guide/search/aggregation_reference/languageterm_aggregation.md': 'search/aggregation_reference/languageterm_aggregation.md' - 'guide/search/aggregation_reference/locationchildrenterm_aggregation.md': 'search/aggregation_reference/locationchildrenterm_aggregation.md' - 'guide/search/aggregation_reference/objectstateterm_aggregation.md': 'search/aggregation_reference/objectstateterm_aggregation.md' - 'guide/search/aggregation_reference/rawrange_aggregation.md': 'search/aggregation_reference/rawrange_aggregation.md' - 'guide/search/aggregation_reference/rawstats_aggregation.md': 'search/aggregation_reference/rawstats_aggregation.md' - 'guide/search/aggregation_reference/rawterm_aggregation.md': 'search/aggregation_reference/rawterm_aggregation.md' - 'guide/search/aggregation_reference/sectionterm_aggregation.md': 'search/aggregation_reference/sectionterm_aggregation.md' - 'guide/search/aggregation_reference/subtreeterm_aggregation.md': 'search/aggregation_reference/subtreeterm_aggregation.md' - 'guide/search/aggregation_reference/usermetadataterm_aggregation.md': 'search/aggregation_reference/usermetadataterm_aggregation.md' - 'guide/search/aggregation_reference/visibilityterm_aggregation.md': 'search/aggregation_reference/visibilityterm_aggregation.md' - 'guide/search/aggregation_reference/authorterm_aggregation.md': 'search/aggregation_reference/authorterm_aggregation.md' - 'guide/search/aggregation_reference/checkboxterm_aggregation.md': 'search/aggregation_reference/checkboxterm_aggregation.md' - 'guide/search/aggregation_reference/countryterm_aggregation.md': 'search/aggregation_reference/countryterm_aggregation.md' - 'guide/search/aggregation_reference/daterange_aggregation.md': 'search/aggregation_reference/daterange_aggregation.md' - 'guide/search/aggregation_reference/datetimerange_aggregation.md': 'search/aggregation_reference/datetimerange_aggregation.md' - 'guide/search/aggregation_reference/floatrange_aggregation.md': 'search/aggregation_reference/floatrange_aggregation.md' - 'guide/search/aggregation_reference/floatstats_aggregation.md': 'search/aggregation_reference/floatstats_aggregation.md' - 'guide/search/aggregation_reference/integerrange_aggregation.md': 'search/aggregation_reference/integerrange_aggregation.md' - 'guide/search/aggregation_reference/integerstats_aggregation.md': 'search/aggregation_reference/integerstats_aggregation.md' - 'guide/search/aggregation_reference/keywordterm_aggregation.md': 'search/aggregation_reference/keywordterm_aggregation.md' - 'guide/search/aggregation_reference/selectionterm_aggregation.md': 'search/aggregation_reference/selectionterm_aggregation.md' - 'guide/search/aggregation_reference/timerange_aggregation.md': 'search/aggregation_reference/timerange_aggregation.md' - 'guide/search/url_search_reference/url_search_reference.md': 'search/url_search_reference/url_search_criteria.md' - 'search/url_search_reference/url_search_reference.md': 'search/url_search_reference/url_search_criteria.md' - 'guide/search/url_search_reference/id_url_sort_clause.md': 'search/url_search_reference/id_url_sort_clause.md' - 'guide/search/url_search_reference/url_url_sort_clause.md': 'search/url_search_reference/url_url_sort_clause.md' - 'guide/search/url_search_reference/matchall_url_criterion.md': 'search/url_search_reference/matchall_url_criterion.md' - 'guide/search/url_search_reference/matchnone_url_criterion.md': 'search/url_search_reference/matchnone_url_criterion.md' - 'guide/search/url_search_reference/pattern_url_criterion.md': 'search/url_search_reference/pattern_url_criterion.md' - 'guide/search/url_search_reference/sectionid_url_criterion.md': 'search/url_search_reference/sectionid_url_criterion.md' - 'guide/search/url_search_reference/sectionidentifier_url_criterion.md': 'search/url_search_reference/sectionidentifier_url_criterion.md' - 'guide/search/url_search_reference/validity_url_criterion.md': 'search/url_search_reference/validity_url_criterion.md' - 'guide/search/url_search_reference/visibleonly_url_criterion.md': 'search/url_search_reference/visibleonly_url_criterion.md' - 'guide/search/url_search_reference/logicaland_url_criterion.md': 'search/url_search_reference/logicaland_url_criterion.md' - 'guide/search/url_search_reference/logicalnot_url_criterion.md': 'search/url_search_reference/logicalnot_url_criterion.md' - 'guide/search/url_search_reference/logicalor_url_criterion.md': 'search/url_search_reference/logicalor_url_criterion.md' - 'guide/search/search_in_trash_reference.md': 'search/search_in_trash_reference.md' - 'guide/search/extensibility/create_custom_search_criterion.md': 'search/extensibility/create_custom_search_criterion.md' - 'guide/search/extensibility/create_custom_sort_clause.md': 'search/extensibility/create_custom_sort_clause.md' - 'guide/search/extensibility/create_custom_aggregation.md': 'search/extensibility/create_custom_aggregation.md' - 'guide/search/extensibility/solr_document_field_mappers.md': 'search/extensibility/solr_document_field_mappers.md' - 'guide/search/extensibility/index_custom_elasticsearch_data.md': 'search/extensibility/index_custom_elasticsearch_data.md' - 'guide/search/extensibility/manipulate_elasticsearch_query.md': 'search/extensibility/manipulate_elasticsearch_query.md' - 'guide/search/shop_search/shop_search.md': 'search/search.md' - 'guide/search/shop_search/search_configuration.md': 'search/search.md' - 'guide/search/shop_search/search_api.md': 'search/search.md' - 'guide/search/shop_search/search_indexing.md': 'search/search.md' - 'guide/search/shop_search/search_synonyms.md': 'search/search.md' - 'guide/search/shop_search/search_autosuggest.md': 'search/search.md' - 'search/shop_search/shop_search.md': 'search/search.md' - 'search/shop_search/search_configuration.md': 'search/search.md' - 'search/shop_search/shop_search_api.md': 'search/search.md' - 'search/shop_search/search_indexing.md': 'search/search.md' - 'search/shop_search/search_synonyms.md': 'search/search.md' - 'search/shop_search/search_autosuggest.md': 'search/search.md' - 'search/search_engines/elastic_search/install_elastic_search.md': 'search/search_engines/elasticsearch/install_elasticsearch.md' - 'search/search_engines/elastic_search/configure_elastic_search.md': 'search/search_engines/elasticsearch/configure_elasticsearch.md' - 'search/search_engines/elastic_search/elastic_search_overview.md': 'search/search_engines/elasticsearch/elasticsearch_overview.md' - - 'api/public_php_api_managing_repository.md': 'content_management/content_management_api/bookmark_api.md' - 'guide/request_lifecycle.md': 'infrastructure_and_maintenance/request_lifecycle.md' - 'guide/databases.md': 'infrastructure_and_maintenance/databases.md' - 'guide/cache/http_cache.md': 'infrastructure_and_maintenance/cache/http_cache/http_cache.md' - 'guide/cache/http_cache_config.md': 'infrastructure_and_maintenance/cache/http_cache/http_cache_configuration.md' - 'guide/cache/symfony_reverse_proxy.md': 'infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md' - 'guide/cache/context_aware_cache.md': 'infrastructure_and_maintenance/cache/http_cache/context_aware_cache.md' - 'guide/cache/content_aware_cache.md': 'infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md' - 'guide/persistence_cache.md': 'infrastructure_and_maintenance/cache/persistence_cache.md' - 'guide/cache/shop_caching.md': 'infrastructure_and_maintenance/cache/cache.md' - 'guide/clustering.md': 'infrastructure_and_maintenance/clustering/clustering.md' - 'guide/clustering_aws_s3.md': 'infrastructure_and_maintenance/clustering/clustering_with_aws_s3.md' - 'guide/devops.md': 'infrastructure_and_maintenance/devops.md' - 'guide/backup.md': 'infrastructure_and_maintenance/backup.md' - 'guide/performance.md': 'infrastructure_and_maintenance/performance.md' - 'guide/environments.md': 'infrastructure_and_maintenance/environments.md' - 'guide/sessions.md': 'infrastructure_and_maintenance/sessions.md' - 'guide/logging/logging.md': 'infrastructure_and_maintenance/logging.md' - 'guide/logging/logfile_rotation.md': 'infrastructure_and_maintenance/logging.md' - 'guide/security.md': 'infrastructure_and_maintenance/security/development_security.md' - 'guide/security_checklist.md': 'infrastructure_and_maintenance/security/security_checklist.md' - 'guide/reporting_issues.md': 'infrastructure_and_maintenance/security/reporting_issues.md' - 'community_resources/support_maintenance_faq.md': 'infrastructure_and_maintenance/support_and_maintenance_faq.md' - 'community_resources/release_process.md': 'resources/release_process_and_roadmap.md' - 'community_resources/phpstorm_plugin.md': 'resources/phpstorm_plugin.md' - 'community_resources/contributing.md': 'resources/contributing/report_and_follow_issues.md' - 'community_resources/report_follow_issues.md': 'resources/contributing/report_and_follow_issues.md' - 'community_resources/translations.md': 'resources/contributing/contribute_translations.md' - 'community_resources/package_structure.md': 'resources/contributing/package_structure.md' - - 'updating/update_ibexa_dxp.md': 'update_and_migration/update_ibexa_dxp.md' - 'updating/from_1.x_2.x/update_from_1.x_2.x.md': 'update_and_migration/from_1.x_2.x/update_from_1.x_2.x.md' - 'updating/from_1.x_2.x/update_app_to_2.5.md': 'update_and_migration/from_1.x_2.x/update_app_to_2.5.md' - 'updating/from_1.x_2.x/update_db_to_2.5.md': 'update_and_migration/from_1.x_2.x/update_db_to_2.5.md' - 'updating/from_2.5/update_from_2.5.md': 'update_and_migration/from_2.5/update_from_2.5.md' - 'updating/from_2.5/to_3.2.md': 'update_and_migration/from_2.5/to_3.2.md' - 'updating/from_2.5/adapt_code_to_v3.md': 'update_and_migration/from_2.5/adapt_code_to_v3.md' - 'updating/from_2.5/update_code/1_update_templates.md': 'update_and_migration/from_2.5/update_code/1_update_templates.md' - 'updating/from_2.5/update_code/2_update_configuration.md': 'update_and_migration/from_2.5/update_code/2_update_configuration.md' - 'updating/from_2.5/update_code/3_update_field_types.md': 'update_and_migration/from_2.5/update_code/3_update_field_types.md' - 'updating/from_2.5/update_code/4_update_signal_slots.md': 'update_and_migration/from_2.5/update_code/4_update_signal_slots.md' - 'updating/from_2.5/update_code/5_update_online_editor.md': 'update_and_migration/from_2.5/update_code/5_update_online_editor.md' - 'updating/from_2.5/update_code/6_update_workflow.md': 'update_and_migration/from_2.5/update_code/6_update_workflow.md' - 'updating/from_2.5/update_code/7_update_extensions.md': 'update_and_migration/from_2.5/update_code/7_update_extensions.md' - 'updating/from_2.5/update_code/8_update_rest.md': 'update_and_migration/from_2.5/update_code/8_update_rest.md' - 'updating/from_2.5/update_code/9_update_other.md': 'update_and_migration/from_2.5/update_code/9_update_other.md' - 'updating/from_2.5/to_3.3.md': 'update_and_migration/from_2.5/to_3.3.md' - 'updating/from_2.5/to_3.3.latest.md': 'update_and_migration/from_3.3/update_from_3.3.md' - 'updating/from_3.3/update_from_3.3.md': 'update_and_migration/from_3.3/update_from_3.3.md' - 'updating/from_3.3/to_4.0.md': 'update_and_migration/from_3.3/to_4.0.md' - 'updating/from_4.0/to_4.1.md': 'update_and_migration/from_4.0/to_4.1.md' - 'updating/from_4.1/update_from_4.1.md': 'update_and_migration/from_4.1/update_from_4.1.md' - 'migrating/migrating_from_ez_publish_platform.md': 'update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md' - 'migrating/migrating_from_ez_publish.md': 'update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish.md' - 'migrating/common_issues.md': 'update_and_migration/migrate_to_ibexa_dxp/common_issues.md' - 'update_and_migration/from_2.5/to_3.3.latest.md': 'update_and_migration/from_3.3/update_from_3.3.md' - - 'releases/ibexa_dxp_v4.2.md': 'release_notes/ibexa_dxp_v4.2.md' - 'releases/ibexa_dxp_v4.1.md': 'release_notes/ibexa_dxp_v4.1.md' - 'releases/ibexa_dxp_v4.0.md': 'release_notes/ibexa_dxp_v4.0.md' - 'releases/ibexa_dxp_v4.0_deprecations.md': 'release_notes/ibexa_dxp_v4.0_deprecations.md' - 'releases/ibexa_dxp_v3.3.md': 'release_notes/ibexa_dxp_v3.3.md' - 'releases/ibexa_dxp_v3.2.md': 'release_notes/ibexa_dxp_v3.2.md' - 'releases/ez_platform_v3.1.md': 'release_notes/ez_platform_v3.1.md' - 'releases/ez_platform_v3.0.md': 'release_notes/ez_platform_v3.0.md' - 'releases/ez_platform_v3.0_deprecations.md': 'release_notes/ez_platform_v3.0_deprecations.md' - 'releases/ez_platform_v2.5.md': 'release_notes/ez_platform_v2.5.md' - 'releases/ez_platform_v2.4.md': 'release_notes/ez_platform_v2.4.md' - 'releases/ez_platform_v2.3.md': 'release_notes/ez_platform_v2.3.md' - 'releases/ez_platform_v2.2.0.md': 'release_notes/ez_platform_v2.2.0.md' - 'releases/ez_platform_v2.1.0.md': 'release_notes/ez_platform_v2.1.0.md' - 'releases/ez_platform_v2.0.0.md': 'release_notes/ez_platform_v2.0.0.md' - 'releases/ez_platform_v1.13.0_lts.md': 'release_notes/ez_platform_v1.13.0_lts.md' - 'releases/ez_platform_v1.12.0.md': 'release_notes/ez_platform_v1.12.0.md' - 'releases/ez_platform_v1.11.0.md': 'release_notes/ez_platform_v1.11.0.md' - 'releases/ez_platform_v1.10.0.md': 'release_notes/ez_platform_v1.10.0.md' - 'releases/ez_platform_v1.9.0.md': 'release_notes/ez_platform_v1.9.0.md' - 'releases/ez_platform_v1.8.0.md': 'release_notes/ez_platform_v1.8.0.md' - 'releases/ez_platform_v1.7.0_lts.md': 'release_notes/ez_platform_v1.7.0_lts.md' - - 'getting_started/install_ez_platform.md': 'getting_started/install_ibexa_dxp.md' - - 'templating/layout/create_user_registration_form.md': 'customer_management/create_user_registration_form.md' - 'templating/twig_function_reference/other_twig_filters.md': 'templating/twig_function_reference/icon_twig_functions.md' - - 'tutorials/platform_beginner/building_a_bicycle_route_tracker_in_ez_platform.md': 'tutorials/beginner_tutorial/beginner_tutorial.md' - 'tutorials/platform_beginner/1_get_ready.md': 'tutorials/beginner_tutorial/1_get_ready.md' - 'tutorials/platform_beginner/2_create_the_content_model.md': 'tutorials/beginner_tutorial/2_create_the_content_model.md' - 'tutorials/platform_beginner/3_customize_the_front_page.md': 'tutorials/beginner_tutorial/3_customize_the_front_page.md' - 'tutorials/platform_beginner/4_display_single_content_item.md': 'tutorials/beginner_tutorial/4_display_single_content_item.md' - 'tutorials/platform_beginner/5_display_a_list_of_content_items.md': 'tutorials/beginner_tutorial/5_display_a_list_of_content_items.md' - 'tutorials/platform_beginner/6_improve_configuration.md': 'tutorials/beginner_tutorial/6_improve_configuration.md' - 'tutorials/platform_beginner/7_embed_content.md': 'tutorials/beginner_tutorial/7_embed_content.md' - 'tutorials/platform_beginner/8_enable_account_registration.md': 'tutorials/beginner_tutorial/8_enable_account_registration.md' - 'tutorials/enterprise_beginner/ez_enterprise_beginner_tutorial_-_its_a_dogs_world.md': 'tutorials/page_and_form_tutorial/page_and_form_tutorial.md' - 'tutorials/enterprise_beginner/1_get_a_starter_website.md': 'tutorials/page_and_form_tutorial/1_get_a_starter_website.md' - 'tutorials/enterprise_beginner/2_prepare_the_landing_page.md': 'tutorials/page_and_form_tutorial/2_prepare_the_landing_page.md' - 'tutorials/enterprise_beginner/3_use_existing_blocks.md': 'tutorials/page_and_form_tutorial/3_use_existing_blocks.md' - 'tutorials/enterprise_beginner/4_create_a_custom_block.md': 'tutorials/page_and_form_tutorial/4_create_a_custom_block.md' - 'tutorials/enterprise_beginner/5_create_newsletter_form.md': 'tutorials/page_and_form_tutorial/5_create_newsletter_form.md' - - 'infrastructure_and_maintenance/repository_api.md': 'api/php_api/php_api.md' - - 'content_management/customize_field_type_metadata.md': 'content_management/field_types/customize_field_type_metadata.md' - - 'getting_started/ibexa_cloud_guide.md': 'ibexa_cloud/ibexa_cloud_guide.md' - 'getting_started/install_on_ibexa_cloud.md': 'ibexa_cloud/install_on_ibexa_cloud.md' - 'infrastructure_and_maintenance/clustering/ddev_and_ibexa_cloud.md': 'ibexa_cloud/ddev_and_ibexa_cloud.md' - - 'ai_actions/install_ai_actions.md': 'ai_actions/configure_ai_actions.md' - 'discounts/install_discounts.md': 'discounts/configure_discounts.md' - 'content_management/collaborative_editing/install_collaborative_editing.md': 'content_management/collaborative_editing/configure_collaborative_editing.md' - - - llmstxt: - markdown_description: Ibexa Developer Documentation - full_output: llms-full.txt - sections: - Usage documentation: - - index.md +- search +- autolinks +- macros: + j2_block_start_string: '[[%' + j2_block_end_string: '%]]' + j2_variable_start_string: '[[=' + j2_variable_end_string: =]] +- tags +- redirects: + redirect_maps: + api/field_types_reference/xmltextfield.md: content_management/field_types/field_type_reference/field_type_reference.md + extending/extending_image_editor.md: content_management/images/extend_image_editor.md + guide/configuration/config_connector.md: content_management/images/add_image_asset_from_dam.md + guide/image_editor.md: content_management/images/configure_image_editor.md + guide/images.md: content_management/images/images.md + guide/config_back_office.md: administration/back_office/back_office_configuration.md + guide/config_connector.md: content_management/images/add_image_asset_from_dam.md + guide/config_dynamic.md: administration/configuration/dynamic_configuration.md + guide/config_repository.md: administration/configuration/repository_configuration.md + guide/configuration.md: administration/configuration/configuration.md + guide/shop_configuration.md: commerce/commerce.md + commerce/basket.md: commerce/commerce.md + templating/layout/customize_basket.md: commerce/commerce.md + guide/search/extend_solr.md: search/search_engines/solr_search_engine/solr_overview.md + guide/search/extend_elasticsearch.md: search/search_engines/elasticsearch/elasticsearch_overview.md + api/public_php_api.md: api/php_api/php_api.md + api/rest_api_usage.md: api/rest_api/rest_api_usage/rest_api_usage.md + api/rest_api_requests.md: api/rest_api/rest_api_usage/rest_requests.md + api/rest_api_responses.md: api/rest_api/rest_api_usage/rest_responses.md + api/rest_api_testing.md: api/rest_api/rest_api_usage/testing_rest_api.md + api/rest_api_extension_media_type.md: api/rest_api/extending_rest_api/adding_custom_media_type.md + api/rest_api_extension_resource.md: api/rest_api/extending_rest_api/creating_new_rest_resource.md + api/rest_api_authentication.md: api/rest_api/rest_api_authentication.md + api/graphql.md: api/graphql/graphql.md + api/graphql_queries.md: api/graphql/graphql_queries.md + api/graphql_operations.md: api/graphql/graphql_operations.md + api/graphql_customization.md: api/graphql/graphql_customization.md + guide/repository/event_reference/event_reference.md: api/event_reference/event_reference.md + guide/repository/event_reference/content_events.md: api/event_reference/content_events.md + guide/repository/event_reference/content_type_events.md: api/event_reference/content_type_events.md + guide/repository/event_reference/location_events.md: api/event_reference/location_events.md + guide/repository/event_reference/catalog_events.md: api/event_reference/catalog_events.md + guide/repository/event_reference/language_events.md: api/event_reference/language_events.md + guide/repository/event_reference/section_events.md: api/event_reference/section_events.md + guide/repository/event_reference/object_state_events.md: api/event_reference/object_state_events.md + guide/repository/event_reference/role_events.md: api/event_reference/role_events.md + guide/repository/event_reference/user_events.md: api/event_reference/user_events.md + guide/repository/event_reference/page_events.md: api/event_reference/page_events.md + guide/repository/event_reference/site_events.md: api/event_reference/site_events.md + guide/repository/event_reference/shop_events.md: api/event_reference/event_reference.md + guide/repository/event_reference/url_events.md: api/event_reference/url_events.md + guide/repository/event_reference/trash_events.md: api/event_reference/trash_events.md + guide/repository/event_reference/other_events.md: api/event_reference/other_events.md + guide/project_organization.md: administration/project_organization/project_organization.md + guide/architecture.md: administration/project_organization/architecture.md + guide/bundles.md: administration/project_organization/bundles.md + guide/admin_panel.md: administration/admin_panel/admin_panel.md + administration/admin_panel.md: administration/admin_panel/admin_panel.md + guide/configuration/configuration.md: administration/configuration/configuration.md + guide/configuration/config_dynamic.md: administration/configuration/dynamic_configuration.md + guide/configuration/config_repository.md: administration/configuration/repository_configuration.md + extending/extending_back_office.md: administration/back_office/back_office.md + extending/config_back_office.md: administration/back_office/back_office_configuration.md + extending/content_tree.md: administration/back_office/content_tree.md + extending/reusable_back_office_templates.md: administration/back_office/back_office_elements/reusable_components.md + extending/creating_custom_dropdowns.md: administration/back_office/back_office_elements/add_dropdowns.md + extending/custom_icons.md: administration/back_office/back_office_elements/custom_icons.md + extending/drag_and_drop.md: administration/back_office/back_office_elements/add_drag_and_drop.md + extending/custom_components.md: administration/back_office/back_office_elements/custom_components.md + extending/extending_date_and_time.md: administration/back_office/back_office_elements/formatting_date_and_time.md + extending/extending_thumbnails.md: administration/back_office/back_office_elements/extending_thumbnails.md + extending/import_assets_from_bundle.md: administration/back_office/back_office_elements/importing_assets_from_bundle.md + extending/tabs/back_office_tabs.md: administration/back_office/back_office_tabs/back_office_tabs.md + extending/tabs/add_dashboard_tab.md: administration/back_office/back_office_tabs/create_dashboard_tab.md + extending/menus/back_office_menus.md: administration/back_office/back_office_menus/back_office_menus.md + extending/menus/add_menu_item.md: administration/back_office/back_office_menus/add_menu_item.md + extending/add_user_setting.md: administration/back_office/add_user_setting.md + extending/customize_calendar.md: administration/back_office/customize_calendar.md + extending/extending_udw.md: administration/back_office/browser/browser.md + extending/add_udw_tab.md: administration/back_office/browser/add_browser_tab.md + extending/extending_multifile_upload.md: administration/back_office/multifile_upload.md + extending/extending_subitems_list.md: administration/back_office/subitems_list.md + guide/sending_notifications.md: administration/back_office/notifications.md + guide/content_management.md: content_management/content_model.md + guide/content_model.md: content_management/content_model.md + guide/taxonomy/taxonomy.md: content_management/taxonomy/taxonomy.md + guide/images/images.md: content_management/images/images.md + guide/images/image_editor.md: content_management/images/configure_image_editor.md + guide/images/extending_image_editor.md: content_management/images/extend_image_editor.md + guide/images/config_connector.md: content_management/images/add_image_asset_from_dam.md + extending/extending_online_editor.md: content_management/rich_text/extend_online_editor.md + extending/richtext_block.md: content_management/rich_text/create_custom_richtext_block.md + guide/file_management/file_management.md: content_management/file_management/file_management.md + guide/file_management/binary_media_download.md: content_management/file_management/binary_and_media_download.md + guide/file_management/handling_file_url.md: content_management/file_management/file_url_handling.md + guide/page/page_blocks.md: content_management/pages/page_blocks.md + guide/page/page_block_attributes.md: content_management/pages/page_block_attributes.md + guide/page/page_block_validators.md: content_management/pages/page_block_validators.md + guide/page/create_custom_page_block.md: content_management/pages/create_custom_page_block.md + guide/form_builder/forms.md: content_management/forms/forms.md + api/public_php_api_managing_forms.md: content_management/forms/form_api.md + ibexa_products/experience.md: ibexa_products/ibexa_experience.md + ibexa_products/headless.md: ibexa_products/ibexa_headless.md + personalization/personalization_brochure.md: personalization/personalization_guide.md + guide/form_builder/create_custom_form_field.md: content_management/forms/create_custom_form_field.md + guide/form_builder/customize_email_notifications.md: content_management/forms/customize_email_notifications.md + guide/workflow/workflow.md: content_management/workflow/workflow.md + guide/workflow/add_custom_workflow_action.md: content_management/workflow/add_custom_workflow_action.md + guide/url_management.md: content_management/url_management/url_management.md + api/public_php_api_url_service.md: content_management/url_management/url_api.md + guide/user_generated_content.md: content_management/user_generated_content.md + api/public_php_api_browsing.md: content_management/content_api/browsing_content.md + api/public_php_api_creating_content.md: content_management/content_api/creating_content.md + api/public_php_api_managing_content.md: content_management/content_api/managing_content.md + guide/data_migration/data_migration.md: content_management/data_migration/data_migration.md + guide/data_migration/importing_data.md: content_management/data_migration/importing_data.md + guide/data_migration/exporting_data.md: content_management/data_migration/exporting_data.md + guide/data_migration/migration_management.md: content_management/data_migration/managing_migrations.md + guide/data_migration/data_migration_actions.md: content_management/data_migration/data_migration_actions.md + guide/data_migration/create_migration_action.md: content_management/data_migration/create_data_migration_action.md + guide/data_migration/create_migration_step.md: content_management/data_migration/create_data_migration_step.md + guide/data_migration/add_data_migration_matcher.md: content_management/data_migration/add_data_migration_matcher.md + api/public_php_api_managing_migrations.md: content_management/data_migration/data_migration_api.md + api/field_type_api.md: content_management/field_types/field_types.md + api/field_type_type_and_value.md: content_management/field_types/type_and_value.md + api/field_type_form_and_template.md: content_management/field_types/form_and_template.md + api/field_type_storage.md: content_management/field_types/field_type_storage.md + api/field_type_validation.md: content_management/field_types/field_type_validation.md + api/field_type_search.md: content_management/field_types/field_type_search.md + api/field_type/create_custom_generic_field_type.md: content_management/field_types/create_custom_generic_field_type.md + api/field_type/create_custom_field_type_comparison.md: content_management/field_types/create_custom_field_type_comparison.md + api/field_type_reference.md: content_management/field_types/field_type_reference/field_type_reference.md + api/field_types_reference/authorfield.md: content_management/field_types/field_type_reference/authorfield.md + api/field_types_reference/binaryfilefield.md: content_management/field_types/field_type_reference/binaryfilefield.md + api/field_types_reference/checkboxfield.md: content_management/field_types/field_type_reference/checkboxfield.md + api/field_types_reference/contentqueryfield.md: content_management/field_types/field_type_reference/contentqueryfield.md + api/field_types_reference/countryfield.md: content_management/field_types/field_type_reference/countryfield.md + api/field_types_reference/customergroupfield.md: content_management/field_types/field_type_reference/customergroupfield.md + api/field_types_reference/dateandtimefield.md: content_management/field_types/field_type_reference/dateandtimefield.md + api/field_types_reference/datefield.md: content_management/field_types/field_type_reference/datefield.md + api/field_types_reference/emailaddressfield.md: content_management/field_types/field_type_reference/emailaddressfield.md + api/field_types_reference/floatfield.md: content_management/field_types/field_type_reference/floatfield.md + api/field_types_reference/formfield.md: content_management/field_types/field_type_reference/formfield.md + api/field_types_reference/imagefield.md: content_management/field_types/field_type_reference/imagefield.md + api/field_types_reference/imageassetfield.md: content_management/field_types/field_type_reference/imageassetfield.md + api/field_types_reference/integerfield.md: content_management/field_types/field_type_reference/integerfield.md + api/field_types_reference/isbnfield.md: content_management/field_types/field_type_reference/isbnfield.md + api/field_types_reference/keywordfield.md: content_management/field_types/field_type_reference/keywordfield.md + api/field_types_reference/maplocationfield.md: content_management/field_types/field_type_reference/maplocationfield.md + api/field_types_reference/matrixfield.md: content_management/field_types/field_type_reference/matrixfield.md + api/field_types_reference/measurementfield.md: content_management/field_types/field_type_reference/measurementfield.md + api/field_types_reference/mediafield.md: content_management/field_types/field_type_reference/mediafield.md + api/field_types_reference/nullfield.md: content_management/field_types/field_type_reference/nullfield.md + api/field_types_reference/pagefield.md: content_management/field_types/field_type_reference/pagefield.md + api/field_types_reference/relationfield.md: content_management/field_types/field_type_reference/relationfield.md + api/field_types_reference/relationlistfield.md: content_management/field_types/field_type_reference/relationlistfield.md + api/field_types_reference/richtextfield.md: content_management/field_types/field_type_reference/richtextfield.md + api/field_types_reference/selectionfield.md: content_management/field_types/field_type_reference/selectionfield.md + api/field_types_reference/sesexternaldata.md: content_management/field_types/field_type_reference/field_type_reference.md + content_management/field_types/field_type_reference/sesexternaldata.md: content_management/field_types/field_type_reference/field_type_reference.md + api/field_types_reference/sesprofiledata.md: content_management/field_types/field_type_reference/field_type_reference.md + content_management/field_types/field_type_reference/sesprofiledata.md: content_management/field_types/field_type_reference/field_type_reference.md + api/field_types_reference/sesselection.md: content_management/field_types/field_type_reference/productspecificationfield.md + content_management/field_types/field_type_reference/sesselection.md: content_management/field_types/field_type_reference/productspecificationfield.md + api/field_types_reference/specificationstype.md: content_management/field_types/field_type_reference/productspecificationfield.md + content_management/field_types/field_type_reference/specificationstype.md: content_management/field_types/field_type_reference/productspecificationfield.md + api/field_types_reference/textblockfield.md: content_management/field_types/field_type_reference/textblockfield.md + api/field_types_reference/textlinefield.md: content_management/field_types/field_type_reference/textlinefield.md + api/field_types_reference/timefield.md: content_management/field_types/field_type_reference/timefield.md + api/field_types_reference/urlfield.md: content_management/field_types/field_type_reference/urlfield.md + api/field_types_reference/userfield.md: content_management/field_types/field_type_reference/userfield.md + guide/content_rendering/render_content/render_content.md: templating/render_content/render_content.md + guide/content_rendering/render_content/render_page.md: templating/render_content/render_page.md + guide/content_rendering/render_content/render_product.md: templating/render_content/customize_product_view.md + guide/content_rendering/templates/templates.md: templating/templates/templates.md + guide/content_rendering/templates/template_configuration.md: templating/templates/template_configuration.md + guide/content_rendering/templates/view_matcher_reference.md: templating/templates/view_matcher_reference.md + guide/content_rendering/templates/custom_view_matcher.md: templating/templates/create_custom_view_matcher.md + guide/content_rendering/assets.md: templating/assets.md + guide/content_rendering/image_variations.md: templating/image_variations.md + guide/content_rendering/twig_function_reference/twig_functions_reference.md: templating/twig_function_reference/twig_function_reference.md + guide/content_rendering/twig_function_reference/content_twig_functions.md: templating/twig_function_reference/content_twig_functions.md + guide/content_rendering/twig_function_reference/field_twig_functions.md: templating/twig_function_reference/field_twig_functions.md + guide/content_rendering/twig_function_reference/product_twig_functions.md: templating/twig_function_reference/product_twig_functions.md + guide/content_rendering/twig_function_reference/image_twig_functions.md: templating/twig_function_reference/image_twig_functions.md + guide/content_rendering/twig_function_reference/url_twig_functions.md: templating/twig_function_reference/url_twig_functions.md + guide/content_rendering/twig_function_reference/date_twig_filters.md: templating/twig_function_reference/date_twig_filters.md + guide/content_rendering/twig_function_reference/other_twig_filters.md: templating/twig_function_reference/icon_twig_functions.md + guide/content_rendering/urls_and_routes.md: templating/urls_and_routes/urls_and_routes.md + guide/content_rendering/custom_breadcrumbs.md: templating/urls_and_routes/custom_breadcrumbs.md + guide/content_rendering/design_engine/design_engine.md: templating/design_engine/design_engine.md + guide/content_rendering/design_engine/add_new_design.md: templating/design_engine/add_new_design.md + guide/content_rendering/queries_and_controllers/content_queries.md: templating/queries_and_controllers/content_queries.md + guide/content_rendering/queries_and_controllers/built-in_query_types.md: templating/queries_and_controllers/built-in_query_types.md + guide/content_rendering/queries_and_controllers/custom_query_type.md: templating/queries_and_controllers/create_custom_query_type.md + guide/content_rendering/queries_and_controllers/controllers.md: templating/queries_and_controllers/controllers.md + guide/content_rendering/embed_and_list_content/list_content.md: templating/embed_and_list_content/list_content.md + guide/content_rendering/embed_and_list_content/list_products.md: templating/layout/customize_storefront_layout.md + guide/content_rendering/embed_and_list_content/embed_content.md: templating/embed_and_list_content/embed_content.md + guide/content_rendering/embed_and_list_content/render_images.md: templating/embed_and_list_content/render_images.md + guide/content_rendering/layout/add_breadcrumbs.md: templating/layout/add_breadcrumbs.md + guide/content_rendering/layout/add_forgot_password.md: templating/layout/add_forgot_password_option.md + guide/content_rendering/layout/add_login_form.md: templating/layout/add_login_form.md + guide/content_rendering/layout/add_menu.md: templating/layout/add_navigation_menu.md + guide/content_rendering/layout/add_search_form.md: templating/layout/add_search_form.md + guide/content_rendering/layout/add_register_user_template.md: customer_management/create_user_registration_form.md + guide/content_rendering/layout/customize_basket.md: templating/layout/add_search_form.md + guide/catalog/catalog.md: pim/pim.md + guide/catalog/catalog_configuration.md: pim/pim_configuration.md + api/public_php_api_managing_catalog.md: pim/product_api.md + guide/catalog/enable_purchasing_products.md: pim/enable_purchasing_products.md + guide/catalog/create_custom_attribute_type.md: pim/create_custom_attribute_type.md + guide/pricing/price_engine.md: pim/prices.md + api/public_php_api_managing_prices.md: pim/price_api.md + guide/bestsellers.md: pim/pim.md + pim/bestsellers.md: pim/pim.md + guide/basket/basket.md: commerce/commerce.md + guide/basket/wishlist_and_stored_baskets.md: commerce/commerce.md + commerce/wishlist_and_stored_baskets.md: commerce/commerce.md + guide/checkout/checkout.md: commerce/checkout/checkout.md + guide/checkout/order_confirmation.md: commerce/checkout/checkout.md + commerce/checkout/order_confirmation.md: commerce/checkout/checkout.md + guide/checkout/return_process.md: commerce/checkout/checkout.md + commerce/checkout/return_process.md: commerce/checkout/checkout.md + guide/payment/payment.md: commerce/payment/payment.md + guide/payment/payment_api.md: commerce/payment/payment_api.md + guide/payment/payment_troubleshooting.md: commerce/commerce.md + commerce/payment/payment_troubleshooting.md: commerce/commerce.md + guide/payment/paypal.md: commerce/commerce.md + commerce/payment/paypal.md: commerce/commerce.md + guide/quick_order/quick_order.md: commerce/commerce.md + commerce/quick_order/quick_order.md: commerce/commerce.md + guide/quick_order/quick_order_configuration.md: commerce/commerce.md + commerce/quick_order/quick_order_configuration.md: commerce/commerce.md + guide/order_history/order_history.md: commerce/order_management/order_management.md + commerce/order_history/order_history.md: commerce/order_management/order_management.md + guide/order_history/order_history_configuration.md: commerce/order_management/order_management.md + commerce/order_history/order_history_configuration.md: commerce/order_management/order_management.md + api/shop_business_api.md: commerce/commerce.md + commerce/shop_api.md: commerce/commerce.md + guide/multisite/multisite.md: multisite/multisite.md + guide/multisite/multisite_configuration.md: multisite/multisite_configuration.md + guide/multisite/set_up_campaign_siteaccess.md: multisite/set_up_campaign_siteaccess.md + guide/multisite/set_up_translation_siteaccess.md: multisite/set_up_translation_siteaccess.md + guide/multisite/site_factory.md: multisite/site_factory/site_factory.md + guide/multisite/site_factory_configuration.md: multisite/site_factory/site_factory_configuration.md + guide/multisite/siteaccess_matching.md: multisite/siteaccess/siteaccess_matching.md + guide/multisite/injecting_siteaccess.md: multisite/siteaccess/injecting_siteaccess.md + guide/multisite/siteaccess_aware_configuration.md: multisite/siteaccess/siteaccess_aware_configuration.md + guide/internationalization.md: multisite/languages/languages.md + guide/back_office_translations.md: multisite/languages/back_office_translations.md + guide/shop_translations.md: multisite/languages/languages.md + guide/permissions.md: permissions/permissions.md + guide/permission_use_cases.md: permissions/permission_use_cases.md + guide/limitations.md: permissions/limitations.md + guide/limitation_reference.md: permissions/limitation_reference.md + guide/custom_policies.md: permissions/custom_policies.md + guide/user_management/user_management.md: users/users.md + api/public_php_api_managing_users.md: users/segment_api.md + guide/user_management/customer_groups.md: users/customer_groups.md + guide/user_management/login_and_registration.md: users/users.md + users/login_and_registration.md: users/users.md + users/user_management.md: users/users.md + guide/user_management/oauth.md: users/oauth_client.md + users/oauth_authentication.md: users/oauth_client.md + guide/user_management/login_via_external_service.md: users/oauth_client.md + users/add_login_through_external_service.md: users/oauth_client.md + guide/user_management/token.md: users/users.md + users/token.md: users/users.md + guide/customers/customers.md: users/users.md + users/customers/customers.md: users/users.md + guide/customers/customer_api/customer_api.md: users/users.md + users/customers/customer_api.md: users/users.md + guide/customers/customer_api/customer_profile_data.md: users/users.md + users/customers/customer_profile_data.md: users/users.md + guide/customers/customer_api/configuration_for_customer_data.md: users/users.md + users/customers/customer_data_configuration.md: users/users.md + guide/personalization/personalization.md: personalization/personalization.md + guide/personalization/enabling_personalization.md: personalization/enable_personalization.md + guide/personalization/basic_integration.md: personalization/integrate_recommendation_service.md + guide/personalization/developer_guide/tracking_api.md: personalization/api_reference/tracking_api.md + guide/personalization/developer_guide/importing_historical_user_tracking_data.md: personalization/importing_historical_user_tracking_data.md + guide/personalization/developer_guide/tracking_with_ibexa-tracker.md: personalization/tracking_with_ibexa-tracker.md + guide/personalization/developer_guide/recommendation_api.md: personalization/api_reference/recommendation_api.md + guide/personalization/developer_guide/content_api.md: personalization/api_reference/content_api.md + guide/personalization/developer_guide/user_api.md: personalization/api_reference/user_api.md + guide/personalization/developer_guide/attributes_search_elastic.md: personalization/attribute_search_in_elasticsearch.md + guide/personalization/best_practices/tracking_integration.md: personalization/tracking_integration.md + guide/personalization/best_practices/recommendation_integration.md: personalization/recommendation_integration.md + guide/search/search.md: search/search.md + guide/search/elastic.md: search/search_engines/elasticsearch/elasticsearch_overview.md + guide/search/solr.md: search/search_engines/solr_search_engine/solr_overview.md + api/public_php_api_search.md: search/search_api.md + guide/search/criteria_reference/search_criteria_reference.md: search/criteria_reference/search_criteria_reference.md + guide/search/criteria_reference/ancestor_criterion.md: search/criteria_reference/ancestor_criterion.md + guide/search/criteria_reference/contentid_criterion.md: search/criteria_reference/contentid_criterion.md + guide/search/criteria_reference/contenttypegroupid_criterion.md: search/criteria_reference/contenttypegroupid_criterion.md + guide/search/criteria_reference/contenttypeid_criterion.md: search/criteria_reference/contenttypeid_criterion.md + guide/search/criteria_reference/contenttypeidentifier_criterion.md: search/criteria_reference/contenttypeidentifier_criterion.md + guide/search/criteria_reference/currencycode_criterion.md: search/criteria_reference/currencycode_criterion.md + guide/search/criteria_reference/customergroupid_criterion.md: search/criteria_reference/customergroupid_criterion.md + guide/search/criteria_reference/datemetadata_criterion.md: search/criteria_reference/datemetadata_criterion.md + guide/search/criteria_reference/depth_criterion.md: search/criteria_reference/depth_criterion.md + guide/search/criteria_reference/field_criterion.md: search/criteria_reference/field_criterion.md + guide/search/criteria_reference/fieldrelation_criterion.md: search/criteria_reference/fieldrelation_criterion.md + guide/search/criteria_reference/fulltext_criterion.md: search/criteria_reference/fulltext_criterion.md + guide/search/criteria_reference/iscurrencyenabled_criterion.md: search/criteria_reference/iscurrencyenabled_criterion.md + guide/search/criteria_reference/isfieldempty_criterion.md: search/criteria_reference/isfieldempty_criterion.md + guide/search/criteria_reference/ismainlocation_criterion.md: search/criteria_reference/ismainlocation_criterion.md + guide/search/criteria_reference/isproductbased_criterion.md: search/criteria_reference/isproductbased_criterion.md + guide/search/criteria_reference/isuserbased_criterion.md: search/criteria_reference/isuserbased_criterion.md + guide/search/criteria_reference/isuserenabled_criterion.md: search/criteria_reference/isuserenabled_criterion.md + guide/search/criteria_reference/languagecode_criterion.md: search/criteria_reference/languagecode_criterion.md + guide/search/criteria_reference/locationid_criterion.md: search/criteria_reference/locationid_criterion.md + guide/search/criteria_reference/locationremoteid_criterion.md: search/criteria_reference/locationremoteid_criterion.md + guide/search/criteria_reference/maplocationdistance_criterion.md: search/criteria_reference/maplocationdistance_criterion.md + guide/search/criteria_reference/matchall_criterion.md: search/criteria_reference/matchall_criterion.md + guide/search/criteria_reference/matchnone_criterion.md: search/criteria_reference/matchnone_criterion.md + guide/search/criteria_reference/objectstateid_criterion.md: search/criteria_reference/objectstateid_criterion.md + guide/search/criteria_reference/objectstateidentifier_criterion.md: search/criteria_reference/objectstateidentifier_criterion.md + guide/search/criteria_reference/parentlocationid_criterion.md: search/criteria_reference/parentlocationid_criterion.md + guide/search/criteria_reference/priority_criterion.md: search/criteria_reference/priority_criterion.md + guide/search/criteria_reference/remoteid_criterion.md: search/criteria_reference/remoteid_criterion.md + guide/search/criteria_reference/sectionid_criterion.md: search/criteria_reference/sectionid_criterion.md + guide/search/criteria_reference/sectionidentifier_criterion.md: search/criteria_reference/sectionidentifier_criterion.md + guide/search/criteria_reference/sibling_criterion.md: search/criteria_reference/sibling_criterion.md + guide/search/criteria_reference/subtree_criterion.md: search/criteria_reference/subtree_criterion.md + guide/search/criteria_reference/useremail_criterion.md: search/criteria_reference/useremail_criterion.md + guide/search/criteria_reference/userid_criterion.md: search/criteria_reference/userid_criterion.md + guide/search/criteria_reference/userlogin_criterion.md: search/criteria_reference/userlogin_criterion.md + guide/search/criteria_reference/usermetadata_criterion.md: search/criteria_reference/usermetadata_criterion.md + guide/search/criteria_reference/visibility_criterion.md: search/criteria_reference/visibility_criterion.md + guide/search/criteria_reference/logicaland_criterion.md: search/criteria_reference/logicaland_criterion.md + guide/search/criteria_reference/logicalnot_criterion.md: search/criteria_reference/logicalnot_criterion.md + guide/search/criteria_reference/logicalor_criterion.md: search/criteria_reference/logicalor_criterion.md + guide/search/criteria_reference/baseprice_criterion.md: search/criteria_reference/baseprice_criterion.md + guide/search/criteria_reference/checkboxattribute_criterion.md: search/criteria_reference/checkboxattribute_criterion.md + guide/search/criteria_reference/colorattribute_criterion.md: search/criteria_reference/colorattribute_criterion.md + guide/search/criteria_reference/createdat_criterion.md: search/criteria_reference/createdat_criterion.md + guide/search/criteria_reference/createdatrange_criterion.md: search/criteria_reference/createdatrange_criterion.md + guide/search/criteria_reference/customprice_criterion.md: search/criteria_reference/customprice_criterion.md + guide/search/criteria_reference/floatattribute_criterion.md: search/criteria_reference/floatattribute_criterion.md + guide/search/criteria_reference/integerattribute_criterion.md: search/criteria_reference/integerattribute_criterion.md + guide/search/criteria_reference/productavailability_criterion.md: search/criteria_reference/productavailability_criterion.md + guide/search/criteria_reference/productcategory_criterion.md: search/criteria_reference/productcategory_criterion.md + guide/search/criteria_reference/productcode_criterion.md: search/criteria_reference/productcode_criterion.md + guide/search/criteria_reference/productname_criterion.md: search/criteria_reference/productname_criterion.md + guide/search/criteria_reference/producttype_criterion.md: search/criteria_reference/producttype_criterion.md + guide/search/criteria_reference/selectionattribute_criterion.md: search/criteria_reference/selectionattribute_criterion.md + guide/search/sort_clause_reference/sort_clause_reference.md: search/sort_clause_reference/sort_clause_reference.md + guide/search/sort_clause_reference/contentid_sort_clause.md: search/sort_clause_reference/contentid_sort_clause.md + guide/search/sort_clause_reference/contentname_sort_clause.md: search/sort_clause_reference/contentname_sort_clause.md + guide/search/sort_clause_reference/contenttranslatedname_sort_clause.md: search/sort_clause_reference/contenttranslatedname_sort_clause.md + guide/search/sort_clause_reference/contenttypename_sort_clause.md: search/sort_clause_reference/contenttypename_sort_clause.md + guide/search/sort_clause_reference/customfield_sort_clause.md: search/sort_clause_reference/customfield_sort_clause.md + guide/search/sort_clause_reference/datemodified_sort_clause.md: search/sort_clause_reference/datemodified_sort_clause.md + guide/search/sort_clause_reference/datepublished_sort_clause.md: search/sort_clause_reference/datepublished_sort_clause.md + guide/search/sort_clause_reference/datetrashed_sort_clause.md: search/sort_clause_reference/datetrashed_sort_clause.md + guide/search/sort_clause_reference/depth_sort_clause.md: search/sort_clause_reference/depth_sort_clause.md + guide/search/sort_clause_reference/field_sort_clause.md: search/sort_clause_reference/field_sort_clause.md + guide/search/sort_clause_reference/id_sort_clause.md: search/sort_clause_reference/id_sort_clause.md + guide/search/sort_clause_reference/ismainlocation_sort_clause.md: search/sort_clause_reference/ismainlocation_sort_clause.md + guide/search/sort_clause_reference/maplocationdistance_sort_clause.md: search/sort_clause_reference/maplocationdistance_sort_clause.md + guide/search/sort_clause_reference/path_sort_clause.md: search/sort_clause_reference/path_sort_clause.md + guide/search/sort_clause_reference/priority_sort_clause.md: search/sort_clause_reference/priority_sort_clause.md + guide/search/sort_clause_reference/random_sort_clause.md: search/sort_clause_reference/random_sort_clause.md + guide/search/sort_clause_reference/score_sort_clause.md: search/sort_clause_reference/score_sort_clause.md + guide/search/sort_clause_reference/sectionidentifier_sort_clause.md: search/sort_clause_reference/sectionidentifier_sort_clause.md + guide/search/sort_clause_reference/sectionname_sort_clause.md: search/sort_clause_reference/sectionname_sort_clause.md + guide/search/sort_clause_reference/userlogin_sort_clause.md: search/sort_clause_reference/userlogin_sort_clause.md + guide/search/sort_clause_reference/visibility_sort_clause.md: search/sort_clause_reference/visibility_sort_clause.md + guide/search/sort_clause_reference/createdat_sort_clause.md: search/sort_clause_reference/createdat_sort_clause.md + guide/search/sort_clause_reference/productavailability_sort_clause.md: search/sort_clause_reference/productavailability_sort_clause.md + guide/search/sort_clause_reference/productcode_sort_clause.md: search/sort_clause_reference/productcode_sort_clause.md + guide/search/sort_clause_reference/productname_sort_clause.md: search/sort_clause_reference/productname_sort_clause.md + guide/search/aggregation_reference/aggregation_reference.md: search/aggregation_reference/aggregation_reference.md + guide/search/aggregation_reference/contenttypeterm_aggregation.md: search/aggregation_reference/contenttypeterm_aggregation.md + guide/search/aggregation_reference/contenttypegroupterm_aggregation.md: search/aggregation_reference/contenttypegroupterm_aggregation.md + guide/search/aggregation_reference/datemetadatarange_aggregation.md: search/aggregation_reference/datemetadatarange_aggregation.md + guide/search/aggregation_reference/languageterm_aggregation.md: search/aggregation_reference/languageterm_aggregation.md + guide/search/aggregation_reference/locationchildrenterm_aggregation.md: search/aggregation_reference/locationchildrenterm_aggregation.md + guide/search/aggregation_reference/objectstateterm_aggregation.md: search/aggregation_reference/objectstateterm_aggregation.md + guide/search/aggregation_reference/rawrange_aggregation.md: search/aggregation_reference/rawrange_aggregation.md + guide/search/aggregation_reference/rawstats_aggregation.md: search/aggregation_reference/rawstats_aggregation.md + guide/search/aggregation_reference/rawterm_aggregation.md: search/aggregation_reference/rawterm_aggregation.md + guide/search/aggregation_reference/sectionterm_aggregation.md: search/aggregation_reference/sectionterm_aggregation.md + guide/search/aggregation_reference/subtreeterm_aggregation.md: search/aggregation_reference/subtreeterm_aggregation.md + guide/search/aggregation_reference/usermetadataterm_aggregation.md: search/aggregation_reference/usermetadataterm_aggregation.md + guide/search/aggregation_reference/visibilityterm_aggregation.md: search/aggregation_reference/visibilityterm_aggregation.md + guide/search/aggregation_reference/authorterm_aggregation.md: search/aggregation_reference/authorterm_aggregation.md + guide/search/aggregation_reference/checkboxterm_aggregation.md: search/aggregation_reference/checkboxterm_aggregation.md + guide/search/aggregation_reference/countryterm_aggregation.md: search/aggregation_reference/countryterm_aggregation.md + guide/search/aggregation_reference/daterange_aggregation.md: search/aggregation_reference/daterange_aggregation.md + guide/search/aggregation_reference/datetimerange_aggregation.md: search/aggregation_reference/datetimerange_aggregation.md + guide/search/aggregation_reference/floatrange_aggregation.md: search/aggregation_reference/floatrange_aggregation.md + guide/search/aggregation_reference/floatstats_aggregation.md: search/aggregation_reference/floatstats_aggregation.md + guide/search/aggregation_reference/integerrange_aggregation.md: search/aggregation_reference/integerrange_aggregation.md + guide/search/aggregation_reference/integerstats_aggregation.md: search/aggregation_reference/integerstats_aggregation.md + guide/search/aggregation_reference/keywordterm_aggregation.md: search/aggregation_reference/keywordterm_aggregation.md + guide/search/aggregation_reference/selectionterm_aggregation.md: search/aggregation_reference/selectionterm_aggregation.md + guide/search/aggregation_reference/timerange_aggregation.md: search/aggregation_reference/timerange_aggregation.md + guide/search/url_search_reference/url_search_reference.md: search/url_search_reference/url_search_criteria.md + search/url_search_reference/url_search_reference.md: search/url_search_reference/url_search_criteria.md + guide/search/url_search_reference/id_url_sort_clause.md: search/url_search_reference/id_url_sort_clause.md + guide/search/url_search_reference/url_url_sort_clause.md: search/url_search_reference/url_url_sort_clause.md + guide/search/url_search_reference/matchall_url_criterion.md: search/url_search_reference/matchall_url_criterion.md + guide/search/url_search_reference/matchnone_url_criterion.md: search/url_search_reference/matchnone_url_criterion.md + guide/search/url_search_reference/pattern_url_criterion.md: search/url_search_reference/pattern_url_criterion.md + guide/search/url_search_reference/sectionid_url_criterion.md: search/url_search_reference/sectionid_url_criterion.md + guide/search/url_search_reference/sectionidentifier_url_criterion.md: search/url_search_reference/sectionidentifier_url_criterion.md + guide/search/url_search_reference/validity_url_criterion.md: search/url_search_reference/validity_url_criterion.md + guide/search/url_search_reference/visibleonly_url_criterion.md: search/url_search_reference/visibleonly_url_criterion.md + guide/search/url_search_reference/logicaland_url_criterion.md: search/url_search_reference/logicaland_url_criterion.md + guide/search/url_search_reference/logicalnot_url_criterion.md: search/url_search_reference/logicalnot_url_criterion.md + guide/search/url_search_reference/logicalor_url_criterion.md: search/url_search_reference/logicalor_url_criterion.md + guide/search/search_in_trash_reference.md: search/search_in_trash_reference.md + guide/search/extensibility/create_custom_search_criterion.md: search/extensibility/create_custom_search_criterion.md + guide/search/extensibility/create_custom_sort_clause.md: search/extensibility/create_custom_sort_clause.md + guide/search/extensibility/create_custom_aggregation.md: search/extensibility/create_custom_aggregation.md + guide/search/extensibility/solr_document_field_mappers.md: search/extensibility/solr_document_field_mappers.md + guide/search/extensibility/index_custom_elasticsearch_data.md: search/extensibility/index_custom_elasticsearch_data.md + guide/search/extensibility/manipulate_elasticsearch_query.md: search/extensibility/manipulate_elasticsearch_query.md + guide/search/shop_search/shop_search.md: search/search.md + guide/search/shop_search/search_configuration.md: search/search.md + guide/search/shop_search/search_api.md: search/search.md + guide/search/shop_search/search_indexing.md: search/search.md + guide/search/shop_search/search_synonyms.md: search/search.md + guide/search/shop_search/search_autosuggest.md: search/search.md + search/shop_search/shop_search.md: search/search.md + search/shop_search/search_configuration.md: search/search.md + search/shop_search/shop_search_api.md: search/search.md + search/shop_search/search_indexing.md: search/search.md + search/shop_search/search_synonyms.md: search/search.md + search/shop_search/search_autosuggest.md: search/search.md + search/search_engines/elastic_search/install_elastic_search.md: search/search_engines/elasticsearch/install_elasticsearch.md + search/search_engines/elastic_search/configure_elastic_search.md: search/search_engines/elasticsearch/configure_elasticsearch.md + search/search_engines/elastic_search/elastic_search_overview.md: search/search_engines/elasticsearch/elasticsearch_overview.md + api/public_php_api_managing_repository.md: content_management/content_management_api/bookmark_api.md + guide/request_lifecycle.md: infrastructure_and_maintenance/request_lifecycle.md + guide/databases.md: infrastructure_and_maintenance/databases.md + guide/cache/http_cache.md: infrastructure_and_maintenance/cache/http_cache/http_cache.md + guide/cache/http_cache_config.md: infrastructure_and_maintenance/cache/http_cache/http_cache_configuration.md + guide/cache/symfony_reverse_proxy.md: infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md + guide/cache/context_aware_cache.md: infrastructure_and_maintenance/cache/http_cache/context_aware_cache.md + guide/cache/content_aware_cache.md: infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md + guide/persistence_cache.md: infrastructure_and_maintenance/cache/persistence_cache.md + guide/cache/shop_caching.md: infrastructure_and_maintenance/cache/cache.md + guide/clustering.md: infrastructure_and_maintenance/clustering/clustering.md + guide/clustering_aws_s3.md: infrastructure_and_maintenance/clustering/clustering_with_aws_s3.md + guide/devops.md: infrastructure_and_maintenance/devops.md + guide/backup.md: infrastructure_and_maintenance/backup.md + guide/performance.md: infrastructure_and_maintenance/performance.md + guide/environments.md: infrastructure_and_maintenance/environments.md + guide/sessions.md: infrastructure_and_maintenance/sessions.md + guide/logging/logging.md: infrastructure_and_maintenance/logging.md + guide/logging/logfile_rotation.md: infrastructure_and_maintenance/logging.md + guide/security.md: infrastructure_and_maintenance/security/development_security.md + guide/security_checklist.md: infrastructure_and_maintenance/security/security_checklist.md + guide/reporting_issues.md: infrastructure_and_maintenance/security/reporting_issues.md + community_resources/support_maintenance_faq.md: infrastructure_and_maintenance/support_and_maintenance_faq.md + community_resources/release_process.md: resources/release_process_and_roadmap.md + community_resources/phpstorm_plugin.md: resources/phpstorm_plugin.md + community_resources/contributing.md: resources/contributing/report_and_follow_issues.md + community_resources/report_follow_issues.md: resources/contributing/report_and_follow_issues.md + community_resources/translations.md: resources/contributing/contribute_translations.md + community_resources/package_structure.md: resources/contributing/package_structure.md + updating/update_ibexa_dxp.md: update_and_migration/update_ibexa_dxp.md + updating/from_1.x_2.x/update_from_1.x_2.x.md: update_and_migration/from_1.x_2.x/update_from_1.x_2.x.md + updating/from_1.x_2.x/update_app_to_2.5.md: update_and_migration/from_1.x_2.x/update_app_to_2.5.md + updating/from_1.x_2.x/update_db_to_2.5.md: update_and_migration/from_1.x_2.x/update_db_to_2.5.md + updating/from_2.5/update_from_2.5.md: update_and_migration/from_2.5/update_from_2.5.md + updating/from_2.5/to_3.2.md: update_and_migration/from_2.5/to_3.2.md + updating/from_2.5/adapt_code_to_v3.md: update_and_migration/from_2.5/adapt_code_to_v3.md + updating/from_2.5/update_code/1_update_templates.md: update_and_migration/from_2.5/update_code/1_update_templates.md + updating/from_2.5/update_code/2_update_configuration.md: update_and_migration/from_2.5/update_code/2_update_configuration.md + updating/from_2.5/update_code/3_update_field_types.md: update_and_migration/from_2.5/update_code/3_update_field_types.md + updating/from_2.5/update_code/4_update_signal_slots.md: update_and_migration/from_2.5/update_code/4_update_signal_slots.md + updating/from_2.5/update_code/5_update_online_editor.md: update_and_migration/from_2.5/update_code/5_update_online_editor.md + updating/from_2.5/update_code/6_update_workflow.md: update_and_migration/from_2.5/update_code/6_update_workflow.md + updating/from_2.5/update_code/7_update_extensions.md: update_and_migration/from_2.5/update_code/7_update_extensions.md + updating/from_2.5/update_code/8_update_rest.md: update_and_migration/from_2.5/update_code/8_update_rest.md + updating/from_2.5/update_code/9_update_other.md: update_and_migration/from_2.5/update_code/9_update_other.md + updating/from_2.5/to_3.3.md: update_and_migration/from_2.5/to_3.3.md + updating/from_2.5/to_3.3.latest.md: update_and_migration/from_3.3/update_from_3.3.md + updating/from_3.3/update_from_3.3.md: update_and_migration/from_3.3/update_from_3.3.md + updating/from_3.3/to_4.0.md: update_and_migration/from_3.3/to_4.0.md + updating/from_4.0/to_4.1.md: update_and_migration/from_4.0/to_4.1.md + updating/from_4.1/update_from_4.1.md: update_and_migration/from_4.1/update_from_4.1.md + migrating/migrating_from_ez_publish_platform.md: update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md + migrating/migrating_from_ez_publish.md: update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish.md + migrating/common_issues.md: update_and_migration/migrate_to_ibexa_dxp/common_issues.md + update_and_migration/from_2.5/to_3.3.latest.md: update_and_migration/from_3.3/update_from_3.3.md + releases/ibexa_dxp_v4.2.md: release_notes/ibexa_dxp_v4.2.md + releases/ibexa_dxp_v4.1.md: release_notes/ibexa_dxp_v4.1.md + releases/ibexa_dxp_v4.0.md: release_notes/ibexa_dxp_v4.0.md + releases/ibexa_dxp_v4.0_deprecations.md: release_notes/ibexa_dxp_v4.0_deprecations.md + releases/ibexa_dxp_v3.3.md: release_notes/ibexa_dxp_v3.3.md + releases/ibexa_dxp_v3.2.md: release_notes/ibexa_dxp_v3.2.md + releases/ez_platform_v3.1.md: release_notes/ez_platform_v3.1.md + releases/ez_platform_v3.0.md: release_notes/ez_platform_v3.0.md + releases/ez_platform_v3.0_deprecations.md: release_notes/ez_platform_v3.0_deprecations.md + releases/ez_platform_v2.5.md: release_notes/ez_platform_v2.5.md + releases/ez_platform_v2.4.md: release_notes/ez_platform_v2.4.md + releases/ez_platform_v2.3.md: release_notes/ez_platform_v2.3.md + releases/ez_platform_v2.2.0.md: release_notes/ez_platform_v2.2.0.md + releases/ez_platform_v2.1.0.md: release_notes/ez_platform_v2.1.0.md + releases/ez_platform_v2.0.0.md: release_notes/ez_platform_v2.0.0.md + releases/ez_platform_v1.13.0_lts.md: release_notes/ez_platform_v1.13.0_lts.md + releases/ez_platform_v1.12.0.md: release_notes/ez_platform_v1.12.0.md + releases/ez_platform_v1.11.0.md: release_notes/ez_platform_v1.11.0.md + releases/ez_platform_v1.10.0.md: release_notes/ez_platform_v1.10.0.md + releases/ez_platform_v1.9.0.md: release_notes/ez_platform_v1.9.0.md + releases/ez_platform_v1.8.0.md: release_notes/ez_platform_v1.8.0.md + releases/ez_platform_v1.7.0_lts.md: release_notes/ez_platform_v1.7.0_lts.md + getting_started/install_ez_platform.md: getting_started/install_ibexa_dxp.md + templating/layout/create_user_registration_form.md: customer_management/create_user_registration_form.md + templating/twig_function_reference/other_twig_filters.md: templating/twig_function_reference/icon_twig_functions.md + tutorials/platform_beginner/building_a_bicycle_route_tracker_in_ez_platform.md: tutorials/beginner_tutorial/beginner_tutorial.md + tutorials/platform_beginner/1_get_ready.md: tutorials/beginner_tutorial/1_get_ready.md + tutorials/platform_beginner/2_create_the_content_model.md: tutorials/beginner_tutorial/2_create_the_content_model.md + tutorials/platform_beginner/3_customize_the_front_page.md: tutorials/beginner_tutorial/3_customize_the_front_page.md + tutorials/platform_beginner/4_display_single_content_item.md: tutorials/beginner_tutorial/4_display_single_content_item.md + tutorials/platform_beginner/5_display_a_list_of_content_items.md: tutorials/beginner_tutorial/5_display_a_list_of_content_items.md + tutorials/platform_beginner/6_improve_configuration.md: tutorials/beginner_tutorial/6_improve_configuration.md + tutorials/platform_beginner/7_embed_content.md: tutorials/beginner_tutorial/7_embed_content.md + tutorials/platform_beginner/8_enable_account_registration.md: tutorials/beginner_tutorial/8_enable_account_registration.md + tutorials/enterprise_beginner/ez_enterprise_beginner_tutorial_-_its_a_dogs_world.md: tutorials/page_and_form_tutorial/page_and_form_tutorial.md + tutorials/enterprise_beginner/1_get_a_starter_website.md: tutorials/page_and_form_tutorial/1_get_a_starter_website.md + tutorials/enterprise_beginner/2_prepare_the_landing_page.md: tutorials/page_and_form_tutorial/2_prepare_the_landing_page.md + tutorials/enterprise_beginner/3_use_existing_blocks.md: tutorials/page_and_form_tutorial/3_use_existing_blocks.md + tutorials/enterprise_beginner/4_create_a_custom_block.md: tutorials/page_and_form_tutorial/4_create_a_custom_block.md + tutorials/enterprise_beginner/5_create_newsletter_form.md: tutorials/page_and_form_tutorial/5_create_newsletter_form.md + infrastructure_and_maintenance/repository_api.md: api/php_api/php_api.md + content_management/customize_field_type_metadata.md: content_management/field_types/customize_field_type_metadata.md + getting_started/ibexa_cloud_guide.md: ibexa_cloud/ibexa_cloud_guide.md + getting_started/install_on_ibexa_cloud.md: ibexa_cloud/install_on_ibexa_cloud.md + infrastructure_and_maintenance/clustering/ddev_and_ibexa_cloud.md: ibexa_cloud/ddev_and_ibexa_cloud.md + ai_actions/install_ai_actions.md: ai_actions/configure_ai_actions.md + discounts/install_discounts.md: discounts/configure_discounts.md + content_management/collaborative_editing/install_collaborative_editing.md: content_management/collaborative_editing/configure_collaborative_editing.md +- llmstxt: + markdown_description: Ibexa Developer Documentation + full_output: llms-full.txt + sections: + Ibexa Developer Documentation: + - index.md + Ibexa DXP editions: + - ibexa_products/*.md + Getting started: + - getting_started/*.md + Tutorials: + Tutorials: + - tutorials/tutorials.md + Beginner tutorial: + - tutorials/beginner_tutorial/*.md + Page and Form tutorial: + - tutorials/page_and_form_tutorial/*.md + Generic field type: + - tutorials/generic_field_type/*.md + API: + API: + - api/api.md + PHP API: + PHP API usage: + - api/php_api/php_api.md + PHP API reference: + - api/php_api/php_api_reference/index.html + REST API: + REST API usage: + - api/rest_api/rest_api_usage/*.md + REST API reference: + - api/rest_api/rest_api_reference/rest_api_reference.html + Extending REST API: + - api/rest_api/extending_rest_api/*.md + REST API authentication: + - api/rest_api/rest_api_authentication.md + GraphQL: + - api/graphql/*.md + Event reference: + - api/event_reference/*.md + Administration: + Administration: + - administration/administration.md + Project organization: + - administration/project_organization/*.md + Dashboard: + - administration/dashboard/*.md + Admin panel: + - administration/admin_panel/*.md + Content organization: + - administration/content_organization/*.md + Configuration: + - administration/configuration/*.md + Back office: + Back office: + - administration/back_office/back_office.md + Configuration: + - administration/back_office/back_office_configuration.md + Content tree: + - administration/back_office/content_tree.md + Back office elements: + - administration/back_office/back_office_elements/*.md + Back office tabs: + - administration/back_office/back_office_tabs/*.md + Tab switcher in Content edit page: + - administration/back_office/content_tab_switcher.md + Add anchor menu to content type edit screen: + - administration/back_office/content_type_anchor_menu.md + Back office menus: + - administration/back_office/back_office_menus/*.md + Add user setting: + - administration/back_office/add_user_setting.md + Customize calendar: + - administration/back_office/customize_calendar.md + Browser: + - administration/back_office/browser/*.md + Multi-file upload: + - administration/back_office/multifile_upload.md + Sub-items list: + - administration/back_office/subitems_list.md + Notifications: + - administration/back_office/notifications.md + Integrated help: + - administration/back_office/*.md + Customize search: + - administration/back_office/*.md + Recent activity: + - administration/recent_activity/recent_activity.md + Content management: + Content management: + - content_management/content_management.md + Content management guide: + - content_management/content_management_guide.md + Content model: + - content_management/content_model.md + Locations: + - content_management/locations.md + Content Relations: + - content_management/content_relations.md + Content availability: + - content_management/content_availability.md + Taxonomy: + - content_management/taxonomy/*.md + Images: + - content_management/images/*.md + RichText: + - content_management/rich_text/*.md + File management: + - content_management/file_management/*.md + Pages: + - content_management/pages/*.md + Forms: + - content_management/forms/*.md + Workflow: + - content_management/workflow/*.md + URL management: + - content_management/url_management/*.md + User-generated content: + - content_management/user_generated_content.md + Content API: + - content_management/content_api/*.md + Content management API: + - content_management/content_management_api/*.md + Data migration: + - content_management/data_migration/*.md + Field types: + Field types: + - content_management/field_types/field_types.md + Type and Value: + - content_management/field_types/type_and_value.md + Form and template: + - content_management/field_types/form_and_template.md + Storage: + - content_management/field_types/field_type_storage.md + Validation: + - content_management/field_types/field_type_validation.md + Searching: + - content_management/field_types/field_type_search.md + Create custom generic field type: + - content_management/field_types/create_custom_generic_field_type.md + Create custom field type comparison: + - content_management/field_types/create_custom_field_type_comparison.md + Customize field type metadata: + - content_management/field_types/customize_field_type_metadata.md + Field type reference: + - content_management/field_types/field_type_reference/*.md + Collaborative editing: + - content_management/collaborative_editing/*.md + Templating: + Templating: + - templating/templating.md + Render content: + - templating/render_content/*.md + Templates: + - templating/templates/*.md + Assets: + - templating/assets.md + Image variations: + - templating/image_variations.md + Twig function reference: + - templating/twig_function_reference/*.md + Twig Components: + - templating/components.md + URLs and routes: + - templating/urls_and_routes/*.md + Design engine: + - templating/design_engine/*.md + Queries and controllers: + - templating/queries_and_controllers/*.md + Embed and list content: + - templating/embed_and_list_content/*.md + Layout: + - templating/layout/*.md + AI Actions: + - ai_actions/*.md + PIM (Product management): + PIM (Product management): + - pim/pim.md + PIM guide: + - pim/pim_guide.md + PIM configuration: + - pim/pim_configuration.md + Products: + - pim/products.md + Attributes: + - pim/attributes/*.md + Product API: + - pim/product_api.md + Catalogs: + - pim/catalogs.md + Catalog API: + - pim/catalog_api.md + Enable purchasing products: + - pim/enable_purchasing_products.md + Prices: + - pim/prices.md + Price API: + - pim/price_api.md + Customize PIM: + - pim/*.md + Add remote PIM support: + - pim/add_remote_pim_support.md + Commerce: + Commerce: + - commerce/commerce.md + Cart: + - commerce/cart/*.md + Checkout: + - commerce/checkout/*.md + Order management: + - commerce/order_management/*.md + Payment management: + Payment: + - commerce/payment/payment.md + Configure Payment: + - commerce/payment/configure_payment.md + Extend Payment: + - commerce/payment/extend_payment.md + Payment method API: + - commerce/payment/payment_method_api.md + Payment method filtering: + - commerce/payment/payment_method_filtering.md + Payment API: + - commerce/payment/payment_api.md + Online payment methods: + - commerce/payment/*.md + Shipping management: + - commerce/shipping_management/*.md + Storefront: + - commerce/storefront/*.md + Transactional emails: + - commerce/transactional_emails/*.md + Discounts: + - discounts/*.md + Customer management: + - customer_management/*.md + Ibexa Engage: + - ibexa_engage/*.md + Multisite: + Multisite: + - multisite/multisite.md + Multisite configuration: + - multisite/multisite_configuration.md + SiteAccess: + - multisite/siteaccess/*.md + Set up campaign SiteAccess: + - multisite/set_up_campaign_siteaccess.md + Set up translation SiteAccess: + - multisite/set_up_translation_siteaccess.md + Site Factory: + - multisite/site_factory/*.md + Languages: + - multisite/languages/*.md + Permissions: + - permissions/*.md + Users: + Users: + - users/users.md + User management guide: + - users/user_management_guide.md + User setup: + - users/*.md + User authentication: + - users/*.md + User grouping: + - users/*.md + Personalization: + Personalization: + - personalization/personalization.md + Personalization guide: + - personalization/personalization_guide.md + How Personalization works: + - personalization/how_it_works.md + Enable Personalization: + - personalization/enable_personalization.md + Integrate recommendation service: + - personalization/integrate_recommendation_service.md + Tracking integration: + - personalization/tracking_integration.md + Recommendation integration: + - personalization/recommendation_integration.md + Personalization API: + - personalization/api_reference/*.md + Importing historical user tracking data: + - personalization/importing_historical_user_tracking_data.md + Track with ibexa-tracker.js: + - personalization/tracking_with_ibexa-tracker.md + Attribute search in Elasticsearch: + - personalization/attribute_search_in_elasticsearch.md + CDP (Customer Data Platform): + Customer Data Platform: + - cdp/cdp.md + CDP guide: + - cdp/cdp_guide.md + CDP installation: + - cdp/cdp_installation.md + CDP activation: + - cdp/cdp_activation/*.md + CDP data export schedule: + - cdp/cdp_data_export_schedule.md + CDP data customization: + - cdp/cdp_data_customization.md + Search: + Search: + - search/search.md + Search engines: + Search engines: + - search/search_engines/search_engines.md + Elasticsearch search engine: + - search/search_engines/elasticsearch/*.md + Solr search engine: + - search/search_engines/solr_search_engine/*.md + Legacy search engine: + - search/search_engines/legacy_search_engine/*.md + Search API: + - search/search_api.md + Search Criteria and Sort Clauses: + - search/search_criteria_and_sort_clauses.md + Search Criteria reference: + - search/criteria_reference/*.md + Content Type Search Criteria: + - search/content_type_search_reference/content_type_criteria.md + Product Search Criteria: + - search/criteria_reference/*.md + Order Search Criteria: + - search/criteria_reference/*.md + Payment Search Criteria: + - search/criteria_reference/*.md + Payment Method Search Criteria: + - search/criteria_reference/*.md + Price Search Criteria: + - search/criteria_reference/*.md + Shipment Search Criteria: + - search/criteria_reference/*.md + URL Search Criteria: + - search/url_search_reference/*.md + Activity Log Search Criteria: + - search/activity_log_search_reference/*.md + Action Configuration Search Criteria: + - search/ai_actions_search_reference/action_configuration_criteria.md + Discounts Search Criteria: + - search/discounts_search_reference/discounts_criteria.md + Collaboration Search Criteria: + - search/collaboration_search_reference/collaboration_criteria.md + Notification Search Criteria: + - search/criteria_reference/*.md + Sort Clause reference: + General Sort Clauses: + - search/sort_clause_reference/*.md + Content Type Sort Clauses: + - search/content_type_search_reference/content_type_sort_clauses.md + Product Sort Clauses: + Product Sort Clauses: + - search/sort_clause_reference/product_sort_clauses.md + BasePrice: + - search/sort_clause_reference/baseprice_sort_clause.md + CreatedAt: + - search/sort_clause_reference/createdat_sort_clause.md + CustomPrice: + - search/sort_clause_reference/customprice_sort_clause.md + ProductAvailability: + - search/sort_clause_reference/productavailability_sort_clause.md + ProductStock: + - search/criteria_reference/productstock_criterion.md + ProductStockRange: + - search/criteria_reference/productstockrange_criterion.md + ProductCode: + - search/sort_clause_reference/productcode_sort_clause.md + ProductName: + - search/sort_clause_reference/productname_sort_clause.md + Order Sort Clauses: + - search/sort_clause_reference/*.md + Payment Sort Clauses: + - search/sort_clause_reference/*.md + Payment Method Sort Clauses: + - search/sort_clause_reference/*.md + Shipment Sort Clauses: + - search/sort_clause_reference/*.md + URL Sort Clauses: + - search/url_search_reference/*.md + Activity Log Sort Clauses: + - search/activity_log_search_reference/activity_log_sort_clauses.md + Collaboration Sort Clauses: + - search/collaboration_search_reference/collaboration_sort_clauses.md + Action Configuration Sort Clauses: + - search/ai_actions_search_reference/action_configuration_sort_clauses.md + Discounts Sort Clauses: + - search/discounts_search_reference/discounts_sort_clauses.md + Aggregation reference: + - search/aggregation_reference/*.md + Search in trash reference: + - search/search_in_trash_reference.md + Extend search: + - search/extensibility/*.md + Reindex search: + - search/reindex_search.md + Ibexa Cloud: + - ibexa_cloud/*.md + Infrastructure and maintenance: + Infrastructure and maintenance: + - infrastructure_and_maintenance/infrastructure_and_maintenance.md + Request lifecycle: + - infrastructure_and_maintenance/request_lifecycle.md + Databases: + - infrastructure_and_maintenance/databases.md + Cache: + Cache: + - infrastructure_and_maintenance/cache/cache.md + HTTP cache: + - infrastructure_and_maintenance/cache/http_cache/*.md + Persistence cache: + - infrastructure_and_maintenance/cache/persistence_cache.md + Clustering: + - infrastructure_and_maintenance/clustering/*.md + DevOps: + - infrastructure_and_maintenance/devops.md + Backup: + - infrastructure_and_maintenance/backup.md + Performance: + - infrastructure_and_maintenance/performance.md + Background tasks: + - infrastructure_and_maintenance/background_tasks.md + Environments: + - infrastructure_and_maintenance/environments.md + Sessions: + - infrastructure_and_maintenance/sessions.md + Logging: + - infrastructure_and_maintenance/logging.md + Security: + - infrastructure_and_maintenance/security/*.md + Support and maintenance FAQ: + - infrastructure_and_maintenance/support_and_maintenance_faq.md + Update and migration: + Update Ibexa DXP: + - update_and_migration/update_ibexa_dxp.md + Update from v1.13 and v2.x: + - update_and_migration/from_1.x_2.x/*.md + Update from v2.5: + Update from v2.5: + - update_and_migration/from_2.5/update_from_2.5.md + Update to v3.2: + - update_and_migration/from_2.5/to_3.2.md + Adapt code to v3: + Adapt code to v3: + - update_and_migration/from_2.5/adapt_code_to_v3.md + 1. Update templates: + - update_and_migration/from_2.5/update_code/1_update_templates.md + 2. Update configuration: + - update_and_migration/from_2.5/update_code/2_update_configuration.md + 3. Update field types: + - update_and_migration/from_2.5/update_code/3_update_field_types.md + 4. Update Signal Slots: + - update_and_migration/from_2.5/update_code/4_update_signal_slots.md + 5. Update Online Editor: + - update_and_migration/from_2.5/update_code/5_update_online_editor.md + 6. Update workflow: + - update_and_migration/from_2.5/update_code/6_update_workflow.md + 7. Update extended code: + - update_and_migration/from_2.5/update_code/7_update_extensions.md + 8. Update REST: + - update_and_migration/from_2.5/update_code/8_update_rest.md + 9. Other code updates: + - update_and_migration/from_2.5/update_code/9_update_other.md + Update to v3.3: + - update_and_migration/from_2.5/to_3.3.md + Update from v3.3: + - update_and_migration/from_3.3/*.md + Update from v4.0: + Update to v4.1: + - update_and_migration/from_4.0/to_4.1.md + Update from v4.1: + Update to v4.2: + - update_and_migration/from_4.1/update_from_4.1.md + Update from v4.2: + Update to v4.3: + - update_and_migration/from_4.2/update_from_4.2.md + Update from v4.3: + - update_and_migration/from_4.3/*.md + Update from v4.4: + Update to v4.5: + - update_and_migration/from_4.4/update_from_4.4.md + Update from v4.5: + Update to v4.6: + - update_and_migration/from_4.5/update_from_4.5.md + Update from v4.6: + - update_and_migration/from_4.6/*.md + Update from v5.0: + Update to v5.0: + - update_and_migration/from_5.0/update_from_5.0.md + Migrate to Ibexa DXP: + - update_and_migration/migrate_to_ibexa_dxp/*.md + Resources: + Resources: + - resources/resources.md + Release process and roadmap: + - resources/release_process_and_roadmap.md + Ibexa DXP PhpStorm plugin: + - resources/phpstorm_plugin.md + New in documentation: + - resources/new_in_doc.md + Contributing: + - resources/contributing/*.md + Product guides: + Product guides: + - product_guides/product_guides.md + Release notes: + - release_notes/*.md diff --git a/update_llmstxt_config.py b/update_llmstxt_config.py new file mode 100755 index 0000000000..1bfcd36e2b --- /dev/null +++ b/update_llmstxt_config.py @@ -0,0 +1,258 @@ +#!/usr/bin/env python3 +""" +Update the llmstxt plugin configuration in plugins.yml based on mkdocs.yml nav structure. +This script converts the mkdocs navigation into a format suitable for the llmstxt plugin, +using glob patterns where possible to simplify the configuration. +""" + +import yaml +from pathlib import Path +from collections import defaultdict + + +def group_files_by_directory(files): + """ + Group files by their directory and check if they can be represented by glob patterns. + Returns a dict mapping directory paths to file lists. + """ + files_by_dir = defaultdict(list) + + for file in files: + if isinstance(file, str): + file_path = Path(file) + directory = str(file_path.parent) + files_by_dir[directory].append(file) + + return files_by_dir + + +def convert_to_glob_patterns(files): + """ + Convert a list of files to glob patterns where appropriate. + Returns a list that may contain glob patterns or individual files. + + Strategy: + - If multiple files from same directory: use glob pattern for that directory + - If single file or files from different dirs: list individually + """ + if not files: + return [] + + # Group by directory + files_by_dir = group_files_by_directory(files) + + result = [] + processed_dirs = set() + + # For each directory, decide whether to use glob or list files + for directory, dir_files in sorted(files_by_dir.items()): + if directory in processed_dirs: + continue + + # Use glob if we have 2+ markdown files in the same directory + if len(dir_files) >= 2 and all(Path(f).suffix == '.md' for f in dir_files): + if directory: # Not root + result.append(f"{directory}/*.md") + else: + result.append("*.md") + processed_dirs.add(directory) + else: + # Add files individually + result.extend(dir_files) + + return result + + +def process_nav_section(nav_item): + """ + Process a nav section and return a dict/list structure for llmstxt config. + Preserves the hierarchical structure from mkdocs.yml and uses glob patterns where possible. + """ + if isinstance(nav_item, str): + # Direct file reference + return nav_item + + if isinstance(nav_item, dict): + result = {} + for key, value in nav_item.items(): + if isinstance(value, str): + # Single file under this section + result[key] = [value] + elif isinstance(value, list): + # Process list items + has_nested_sections = any(isinstance(item, dict) for item in value) + + if has_nested_sections: + # Check if all nested sections are simple file mappings from same directory + # If so, we can use a glob instead + all_files = [] + all_simple = True + + for item in value: + if isinstance(item, str): + all_files.append(item) + elif isinstance(item, dict): + # Check if this is a simple single-file mapping + if len(item) == 1: + item_key, item_value = next(iter(item.items())) + if isinstance(item_value, str): + all_files.append(item_value) + elif isinstance(item_value, list) and len(item_value) == 1: + all_files.append(item_value[0]) + else: + all_simple = False + break + else: + all_simple = False + break + + # If all items are from same directory, use glob + if all_simple and all_files: + glob_patterns = convert_to_glob_patterns(all_files) + # If we got a single glob pattern, use it directly + if len(glob_patterns) == 1 and '*.md' in glob_patterns[0]: + result[key] = glob_patterns + else: + # Otherwise, process normally + nested_result = {} + direct_files = [] + + for item in value: + if isinstance(item, str): + direct_files.append(item) + elif isinstance(item, dict): + processed = process_nav_section(item) + if isinstance(processed, dict): + nested_result.update(processed) + + # Convert direct files to globs where possible + if direct_files: + direct_files = convert_to_glob_patterns(direct_files) + + # If we have both direct files and nested sections + if direct_files and nested_result: + result[key] = direct_files + result.update(nested_result) + elif nested_result: + result[key] = nested_result + elif direct_files: + result[key] = direct_files + else: + # Contains nested sections - recurse normally + nested_result = {} + direct_files = [] + + for item in value: + if isinstance(item, str): + direct_files.append(item) + elif isinstance(item, dict): + processed = process_nav_section(item) + if isinstance(processed, dict): + nested_result.update(processed) + + # Convert direct files to globs where possible + if direct_files: + direct_files = convert_to_glob_patterns(direct_files) + + # If we have both direct files and nested sections + if direct_files and nested_result: + result[key] = direct_files + result.update(nested_result) + elif nested_result: + result[key] = nested_result + elif direct_files: + result[key] = direct_files + else: + # Only contains direct file references + files = [item for item in value if isinstance(item, str)] + if files: + # Convert to glob patterns where possible + glob_patterns = convert_to_glob_patterns(files) + result[key] = glob_patterns + + return result + + return None + + +def convert_nav_to_llmstxt_sections(nav_list): + """ + Convert mkdocs nav list to llmstxt sections format. + """ + sections = {} + + for item in nav_list: + if isinstance(item, dict): + for section_name, section_content in item.items(): + if isinstance(section_content, str): + sections[section_name] = [section_content] + elif isinstance(section_content, list): + processed = process_nav_section({section_name: section_content}) + if processed: + sections.update(processed) + elif isinstance(item, str): + # Top-level file + if 'Top-level files' not in sections: + sections['Top-level files'] = [] + sections['Top-level files'].append(item) + + return sections + + +def update_plugins_yml(plugins_path, mkdocs_path): + """ + Update the llmstxt plugin configuration in plugins.yml based on mkdocs.yml nav. + """ + # Read both files + with open(plugins_path, 'r') as f: + plugins_data = yaml.safe_load(f) + + with open(mkdocs_path, 'r') as f: + mkdocs_data = yaml.safe_load(f) + + # Convert nav to sections + nav = mkdocs_data.get('nav', []) + new_sections = convert_nav_to_llmstxt_sections(nav) + + # Find and update llmstxt plugin + plugins_list = plugins_data.get('plugins', []) + for i, plugin in enumerate(plugins_list): + if isinstance(plugin, dict) and 'llmstxt' in plugin: + # Update sections while preserving other settings + plugin['llmstxt']['sections'] = new_sections + print(f"✓ Updated llmstxt plugin configuration") + print(f" Total sections: {len(new_sections)}") + break + else: + print("✗ llmstxt plugin not found in plugins.yml") + return False + + # Write back to file + with open(plugins_path, 'w') as f: + yaml.dump(plugins_data, f, default_flow_style=False, sort_keys=False, + allow_unicode=True, width=120) + + print(f"✓ Updated {plugins_path}") + return True + + +if __name__ == '__main__': + script_dir = Path(__file__).parent + plugins_path = script_dir / 'plugins.yml' + mkdocs_path = script_dir / 'mkdocs.yml' + + if not plugins_path.exists(): + print(f"✗ plugins.yml not found at {plugins_path}") + exit(1) + + if not mkdocs_path.exists(): + print(f"✗ mkdocs.yml not found at {mkdocs_path}") + exit(1) + + print("Updating llmstxt configuration...") + print(f"Reading from: {mkdocs_path}") + print(f"Updating: {plugins_path}") + print() + + success = update_plugins_yml(plugins_path, mkdocs_path) + exit(0 if success else 1) From f3ef0d809c567c403761bd23939b850d384aceda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Tue, 23 Dec 2025 13:38:43 +0100 Subject: [PATCH 03/11] Exclusions --- plugins.yml | 76 +++++++++++----------------------------- update_llmstxt_config.py | 52 +++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 56 deletions(-) diff --git a/plugins.yml b/plugins.yml index 541d6108b8..462174b325 100644 --- a/plugins.yml +++ b/plugins.yml @@ -805,29 +805,6 @@ plugins: - users/*.md User grouping: - users/*.md - Personalization: - Personalization: - - personalization/personalization.md - Personalization guide: - - personalization/personalization_guide.md - How Personalization works: - - personalization/how_it_works.md - Enable Personalization: - - personalization/enable_personalization.md - Integrate recommendation service: - - personalization/integrate_recommendation_service.md - Tracking integration: - - personalization/tracking_integration.md - Recommendation integration: - - personalization/recommendation_integration.md - Personalization API: - - personalization/api_reference/*.md - Importing historical user tracking data: - - personalization/importing_historical_user_tracking_data.md - Track with ibexa-tracker.js: - - personalization/tracking_with_ibexa-tracker.md - Attribute search in Elasticsearch: - - personalization/attribute_search_in_elasticsearch.md CDP (Customer Data Platform): Customer Data Platform: - cdp/cdp.md @@ -974,38 +951,6 @@ plugins: Update and migration: Update Ibexa DXP: - update_and_migration/update_ibexa_dxp.md - Update from v1.13 and v2.x: - - update_and_migration/from_1.x_2.x/*.md - Update from v2.5: - Update from v2.5: - - update_and_migration/from_2.5/update_from_2.5.md - Update to v3.2: - - update_and_migration/from_2.5/to_3.2.md - Adapt code to v3: - Adapt code to v3: - - update_and_migration/from_2.5/adapt_code_to_v3.md - 1. Update templates: - - update_and_migration/from_2.5/update_code/1_update_templates.md - 2. Update configuration: - - update_and_migration/from_2.5/update_code/2_update_configuration.md - 3. Update field types: - - update_and_migration/from_2.5/update_code/3_update_field_types.md - 4. Update Signal Slots: - - update_and_migration/from_2.5/update_code/4_update_signal_slots.md - 5. Update Online Editor: - - update_and_migration/from_2.5/update_code/5_update_online_editor.md - 6. Update workflow: - - update_and_migration/from_2.5/update_code/6_update_workflow.md - 7. Update extended code: - - update_and_migration/from_2.5/update_code/7_update_extensions.md - 8. Update REST: - - update_and_migration/from_2.5/update_code/8_update_rest.md - 9. Other code updates: - - update_and_migration/from_2.5/update_code/9_update_other.md - Update to v3.3: - - update_and_migration/from_2.5/to_3.3.md - Update from v3.3: - - update_and_migration/from_3.3/*.md Update from v4.0: Update to v4.1: - update_and_migration/from_4.0/to_4.1.md @@ -1045,4 +990,23 @@ plugins: Product guides: - product_guides/product_guides.md Release notes: - - release_notes/*.md + Release notes: + - release_notes/release_notes.md + Ibexa DXP v5.0 LTS: + - release_notes/ibexa_dxp_v5.0.md + Ibexa DXP v5.0 deprecations and BC breaks: + - release_notes/ibexa_dxp_v5.0_deprecations.md + Ibexa DXP v4.6 LTS: + - release_notes/ibexa_dxp_v4.6.md + Ibexa DXP v4.5: + - release_notes/ibexa_dxp_v4.5.md + Ibexa DXP v4.4: + - release_notes/ibexa_dxp_v4.4.md + Ibexa DXP v4.3: + - release_notes/ibexa_dxp_v4.3.md + Ibexa DXP v4.2: + - release_notes/ibexa_dxp_v4.2.md + Ibexa DXP v4.1: + - release_notes/ibexa_dxp_v4.1.md + Ibexa DXP v4.0: + - release_notes/ibexa_dxp_v4.0.md diff --git a/update_llmstxt_config.py b/update_llmstxt_config.py index 1bfcd36e2b..04a1f4671a 100755 --- a/update_llmstxt_config.py +++ b/update_llmstxt_config.py @@ -34,6 +34,7 @@ def convert_to_glob_patterns(files): Strategy: - If multiple files from same directory: use glob pattern for that directory - If single file or files from different dirs: list individually + - Exception: Don't glob release_notes directory (we filter by version) """ if not files: return [] @@ -49,6 +50,12 @@ def convert_to_glob_patterns(files): if directory in processed_dirs: continue + # Don't use glob for release_notes - we want to filter by version + if 'release_notes' in directory: + result.extend(dir_files) + processed_dirs.add(directory) + continue + # Use glob if we have 2+ markdown files in the same directory if len(dir_files) >= 2 and all(Path(f).suffix == '.md' for f in dir_files): if directory: # Not root @@ -75,6 +82,9 @@ def process_nav_section(nav_item): if isinstance(nav_item, dict): result = {} for key, value in nav_item.items(): + # Skip excluded sections + if should_exclude_section(key): + continue if isinstance(value, str): # Single file under this section result[key] = [value] @@ -175,15 +185,57 @@ def process_nav_section(nav_item): return None +def should_exclude_section(section_name): + """ + Check if a section should be excluded based on exclusion rules. + + Exclusions: + - Personalization + - Update and release notes for versions older than v4 (3.3 and lower) + - v4.0 deprecations + """ + # Exclude Personalization + if 'Personalization' in section_name or 'personalization' in section_name.lower(): + return True + + # Exclude v4.0 deprecations + if 'v4.0 deprecations' in section_name or 'v4.0_deprecations' in section_name: + return True + + # Exclude old version updates and releases (v3.3 and lower, v2.x, v1.x) + old_version_patterns = [ + # Release notes for old versions + 'v3.3 LTS', 'v3.2', 'v3.1', 'v3.0', + 'v2.5', 'v2.4', 'v2.3', 'v2.2', 'v2.1', 'v2.0', + 'v1.13', 'v1.12', 'v1.11', 'v1.10', 'v1.9', 'v1.8', 'v1.7', + # Update sections + 'from v1.13', 'from v2.', 'from 1.x', 'from 2.x', + 'Update from v1.13', 'Update from v2.5', 'Update from v3.3', + # eZ Platform versions (all are pre-v4) + 'eZ Platform', 'ez Platform' + ] + + for pattern in old_version_patterns: + if pattern in section_name: + return True + + return False + + def convert_nav_to_llmstxt_sections(nav_list): """ Convert mkdocs nav list to llmstxt sections format. + Applies exclusion filters for certain sections. """ sections = {} for item in nav_list: if isinstance(item, dict): for section_name, section_content in item.items(): + # Skip excluded sections + if should_exclude_section(section_name): + continue + if isinstance(section_content, str): sections[section_name] = [section_content] elif isinstance(section_content, list): From 07a78ef64dfa648fe80e53db5358ca74a663a1bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Tue, 23 Dec 2025 15:47:53 +0100 Subject: [PATCH 04/11] Converter fixed --- plugins.yml | 546 ++++++++------------------------------- update_llmstxt_config.py | 75 +++++- 2 files changed, 178 insertions(+), 443 deletions(-) diff --git a/plugins.yml b/plugins.yml index 462174b325..9f72bcba53 100644 --- a/plugins.yml +++ b/plugins.yml @@ -540,7 +540,11 @@ plugins: discounts/install_discounts.md: discounts/configure_discounts.md content_management/collaborative_editing/install_collaborative_editing.md: content_management/collaborative_editing/configure_collaborative_editing.md - llmstxt: - markdown_description: Ibexa Developer Documentation + markdown_description: | + Ibexa DXP developer documentation - comprehensive technical guide for building digital experiences with Ibexa, a modern PHP-based Digital Experience Platform built on Symfony Full Stack Framework. + Ibexa is an enterprise-grade content management and digital commerce platform that comes in three editions: Headless (API-first content management), Experience (full DXP with Page Builder and forms), and Commerce (complete e-commerce solution). + Key technical capabilities include: flexible content modeling with custom field types, powerful REST and GraphQL APIs, headless and traditional architecture support, Product Information Management (PIM), integrated commerce features (cart, checkout, payment, shipping), multi-site and multi-language support, advanced search with Elasticsearch/Solr, customizable Twig templating, Symfony-based extensibility, workflow management, AI Actions for content generation, Form Builder, and comprehensive user/permission management. + The platform is designed for developers to build scalable content-driven applications, e-commerce sites, and headless solutions with enterprise features like Customer Data Platform (CDP), personalization, editorial workflows, and extensive APIs. Built with modern PHP practices on Symfony 7.x, supporting MySQL/MariaDB and PostgreSQL databases. full_output: llms-full.txt sections: Ibexa Developer Documentation: @@ -550,227 +554,71 @@ plugins: Getting started: - getting_started/*.md Tutorials: - Tutorials: - - tutorials/tutorials.md - Beginner tutorial: - - tutorials/beginner_tutorial/*.md - Page and Form tutorial: - - tutorials/page_and_form_tutorial/*.md - Generic field type: - - tutorials/generic_field_type/*.md + - tutorials/tutorials.md + - tutorials/beginner_tutorial/*.md + - tutorials/generic_field_type/*.md + - tutorials/page_and_form_tutorial/*.md API: - API: - - api/api.md - PHP API: - PHP API usage: - - api/php_api/php_api.md - PHP API reference: - - api/php_api/php_api_reference/index.html - REST API: - REST API usage: - - api/rest_api/rest_api_usage/*.md - REST API reference: - - api/rest_api/rest_api_reference/rest_api_reference.html - Extending REST API: - - api/rest_api/extending_rest_api/*.md - REST API authentication: - - api/rest_api/rest_api_authentication.md - GraphQL: - - api/graphql/*.md - Event reference: - - api/event_reference/*.md + - api/api.md + - api/event_reference/*.md + - api/graphql/*.md + - api/php_api/php_api.md + - api/rest_api/rest_api_authentication.md + - api/rest_api/extending_rest_api/*.md + - api/rest_api/rest_api_usage/*.md Administration: - Administration: - - administration/administration.md - Project organization: - - administration/project_organization/*.md - Dashboard: - - administration/dashboard/*.md - Admin panel: - - administration/admin_panel/*.md - Content organization: - - administration/content_organization/*.md - Configuration: - - administration/configuration/*.md - Back office: - Back office: - - administration/back_office/back_office.md - Configuration: - - administration/back_office/back_office_configuration.md - Content tree: - - administration/back_office/content_tree.md - Back office elements: - - administration/back_office/back_office_elements/*.md - Back office tabs: - - administration/back_office/back_office_tabs/*.md - Tab switcher in Content edit page: - - administration/back_office/content_tab_switcher.md - Add anchor menu to content type edit screen: - - administration/back_office/content_type_anchor_menu.md - Back office menus: - - administration/back_office/back_office_menus/*.md - Add user setting: - - administration/back_office/add_user_setting.md - Customize calendar: - - administration/back_office/customize_calendar.md - Browser: - - administration/back_office/browser/*.md - Multi-file upload: - - administration/back_office/multifile_upload.md - Sub-items list: - - administration/back_office/subitems_list.md - Notifications: - - administration/back_office/notifications.md - Integrated help: - - administration/back_office/*.md - Customize search: - - administration/back_office/*.md - Recent activity: - - administration/recent_activity/recent_activity.md + - administration/administration.md + - administration/admin_panel/*.md + - administration/back_office/*.md + - administration/back_office/back_office_elements/*.md + - administration/back_office/back_office_menus/*.md + - administration/back_office/back_office_tabs/*.md + - administration/back_office/browser/*.md + - administration/configuration/*.md + - administration/content_organization/*.md + - administration/dashboard/*.md + - administration/project_organization/*.md + - administration/recent_activity/recent_activity.md Content management: - Content management: - - content_management/content_management.md - Content management guide: - - content_management/content_management_guide.md - Content model: - - content_management/content_model.md - Locations: - - content_management/locations.md - Content Relations: - - content_management/content_relations.md - Content availability: - - content_management/content_availability.md - Taxonomy: - - content_management/taxonomy/*.md - Images: - - content_management/images/*.md - RichText: - - content_management/rich_text/*.md - File management: - - content_management/file_management/*.md - Pages: - - content_management/pages/*.md - Forms: - - content_management/forms/*.md - Workflow: - - content_management/workflow/*.md - URL management: - - content_management/url_management/*.md - User-generated content: - - content_management/user_generated_content.md - Content API: - - content_management/content_api/*.md - Content management API: - - content_management/content_management_api/*.md - Data migration: - - content_management/data_migration/*.md - Field types: - Field types: - - content_management/field_types/field_types.md - Type and Value: - - content_management/field_types/type_and_value.md - Form and template: - - content_management/field_types/form_and_template.md - Storage: - - content_management/field_types/field_type_storage.md - Validation: - - content_management/field_types/field_type_validation.md - Searching: - - content_management/field_types/field_type_search.md - Create custom generic field type: - - content_management/field_types/create_custom_generic_field_type.md - Create custom field type comparison: - - content_management/field_types/create_custom_field_type_comparison.md - Customize field type metadata: - - content_management/field_types/customize_field_type_metadata.md - Field type reference: - - content_management/field_types/field_type_reference/*.md - Collaborative editing: - - content_management/collaborative_editing/*.md + - content_management/*.md + - content_management/collaborative_editing/*.md + - content_management/content_api/*.md + - content_management/content_management_api/*.md + - content_management/data_migration/*.md + - content_management/field_types/*.md + - content_management/field_types/field_type_reference/*.md + - content_management/file_management/*.md + - content_management/forms/*.md + - content_management/images/*.md + - content_management/pages/*.md + - content_management/rich_text/*.md + - content_management/taxonomy/*.md + - content_management/url_management/*.md + - content_management/workflow/*.md Templating: - Templating: - - templating/templating.md - Render content: - - templating/render_content/*.md - Templates: - - templating/templates/*.md - Assets: - - templating/assets.md - Image variations: - - templating/image_variations.md - Twig function reference: - - templating/twig_function_reference/*.md - Twig Components: - - templating/components.md - URLs and routes: - - templating/urls_and_routes/*.md - Design engine: - - templating/design_engine/*.md - Queries and controllers: - - templating/queries_and_controllers/*.md - Embed and list content: - - templating/embed_and_list_content/*.md - Layout: - - templating/layout/*.md + - templating/*.md + - templating/design_engine/*.md + - templating/embed_and_list_content/*.md + - templating/layout/*.md + - templating/queries_and_controllers/*.md + - templating/render_content/*.md + - templating/templates/*.md + - templating/twig_function_reference/*.md + - templating/urls_and_routes/*.md AI Actions: - ai_actions/*.md PIM (Product management): - PIM (Product management): - - pim/pim.md - PIM guide: - - pim/pim_guide.md - PIM configuration: - - pim/pim_configuration.md - Products: - - pim/products.md - Attributes: - - pim/attributes/*.md - Product API: - - pim/product_api.md - Catalogs: - - pim/catalogs.md - Catalog API: - - pim/catalog_api.md - Enable purchasing products: - - pim/enable_purchasing_products.md - Prices: - - pim/prices.md - Price API: - - pim/price_api.md - Customize PIM: - - pim/*.md - Add remote PIM support: - - pim/add_remote_pim_support.md + - pim/*.md + - pim/attributes/*.md Commerce: - Commerce: - - commerce/commerce.md - Cart: - - commerce/cart/*.md - Checkout: - - commerce/checkout/*.md - Order management: - - commerce/order_management/*.md - Payment management: - Payment: - - commerce/payment/payment.md - Configure Payment: - - commerce/payment/configure_payment.md - Extend Payment: - - commerce/payment/extend_payment.md - Payment method API: - - commerce/payment/payment_method_api.md - Payment method filtering: - - commerce/payment/payment_method_filtering.md - Payment API: - - commerce/payment/payment_api.md - Online payment methods: - - commerce/payment/*.md - Shipping management: - - commerce/shipping_management/*.md - Storefront: - - commerce/storefront/*.md - Transactional emails: - - commerce/transactional_emails/*.md + - commerce/commerce.md + - commerce/cart/*.md + - commerce/checkout/*.md + - commerce/order_management/*.md + - commerce/payment/*.md + - commerce/shipping_management/*.md + - commerce/storefront/*.md + - commerce/transactional_emails/*.md Discounts: - discounts/*.md Customer management: @@ -778,235 +626,65 @@ plugins: Ibexa Engage: - ibexa_engage/*.md Multisite: - Multisite: - - multisite/multisite.md - Multisite configuration: - - multisite/multisite_configuration.md - SiteAccess: - - multisite/siteaccess/*.md - Set up campaign SiteAccess: - - multisite/set_up_campaign_siteaccess.md - Set up translation SiteAccess: - - multisite/set_up_translation_siteaccess.md - Site Factory: - - multisite/site_factory/*.md - Languages: - - multisite/languages/*.md + - multisite/*.md + - multisite/languages/*.md + - multisite/site_factory/*.md + - multisite/siteaccess/*.md Permissions: - permissions/*.md Users: - Users: - - users/users.md - User management guide: - - users/user_management_guide.md - User setup: - - users/*.md - User authentication: - - users/*.md - User grouping: - - users/*.md + - users/*.md CDP (Customer Data Platform): - Customer Data Platform: - - cdp/cdp.md - CDP guide: - - cdp/cdp_guide.md - CDP installation: - - cdp/cdp_installation.md - CDP activation: - - cdp/cdp_activation/*.md - CDP data export schedule: - - cdp/cdp_data_export_schedule.md - CDP data customization: - - cdp/cdp_data_customization.md + - cdp/*.md + - cdp/cdp_activation/*.md Search: - Search: - - search/search.md - Search engines: - Search engines: - - search/search_engines/search_engines.md - Elasticsearch search engine: - - search/search_engines/elasticsearch/*.md - Solr search engine: - - search/search_engines/solr_search_engine/*.md - Legacy search engine: - - search/search_engines/legacy_search_engine/*.md - Search API: - - search/search_api.md - Search Criteria and Sort Clauses: - - search/search_criteria_and_sort_clauses.md - Search Criteria reference: - - search/criteria_reference/*.md - Content Type Search Criteria: - - search/content_type_search_reference/content_type_criteria.md - Product Search Criteria: - - search/criteria_reference/*.md - Order Search Criteria: - - search/criteria_reference/*.md - Payment Search Criteria: - - search/criteria_reference/*.md - Payment Method Search Criteria: - - search/criteria_reference/*.md - Price Search Criteria: - - search/criteria_reference/*.md - Shipment Search Criteria: - - search/criteria_reference/*.md - URL Search Criteria: - - search/url_search_reference/*.md - Activity Log Search Criteria: - - search/activity_log_search_reference/*.md - Action Configuration Search Criteria: - - search/ai_actions_search_reference/action_configuration_criteria.md - Discounts Search Criteria: - - search/discounts_search_reference/discounts_criteria.md - Collaboration Search Criteria: - - search/collaboration_search_reference/collaboration_criteria.md - Notification Search Criteria: - - search/criteria_reference/*.md - Sort Clause reference: - General Sort Clauses: - - search/sort_clause_reference/*.md - Content Type Sort Clauses: - - search/content_type_search_reference/content_type_sort_clauses.md - Product Sort Clauses: - Product Sort Clauses: - - search/sort_clause_reference/product_sort_clauses.md - BasePrice: - - search/sort_clause_reference/baseprice_sort_clause.md - CreatedAt: - - search/sort_clause_reference/createdat_sort_clause.md - CustomPrice: - - search/sort_clause_reference/customprice_sort_clause.md - ProductAvailability: - - search/sort_clause_reference/productavailability_sort_clause.md - ProductStock: - - search/criteria_reference/productstock_criterion.md - ProductStockRange: - - search/criteria_reference/productstockrange_criterion.md - ProductCode: - - search/sort_clause_reference/productcode_sort_clause.md - ProductName: - - search/sort_clause_reference/productname_sort_clause.md - Order Sort Clauses: - - search/sort_clause_reference/*.md - Payment Sort Clauses: - - search/sort_clause_reference/*.md - Payment Method Sort Clauses: - - search/sort_clause_reference/*.md - Shipment Sort Clauses: - - search/sort_clause_reference/*.md - URL Sort Clauses: - - search/url_search_reference/*.md - Activity Log Sort Clauses: - - search/activity_log_search_reference/activity_log_sort_clauses.md - Collaboration Sort Clauses: - - search/collaboration_search_reference/collaboration_sort_clauses.md - Action Configuration Sort Clauses: - - search/ai_actions_search_reference/action_configuration_sort_clauses.md - Discounts Sort Clauses: - - search/discounts_search_reference/discounts_sort_clauses.md - Aggregation reference: - - search/aggregation_reference/*.md - Search in trash reference: - - search/search_in_trash_reference.md - Extend search: - - search/extensibility/*.md - Reindex search: - - search/reindex_search.md + - search/*.md + - search/activity_log_search_reference/*.md + - search/aggregation_reference/*.md + - search/ai_actions_search_reference/*.md + - search/collaboration_search_reference/*.md + - search/content_type_search_reference/*.md + - search/criteria_reference/*.md + - search/discounts_search_reference/*.md + - search/extensibility/*.md + - search/search_engines/search_engines.md + - search/search_engines/elasticsearch/*.md + - search/search_engines/legacy_search_engine/*.md + - search/search_engines/solr_search_engine/*.md + - search/sort_clause_reference/*.md + - search/url_search_reference/*.md Ibexa Cloud: - ibexa_cloud/*.md Infrastructure and maintenance: - Infrastructure and maintenance: - - infrastructure_and_maintenance/infrastructure_and_maintenance.md - Request lifecycle: - - infrastructure_and_maintenance/request_lifecycle.md - Databases: - - infrastructure_and_maintenance/databases.md - Cache: - Cache: - - infrastructure_and_maintenance/cache/cache.md - HTTP cache: - - infrastructure_and_maintenance/cache/http_cache/*.md - Persistence cache: - - infrastructure_and_maintenance/cache/persistence_cache.md - Clustering: - - infrastructure_and_maintenance/clustering/*.md - DevOps: - - infrastructure_and_maintenance/devops.md - Backup: - - infrastructure_and_maintenance/backup.md - Performance: - - infrastructure_and_maintenance/performance.md - Background tasks: - - infrastructure_and_maintenance/background_tasks.md - Environments: - - infrastructure_and_maintenance/environments.md - Sessions: - - infrastructure_and_maintenance/sessions.md - Logging: - - infrastructure_and_maintenance/logging.md - Security: - - infrastructure_and_maintenance/security/*.md - Support and maintenance FAQ: - - infrastructure_and_maintenance/support_and_maintenance_faq.md + - infrastructure_and_maintenance/*.md + - infrastructure_and_maintenance/cache/*.md + - infrastructure_and_maintenance/cache/http_cache/*.md + - infrastructure_and_maintenance/clustering/*.md + - infrastructure_and_maintenance/security/*.md Update and migration: - Update Ibexa DXP: - - update_and_migration/update_ibexa_dxp.md - Update from v4.0: - Update to v4.1: - - update_and_migration/from_4.0/to_4.1.md - Update from v4.1: - Update to v4.2: - - update_and_migration/from_4.1/update_from_4.1.md - Update from v4.2: - Update to v4.3: - - update_and_migration/from_4.2/update_from_4.2.md - Update from v4.3: - - update_and_migration/from_4.3/*.md - Update from v4.4: - Update to v4.5: - - update_and_migration/from_4.4/update_from_4.4.md - Update from v4.5: - Update to v4.6: - - update_and_migration/from_4.5/update_from_4.5.md - Update from v4.6: - - update_and_migration/from_4.6/*.md - Update from v5.0: - Update to v5.0: - - update_and_migration/from_5.0/update_from_5.0.md - Migrate to Ibexa DXP: - - update_and_migration/migrate_to_ibexa_dxp/*.md + - update_and_migration/update_ibexa_dxp.md + - update_and_migration/from_4.0/to_4.1.md + - update_and_migration/from_4.1/update_from_4.1.md + - update_and_migration/from_4.2/update_from_4.2.md + - update_and_migration/from_4.3/*.md + - update_and_migration/from_4.4/update_from_4.4.md + - update_and_migration/from_4.5/update_from_4.5.md + - update_and_migration/from_4.6/*.md + - update_and_migration/from_5.0/update_from_5.0.md + - update_and_migration/migrate_to_ibexa_dxp/*.md Resources: - Resources: - - resources/resources.md - Release process and roadmap: - - resources/release_process_and_roadmap.md - Ibexa DXP PhpStorm plugin: - - resources/phpstorm_plugin.md - New in documentation: - - resources/new_in_doc.md - Contributing: - - resources/contributing/*.md + - resources/*.md + - resources/contributing/*.md Product guides: - Product guides: - - product_guides/product_guides.md + - product_guides/product_guides.md Release notes: - Release notes: - - release_notes/release_notes.md - Ibexa DXP v5.0 LTS: - - release_notes/ibexa_dxp_v5.0.md - Ibexa DXP v5.0 deprecations and BC breaks: - - release_notes/ibexa_dxp_v5.0_deprecations.md - Ibexa DXP v4.6 LTS: - - release_notes/ibexa_dxp_v4.6.md - Ibexa DXP v4.5: - - release_notes/ibexa_dxp_v4.5.md - Ibexa DXP v4.4: - - release_notes/ibexa_dxp_v4.4.md - Ibexa DXP v4.3: - - release_notes/ibexa_dxp_v4.3.md - Ibexa DXP v4.2: - - release_notes/ibexa_dxp_v4.2.md - Ibexa DXP v4.1: - - release_notes/ibexa_dxp_v4.1.md - Ibexa DXP v4.0: - - release_notes/ibexa_dxp_v4.0.md + - release_notes/release_notes.md + - release_notes/ibexa_dxp_v5.0.md + - release_notes/ibexa_dxp_v5.0_deprecations.md + - release_notes/ibexa_dxp_v4.6.md + - release_notes/ibexa_dxp_v4.5.md + - release_notes/ibexa_dxp_v4.4.md + - release_notes/ibexa_dxp_v4.3.md + - release_notes/ibexa_dxp_v4.2.md + - release_notes/ibexa_dxp_v4.1.md + - release_notes/ibexa_dxp_v4.0.md diff --git a/update_llmstxt_config.py b/update_llmstxt_config.py index 04a1f4671a..20196c4405 100755 --- a/update_llmstxt_config.py +++ b/update_llmstxt_config.py @@ -185,6 +185,34 @@ def process_nav_section(nav_item): return None +def should_exclude_file(file_path): + """ + Check if a file should be excluded based on its path or name. + Excludes old version release notes and update documentation (pre-v4). + """ + # Patterns to exclude from release notes and updates + old_version_file_patterns = [ + # Release notes for v3.3 and older + 'ez_platform_v3.3', 'ez_platform_v3.2', 'ez_platform_v3.1', 'ez_platform_v3.0', + 'ez_platform_v2.5', 'ez_platform_v2.4', 'ez_platform_v2.3', 'ez_platform_v2.2', + 'ez_platform_v2.1', 'ez_platform_v2.0', + 'ez_platform_v1.13', 'ez_platform_v1.12', 'ez_platform_v1.11', 'ez_platform_v1.10', + 'ez_platform_v1.9', 'ez_platform_v1.8', 'ez_platform_v1.7', + 'ibexa_dxp_v3.3', 'ibexa_dxp_v3.2', + # Deprecations for old versions + 'ez_platform_v3.0_deprecations', + 'ibexa_dxp_v4.0_deprecations', + # Update guides for old versions (pre-v4) + 'from_1.x_2.x/', 'from_2.5/', 'from_3.3/', + ] + + for pattern in old_version_file_patterns: + if pattern in file_path: + return True + + return False + + def should_exclude_section(section_name): """ Check if a section should be excluded based on exclusion rules. @@ -198,7 +226,7 @@ def should_exclude_section(section_name): if 'Personalization' in section_name or 'personalization' in section_name.lower(): return True - # Exclude v4.0 deprecations + # Exclude v4.0 deprecations (but keep v5.0 deprecations) if 'v4.0 deprecations' in section_name or 'v4.0_deprecations' in section_name: return True @@ -225,28 +253,57 @@ def should_exclude_section(section_name): def convert_nav_to_llmstxt_sections(nav_list): """ Convert mkdocs nav list to llmstxt sections format. + The llmstxt plugin expects a dict where each value is a list of file paths. + Uses glob patterns where possible to simplify the configuration. Applies exclusion filters for certain sections. """ sections = {} + def extract_files(item): + """Recursively extract file paths from nav structure.""" + files = [] + if isinstance(item, str): + # Skip HTML files (external references) and excluded files + if not item.endswith('.html') and not should_exclude_file(item): + files.append(item) + elif isinstance(item, list): + for subitem in item: + files.extend(extract_files(subitem)) + elif isinstance(item, dict): + for key, value in item.items(): + # Don't filter nested sections - only filter at top level + if isinstance(value, str): + # Skip HTML files (external references) and excluded files + if not value.endswith('.html') and not should_exclude_file(value): + files.append(value) + elif isinstance(value, list): + for subitem in value: + files.extend(extract_files(subitem)) + return files + for item in nav_list: if isinstance(item, dict): for section_name, section_content in item.items(): - # Skip excluded sections + # Skip excluded sections (only at top level) if should_exclude_section(section_name): continue + # Extract all files from this section + files = [] if isinstance(section_content, str): - sections[section_name] = [section_content] + files.append(section_content) elif isinstance(section_content, list): - processed = process_nav_section({section_name: section_content}) - if processed: - sections.update(processed) + files.extend(extract_files(section_content)) + + if files: + # Convert to glob patterns where appropriate + glob_patterns = convert_to_glob_patterns(files) + sections[section_name] = glob_patterns elif isinstance(item, str): # Top-level file - if 'Top-level files' not in sections: - sections['Top-level files'] = [] - sections['Top-level files'].append(item) + if 'Ibexa Developer Documentation' not in sections: + sections['Ibexa Developer Documentation'] = [] + sections['Ibexa Developer Documentation'].append(item) return sections From b92d7f6930f3e06c26ef5e9ba19bfb512c30f753 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Tue, 23 Dec 2025 15:59:52 +0100 Subject: [PATCH 05/11] Processing cards --- AGENTS.md | 59 ++++++++++++++++++++++++++++++++++++++++++ llmstxt_preprocess.py | 60 +++++++++++++++++++++++++++++++++++++++++++ plugins.yml | 1 + 3 files changed, 120 insertions(+) create mode 100644 AGENTS.md create mode 100644 llmstxt_preprocess.py diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000000..2cd61d20b3 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,59 @@ +# Agent Instructions for Documentation Developer + +## Building Documentation + +To build the MkDocs documentation site, use the specific Python interpreter: + +```bash +~/python/bin/python3.13 -m mkdocs build --strict +``` + +## llmstxt Plugin + +The llmstxt plugin converts HTML output back to Markdown for LLM consumption. + +### Preprocessing + +A preprocessing script (`llmstxt_preprocess.py`) is configured to transform the cards macro HTML structure into markdown lists before conversion. This ensures that navigation cards are properly represented in the `llms-full.txt` output. + +The cards macro generates HTML like: +```html + +``` + +The preprocessing script converts these to markdown lists: +```markdown +- [AI Actions product guide](https://doc.ibexa.co/en/latest/ai_actions/ai_actions_guide) - AI Actions help editors by automating repetitive tasks. +- [Configure AI Actions](https://doc.ibexa.co/en/latest/ai_actions/configure_ai_actions) - Configure AI Actions. +``` + +Key transformations: +1. Groups of cards within a `
` wrapper are converted to unordered lists +2. Each card becomes a list item with a link and description +3. Protocol-relative URLs (`//`) are converted to HTTPS (`https://`) + +### Configuration + +The llmstxt plugin is configured in `plugins.yml`: + +```yaml +- llmstxt: + preprocess: llmstxt_preprocess.py + markdown_description: | + Ibexa DXP developer documentation... + full_output: llms-full.txt + sections: + # ... section configuration +``` diff --git a/llmstxt_preprocess.py b/llmstxt_preprocess.py new file mode 100644 index 0000000000..fadd1da3f4 --- /dev/null +++ b/llmstxt_preprocess.py @@ -0,0 +1,60 @@ +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from bs4 import BeautifulSoup + + +def preprocess(soup: "BeautifulSoup", output: str) -> None: + """ + Preprocess HTML to improve markdown conversion. + + Converts card macro HTML structure into markdown lists with links + so they are preserved in the llms.txt output. + """ + # Find all cards wrapper divs (these contain groups of cards) + cards_divs = soup.find_all("div", class_=lambda c: c and c.startswith("cards ")) + + for cards_div in cards_divs: + # Find all card-wrapper divs within this cards group + card_wrappers = cards_div.find_all("div", class_="card-wrapper") + + if not card_wrappers: + continue + + # Create a list to hold all the cards in this group + ul = soup.new_tag("ul") + + for card_wrapper in card_wrappers: + # Extract the link, title, and description from the card structure + link = card_wrapper.find("a", class_="card") + if not link: + continue + + href = link.get("href", "") + # Fix protocol-relative URLs + if href.startswith("//"): + href = "https:" + href + + title_elem = link.find("p", class_="title") + description_elem = link.find("p", class_="description") + + if not title_elem: + continue + + title = title_elem.get_text(strip=True) + description = description_elem.get_text(strip=True) if description_elem else "" + + # Create a list item with a link and description + li = soup.new_tag("li") + link_tag = soup.new_tag("a", href=href) + link_tag.string = title + li.append(link_tag) + + if description: + li.append(soup.new_string(" - ")) + li.append(soup.new_string(description)) + + ul.append(li) + + # Replace the entire cards div with the unordered list + cards_div.replace_with(ul) diff --git a/plugins.yml b/plugins.yml index 9f72bcba53..4142f703ba 100644 --- a/plugins.yml +++ b/plugins.yml @@ -540,6 +540,7 @@ plugins: discounts/install_discounts.md: discounts/configure_discounts.md content_management/collaborative_editing/install_collaborative_editing.md: content_management/collaborative_editing/configure_collaborative_editing.md - llmstxt: + preprocess: llmstxt_preprocess.py markdown_description: | Ibexa DXP developer documentation - comprehensive technical guide for building digital experiences with Ibexa, a modern PHP-based Digital Experience Platform built on Symfony Full Stack Framework. Ibexa is an enterprise-grade content management and digital commerce platform that comes in three editions: Headless (API-first content management), Experience (full DXP with Page Builder and forms), and Commerce (complete e-commerce solution). From aabed6a27d5f3682341d87f565ef22caba8ad345 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Tue, 23 Dec 2025 20:34:26 +0100 Subject: [PATCH 06/11] Working --- PHP_API_INTEGRATION_SUMMARY.md | 136 + docs/api/php_api/php_api.md | 4 + docs/api/php_api/php_api_reference.md | 44 + docs/api/php_api/php_api_signatures.md | 19562 +++++++++++++++++++++++ plugins.yml | 3 + tools/README_php_api_converter.md | 64 + tools/php_api_converter.py | 289 + 7 files changed, 20102 insertions(+) create mode 100644 PHP_API_INTEGRATION_SUMMARY.md create mode 100644 docs/api/php_api/php_api_reference.md create mode 100644 docs/api/php_api/php_api_signatures.md create mode 100644 tools/README_php_api_converter.md create mode 100644 tools/php_api_converter.py diff --git a/PHP_API_INTEGRATION_SUMMARY.md b/PHP_API_INTEGRATION_SUMMARY.md new file mode 100644 index 0000000000..3f6707a9f6 --- /dev/null +++ b/PHP_API_INTEGRATION_SUMMARY.md @@ -0,0 +1,136 @@ +# PHP API Reference Integration - Summary + +## Solution Overview + +We've successfully integrated the PHP API reference into the llmstxt output using a **two-tier approach**: + +### 1. Proxy File (`docs/api/php_api/php_api_reference.md`) +- **2.5 KB** - Overview and introduction +- Lists key services and usage patterns +- References the full signatures file + +### 2. Signatures File (`docs/api/php_api/php_api_signatures.md`) +- **1.4 MB** - Complete method signatures +- **2,377 contract classes** (`Ibexa\Contracts\*` only) +- **14,627 public methods** +- Compact format: FQCN + method signatures only + +## Implementation Details + +### Converter Tool: `tools/php_api_converter.py` +- **Input**: HTML files from `site/api/php_api/php_api_reference/classes/` +- **Output**: Markdown with method signatures +- **Processing time**: ~90 seconds for 2,486 files +- **Method**: Regex-based HTML parsing (no BeautifulSoup needed) +- **Filtering**: Only `Ibexa\Contracts\*` (public API contracts) + +### Integration in `plugins.yml` +```yaml +PHP API Reference - Signatures: +- api/php_api/php_api_reference.md +- api/php_api/php_api_signatures.md +``` + +## Results + +### File Sizes +| File | Size | Lines | +|------|------|-------| +| php_api_reference.md | 2.5 KB | ~70 | +| php_api_signatures.md | 1.4 MB | 19,389 | +| **llms-full.txt** (total) | **4.9 MB** | **95,881** | + +### Impact +- Previous llms-full.txt: **3.6 MB** (74K lines) +- After PHP API addition: **4.9 MB** (96K lines) +- Increase: **+1.3 MB** (+22K lines) + +## Benefits + +### ✅ Pros +1. **Complete API coverage** - All public contracts included +2. **LLM-friendly format** - Signatures without descriptions +3. **Reasonable size** - 1.4MB is acceptable for LLM context +4. **Type information** - Parameter and return types preserved +5. **Easy to regenerate** - Single command after doc rebuild +6. **Filtered intelligently** - Only public API contracts, not internal classes + +### 🤔 Considerations +1. **No method descriptions** - Use full HTML reference for details +2. **No inheritance info** - extends/implements not extracted (HTML limitation) +3. **HTML entities** - Some ` ` and `'` remain (could be cleaned) +4. **Must rebuild** - After Ibexa DXP upgrades or API changes + +## Usage Workflow + +### Initial Setup (Done) +```bash +# Build documentation +~/python/bin/python3.13 -m mkdocs build + +# Generate signatures +~/python/bin/python3.13 tools/php_api_converter.py +``` + +### After API Changes +```bash +# 1. Rebuild docs (regenerates HTML) +~/python/bin/python3.13 -m mkdocs build + +# 2. Regenerate signatures +~/python/bin/python3.13 tools/php_api_converter.py + +# 3. Rebuild docs again (includes new signatures in llmstxt) +~/python/bin/python3.13 -m mkdocs build +``` + +## Example Output Format + +```markdown +## Ibexa\Contracts\Core\Repository\ContentService + +- `loadContent(int $contentId[, array $languages = null[, int $versionNo = null]]) : Content` +- `createContent(ContentCreateStruct $contentCreateStruct, array $locationCreateStructs) : Content` +- `updateContent(VersionInfo $versionInfo, ContentUpdateStruct $contentUpdateStruct) : Content` +- `publishVersion(VersionInfo $versionInfo[, array $translations = [] ]) : Content` +- `deleteContent(ContentInfo $contentInfo) : array` +``` + +## Comparison to Alternatives + +| Approach | Pros | Cons | Verdict | +|----------|------|------|---------| +| **Full HTML inclusion** | Complete docs | 7.5GB, 3K files | ❌ Too large | +| **Index page only** | Tiny | No useful info | ❌ Not helpful | +| **Selective namespaces** | Curated | Manual selection | ⚠️ Maintenance burden | +| **Signatures only** ✅ | Good size, complete | No descriptions | ✅ **Chosen** | + +## Recommendations + +1. **For code generation**: Use the signatures file - has all types LLMs need +2. **For learning**: Use full HTML reference - has descriptions and examples +3. **For quick lookup**: Use the proxy file - lists key services + +## Files Created/Modified + +### Created +- `docs/api/php_api/php_api_reference.md` - Proxy/overview +- `docs/api/php_api/php_api_signatures.md` - Full signatures (generated) +- `tools/php_api_converter.py` - Converter script +- `tools/README_php_api_converter.md` - Tool documentation + +### Modified +- `plugins.yml` - Added PHP API section to llmstxt config + +## Future Improvements (Optional) + +1. Clean HTML entities (` `, `'`, etc.) +2. Extract extends/implements info (requires different HTML parsing) +3. Add class constants and properties +4. Include interface/trait markers +5. Generate separate files by namespace for better organization + +--- + +**Status**: ✅ Complete and Working +**Next Action**: Test with LLM to verify usefulness for code generation diff --git a/docs/api/php_api/php_api.md b/docs/api/php_api/php_api.md index e9d3b7fd94..a4862bc3c2 100644 --- a/docs/api/php_api/php_api.md +++ b/docs/api/php_api/php_api.md @@ -12,6 +12,10 @@ You can use it to create, read, update, manage, and delete all objects available The PHP API is built on top of a layered architecture, including a persistence SPI that abstracts storage. Using the API ensures that your code is forward compatible with future releases based on other storage engines. +## Method Signatures Reference + +For quick reference during development, see **[PHP API Signatures](php_api_signatures.md)** + ## Using API services The API provides access to content, user, content types, and other features through various services. diff --git a/docs/api/php_api/php_api_reference.md b/docs/api/php_api/php_api_reference.md new file mode 100644 index 0000000000..c7d22b4ee8 --- /dev/null +++ b/docs/api/php_api/php_api_reference.md @@ -0,0 +1,44 @@ +# PHP API Reference + +## Overview + +The Ibexa DXP PHP API provides programmatic access to all platform features through well-defined contracts and services. + +## Full API Documentation + +Comprehensive PHP API documentation with detailed descriptions, parameters, and examples is available in the autogenerated HTML reference at: + +`site/php_api/php_api_reference/index.html` (available after building the documentation) + +The full reference includes: +- All classes, interfaces, and traits +- Method parameters and return types +- Detailed descriptions and examples +- Inheritance hierarchies +- Exception documentation + + + +## Usage Pattern + +```php +contentService->loadContent($contentId); + // ... + } +} +``` + +## Code Examples + +See [PHP API usage examples](/api/php_api/php_api.md) in the main documentation. diff --git a/docs/api/php_api/php_api_signatures.md b/docs/api/php_api/php_api_signatures.md new file mode 100644 index 0000000000..15af43248d --- /dev/null +++ b/docs/api/php_api/php_api_signatures.md @@ -0,0 +1,19562 @@ +# PHP API Reference - Method Signatures + +## Ibexa\Contracts\ActivityLog\ActivityLogServiceInterface + +- `public function countGroups([Query|null $query = null ]): int` +- `public function disable(): void` +- `public function dismissContext(): void` +- `public function enable(): void` +- `public function findGroups([Query|null $query = null ]): \Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityGroupListInterface` +- `public function getAction(int $id): \Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActionInterface` +- `public function getActions(): array` +- `public function getObjectClass(int $id): \Ibexa\Contracts\ActivityLog\Values\ActivityLog\ObjectClassInterface` +- `public function getObjectClasses(): array` +- `public function isDisabled(): bool` +- `public function isEnabled(): bool` +- `public function prepareContext(string $source[, string|null $description = null ]): \Ibexa\Contracts\ActivityLog\ContextInterface` +- `public function save(\Ibexa\Contracts\ActivityLog\Values\CreateActivityLogStruct $struct): int|null` +- `public function truncate(): void` +- `public const mixed ACTION_COPY = 'copy'` +- `public const mixed ACTION_CREATE = 'create'` +- `public const mixed ACTION_CREATE_DRAFT = 'create_draft'` +- `public const mixed ACTION_DELETE = 'delete'` +- `public const mixed ACTION_DELETE_TRANSLATION = 'delete_translation'` +- `public const mixed ACTION_HIDE = 'hide'` +- `public const mixed ACTION_MOVE = 'move'` +- `public const mixed ACTION_PUBLISH = 'publish'` +- `public const mixed ACTION_RESTORE = 'restore'` +- `public const mixed ACTION_REVEAL = 'reveal'` +- `public const mixed ACTION_SWAP = 'swap'` +- `public const mixed ACTION_TRASH = 'trash'` +- `public const mixed ACTION_UPDATE = 'update'` + +## Ibexa\Contracts\ActivityLog\ClassNameMapperInterface + +- `public function getClassNameToShortNameMap(): iterable` + +## Ibexa\Contracts\ActivityLog\ContextInterface + +- `public function getDescription(): string|null` +- `public function getId(): int` +- `public function getIp(): string|null` +- `public function getSource(): string|null` +- `public function getUserId(): int` +- `public function hasUserId(): bool` +- `public function isPersisted(): bool` +- `public function setDescription(string|null $description): void` +- `public function setId(int $id): void` +- `public function setIp(string|null $ip): void` +- `public function setSource(string|null $source): void` +- `public function setUserId(int $userId): void` + +## Ibexa\Contracts\ActivityLog\CriterionMapperInterface + +- `public function canHandle(\Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CriterionInterface $criterion): bool` +- `public function handle(\Ibexa\Contracts\ActivityLog\C $criterion): \Doctrine\Common\Collections\Expr\Expression` + +## Ibexa\Contracts\ActivityLog\Event\PostActivityGroupListLoadEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityGroupListInterface $list)` +- `public function getList(): \Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityGroupListInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ActivityLog\SortClauseMapperInterface + +- `public function canHandle(\Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\SortClauseInterface $sortClause): bool` +- `public function handle(\Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\SortClauseInterface $sortClause): array` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActionInterface + +- `public function getId(): int` +- `public function getName(): string` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityGroupListInterface extends IteratorAggregate + +- `public function getActivityLogs(): array` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityLogGroupInterface + +- `public function getActivityLogs(): array>` +- `public function getDescription(): string|null` +- `public function getIp(): \Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityLogIpInterface|null` +- `public function getLoggedAt(): \DateTimeInterface` +- `public function getSource(): \Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityLogSourceInterface|null` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function getUserId(): int` +- `public function setUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): void` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityLogInterface + +- `public function getAction(): string` +- `public function getData(): \Ibexa\Contracts\Core\Collection\MapInterface` +- `public function getObjectClass(): string` +- `public function getObjectId(): string` +- `public function getObjectName(): string|null` +- `public function getRelatedObject(): object|null` +- `public function getShortObjectClass(): string|null` +- `public function setRelatedObject(object $object): void` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityLogIpInterface + +- `public function getIp(): string` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityLogSourceInterface + +- `public function getName(): string` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CompositeCriterion implements Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CriterionInterface + +- `public function getType(): string` +- `public const mixed TYPE_AND = 'AND'` +- `public const mixed TYPE_OR = 'OR'` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\LoggedAtCriterion implements Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CriterionInterface + +- `public const mixed EQ = '='` +- `public const mixed GT = '>'` +- `public const mixed GTE = '>='` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\LogicalAnd extends Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CompositeCriterion + +- `public function getType(): string` +- `public const mixed TYPE_AND = 'AND'` +- `public const mixed TYPE_OR = 'OR'` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\LogicalOr extends Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CompositeCriterion + +- `public function getType(): string` +- `public const mixed TYPE_AND = 'AND'` +- `public const mixed TYPE_OR = 'OR'` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\ObjectNameCriterion implements Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CriterionInterface + +- `public const mixed OPERATOR_CONTAINS = \Doctrine\Common\Collections\Expr\Comparison::CONTAINS` +- `public const mixed OPERATOR_ENDS_WITH = \Doctrine\Common\Collections\Expr\Comparison::ENDS_WITH` +- `public const mixed OPERATOR_EQUALS = \Doctrine\Common\Collections\Expr\Comparison::EQ` +- `public const mixed OPERATOR_STARTS_WITH = \Doctrine\Common\Collections\Expr\Comparison::STARTS_WITH` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ObjectClassInterface + +- `public function getId(): int` +- `public function getObjectClass(): string` +- `public function getShortName(): string|null` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\Query + +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\AbstractSortClause implements Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\SortClauseInterface + +- `public function __construct(string $order)` +- `public function getOrder(): string` +- `public function setOrder(string $order): void` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\LoggedAtSortClause extends Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\AbstractSortClause + +- `public function __construct(string $order)` +- `public function getOrder(): string` +- `public function setOrder(string $order): void` + +## Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\SortClauseInterface + +- `public function setOrder(string $order): void` +- `public const mixed ASC = 'ASC'` +- `public const mixed DESC = 'DESC'` + +## Ibexa\Contracts\ActivityLog\Values\CreateActivityLogStruct + +- `public function __construct(string $objectClass, string $objectId, string $action, int $userId[, string|null $objectName = null ][, array $data = [] ])` +- `public function getAction(): string` +- `public function getData(): array` +- `public function getObjectClass(): string` +- `public function getObjectId(): string` +- `public function getObjectName(): string|null` +- `public function getUserId(): int` +- `public function setData(array $data): void` +- `public function setObjectName(string $objectName): void` + +## Ibexa\Contracts\AdminUi\Autosave\AutosaveServiceInterface + +- `public function getInterval(): int` +- `public function isEnabled(): bool` +- `public function isInProgress(): bool` + +## Ibexa\Contracts\AdminUi\Component\Renderable extends Ibexa\Contracts\TwigComponents\ComponentInterface + +- `public function render([array $parameters = [] ]): string` + +## Ibexa\Contracts\AdminUi\Component\Renderer\RendererInterface + +- `public function renderGroup(string $groupName[, array $parameters = [] ]): array` +- `public function renderSingle(string $name, mixed $groupName[, array $parameters = [] ]): string` + +## Ibexa\Contracts\AdminUi\ContentType\ContentTypeFieldsByExpressionServiceInterface + +- `public function getFieldsFromExpression(string $expression[, string|null $configuration = null ]): array` +- `public function isFieldIncludedInExpression(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, string $expression): bool` + +## Ibexa\Contracts\AdminUi\Controller\Controller extends Symfony\Bundle\FrameworkBundle\Controller\AbstractController implements Ibexa\Contracts\User\Controller\RestrictedControllerInterface + +- `public function performAccessCheck(): void` +- `public function redirectToLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, string $uriFragment = '' ]): \Symfony\Component\HttpFoundation\RedirectResponse` + +## Ibexa\Contracts\AdminUi\Event\AutosaveEvents + +- `public const mixed CONTENT_AUTOSAVE = 'content.edit.autosave'` + +## Ibexa\Contracts\AdminUi\Event\ContentOnTheFlyEvents + +- `public const mixed CONTENT_CREATE = 'ibexa.content_on_the_fly.create'` +- `public const mixed CONTENT_CREATE_PUBLISH = 'ibexa.content_on_the_fly.create.publish'` +- `public const mixed CONTENT_EDIT = 'ibexa.content_on_the_fly.edit'` +- `public const mixed CONTENT_EDIT_PUBLISH = 'ibexa.content_on_the_fly.edit.publish'` + +## Ibexa\Contracts\AdminUi\Event\FieldDefinitionMappingEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function getBaseLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language|null` +- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` +- `public function getFieldDefinitionData(): \Ibexa\AdminUi\Form\Data\FieldDefinitionData` +- `public function getTargetLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language|null` +- `public function isPropagationStopped(): bool` +- `public function setFieldDefinitionData(\Ibexa\AdminUi\Form\Data\FieldDefinitionData $fieldDefinitionData): void` +- `public function stopPropagation(): void` +- `public const mixed NAME = 'field_definition.mapping'` + +## Ibexa\Contracts\AdminUi\Event\FocusModeChangedEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(bool $enabled)` +- `public function isEnabled(): bool` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\AdminUi\Event\FormActionEvent extends Symfony\Component\Form\FormEvent + +- `public function __construct(FormInterface $form, mixed $data, string|null $clickedButton[, array $options = [] ][, array $payloads = [] ])` +- `public function getClickedButton(): string|null` +- `public function getOption(string $optionName[, mixed $defaultValue = null ]): mixed` +- `public function getOptions(): array` +- `public function getPayload(string $name): mixed` +- `public function getPayloads(): array` +- `public function getResponse(): \Symfony\Component\HttpFoundation\Response|null` +- `public function hasOption(string $optionName): bool` +- `public function hasPayload(string $name): bool` +- `public function hasResponse(): bool` +- `public function setPayload(string $name, mixed $payload): void` +- `public function setPayloads(array $payloads): void` +- `public function setResponse(\Symfony\Component\HttpFoundation\Response $response): void` + +## Ibexa\Contracts\AdminUi\Event\FormEvents + +- `public const mixed CONTENT_TYPE_ADD_FIELD_DEFINITION = 'contentType.update.addFieldDefinition'` +- `public const mixed CONTENT_TYPE_PUBLISH = 'contentType.update.publishContentType'` +- `public const mixed CONTENT_TYPE_PUBLISH_AND_EDIT = 'contentType.update.publishAndEditContentType'` +- `public const mixed CONTENT_TYPE_REMOVE_DRAFT = 'contentType.update.removeDraft'` +- `public const mixed CONTENT_TYPE_REMOVE_FIELD_DEFINITION = 'contentType.update.removeFieldDefinition'` +- `public const mixed CONTENT_TYPE_UPDATE = 'contentType.update'` + +## Ibexa\Contracts\AdminUi\Event\ResolveVersionPreviewUrlEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Core\MVC\Symfony\SiteAccess $siteAccess)` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getPreviewUrl(): string|null` +- `public function getSiteAccess(): \Ibexa\Core\MVC\Symfony\SiteAccess` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function isPropagationStopped(): bool` +- `public function setPreviewUrl(string|null $previewUrl): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\AdminUi\Event\UserOnTheFlyEvents + +- `public const mixed USER_CREATE = 'ibexa.user_on_the_fly.create'` +- `public const mixed USER_CREATE_PUBLISH = 'ibexa.user_on_the_fly.create.create'` +- `public const mixed USER_EDIT = 'ibexa.user_on_the_fly.edit'` +- `public const mixed USER_EDIT_PUBLISH = 'ibexa.user_on_the_fly.edit.update'` + +## Ibexa\Contracts\AdminUi\FocusMode\RedirectStrategyInterface + +- `public function generateRedirectPath(string $originalPath): string` +- `public function supports(array $routeData): bool` + +## Ibexa\Contracts\AdminUi\Form\ActionDispatcher\ActionDispatcherInterface + +- `public function dispatchFormAction(FormInterface $form, \Ibexa\Contracts\Core\Repository\Values\ValueObject $data[, string|null $actionName = null ][, array $options = [] ]): void` +- `public function getResponse(): \Symfony\Component\HttpFoundation\Response|null` + +## Ibexa\Contracts\AdminUi\Form\DataMapper\DataMapperInterface + +- `public function map(\Ibexa\Contracts\Core\Repository\Values\ValueObject $value): mixed` +- `public function reverseMap(mixed $data): mixed` + +## Ibexa\Contracts\AdminUi\Form\Data\FormMapper\FormDataMapperInterface + +- `public function mapToFormData(\Ibexa\Contracts\Core\Repository\Values\ValueObject $repositoryValueObject[, array $params = [] ]): mixed` + +## Ibexa\Contracts\AdminUi\Menu\AbstractActionBuilder extends Ibexa\Contracts\AdminUi\Menu\AbstractBuilder + +- `public function build(array $options): \Knp\Menu\ItemInterface` +- `protected function createActionItem(string $name[, array $options = [] ]): \Knp\Menu\ItemInterface` +- `protected function createConfigureMenuEvent(\Knp\Menu\ItemInterface $menu[, array $options = [] ]): \Ibexa\AdminUi\Menu\Event\ConfigureMenuEvent` +- `protected function createDraftEditLinkAction(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, string $name[, array $parameters = [] ][, int|null $locationId = null ]): \Knp\Menu\ItemInterface` +- `protected function createEditDraftButtonAction(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, string $name[, array $parameters = [] ][, int|null $locationId = null ]): \Knp\Menu\ItemInterface` +- `protected function createMenuItem(string $id[, array $options = [] ]): \Knp\Menu\ItemInterface` +- `protected function abstract createStructure(array $options): \Knp\Menu\ItemInterface` +- `protected function dispatchMenuEvent(string $name, \Symfony\Contracts\EventDispatcher\Event $event): void` +- `protected function abstract getConfigureEventName(): string` +- `protected const mixed IBEXA_BTN_CONTENT_DRAFT_EDIT_CLASS = 'ibexa-btn--content-draft-edit'` +- `protected const mixed TRANSLATION_DOMAIN = 'ibexa_action_menu'` + +## Ibexa\Contracts\AdminUi\Menu\AbstractBuilder + +- `public function build(array $options): \Knp\Menu\ItemInterface` +- `protected function createConfigureMenuEvent(\Knp\Menu\ItemInterface $menu[, array $options = [] ]): \Ibexa\AdminUi\Menu\Event\ConfigureMenuEvent` +- `protected function createMenuItem(string $id[, array $options = [] ]): \Knp\Menu\ItemInterface` +- `protected function abstract createStructure(array $options): \Knp\Menu\ItemInterface` +- `protected function dispatchMenuEvent(string $name, \Symfony\Contracts\EventDispatcher\Event $event): void` +- `protected function abstract getConfigureEventName(): string` + +## Ibexa\Contracts\AdminUi\Menu\AbstractFormContextMenuBuilder extends Ibexa\Contracts\AdminUi\Menu\AbstractBuilder + +- `public function build(array $options): \Knp\Menu\ItemInterface` +- `public function static getTranslationMessages(): array` +- `protected function createConfigureMenuEvent(\Knp\Menu\ItemInterface $menu[, array $options = [] ]): \Ibexa\AdminUi\Menu\Event\ConfigureMenuEvent` +- `protected function createMenuItem(string $id[, array $options = [] ]): \Knp\Menu\ItemInterface` +- `protected function createStructure(array $options): \Knp\Menu\ItemInterface` +- `protected function dispatchMenuEvent(string $name, \Symfony\Contracts\EventDispatcher\Event $event): void` +- `protected function getConfigureEventName(): string` +- `protected function static getSidebarActionMessage(): string` +- `protected function static abstract getSidebarType(): string` + +## Ibexa\Contracts\AdminUi\Menu\CopyFormContextMenuBuilder extends Ibexa\Contracts\AdminUi\Menu\AbstractFormContextMenuBuilder implements JMS\TranslationBundle\Translation\TranslationContainerInterface + +- `public function build(array $options): \Knp\Menu\ItemInterface` +- `public function static getTranslationMessages(): array` +- `protected function createConfigureMenuEvent(\Knp\Menu\ItemInterface $menu[, array $options = [] ]): \Ibexa\AdminUi\Menu\Event\ConfigureMenuEvent` +- `protected function createMenuItem(string $id[, array $options = [] ]): \Knp\Menu\ItemInterface` +- `protected function createStructure(array $options): \Knp\Menu\ItemInterface` +- `protected function dispatchMenuEvent(string $name, \Symfony\Contracts\EventDispatcher\Event $event): void` +- `protected function getConfigureEventName(): string` +- `protected function static getSidebarActionMessage(): string` +- `protected function static getSidebarType(): string` + +## Ibexa\Contracts\AdminUi\Menu\CreateFormContextMenuBuilder extends Ibexa\Contracts\AdminUi\Menu\AbstractFormContextMenuBuilder implements JMS\TranslationBundle\Translation\TranslationContainerInterface + +- `public function build(array $options): \Knp\Menu\ItemInterface` +- `public function static getTranslationMessages(): array` +- `protected function createConfigureMenuEvent(\Knp\Menu\ItemInterface $menu[, array $options = [] ]): \Ibexa\AdminUi\Menu\Event\ConfigureMenuEvent` +- `protected function createMenuItem(string $id[, array $options = [] ]): \Knp\Menu\ItemInterface` +- `protected function createStructure(array $options): \Knp\Menu\ItemInterface` +- `protected function dispatchMenuEvent(string $name, \Symfony\Contracts\EventDispatcher\Event $event): void` +- `protected function getConfigureEventName(): string` +- `protected function static getSidebarActionMessage(): string` +- `protected function static getSidebarType(): string` + +## Ibexa\Contracts\AdminUi\Menu\MenuItemFactoryInterface extends Knp\Menu\FactoryInterface + +- `public function createLocationMenuItem(string $name, int $locationId[, array $options = [] ]): \Knp\Menu\ItemInterface|null` + +## Ibexa\Contracts\AdminUi\Menu\UpdateFormContextMenuBuilder extends Ibexa\Contracts\AdminUi\Menu\AbstractFormContextMenuBuilder implements JMS\TranslationBundle\Translation\TranslationContainerInterface + +- `public function build(array $options): \Knp\Menu\ItemInterface` +- `public function static getTranslationMessages(): array` +- `protected function createConfigureMenuEvent(\Knp\Menu\ItemInterface $menu[, array $options = [] ]): \Ibexa\AdminUi\Menu\Event\ConfigureMenuEvent` +- `protected function createMenuItem(string $id[, array $options = [] ]): \Knp\Menu\ItemInterface` +- `protected function createStructure(array $options): \Knp\Menu\ItemInterface` +- `protected function dispatchMenuEvent(string $name, \Symfony\Contracts\EventDispatcher\Event $event): void` +- `protected function getConfigureEventName(): string` +- `protected function static getSidebarActionMessage(): string` +- `protected function static getSidebarType(): string` + +## Ibexa\Contracts\AdminUi\Notification\NotificationHandlerInterface + +- `public function error(string $message): void` +- `public function info(string $message): void` +- `public function success(string $message): void` +- `public function warning(string $message): void` + +## Ibexa\Contracts\AdminUi\Notification\TranslatableNotificationHandlerInterface + +- `public function error(string $message[, array $parameters = [] ][, string|null $domain = null ][, string|null $locale = null ]): void` +- `public function info(string $message[, array $parameters = [] ][, string|null $domain = null ][, string|null $locale = null ]): void` +- `public function success(string $message[, array $parameters = [] ][, string|null $domain = null ][, string|null $locale = null ]): void` +- `public function warning(string $message[, array $parameters = [] ][, string|null $domain = null ][, string|null $locale = null ]): void` + +## Ibexa\Contracts\AdminUi\Permission\PermissionCheckerInterface + +- `public function canCreateInLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, array|bool $hasAccess): bool` +- `public function getRestrictions(array $hasAccess, string $class): array` + +## Ibexa\Contracts\AdminUi\PreviewUrlResolver\VersionPreviewUrlResolverInterface + +- `public function resolveUrl(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language, \Ibexa\Core\MVC\Symfony\SiteAccess $siteAccess): string` + +## Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestGeneratorInterface + +- `public function generate(mixed $parameter, \Ibexa\Contracts\Rest\Output\Generator $generator, \Ibexa\Contracts\Rest\Output\Visitor $visitor): void` +- `public function supportsNamespace(string $namespace): bool` +- `public function supportsParameter(string $parameterName): bool` + +## Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestGeneratorRegistryInterface + +- `public function getGenerator(string $namespace, string $parameter): \Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestGeneratorInterface` +- `public function getGenerators(string $namespace): iterable` +- `public function hasGenerator(string $namespace, string $parameter): bool` +- `public function hasGenerators(string $namespace): bool` + +## Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestResolverInterface + +- `public function resolve(array $config): mixed` +- `public function supportsNamespace(string $namespace): bool` +- `public function supportsParameter(string $parameterName): bool` + +## Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestResolverRegistryInterface + +- `public function getResolver(string $namespace, string $parameter): \Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestResolverInterface|null` +- `public function getResolvers(string $namespace): iterable` +- `public function hasResolver(string $namespace, string $parameter): bool` +- `public function hasResolvers(string $namespace): bool` + +## Ibexa\Contracts\AdminUi\Resolver\IconPathResolverInterface + +- `public function resolve(string $icon[, string|null $set = null ]): string` + +## Ibexa\Contracts\AdminUi\Tab\AbstractControllerBasedTab extends Ibexa\Contracts\AdminUi\Tab\AbstractTab + +- `public function abstract getControllerReference(array $parameters): \Symfony\Component\HttpKernel\Controller\ControllerReference` +- `public function renderView(array $parameters): string` + +## Ibexa\Contracts\AdminUi\Tab\AbstractEventDispatchingTab extends Ibexa\Contracts\AdminUi\Tab\AbstractTab + +- `public function abstract getTemplate(): string` +- `public function abstract getTemplateParameters([array $contextParameters = [] ]): array` +- `public function renderView(array $parameters): string` + +## Ibexa\Contracts\AdminUi\Tab\AbstractRouteBasedTab extends Ibexa\Contracts\AdminUi\Tab\AbstractTab + +- `public function abstract getRouteName(array $parameters): string` +- `public function abstract getRouteParameters(array $parameters): array` +- `public function renderView(array $parameters): string` + +## Ibexa\Contracts\AdminUi\Tab\ConditionalTabInterface + +- `public function evaluate(array $parameters): bool` + +## Ibexa\Contracts\AdminUi\Tab\OrderedTabInterface + +- `public function getOrder(): int` + +## Ibexa\Contracts\AdminUi\Tab\TabInterface + +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function renderView(array $parameters): string` + +## Ibexa\Contracts\AdminUi\UI\Action\EventDispatcherInterface + +- `public const mixed EVENT_NAME_PREFIX = 'ibexa.admin_ui.action'` + +## Ibexa\Contracts\AdminUi\UI\Action\FormUiActionMapperInterface + +- `public function map(FormInterface $form): \Ibexa\AdminUi\UI\Action\UiActionEvent` +- `public function supports(FormInterface $form): bool` + +## Ibexa\Contracts\AdminUi\UI\Action\UiActionEventInterface + +- `public function getName(): string` +- `public function getResponse(): \Symfony\Component\HttpFoundation\Response|null` +- `public function getType(): string` +- `public function setForm(\Symfony\Component\Form\FormInterface $form): void` +- `public function setName(string $name): void` +- `public function setResponse(Response|null $response): void` +- `public function setType(string $type): void` +- `public const mixed TYPE_FAILURE = 'failure'` +- `public const mixed TYPE_SUCCESS = 'success'` + +## Ibexa\Contracts\AdminUi\UI\Config\ProviderInterface + +- `public function getConfig(): mixed` + +## Ibexa\Contracts\AdminUi\UniversalDiscovery\Provider + +- `public function getColumns(int $locationId, int $limit, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause[, bool $gridView = false ][, int $rootLocationId = self::ROOT_LOCATION_ID ]): array` +- `public function getLocationData(int $locationId, int $offset, int $limit, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): array` +- `public function getLocationGridViewData(int $locationId, int $offset, int $limit, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): array` +- `public function getLocationPermissionRestrictions(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): array` +- `public function getLocations(array $locationIds): array` +- `public function getSortClause(string $sortClauseName, string $sortOrder): \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause` +- `public function getSubitemContents(int $locationId, int $offset, int $limit, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): array` +- `public function getSubitemLocations(int $locationId, int $offset, int $limit, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): array` +- `public const mixed ROOT_LOCATION_ID = 1` +- `public const mixed SORT_CLAUSE_CONTENT_NAME = 'ContentName'` +- `public const mixed SORT_CLAUSE_DATE_PUBLISHED = 'DatePublished'` + +## Ibexa\Contracts\AutomatedTranslation\Client\ClientInterface + +- `public function getServiceAlias(): string` +- `public function getServiceFullName(): string` +- `public function setConfiguration(array{: array-key, : string} $configuration): void` +- `public function supportsLanguage(string $languageCode): bool` +- `public function translate(string $payload, string|null $from, string $to): string` + +## Ibexa\Contracts\AutomatedTranslation\Encoder\BlockAttribute\BlockAttributeEncoderInterface + +- `public function canDecode(string $type): bool` +- `public function canEncode(string $type): bool` +- `public function decode(string $value): string` +- `public function encode(mixed $value): string` + +## Ibexa\Contracts\AutomatedTranslation\Encoder\Field\FieldEncoderInterface + +- `public function canDecode(string $type): bool` +- `public function canEncode(\Ibexa\Contracts\Core\Repository\Values\Content\Field $field): bool` +- `public function decode(string $value, mixed $previousFieldValue): \Ibexa\Core\FieldType\Value` +- `public function encode(\Ibexa\Contracts\Core\Repository\Values\Content\Field $field): string` + +## Ibexa\Contracts\Calendar\CalendarServiceInterface + +- `public function getEvents(\Ibexa\Contracts\Calendar\EventQuery $query): \Ibexa\Contracts\Calendar\EventList` +- `public function getGroupedEvents(\Ibexa\Contracts\Calendar\EventQuery $query[, string $groupBy = self::GROUP_BY_DAY ]): \Ibexa\Contracts\Calendar\EventGroupList` +- `public function loadEvents(array $eventsIds): \Ibexa\Contracts\Calendar\EventCollection` +- `public const mixed GROUP_BY_DAY = 'P1D'` +- `public const mixed GROUP_BY_WEEK = 'P7D'` + +## Ibexa\Contracts\Calendar\Cursor + +- `public function __toString(): string` +- `public function static fromEvent(\Ibexa\Contracts\Calendar\Event $event): self` +- `public function static fromString(string $string): self` +- `public function getDateTime(): \DateTimeInterface` +- `public function getEventId(): string` +- `public function getEventType(): string` + +## Ibexa\Contracts\Calendar\DateRange + +- `public function __construct(\DateTimeInterface $start, \DateTimeInterface $end)` +- `public function __toString(): string` +- `public function contains(\DateTimeInterface $dateTime): bool` +- `public function getEndDate(): \DateTimeInterface` +- `public function getStartDate(): \DateTimeInterface` +- `public function toDatePeriod([DateInterval|null $interval = null ]): \DatePeriod` + +## Ibexa\Contracts\Calendar\Event + +- `public function __construct(\Ibexa\Contracts\Calendar\EventType\EventTypeInterface $type, string $id, \DateTimeInterface $dateTime)` +- `public function __toString(): string` +- `public function compareTo(\Ibexa\Contracts\Calendar\Event $event): int` +- `public function getDateTime(): \DateTimeInterface` +- `public function getId(): string` +- `public function getName(): string` +- `public function getType(): \Ibexa\Contracts\Calendar\EventType\EventTypeInterface` +- `public function isAfter(\Ibexa\Contracts\Calendar\Event $event): bool` +- `public function isBefore(\Ibexa\Contracts\Calendar\Event $event): bool` +- `protected function executeAction(\Ibexa\Contracts\Calendar\EventAction\EventActionContext $context): void` + +## Ibexa\Contracts\Calendar\EventAction\EventActionCollection implements IteratorAggregate + +- `public function __construct([iterable $actions = [] ])` +- `public function static createEmpty(): self` +- `public function get(string $identifier): \Ibexa\Contracts\Calendar\EventAction\EventActionInterface` +- `public function getIterator(): \Iterator` +- `public function isEmpty(): bool` +- `public function supports(string $identifier): bool` + +## Ibexa\Contracts\Calendar\EventAction\EventActionContext + +- `public function __construct(\Ibexa\Contracts\Calendar\EventCollection $events)` +- `public function getEvents(): \Ibexa\Contracts\Calendar\EventCollection` + +## Ibexa\Contracts\Calendar\EventAction\EventActionInterface + +- `public function execute(\Ibexa\Contracts\Calendar\EventAction\EventActionContext $context): void` +- `public function getActionIdentifier(): string` +- `public function getActionLabel(): string` +- `public function supports(\Ibexa\Contracts\Calendar\EventAction\EventActionContext $context): bool` + +## Ibexa\Contracts\Calendar\EventCollection implements IteratorAggregate, Countable + +- `public function __construct([array $events = [] ])` +- `public function count(): int` +- `public function filter(\Closure $predicate): self` +- `public function find(\Closure $predicate): int|null` +- `public function first(): \Ibexa\Contracts\Calendar\Event|null` +- `public function static fromIterator(\Iterator $iterator): self` +- `public function getIterator(): \Traversable` +- `public function isEmpty(): bool` +- `public function last(): \Ibexa\Contracts\Calendar\Event|null` +- `public function map(\Closure $callback): iterable` +- `public function static of(Event ...$events): self` +- `public function slice(int $offset[, int|null $length = null ]): self` + +## Ibexa\Contracts\Calendar\EventGroup extends Ibexa\Contracts\Calendar\EventList + +- `public function __construct(\Ibexa\Contracts\Calendar\EventQuery $query, \Ibexa\Contracts\Calendar\EventCollection $events[, int $totalCount = 0 ])` +- `public function static createEmpty(\Ibexa\Contracts\Calendar\EventQuery $query): self` +- `public function static fromEventList(\Ibexa\Contracts\Calendar\EventList $eventList): self` +- `public function getEvents(): \Ibexa\Contracts\Calendar\EventCollection` +- `public function getGroupKey(): \Ibexa\Contracts\Calendar\DateRange` +- `public function getIterator(): \Iterator` +- `public function getNextPageQuery(): \Ibexa\Contracts\Calendar\EventQuery|null` +- `public function getQuery(): \Ibexa\Contracts\Calendar\EventQuery` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Calendar\EventGroupList implements Countable, IteratorAggregate + +- `public function __construct(iterable $groups)` +- `public function count(): int` +- `public function static createEmpty(): self` +- `public function getGroups(): iterable` +- `public function getIterator(): \Iterator` + +## Ibexa\Contracts\Calendar\EventList implements IteratorAggregate + +- `public function __construct(\Ibexa\Contracts\Calendar\EventQuery $query, \Ibexa\Contracts\Calendar\EventCollection $events[, int $totalCount = 0 ])` +- `public function static createEmpty(\Ibexa\Contracts\Calendar\EventQuery $query): self` +- `public function getEvents(): \Ibexa\Contracts\Calendar\EventCollection` +- `public function getIterator(): \Iterator` +- `public function getNextPageQuery(): \Ibexa\Contracts\Calendar\EventQuery|null` +- `public function getQuery(): \Ibexa\Contracts\Calendar\EventQuery` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Calendar\EventQuery + +- `public function getCount(): int` +- `public function getCursor(): \Ibexa\Contracts\Calendar\Cursor|null` +- `public function getDateRange(): \Ibexa\Contracts\Calendar\DateRange` +- `public function getLanguages(): array|null` +- `public function getTypes(): array|null` +- `public function modify(): \Ibexa\Contracts\Calendar\EventQueryBuilder` +- `public const mixed DEFAULT_COUNT = 10` + +## Ibexa\Contracts\Calendar\EventQueryBuilder + +- `public function __construct()` +- `public function static fromQuery(\Ibexa\Contracts\Calendar\EventQuery $query): self` +- `public function getQuery(): \Ibexa\Contracts\Calendar\EventQuery` +- `public function withCount(int $count): self` +- `public function withCursor(Cursor|null $cursor): self` +- `public function withDateRange(\Ibexa\Contracts\Calendar\DateRange $dateRange): self` +- `public function withLanguages(array|null $languages): self` +- `public function withTypes(array|null $types): self` + +## Ibexa\Contracts\Calendar\EventSource\EventSourceInterface + +- `public function getCount(\Ibexa\Contracts\Calendar\EventQuery $query): int` +- `public function getEvents(\Ibexa\Contracts\Calendar\EventQuery $query): iterable` +- `public function loadEvents(array $eventIds): array` + +## Ibexa\Contracts\Calendar\EventSource\InMemoryEventSource implements Ibexa\Contracts\Calendar\EventSource\EventSourceInterface + +- `public function __construct(\Ibexa\Contracts\Calendar\EventCollection $events)` +- `public function getCount(\Ibexa\Contracts\Calendar\EventQuery $query): int` +- `public function getEvents(\Ibexa\Contracts\Calendar\EventQuery $query): iterable` +- `public function loadEvents(array $eventIds): array` + +## Ibexa\Contracts\Calendar\EventType\EventTypeInterface + +- `public function getActions(): \Ibexa\Contracts\Calendar\EventAction\EventActionCollection` +- `public function getEventName(\Ibexa\Contracts\Calendar\Event $event): string` +- `public function getTypeIdentifier(): string` +- `public function getTypeLabel(): string` + +## Ibexa\Contracts\Calendar\LanguageBasedEvent + +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` + +## Ibexa\Contracts\Cart\BatchOrderServiceInterface + +- `public function processBatchOrder(\Ibexa\Contracts\Cart\Value\CartInterface $cart, iterable $entries): array` + +## Ibexa\Contracts\Cart\CartResolverInterface + +- `public function resolveCart([User|null $user = null ]): \Ibexa\Contracts\Cart\Value\CartInterface` + +## Ibexa\Contracts\Cart\CartServiceDecorator implements Ibexa\Contracts\Cart\CartServiceInterface + +- `public function addEntry(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryAddStruct $entryAddStruct): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function createCart(\Ibexa\Contracts\Cart\Value\CartCreateStruct $cartCreateStruct): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function deleteCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): void` +- `public function emptyCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): void` +- `public function findCarts([CartQuery|null $query = null ]): \Ibexa\Contracts\Cart\Value\CartListInterface` +- `public function getCart(string $identifier): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function mergeCarts(\Ibexa\Contracts\Cart\Value\CartInterface $targetCart, bool $deleteMergedCarts, CartInterface ...$cartsToMerge): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function removeEntry(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function updateCartMetadata(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct $cartUpdateStruct): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function updateEntry(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry, \Ibexa\Contracts\Cart\Value\EntryUpdateStruct $entryUpdateStruct): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function validateCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): \Symfony\Component\Validator\ConstraintViolationListInterface` + +## Ibexa\Contracts\Cart\CartServiceInterface + +- `public function addEntry(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryAddStruct $entryAddStruct): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function createCart(\Ibexa\Contracts\Cart\Value\CartCreateStruct $cartCreateStruct): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function deleteCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): void` +- `public function emptyCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): void` +- `public function findCarts([CartQuery|null $query = null ]): \Ibexa\Contracts\Cart\Value\CartListInterface` +- `public function getCart(string $identifier): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function mergeCarts(\Ibexa\Contracts\Cart\Value\CartInterface $targetCart, bool $deleteMergedCarts, CartInterface ...$cartsToMerge): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function removeEntry(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function updateCartMetadata(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct $cartUpdateStruct): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function updateEntry(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry, \Ibexa\Contracts\Cart\Value\EntryUpdateStruct $entryUpdateStruct): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function validateCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): \Symfony\Component\Validator\ConstraintViolationListInterface` + +## Ibexa\Contracts\Cart\Event\AddEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryAddStruct $entryAddStruct, \Ibexa\Contracts\Cart\Value\CartInterface $cartResult)` +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getEntryAddStruct(): \Ibexa\Contracts\Cart\Value\EntryAddStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\BeforeAddEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryAddStruct $entryAddStruct[, CartInterface|null $cartResult = null ])` +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getEntryAddStruct(): \Ibexa\Contracts\Cart\Value\EntryAddStruct` +- `public function hasCartResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setCartResult(CartInterface|null $cartResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\BeforeCreateCartEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartCreateStruct $cartCreateStruct[, CartInterface|null $cartResult = null ])` +- `public function getCartCreateStruct(): \Ibexa\Contracts\Cart\Value\CartCreateStruct` +- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function hasCartResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setCartResult(CartInterface|null $cartResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\BeforeDeleteCartEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart)` +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\BeforeEmptyCartEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart)` +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\BeforeMergeCartsEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $targetCart, bool $deleteMergedCarts, CartInterface ...$cartsToMerge)` +- `public function getCartsToMerge(): array` +- `public function getDeleteMergedCarts(): bool` +- `public function getTargetCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function isPropagationStopped(): bool` +- `public function setDeleteMergedCarts(bool $deleteMergedCarts): void` +- `public function setsCartToMerge(CartInterface ...$cartsToMerge): void` +- `public function setTargetCart(\Ibexa\Contracts\Cart\Value\CartInterface $targetCart): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\BeforeRemoveEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry[, CartInterface|null $cartResult = null ])` +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getEntry(): \Ibexa\Contracts\Cart\Value\EntryInterface` +- `public function hasCartResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setCartResult(CartInterface|null $cartResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\BeforeUpdateCartMetadataEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct $cartUpdateStruct[, CartInterface|null $cartResult = null ])` +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getCartUpdateStruct(): \Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct` +- `public function hasCartResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setCartResult(CartInterface|null $cartResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\BeforeUpdateEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry, \Ibexa\Contracts\Cart\Value\EntryUpdateStruct $entryUpdateStruct[, CartInterface|null $cartResult = null ])` +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getEntry(): \Ibexa\Contracts\Cart\Value\EntryInterface` +- `public function getEntryUpdateStruct(): \Ibexa\Contracts\Cart\Value\EntryUpdateStruct` +- `public function hasCartResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setCartResult(CartInterface|null $cartResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\CreateCartEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartCreateStruct $cartCreateStruct, \Ibexa\Contracts\Cart\Value\CartInterface $cartResult)` +- `public function getCartCreateStruct(): \Ibexa\Contracts\Cart\Value\CartCreateStruct` +- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\DeleteCartEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart)` +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\EmptyCartEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart)` +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\MergeCartsEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $resultCart)` +- `public function getResultCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function isPropagationStopped(): bool` +- `public function setResultCart(\Ibexa\Contracts\Cart\Value\CartInterface $resultCart): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\RemoveEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry, \Ibexa\Contracts\Cart\Value\CartInterface $cartResult)` +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getEntry(): \Ibexa\Contracts\Cart\Value\EntryInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\UpdateCartMetadataEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct $cartUpdateStruct, \Ibexa\Contracts\Cart\Value\CartInterface $cartResult)` +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getCartUpdateStruct(): \Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Event\UpdateEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry, \Ibexa\Contracts\Cart\Value\EntryUpdateStruct $entryUpdateStruct, \Ibexa\Contracts\Cart\Value\CartInterface $cartResult)` +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getEntry(): \Ibexa\Contracts\Cart\Value\EntryInterface` +- `public function getEntryUpdateStruct(): \Ibexa\Contracts\Cart\Value\EntryUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Cart\Exception\CartEntryNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException + +- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` + +## Ibexa\Contracts\Cart\Exception\CartNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException + +- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` + +## Ibexa\Contracts\Cart\Exception\InvalidImportedDataFormatException extends RuntimeException + +- `public function __construct(string $message[, Throwable|null $previous = null ])` + +## Ibexa\Contracts\Cart\FileProcessor\SpreadsheetProcessorInterface + +- `public function processBatchOrderSpreadsheet(\Symfony\Component\HttpFoundation\File\File $file): iterable` + +## Ibexa\Contracts\Cart\Permission\Policy\Cart\AbstractCartPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function getModule(): string` +- `public function getTargets(): array` + +## Ibexa\Contracts\Cart\Permission\Policy\Cart\Create extends Ibexa\Contracts\Cart\Permission\Policy\Cart\AbstractCartPolicy + +- `public function __construct([CartCreateStruct|null $cartCreateStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Cart\Value\CartCreateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Cart\Permission\Policy\Cart\Delete extends Ibexa\Contracts\Cart\Permission\Policy\Cart\AbstractCartPolicy + +- `public function __construct([CartInterface|null $cart = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Cart\Value\CartInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Cart\Permission\Policy\Cart\Edit extends Ibexa\Contracts\Cart\Permission\Policy\Cart\AbstractCartPolicy + +- `public function __construct([CartInterface|null $cart = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Cart\Value\CartInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Cart\Permission\Policy\Cart\View extends Ibexa\Contracts\Cart\Permission\Policy\Cart\AbstractCartPolicy + +- `public function __construct([CartInterface|null $cart = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Cart\Value\CartInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Cart\Value\BatchEntryAddStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $code[, int $quantity = 1 ])` +- `public function getCode(): string` +- `public function getQuantity(): int` +- `public function setCode(string $code): void` +- `public function setQuantity(int $quantity): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Cart\Value\CartAwarePriceContextInterface + +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface|null` + +## Ibexa\Contracts\Cart\Value\CartCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $name, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency[, User|null $owner = null ])` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getName(): string` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function setContext(MapInterface|null $context): void` +- `public function setCurrency(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency): void` +- `public function setName(string $name): void` +- `public function setOwner(User|null $owner): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Cart\Value\CartEntryStructAwarePriceContextInterface + +- `public function getCartEntryStruct(): \Ibexa\Contracts\Cart\Value\EntryStructInterface|null` + +## Ibexa\Contracts\Cart\Value\CartInterface + +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getEntries(): \Ibexa\Contracts\Cart\Value\EntryCollectionInterface` +- `public function getId(): int|null` +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUpdatedAt(): \DateTimeInterface` + +## Ibexa\Contracts\Cart\Value\CartListInterface extends IteratorAggregate + +- `public function getCarts(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([string|null $name = null ][, CurrencyInterface|null $currency = null ][, User|null $owner = null ][, MapInterface|null $context = null ])` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` +- `public function getName(): string|null` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function setContext(MapInterface|null $context): void` +- `public function setCurrency(CurrencyInterface|null $currency): void` +- `public function setName(string|null $name): void` +- `public function setOwner(User|null $owner): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Cart\Value\CartQuery + +- `public function getLimit(): int` +- `public function getOffset(): int` +- `public function getOwnerId(): int|null` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function setLimit(int $limit): void` +- `public function setOffset(int $offset): void` +- `public function setOwnerId(int|null $ownerId): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\Cart\Value\EntryAddStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Cart\Value\EntryStructInterface + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, int $quantity = 1 ])` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getQuantity(): int` +- `public function setContext(MapInterface|null $context): void` +- `public function setProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): void` +- `public function setQuantity(int $quantity): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Cart\Value\EntryCollectionInterface extends Ibexa\Contracts\Core\Collection\ListInterface + +- `public function contains(\Ibexa\Contracts\Core\Collection\TValue $value): bool` +- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function getEntryForProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): \Ibexa\Contracts\Cart\Value\EntryInterface` +- `public function getIterator(): \Iterator` +- `public function hasEntryForProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): bool` +- `public function isEmpty(): bool` +- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function toArray(): array` + +## Ibexa\Contracts\Cart\Value\EntryInterface + +- `public function getAddedAt(): \DateTimeInterface` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getId(): int|null` +- `public function getIdentifier(): string` +- `public function getName(string $languageCode): string` +- `public function getNames(): array` +- `public function getPrice(): \Ibexa\Contracts\Cart\Value\PriceInterface` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getQuantity(): int` +- `public function hasName(string $languageCode): bool` + +## Ibexa\Contracts\Cart\Value\EntryStructInterface + +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getQuantity(): int|null` + +## Ibexa\Contracts\Cart\Value\EntryUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Cart\Value\EntryStructInterface + +- `public function __construct([int|null $quantity = null ][, MapInterface|null $context = null ])` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getQuantity(): int|null` +- `public function setContext(MapInterface|null $context): void` +- `public function setQuantity(int|null $quantity): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Cart\Value\PriceInterface + +- `public function getAmount(): numeric-string` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getMoney(): \Money\Money` + +## Ibexa\Contracts\Cart\Value\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Cart\Value\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\Cart\Value\Query\Criterion\OwnerCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Cart\Value\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Checkout\Address\AddressFormatResolverInterface + +- `public function resolveFormat(string $type): string` + +## Ibexa\Contracts\Checkout\CheckoutServiceDecorator implements Ibexa\Contracts\Checkout\CheckoutServiceInterface + +- `public function createCheckout(\Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct $createStruct): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` +- `public function deleteCheckout(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout): void` +- `public function getCheckout(string $identifier): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` +- `public function getCheckoutForCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` +- `public function newCheckoutCreateStruct([CartInterface|null $cart = null ][, string|null $checkoutName = null ]): \Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct` +- `public function newCheckoutUpdateStruct([string|null $transition = null ][, mixed $data = null ]): \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct` +- `public function updateCheckout(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout, \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct $updateStruct): void` + +## Ibexa\Contracts\Checkout\CheckoutServiceInterface + +- `public function createCheckout(\Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct $createStruct): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` +- `public function deleteCheckout(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout): void` +- `public function getCheckout(string $identifier): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` +- `public function getCheckoutForCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` +- `public function newCheckoutCreateStruct([CartInterface|null $cart = null ][, string|null $checkoutName = null ]): \Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct` +- `public function newCheckoutUpdateStruct([string|null $transition = null ][, mixed $data = null ]): \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct` +- `public function updateCheckout(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout, \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct $updateStruct): void` + +## Ibexa\Contracts\Checkout\Discounts\DataMapper\DiscountsDataMapperInterface + +- `public function mapToDiscountData(\Ibexa\Contracts\Cart\Value\EntryInterface $cartEntry): \Ibexa\OrderManagement\Discounts\Value\DiscountsData|null` + +## Ibexa\Contracts\Checkout\Discounts\DiscountsValidationFailedException extends RuntimeException + +- `public function __construct(string $cartIdentifier)` +- `public function getCartIdentifier(): string` + +## Ibexa\Contracts\Checkout\Event\BeforeCreateCheckoutEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct $createStruct[, CheckoutInterface|null $checkoutResult = null ])` +- `public function getCheckoutResult(): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` +- `public function getCreateStruct(): \Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct` +- `public function hasCheckoutResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setCheckoutResult(CheckoutInterface|null $checkoutResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Checkout\Event\BeforeDeleteCheckoutEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout)` +- `public function getCheckout(): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Checkout\Event\BeforeUpdateCheckoutEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout, \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct $updateStruct)` +- `public function getCheckout(): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Checkout\Event\CreateCheckoutEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct $createStruct, \Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkoutResult)` +- `public function getCheckoutResult(): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` +- `public function getCreateStruct(): \Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Checkout\Event\DeleteCheckoutEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout)` +- `public function getCheckout(): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Checkout\Event\UpdateCheckoutEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout, \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct $updateStruct)` +- `public function getCheckout(): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Checkout\Exception\CheckoutException extends RuntimeException + +- `public function __construct(\Throwable $previous)` + +## Ibexa\Contracts\Checkout\Order\Factory\OrderFactoryInterface + +- `public function buildOrderCreateStruct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout, \Ibexa\Contracts\Core\Repository\Values\ValueObject $user): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct` + +## Ibexa\Contracts\Checkout\PaymentMethodServiceDecorator implements Ibexa\Contracts\Checkout\PaymentMethodServiceInterface + +- `public function findPaymentMethods(): \Ibexa\Contracts\Checkout\Value\PaymentMethod\PaymentMethodListInterface` +- `public function getPaymentMethod(string $identifier): \Ibexa\Contracts\Checkout\Value\PaymentMethod\PaymentMethodInterface` + +## Ibexa\Contracts\Checkout\PaymentMethodServiceInterface + +- `public function findPaymentMethods(): \Ibexa\Contracts\Checkout\Value\PaymentMethod\PaymentMethodListInterface` +- `public function getPaymentMethod(string $identifier): \Ibexa\Contracts\Checkout\Value\PaymentMethod\PaymentMethodInterface` + +## Ibexa\Contracts\Checkout\Payment\PaymentUrlGenerator + +- `public function generateUrl(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout, string $afterPaymentRouteName[, array $routeParameters = [] ]): string` + +## Ibexa\Contracts\Checkout\Policy\Checkout\AbstractCheckoutPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function getModule(): string` +- `public function getTargets(): array` + +## Ibexa\Contracts\Checkout\Policy\Checkout\Create extends Ibexa\Contracts\Checkout\Policy\Checkout\AbstractCheckoutPolicy + +- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct $checkoutCreateStruct)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Checkout\Policy\Checkout\Delete extends Ibexa\Contracts\Checkout\Policy\Checkout\AbstractCheckoutPolicy + +- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Checkout\Policy\Checkout\Update extends Ibexa\Contracts\Checkout\Policy\Checkout\AbstractCheckoutPolicy + +- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct $checkoutUpdateStruct)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Checkout\Policy\Checkout\View extends Ibexa\Contracts\Checkout\Policy\Checkout\AbstractCheckoutPolicy + +- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Checkout\Reorder\ReorderService + +- `public function addToCartFromOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order, \Ibexa\Contracts\Cart\Value\CartInterface $reorderCart): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function canBeReordered(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order): bool` +- `public function copyContext(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $sourceOrder, \Ibexa\Contracts\Checkout\Value\CheckoutInterface $targetCheckout): void` +- `public function createReorderCart(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order[, string|null $newCartName = null ]): \Ibexa\Contracts\Cart\Value\CartInterface` + +## Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart[, string|null $checkoutName = null ])` +- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` +- `public function getCheckoutName(): string|null` +- `public function setCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): void` +- `public function setCheckoutName(string|null $checkoutName): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Checkout\Value\CheckoutInterface + +- `public function getCartIdentifier(): string` +- `public function getCheckoutName(): string|null` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface` +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getIdentifier(): string` +- `public function getStatus(): string` +- `public function getUpdatedAt(): \DateTimeInterface` +- `public function setContext(MutableMapInterface $context): void` + +## Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([string|null $transition = null ][, mixed $data = null ])` +- `public function getData(): mixed` +- `public function getTransition(): string|null` +- `public function setData(mixed $data): void` +- `public function setTransition([string|null $transition = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Checkout\Value\PaymentMethod\PaymentMethodInterface + +- `public function getIdentifier(): string` +- `public function getName(): string` + +## Ibexa\Contracts\Checkout\Value\PaymentMethod\PaymentMethodListInterface extends IteratorAggregate + +- `public function getPaymentMethods(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Checkout\Value\Workflow\WorkflowInterface + +- `public function getIdentifier(): string` +- `public function getStep(): string|null` + +## Ibexa\Contracts\Checkout\Workflow\WorkflowResolverInterface + +- `public function resolveWorkflow(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout): \Symfony\Component\Workflow\WorkflowInterface` + +## Ibexa\Contracts\Checkout\Workflow\WorkflowStrategyInterface + +- `public function getWorkflow(\Ibexa\Contracts\Cart\Value\CartInterface $cart): \Ibexa\Contracts\Checkout\Value\Workflow\WorkflowInterface` +- `public function supports(\Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` + +## Ibexa\Contracts\Collaboration\Configuration\ParticipantConfigurationInterface + +- `public function getAllowedParticipantTypes(): array` +- `public function isAllowedParticipantType(string $type): bool` +- `public function isAutoInviteEnabled(): bool` + +## Ibexa\Contracts\Collaboration\Configuration\SessionConfigurationInterface + +- `public function isPublicLinkEnabled(): bool` + +## Ibexa\Contracts\Collaboration\Configuration\ShareableUserConfigurationInterface + +- `public function getIdentifier(): string` + +## Ibexa\Contracts\Collaboration\InvitationServiceDecorator implements Ibexa\Contracts\Collaboration\InvitationServiceInterface + +- `public function createInvitation(\Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct $createStruct): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function deleteInvitation(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation): void` +- `public function findInvitations([InvitationQuery|null $query = null ]): \Ibexa\Contracts\Collaboration\Invitation\InvitationListInterface` +- `public function getInvitation(int $id): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function getInvitationByParticipant(\Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function updateInvitation(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation, \Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct $updateStruct): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` + +## Ibexa\Contracts\Collaboration\InvitationServiceInterface + +- `public function createInvitation(\Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct $createStruct): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function deleteInvitation(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation): void` +- `public function findInvitations([InvitationQuery|null $query = null ]): \Ibexa\Contracts\Collaboration\Invitation\InvitationListInterface` +- `public function getInvitation(int $id): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function getInvitationByParticipant(\Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function updateInvitation(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation, \Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct $updateStruct): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` + +## Ibexa\Contracts\Collaboration\Invitation\Event\BeforeCreateInvitationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct $createStruct[, InvitationInterface|null $invitationResult = null ])` +- `public function getCreateStruct(): \Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct` +- `public function getInvitationResult(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function hasInvitationResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setInvitationResult(InvitationInterface|null $invitationResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Invitation\Event\BeforeDeleteInvitationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation)` +- `public function getInvitation(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Invitation\Event\BeforeUpdateInvitationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation, \Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct $updateStruct[, InvitationInterface|null $invitationResult = null ])` +- `public function getInvitation(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function getInvitationResult(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct` +- `public function hasInvitationResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setInvitationResult(InvitationInterface|null $invitationResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Invitation\Event\CreateInvitationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct $createStruct, \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitationResult)` +- `public function getCreateStruct(): \Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct` +- `public function getInvitationResult(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Invitation\Event\DeleteInvitationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation)` +- `public function getInvitation(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Invitation\Event\UpdateInvitationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation, \Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct $updateStruct, \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitationResult)` +- `public function getInvitation(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function getInvitationResult(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant)` +- `public function getContext(): array` +- `public function getParticipant(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function getSender(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function setContext(array $context): void` +- `public function setSender(\Ibexa\Contracts\Core\Repository\Values\User\UserReference $sender): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Collaboration\Invitation\InvitationInterface + +- `public function getContext(): array` +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getId(): int` +- `public function getParticipant(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function getSender(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function getStatus(): string` +- `public function getUpdatedAt(): \DateTimeInterface` + +## Ibexa\Contracts\Collaboration\Invitation\InvitationListInterface extends IteratorAggregate + +- `public function getInvitations(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Collaboration\Invitation\InvitationQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\Collaboration\Invitation\InvitationStatus + +- `public function static isValid(string $status): bool` +- `public const mixed STATUS_ACCEPTED = 'accepted'` +- `public const mixed STATUS_PENDING = 'pending'` +- `public const mixed STATUS_REJECTED = 'rejected'` + +## Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([string|null $status = null ][, array|null $context = null ])` +- `public function getContext(): array|null` +- `public function getStatus(): string|null` +- `public function setContext(array|null $context): void` +- `public function setStatus(string|null $status): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Id extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\ParticipantScope extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\ParticipantType extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Sender extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Session extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Status extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Invitation\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\Id extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Invitation\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\Status extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Invitation\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Invitation\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Collaboration\Notification\NotificationFactoryInterface + +- `public function createInvitationNotification(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation): \Ibexa\Contracts\Notifications\Value\NotificationInterface` + +## Ibexa\Contracts\Collaboration\Notification\Recipient\RecipientFactoryInterface + +- `public function createRecipient(\Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant): \Symfony\Component\Notifier\Recipient\RecipientInterface` + +## Ibexa\Contracts\Collaboration\Participant\AbstractParticipant implements Ibexa\Contracts\Collaboration\Participant\ParticipantInterface + +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getId(): int` +- `public function getScope(): string` +- `public function getToken(): string|null` +- `public function getUpdatedAt(): \DateTimeInterface` + +## Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct implements Ibexa\Contracts\Collaboration\Participant\ParticipantTypeAwareInterface + +- `public function getScope(): string` +- `public function getToken(): string|null` +- `public function setScope(string $scope): void` +- `public function setToken(string|null $token): void` + +## Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct implements Ibexa\Contracts\Collaboration\Participant\ParticipantTypeAwareInterface + +- `public function getScope(): string|null` +- `public function getToken(): string|null` +- `public function setScope(string|null $scope): void` +- `public function setToken(string|null $token): void` + +## Ibexa\Contracts\Collaboration\Participant\Event\AddParticipantEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct $createStruct, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participantResult)` +- `public function getCreateStruct(): \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct` +- `public function getParticipantResult(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Participant\Event\BeforeAddParticipantEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct $createStruct[, ParticipantInterface|null $participantResult = null ])` +- `public function getCreateStruct(): \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct` +- `public function getParticipantResult(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function hasParticipantResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setParticipantResult(ParticipantInterface|null $participantResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Participant\Event\BeforeRemoveParticipantEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant)` +- `public function getParticipant(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Participant\Event\BeforeUpdateParticipantEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct $updateStruct[, ParticipantInterface|null $participantResult = null ])` +- `public function getParticipant(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function getParticipantResult(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct` +- `public function hasParticipantResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setParticipantResult(ParticipantInterface|null $participantResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Participant\Event\RemoveParticipantEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant)` +- `public function getParticipant(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Participant\Event\UpdateParticipantEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct $updateStruct, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participantResult)` +- `public function getParticipant(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function getParticipantResult(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Participant\ExternalParticipant extends Ibexa\Contracts\Collaboration\Participant\AbstractParticipant + +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getEmail(): string` +- `public function getId(): int` +- `public function getName(): string` +- `public function getScope(): string` +- `public function getToken(): string|null` +- `public function getUpdatedAt(): \DateTimeInterface` + +## Ibexa\Contracts\Collaboration\Participant\ExternalParticipantCreateStruct extends Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct + +- `public function getEmail(): string` +- `public function getScope(): string` +- `public function getToken(): string|null` +- `public function getType(): string` +- `public function setEmail(string $email): void` +- `public function setScope(string $scope): void` +- `public function setToken(string|null $token): void` + +## Ibexa\Contracts\Collaboration\Participant\ExternalParticipantUpdateStruct extends Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct + +- `public function getScope(): string|null` +- `public function getToken(): string|null` +- `public function getType(): string` +- `public function setScope(string|null $scope): void` +- `public function setToken(string|null $token): void` + +## Ibexa\Contracts\Collaboration\Participant\InternalParticipant extends Ibexa\Contracts\Collaboration\Participant\AbstractParticipant + +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getId(): int` +- `public function getName(): string` +- `public function getScope(): string` +- `public function getToken(): string|null` +- `public function getUpdatedAt(): \DateTimeInterface` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` + +## Ibexa\Contracts\Collaboration\Participant\InternalParticipantCreateStruct extends Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct + +- `public function getScope(): string` +- `public function getToken(): string|null` +- `public function getType(): string` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` +- `public function setScope(string $scope): void` +- `public function setToken(string|null $token): void` +- `public function setUser(\Ibexa\Contracts\Core\Repository\Values\User\UserReference $user): void` + +## Ibexa\Contracts\Collaboration\Participant\InternalParticipantUpdateStruct extends Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct + +- `public function getScope(): string|null` +- `public function getToken(): string|null` +- `public function getType(): string` +- `public function setScope(string|null $scope): void` +- `public function setToken(string|null $token): void` + +## Ibexa\Contracts\Collaboration\Participant\ParticipantCollectionInterface extends IteratorAggregate + +- `public function getByEmail(string $email): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function getById(int $id): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function getByToken(string $token): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` + +## Ibexa\Contracts\Collaboration\Participant\ParticipantDiscriminator + +- `public const mixed EXTERNAL = 'external'` +- `public const mixed INTERNAL = 'internal'` + +## Ibexa\Contracts\Collaboration\Participant\ParticipantInterface + +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getId(): int` +- `public function getName(): string` +- `public function getScope(): string` +- `public function getToken(): string|null` +- `public function getUpdatedAt(): \DateTimeInterface` + +## Ibexa\Contracts\Collaboration\Participant\ParticipantTypeAwareInterface + +- `public function getType(): string` + +## Ibexa\Contracts\Collaboration\REST\Input\Parser\AbstractSessionCreateParser extends Ibexa\Contracts\Collaboration\REST\Input\Parser\UserAwareParser + +- `public function __construct(\Ibexa\Contracts\Core\Repository\UserService $userService)` +- `public function parse(array $data, \Ibexa\Contracts\Rest\Input\ParsingDispatcher $parsingDispatcher): \Ibexa\Contracts\Collaboration\REST\Values\SessionCreateStruct` +- `protected function abstract getSessionCreateStruct(array $data): \Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct` +- `protected function getUser(array{_href: string} $data): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` + +## Ibexa\Contracts\Collaboration\REST\Input\Parser\AbstractSessionUpdateParser extends Ibexa\Contracts\Collaboration\REST\Input\Parser\UserAwareParser + +- `public function parse(array $data, \Ibexa\Contracts\Rest\Input\ParsingDispatcher $parsingDispatcher): \Ibexa\Contracts\Collaboration\REST\Values\SessionUpdateStruct` +- `protected function abstract getSessionUpdateStruct(array $data): \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct` +- `protected function getUser(array{_href: string} $data): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` +- `protected const mixed HAS_PUBLIC_LINK = 'hasPublicLink'` +- `protected const mixed IS_ACTIVE = 'isActive'` +- `protected const mixed OWNER_KEY = 'Owner'` +- `protected const mixed TOKEN_KEY = 'token'` + +## Ibexa\Contracts\Collaboration\REST\Input\Parser\UserAwareParser extends Ibexa\Rest\Input\BaseParser + +- `public function __construct(\Ibexa\Contracts\Core\Repository\UserService $userService)` +- `protected function getUser(array{_href: string} $data): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` + +## Ibexa\Contracts\Collaboration\REST\Values\ParticipantCreateStructList extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(array $participantCreateStructs)` +- `public function getParticipantCreateStructList(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Collaboration\REST\Values\SessionCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct $sessionCreateStruct, \Ibexa\Contracts\Collaboration\REST\Values\ParticipantCreateStructList $participantCreateStructList, string|null $token, UserReference|null $owner)` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` +- `public function getParticipantCreateStructList(): \Ibexa\Contracts\Collaboration\REST\Values\ParticipantCreateStructList` +- `public function getSessionCreateStruct(): \Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct` +- `public function getToken(): string|null` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Collaboration\REST\Values\SessionUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct $sessionUpdateStruct, string|null $token, UserReference|null $owner, bool|null $isActive, bool|null $hasPublicLink)` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` +- `public function getSessionUpdateStruct(): \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct` +- `public function getToken(): string|null` +- `public function hasPublicLink(): bool|null` +- `public function isActive(): bool|null` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Collaboration\Security\ShareableLinkMatcherStrategyInterface + +- `public function matches(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Symfony\Component\HttpFoundation\Request $request): bool` + +## Ibexa\Contracts\Collaboration\SessionServiceDecorator implements Ibexa\Contracts\Collaboration\SessionServiceInterface + +- `public function addParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct $createStruct): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function createSession(\Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct $createStruct): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function deleteSession(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session): void` +- `public function findSessions([SessionQuery|null $query = null ]): \Ibexa\Contracts\Collaboration\Session\SessionListInterface` +- `public function getSession(int $id): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function getSessionByToken(string $token): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function isSessionOwner(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session[, UserReference|null $user = null ]): bool` +- `public function isSessionParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Core\Repository\Values\User\UserReference $userReference): bool` +- `public function removeParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant): void` +- `public function updateParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct $updateStruct): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function updateSession(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct $updateStruct): \Ibexa\Contracts\Collaboration\Session\SessionInterface` + +## Ibexa\Contracts\Collaboration\SessionServiceInterface + +- `public function addParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct $createStruct): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function createSession(\Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct $createStruct): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function deleteSession(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session): void` +- `public function findSessions([SessionQuery|null $query = null ]): \Ibexa\Contracts\Collaboration\Session\SessionListInterface` +- `public function getSession(int $id): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function getSessionByToken(string $token): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function isSessionOwner(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session[, UserReference|null $user = null ]): bool` +- `public function isSessionParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Core\Repository\Values\User\UserReference $userReference): bool` +- `public function removeParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant): void` +- `public function updateParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct $updateStruct): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` +- `public function updateSession(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct $updateStruct): \Ibexa\Contracts\Collaboration\Session\SessionInterface` + +## Ibexa\Contracts\Collaboration\Session\AbstractSession implements Ibexa\Contracts\Collaboration\Session\SessionInterface + +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getId(): int` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getParticipants(): \Ibexa\Contracts\Collaboration\Participant\ParticipantCollectionInterface` +- `public function getToken(): string` +- `public function getUpdatedAt(): \DateTimeInterface` +- `public function hasPublicLink(): bool` +- `public function isActive(): bool` + +## Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` +- `public function getToken(): string|null` +- `public function abstract getType(): string` +- `public function hasPublicLink(): bool|null` +- `public function isActive(): bool` +- `public function setHasPublicLink(bool $hasPublicLink): void` +- `public function setOwner(UserReference|null $owner): void` +- `public function setToken(string|null $token): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` +- `public function getToken(): string|null` +- `public function abstract getType(): string` +- `public function hasPublicLink(): bool|null` +- `public function isActive(): bool|null` +- `public function setHasPublicLink(bool|null $hasPublicLink): void` +- `public function setIsActive(bool|null $isActive): void` +- `public function setOwner(UserReference|null $owner): void` +- `public function setToken(string|null $token): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Collaboration\Session\Event\BeforeCreateSessionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct $createStruct[, SessionInterface|null $sessionResult = null ])` +- `public function getCreateStruct(): \Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct` +- `public function getSessionResult(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function hasSessionResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setSessionResult(SessionInterface|null $sessionResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Session\Event\BeforeDeleteSessionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session)` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Session\Event\BeforeUpdateSessionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct $updateStruct[, SessionInterface|null $sessionResult = null ])` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function getSessionResult(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct` +- `public function hasSessionResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setSessionResult(SessionInterface|null $sessionResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Session\Event\CreateSessionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct $createStruct, \Ibexa\Contracts\Collaboration\Session\SessionInterface $sessionResult)` +- `public function getCreateStruct(): \Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct` +- `public function getSessionResult(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Session\Event\DeleteSessionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session)` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Session\Event\JoinSessionEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session)` +- `public function getResponse(): \Symfony\Component\HttpFoundation\RedirectResponse|null` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function isPropagationStopped(): bool` +- `public function setResponse(\Symfony\Component\HttpFoundation\RedirectResponse $response): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Session\Event\LeaveSessionEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(SessionInterface|null $session)` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface|null` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Session\Event\SessionPublicPreviewEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session)` +- `public function getResponse(): \Symfony\Component\HttpFoundation\RedirectResponse|null` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function isPropagationStopped(): bool` +- `public function setResponse(\Symfony\Component\HttpFoundation\RedirectResponse $response): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Session\Event\UpdateSessionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct $updateStruct, \Ibexa\Contracts\Collaboration\Session\SessionInterface $sessionResult)` +- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function getSessionResult(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Collaboration\Session\JoinSessionRedirectResolverInterface + +- `public function resolve(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session[, string|null $accessToken = null ]): \Symfony\Component\HttpFoundation\RedirectResponse` +- `public function supports(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session): bool` + +## Ibexa\Contracts\Collaboration\Session\LeaveSessionRedirectResolverInterface + +- `public function resolve(SessionInterface|null $session): \Symfony\Component\HttpFoundation\RedirectResponse` +- `public function supports(SessionInterface|null $session): bool` + +## Ibexa\Contracts\Collaboration\Session\Query\Criterion\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Session\Query\Criterion\Email extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Session\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\Collaboration\Session\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\Collaboration\Session\Query\Criterion\Owner extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Session\Query\Criterion\ParticipantToken extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Session\Query\Criterion\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Session\Query\Criterion\UserId extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Collaboration\Session\Query\SortClause\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Session\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Collaboration\Session\Query\SortClause\Id extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Session\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Collaboration\Session\Query\SortClause\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Session\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Collaboration\Session\SessionInterface + +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getId(): int` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getParticipants(): \Ibexa\Contracts\Collaboration\Participant\ParticipantCollectionInterface` +- `public function getToken(): string` +- `public function getUpdatedAt(): \DateTimeInterface` +- `public function hasPublicLink(): bool` +- `public function isActive(): bool` + +## Ibexa\Contracts\Collaboration\Session\SessionListInterface extends IteratorAggregate + +- `public function getFirst(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` +- `public function getSessions(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Collaboration\Session\SessionQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\Collaboration\Session\SessionScopeInterface + +- `public function getDefaultScope(): string` +- `public function getScopes(): array` +- `public function isValidScope(string $scope): bool` + +## Ibexa\Contracts\Connect\Ai\ActionHandlerDataStructureAwareInterface extends Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface + +- `public function getDataStructureSpec(): array` +- `public function static getIdentifier(): string` +- `public function handle(\Ibexa\Contracts\ConnectorAi\ActionInterface $action[, array $context = [] ]): \Ibexa\Contracts\ConnectorAi\ActionResponseInterface` +- `public function preparePayload(array $options, DataType $input): array` +- `public function supports(\Ibexa\Contracts\ConnectorAi\ActionInterface $action): bool` + +## Ibexa\Contracts\Connect\ConnectClientInterface + +- `public function dataStructures(): \Ibexa\Contracts\Connect\Resource\DataStructureInterface` +- `public function hooks(): \Ibexa\Contracts\Connect\Resource\HookInterface` +- `public function scenarios(): \Ibexa\Contracts\Connect\Resource\ScenarioInterface` +- `public function templates(): \Ibexa\Contracts\Connect\Resource\TemplateInterface` + +## Ibexa\Contracts\Connect\Exception\UnserializablePayload extends Exception + +- `public function __construct(\JsonException $exception)` + +## Ibexa\Contracts\Connect\Exception\UnserializableResponse extends Exception + +- `public function __construct(\JsonException $exception)` + +## Ibexa\Contracts\Connect\PaginationInterface + +- `public function getLimit(): int|null` +- `public function getOffset(): int|null` +- `public function getSortBy(): string|null` +- `public function getSortDir(): string|null` + +## Ibexa\Contracts\Connect\Resource\CustomPropertyStructureInterface + +- `public function create(\Ibexa\Contracts\Connect\Resource\CustomPropertyStructure\CustomPropertyStructureCreateStruct $createStruct): \Ibexa\Contracts\Connect\Response\CustomPropertyStructure\CreateResponse` +- `public function list(\Ibexa\Contracts\Connect\Resource\CustomPropertyStructure\CustomPropertyStructureFilter $customPropertyStructureFilter): \Ibexa\Contracts\Connect\Response\CustomPropertyStructure\ListResponse` + +## Ibexa\Contracts\Connect\Resource\CustomPropertyStructure\CustomPropertyStructureCreateStruct + +- `public function __construct(string $associatedType, int $belongerId[, string $belongerType = 'organization' ])` +- `public function getAssociatedType(): string` +- `public function getBelongerId(): int` +- `public function getBelongerType(): string` + +## Ibexa\Contracts\Connect\Resource\CustomPropertyStructure\CustomPropertyStructureFilter + +- `public function __construct(int $organizationId)` +- `public function getOrganizationId(): int` + +## Ibexa\Contracts\Connect\Resource\CustomPropertyStructure\CustomPropertyStructureItemCreateStruct + +- `public function __construct(int $customPropertyStructureId, string $name, string $label, string $type[, string $description = '' ][, array|null $options = null ][, bool|null $required = false ])` +- `public function getCustomPropertyStructureId(): int` +- `public function getDescription(): string` +- `public function getLabel(): string` +- `public function getName(): string` +- `public function getOptions(): array|null` +- `public function getRequired(): bool|null` +- `public function getType(): string` + +## Ibexa\Contracts\Connect\Resource\DataStructureInterface + +- `public function create(\Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureCreateStruct $createStruct): \Ibexa\Contracts\Connect\Response\DataStructure\CreateResponse` +- `public function details(int $id): \Ibexa\Contracts\Connect\Response\DataStructure\RetrieveResponse` +- `public function list(\Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureFilter $dataStructureFilter[, Pagination|null $pagination = null ]): \Ibexa\Contracts\Connect\Response\DataStructure\ListResponse` + +## Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureBuilder + +- `public function __construct([array $dataStructureProperties = [] ])` +- `public function addDataStructureProperty(\Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureProperty $dataStructureProperty): void` +- `public function getDataStructure(): array` + +## Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureCreateStruct + +- `public function __construct(string $name, int $teamId, array $spec[, bool $strict = true ])` +- `public function getName(): string` +- `public function getSpec(): array` +- `public function getStrict(): bool` +- `public function getTeamId(): int` + +## Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureFilter + +- `public function __construct(int $teamId)` +- `public function getTeamId(): int` + +## Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureProperty + +- `public function setLabel(string|null $label): self` +- `public function setName(string $name): self` +- `public function setRequired(bool $required): self` +- `public function setType(\Ibexa\Contracts\Connect\Resource\DataStructure\DataStructurePropertyType $type): self` +- `public function toArray(): array{type: string, name: string, label?: string, default?: mixed, required?: bool}` +- `public const mixed BOOLEAN_TYPE = 'boolean'` +- `public const mixed NUMBER_TYPE = 'number'` +- `public const mixed TEXT_TYPE = 'text'` + +## Ibexa\Contracts\Connect\Resource\DataStructure\DataStructurePropertyType + +- `public function static BOOLEAN(): self` +- `public function getValue(): string` +- `public function static NUMBER(): self` +- `public function static TEXT(): self` + +## Ibexa\Contracts\Connect\Resource\HookInterface + +- `public function create(\Ibexa\Contracts\Connect\Resource\Hook\HookCreateStruct $hookCreateStruct): \Ibexa\Contracts\Connect\Response\Hook\CreateResponse` +- `public function details(int $id): \Ibexa\Contracts\Connect\Response\Hook\RetrieveResponse` +- `public function list(\Ibexa\Contracts\Connect\Resource\Hook\HookFilter $hookFilter[, Pagination|null $pagination = null ]): \Ibexa\Contracts\Connect\Response\Hook\ListResponse` +- `public function setDetails(int $id, \Ibexa\Contracts\Connect\Resource\Hook\HookSetDetailsStruct $hookSetDetailsStruct): \Ibexa\Contracts\Connect\Response\Hook\SetDetailsResponse` + +## Ibexa\Contracts\Connect\Resource\Hook\HookCreateStruct + +- `public function __construct(string $name, int $teamId[, string $typeName = 'gateway-webhook' ][, int|null $udt = null ][, bool $method = false ][, bool $headers = false ][, bool $stringify = false ][, int|null $connectionId = null ][, int|null $formId = null ])` +- `public function getConnectionId(): int|null` +- `public function getFormId(): int|null` +- `public function getName(): string` +- `public function getTeamId(): int` +- `public function getTypeName(): string` +- `public function getUdt(): int|null` +- `public function isHeaders(): bool` +- `public function isMethod(): bool` +- `public function isStringify(): bool` + +## Ibexa\Contracts\Connect\Resource\Hook\HookFilter + +- `public function __construct(int $teamId[, string $typeName = 'gateway-webhook' ][, bool|null $assigned = null ][, int|null $viewForScenarioId = null ])` +- `public function getTeamId(): int` +- `public function getTypeName(): string` +- `public function getViewForScenarioId(): int|null` +- `public function isAssigned(): bool|null` + +## Ibexa\Contracts\Connect\Resource\Hook\HookSetDetailsStruct + +- `public function __construct(bool $method, bool $headers, bool $stringify[, int|null $udt = null ])` +- `public function getUdt(): int|null` +- `public function isHeaders(): bool|null` +- `public function isMethod(): bool|null` +- `public function isStringify(): bool|null` + +## Ibexa\Contracts\Connect\Resource\ScenarioInterface + +- `public function create(\Ibexa\Contracts\Connect\Resource\Scenario\ScenarioCreateStruct $scenarioCreateStruct): \Ibexa\Contracts\Connect\Response\Scenario\CreateResponse` +- `public function customPropertiesData(int $id): \Ibexa\Contracts\Connect\Response\Scenario\RetrieveCustomPropertiesDataResponse` +- `public function details(int $id): \Ibexa\Contracts\Connect\Response\Scenario\RetrieveResponse` +- `public function fillInCustomPropertiesData(int $id, array $customPropertiesData): \Ibexa\Contracts\Connect\Response\Scenario\RetrieveCustomPropertiesDataResponse` +- `public function list(\Ibexa\Contracts\Connect\Resource\Scenario\ScenarioFilter $scenarioFilter[, Pagination|null $pagination = null ]): \Ibexa\Contracts\Connect\Response\Scenario\ListResponse` + +## Ibexa\Contracts\Connect\Resource\Scenario\CustomPropertiesDataFillInStruct + +- `public function __construct(int $teamId, string $blueprint, string $scheduling[, int|null $folderId = null ][, int|null $basedon = null ])` +- `public function getBasedon(): int|null` +- `public function getBlueprint(): string` +- `public function getFolderId(): int|null` +- `public function getScheduling(): string` +- `public function getTeamId(): int` + +## Ibexa\Contracts\Connect\Resource\Scenario\ScenarioCreateStruct + +- `public function __construct(int $teamId, string $blueprint, string $scheduling[, int|null $folderId = null ][, int|null $basedon = null ])` +- `public function getBasedon(): int|null` +- `public function getBlueprint(): string` +- `public function getFolderId(): int|null` +- `public function getScheduling(): string` +- `public function getTeamId(): int` + +## Ibexa\Contracts\Connect\Resource\Scenario\ScenarioFilter + +- `public function __construct(int $teamId[, int|null $organizationId = null ][, int|null $folderId = null ][, array|null $customProperties = null ])` +- `public function getCustomProperties(): array|null` +- `public function getFolderId(): int|null` +- `public function getOrganizationId(): int|null` +- `public function getTeamId(): int` + +## Ibexa\Contracts\Connect\Resource\TeamInterface + +- `public function createTeamVariable(\Ibexa\Contracts\Connect\Resource\Team\TeamVariableCreateStruct $teamVariableCreateStruct): \Ibexa\Contracts\Connect\Response\Team\TeamVariableCreateResponse` +- `public function listTeamVariable(\Ibexa\Contracts\Connect\Resource\Team\TeamVariableFilter $teamVariableFilter): \Ibexa\Contracts\Connect\Response\Team\TeamVariableListResponse` +- `public function updateTeamVariable(\Ibexa\Contracts\Connect\Resource\Team\TeamVariableUpdateStruct $teamVariableUpdateStruct): \Ibexa\Contracts\Connect\Response\Team\TeamVariableUpdateResponse` + +## Ibexa\Contracts\Connect\Resource\Team\TeamVariableCreateStruct + +- `public function __construct(int $teamId, string $name, int $typeId, mixed $value)` +- `public function getName(): string` +- `public function getTeamId(): int` +- `public function getTypeId(): int` +- `public function getValue(): mixed` + +## Ibexa\Contracts\Connect\Resource\Team\TeamVariableFilter + +- `public function __construct(int $teamId)` +- `public function getTeamId(): int` + +## Ibexa\Contracts\Connect\Resource\Team\TeamVariableUpdateStruct + +- `public function __construct(int $teamId, string $name, mixed $value[, int|null $typeId = null ])` +- `public function getName(): string` +- `public function getTeamId(): int` +- `public function getTypeId(): int|null` +- `public function getValue(): mixed` + +## Ibexa\Contracts\Connect\Resource\TemplateInterface + +- `public function blueprint(int $id, bool $forUse): \Ibexa\Contracts\Connect\Response\Template\BlueprintResponse` +- `public function create(\Ibexa\Contracts\Connect\Resource\Template\TemplateCreateStruct $templateCreateStruct): \Ibexa\Contracts\Connect\Response\Template\CreateResponse` +- `public function details(int $id): \Ibexa\Contracts\Connect\Response\Template\RetrieveResponse` +- `public function list(\Ibexa\Contracts\Connect\Resource\Template\TemplateFilter $templateFilter[, Pagination|null $pagination = null ]): \Ibexa\Contracts\Connect\Response\Template\ListResponse` + +## Ibexa\Contracts\Connect\Resource\Template\TemplateCreateStruct + +- `public function __construct(int $teamId, string $language, string $blueprint, string $scheduling, string $controller)` +- `public function getBlueprint(): string` +- `public function getController(): string` +- `public function getLanguage(): string` +- `public function getScheduling(): string` +- `public function getTeamId(): int` + +## Ibexa\Contracts\Connect\Resource\Template\TemplateFilter + +- `public function __construct(int $teamId)` +- `public function getTeamId(): int` + +## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\CreateItemResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function __construct(int $id, int $structureId, string $name, string $label, string $type, bool $required, string|null $description, array|null $options)` +- `public function static from(CustomPropertyStructureCreateItemResponse} $data): self` +- `public function getDescription(): string|null` +- `public function getId(): int` +- `public function getLabel(): string` +- `public function getName(): string` +- `public function getOptions(): array|null` +- `public function getStructureId(): int` +- `public function getType(): string` +- `public function isRequired(): bool` + +## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\CreateResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(CustomPropertyStructureResponse} $data): self` +- `public function getBelongers(): array` +- `public function getCreated(): string` +- `public function getId(): int` + +## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\DeleteItemResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function __construct(int $customPropertyStructureItemId)` +- `public function static from(object{customPropertyStructureItem: int} $data): self` +- `public function getCustomPropertyStructureItemId(): int` + +## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\ListItemResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(Pagination} $data): self` +- `public function getCustomPropertyStructureItems(): array` +- `public function getPagination(): object` + +## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\ListResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(CustomPropertyStructureResponse}} $data): self` +- `public function getCustomPropertyStructures(): array` + +## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\RetrieveItemResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(\Ibexa\Contracts\Connect\Response\CustomPropertyStructure\CustomPropertyStructureItemResponse $customPropertyStructureItem): self` +- `public function getDescription(): string` +- `public function getId(): int` +- `public function getLabel(): string` +- `public function getName(): string` +- `public function getOptions(): array|null` +- `public function getType(): string` +- `public function isRequired(): bool` + +## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\RetrieveResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(object{id: int, created: string, belongers: object[]} $customPropertyStructure): self` +- `public function getBelongers(): array` +- `public function getCreated(): string` +- `public function getId(): int` + +## Ibexa\Contracts\Connect\Response\DataStructure\CreateResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(DataStructureResponse} $data): self` +- `public function getId(): int` +- `public function getName(): string` +- `public function getTeamId(): int` + +## Ibexa\Contracts\Connect\Response\DataStructure\ListResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(Pagination} $data): self` +- `public function getDataStructures(): array` +- `public function getPagination(): \Ibexa\Contracts\Connect\Response\DataStructure\Pagination` + +## Ibexa\Contracts\Connect\Response\DataStructure\RetrieveResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(object{id: int, name: string, teamId: int} $dataStructure): self` +- `public function getId(): int` +- `public function getName(): string` +- `public function getTeamId(): int` + +## Ibexa\Contracts\Connect\Response\Hook\CreateResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(HookResponse} $data): self` +- `public function getId(): int` +- `public function getName(): string` +- `public function getUrl(): string` + +## Ibexa\Contracts\Connect\Response\Hook\ListResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(Pagination} $data): self` +- `public function getHooks(): array` +- `public function getPagination(): \Ibexa\Contracts\Connect\Response\Hook\Pagination` + +## Ibexa\Contracts\Connect\Response\Hook\RetrieveResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(\Ibexa\Contracts\Connect\Response\Hook\HookResponse $hook): self` +- `public function getData(): object` +- `public function getId(): int` +- `public function getName(): string` +- `public function getScenarioId(): int|null` +- `public function getTeamId(): int` +- `public function getType(): string` +- `public function getUdid(): string` +- `public function getUrl(): string` + +## Ibexa\Contracts\Connect\Response\Hook\SetDetailsResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(\Ibexa\Contracts\Connect\Response\Hook\SetDetailsHookResponse $data): self` +- `public function isChanged(): bool` + +## Ibexa\Contracts\Connect\Response\Scenario\CreateResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(ScenarioResponse} $data): self` +- `public function getDescription(): string|null` +- `public function getId(): int` +- `public function getName(): string` + +## Ibexa\Contracts\Connect\Response\Scenario\ListResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(Pagination} $data): self` +- `public function getPagination(): \Ibexa\Contracts\Connect\Response\Scenario\Pagination` +- `public function getScenarios(): array` + +## Ibexa\Contracts\Connect\Response\Scenario\RetrieveCustomPropertiesDataResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(\Ibexa\Contracts\Connect\Response\Scenario\CustomPropertiesDataResponse $data): self` +- `public function getCustomProperties(): array` +- `public function getScenarioId(): int` + +## Ibexa\Contracts\Connect\Response\Scenario\RetrieveResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(\Ibexa\Contracts\Connect\Response\Scenario\ScenarioResponse $data): self` +- `public function getDescription(): string|null` +- `public function getHookId(): int|null` +- `public function getId(): int` +- `public function getName(): string` + +## Ibexa\Contracts\Connect\Response\Team\TeamVariableCreateResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(object{teamVariable: object{isSystem: bool, name: string, typeId: int, value: mixed}} $data): self` + +## Ibexa\Contracts\Connect\Response\Team\TeamVariableListResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(object{teamVariables: array{: object{isSystem: bool, name: string, typeId: int, value: mixed}}} $data): self` +- `public function getTeamVariables(): array` + +## Ibexa\Contracts\Connect\Response\Team\TeamVariableRetrieveResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(object{isSystem: bool, name: string, typeId: int, value: mixed} $data): self` +- `public function getName(): string` +- `public function getTypeId(): int` +- `public function getValue(): mixed` +- `public function isSystem(): bool` + +## Ibexa\Contracts\Connect\Response\Team\TeamVariableUpdateResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(object{teamVariable: object{isSystem: bool, name: string, typeId: int, value: mixed}} $data): self` + +## Ibexa\Contracts\Connect\Response\Template\BlueprintResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(\Ibexa\Contracts\Connect\Response\Template\TemplateBlueprintResponse $data): self` +- `public function getBlueprint(): object` +- `public function getController(): object` +- `public function getLanguage(): string` +- `public function getScheduling(): object` + +## Ibexa\Contracts\Connect\Response\Template\CreateResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(TemplateResponse} $data): self` + +## Ibexa\Contracts\Connect\Response\Template\ListResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(Pagination} $data): self` +- `public function getPagination(): object` +- `public function getTemplates(): array` + +## Ibexa\Contracts\Connect\Response\Template\RetrieveResponse implements Ibexa\Contracts\Connect\ResponseInterface + +- `public function static from(\Ibexa\Contracts\Connect\Response\Template\TemplateResponse $data): self` +- `public function getDescription(): string|null` +- `public function getId(): int` +- `public function getName(): string` +- `public function getPublicUrl(): string|null` +- `public function getPublishedId(): int|null` + +## Ibexa\Contracts\Connect\TransportInterface + +- `public function sendRequest(\Ibexa\Contracts\Connect\PayloadInterface $payload): \Ibexa\Contracts\Connect\ResponseInterface` + +## Ibexa\Contracts\Connect\Value\Blueprint + +- `public function __construct(string $name, array $flow, \Ibexa\Contracts\Connect\Value\Blueprint\Metadata $metadata)` +- `public function getFlow(): array` +- `public function getMetadata(): \Ibexa\Contracts\Connect\Value\Blueprint\Metadata` +- `public function getName(): string` + +## Ibexa\Contracts\Connect\Value\Blueprint\Flow + +- `public function __construct(array $modules)` +- `public function getModules(): array` + +## Ibexa\Contracts\Connect\Value\Blueprint\Metadata + +- `public function __construct(\Ibexa\Contracts\Connect\Value\Blueprint\Metadata\Scenario $scenario[, int $version = 1 ])` +- `public function static fromArray(array{scenario: array{autoCommit: bool, maxErrors: int, roundtrips: int}, version: int} $data): self` +- `public function getScenario(): \Ibexa\Contracts\Connect\Value\Blueprint\Metadata\Scenario` +- `public function getVersion(): int` + +## Ibexa\Contracts\Connect\Value\Blueprint\Metadata\Scenario + +- `public function __construct([bool $autoCommit = true ][, int $maxErrors = 3 ][, int $roundtrips = 1 ])` +- `public function static fromArray(array{autoCommit: bool, maxErrors: int, roundtrips: int} $data): self` +- `public function getMaxErrors(): int` +- `public function getRoundtrips(): int` +- `public function isAutoCommit(): bool` + +## Ibexa\Contracts\Connect\Value\Blueprint\Module\CustomWebhook + +- `public function get([int $id = 1 ][, int $version = 1 ][, int|null $hookId = null ][, ModuleDesigner|null $designer = null ]): object` + +## Ibexa\Contracts\Connect\Value\Blueprint\Module\JsonCreate + +- `public function get([int $id = 1 ][, int $version = 1 ][, int $dataStructureId = 787 ][, ModuleDesigner|null $designer = null ]): object` + +## Ibexa\Contracts\Connect\Value\Blueprint\Module\ModuleDesigner + +- `public function __construct([int $x = 0 ][, int $y = 0 ])` +- `public function getX(): int` +- `public function getY(): int` + +## Ibexa\Contracts\Connect\Value\Blueprint\Module\WebhookRespond + +- `public function get([int $id = 1 ][, int $version = 1 ][, string $status = '200' ][, ModuleDesigner|null $designer = null ][, array $headers = [] ]): object` + +## Ibexa\Contracts\Connect\Value\Controller + +- `public function __construct([string $name = '' ][, string $description = '' ])` +- `public function getDescription(): string|null` +- `public function getName(): string` + +## Ibexa\Contracts\Connect\Value\Scheduling + +- `public function __construct([string $type = 'immediately' ])` +- `public function getType(): string` + +## Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface + +- `public function createAction(DataType $input, array $context): \Ibexa\Contracts\ConnectorAi\ActionInterface` +- `public function getActionHandlerIdentifier(): string|null` +- `public function getActionHandlerOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` +- `public function getActionType(): \Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface` +- `public function getActionTypeOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` +- `public function getAllOptions(): array` +- `public function getCreatedAt(): \DateTimeImmutable` +- `public function getDescription([string|null $languageCode = null ]): string|null` +- `public function getDescriptions(): array` +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getLanguages(): array` +- `public function getMainLanguageCode(): string` +- `public function getName([string|null $languageCode = null ]): string` +- `public function getNames(): array` +- `public function getUpdatedAt(): \DateTimeImmutable` +- `public function isEnabled(): bool` + +## Ibexa\Contracts\ConnectorAi\ActionConfigurationServiceDecorator implements Ibexa\Contracts\ConnectorAi\ActionConfigurationServiceInterface + +- `public function copyActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCopyStruct $copyStruct): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function createActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct $createStruct): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function deleteActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration): void` +- `public function findActionConfigurations([ActionConfigurationQuery|null $query = null ][, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationListInterface` +- `public function getActionConfiguration(string $identifier[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function updateActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct $updateStruct): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` + +## Ibexa\Contracts\ConnectorAi\ActionConfigurationServiceInterface + +- `public function copyActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCopyStruct $copyStruct): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function createActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct $createStruct): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function deleteActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration): void` +- `public function findActionConfigurations([ActionConfigurationQuery|null $query = null ][, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationListInterface` +- `public function getActionConfiguration(string $identifier[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function updateActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct $updateStruct): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCopyStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(int $sourceId, string $identifier)` +- `public function getIdentifier(): string` +- `public function getSourceId(): int` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $identifier)` +- `public function getActionHandler(): string|null` +- `public function getActionHandlerOptions(): \Ibexa\Contracts\Core\Collection\MapInterface` +- `public function getActionType(): \Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface` +- `public function getActionTypeOptions(): \Ibexa\Contracts\Core\Collection\MapInterface` +- `public function getDescriptions(): array` +- `public function getIdentifier(): string` +- `public function getNames(): array` +- `public function isEnabled(): bool` +- `public function setActionHandler(string|null $actionHandler): void` +- `public function setActionHandlerOptions(MapInterface $actionHandlerOptions): void` +- `public function setActionTypeOptions(MapInterface $actionTypeOptions): void` +- `public function setDescription(string $languageCode, string $description): void` +- `public function setEnabled(bool $enabled): void` +- `public function setIdentifier(string $identifier): void` +- `public function setName(string $languageCode, string $name): void` +- `public function setType(\Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface $actionType): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationListInterface extends IteratorAggregate + +- `public function getActionConfigurations(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationOptions implements Ibexa\Contracts\Core\Options\OptionsBag, IteratorAggregate, ArrayAccess + +- `public function __construct(array $options)` +- `public function all(): array` +- `public function get(string $key[, mixed $default = null ]): mixed` +- `public function getIterator(): \Iterator` +- `public function has(string $key): bool` +- `public function offsetExists(mixed $offset): bool` +- `public function offsetGet(mixed $offset): mixed` +- `public function offsetSet(mixed $offset, mixed $value): void` +- `public function offsetUnset(mixed $offset): void` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([array $properties = [] ])` +- `public function getActionHandlerOptions(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getActionTypeOptions(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getDescriptions(): array|null` +- `public function getEnabled(): bool|null` +- `public function getIdentifier(): string|null` +- `public function getNames(): array|null` +- `public function setActionHandlerOptions(MapInterface|null $actionHandlerOptions): void` +- `public function setActionTypeOptions(MapInterface|null $actionTypeOptions): void` +- `public function setDescription(string $languageCode, string $description): void` +- `public function setDescriptions(array|null $descriptions): void` +- `public function setEnabled(bool|null $enabled): void` +- `public function setIdentifier(string|null $identifier): void` +- `public function setName(string $languageCode, string $name): void` +- `public function setNames(array|null $names): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionHandlerOptionsFormMapperInterface + +- `public function createActionHandlerOptionsForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder[, array $context = [] ]): void` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionTypeOptionsFormMapperInterface + +- `public function createActionTypeOptionsForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder[, array $context = [] ]): void` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Event\BeforeCreateActionConfigurationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct $createStruct[, ActionConfigurationInterface|null $actionConfigurationResult = null ])` +- `public function getActionConfigurationResult(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function getCreateStruct(): \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct` +- `public function hasActionConfigurationResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setActionConfigurationResult(ActionConfigurationInterface|null $actionConfigurationResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Event\BeforeDeleteActionConfigurationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration)` +- `public function getActionConfiguration(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Event\BeforeUpdateActionConfigurationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct $updateStruct[, ActionConfigurationInterface|null $actionConfigurationResult = null ])` +- `public function getActionConfiguration(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function getActionConfigurationResult(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct` +- `public function hasActionConfigurationResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setActionConfigurationResult(ActionConfigurationInterface|null $actionConfigurationResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Event\CreateActionConfigurationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct $createStruct, \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfigurationResult)` +- `public function getActionConfigurationResult(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function getCreateStruct(): \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Event\DeleteActionConfigurationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration)` +- `public function getActionConfiguration(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Event\UpdateActionConfigurationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct $updateStruct, \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfigurationResult)` +- `public function getActionConfiguration(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function getActionConfigurationResult(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\OptionsFormatterInterface + +- `public function formatOptions(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\Core\Options\OptionsBag $optionsBag[, array $parameters = [] ]): string|null` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\Criterion\Enabled extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\Criterion\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\Criterion\Name extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\Criterion\Type extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\SortClause\Enabled extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\SortClause\Id extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\SortClause\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ConnectorAi\ActionHandlerRegistryInterface + +- `public function getHandler(string $identifier): \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface` +- `public function hasHandler(string $identifier): bool` + +## Ibexa\Contracts\ConnectorAi\ActionInterface + +- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` +- `public function getActionTypeIdentifier(): string` +- `public function getAllOptions(): array` +- `public function getInput(): \Ibexa\Contracts\ConnectorAi\DataType` +- `public function getParameters(): array` +- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` +- `public function hasActionContext(): bool` +- `public function hasRuntimeContext(): bool` +- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` +- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` + +## Ibexa\Contracts\ConnectorAi\ActionResponseInterface + +- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType` + +## Ibexa\Contracts\ConnectorAi\ActionServiceDecorator implements Ibexa\Contracts\ConnectorAi\ActionServiceInterface + +- `public function execute(\Ibexa\Contracts\ConnectorAi\ActionInterface $action[, ActionConfigurationInterface|null $actionConfiguration = null ][, ActionHandlerInterface|null $handler = null ]): \Ibexa\Contracts\ConnectorAi\ActionResponseInterface` + +## Ibexa\Contracts\ConnectorAi\ActionServiceInterface + +- `public function execute(\Ibexa\Contracts\ConnectorAi\ActionInterface $action[, ActionConfigurationInterface|null $actionConfiguration = null ][, ActionHandlerInterface|null $handler = null ]): \Ibexa\Contracts\ConnectorAi\ActionResponseInterface` + +## Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeFactoryInterface + +- `public function createActionType(string $identifier, string $name, \Ibexa\Contracts\ConnectorAi\Action\ActionFactoryInterface $factory[, string|null $domain = null ]): \Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface` + +## Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface + +- `public function createAction(DataType $input[, array $parameters = [] ]): \Ibexa\Contracts\ConnectorAi\ActionInterface` +- `public function getActionHandlers(): iterable` +- `public function getIdentifier(): string` +- `public function getInputIdentifier(): string` +- `public function getName(): string` +- `public function getOptions(): array>` +- `public function getOutputIdentifier(): string` + +## Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeRegistryInterface + +- `public function getActionType(string $identifier): \Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface` +- `public function getActionTypes(): iterable` +- `public function hasActionType(string $identifier): bool` + +## Ibexa\Contracts\ConnectorAi\ActionType\OptionsValidatorError + +- `public function __construct(string|null $target, string $message[, array $parameters = [] ])` +- `public function getMessage(): string` +- `public function getParameters(): array` +- `public function getTarget(): string|null` + +## Ibexa\Contracts\ConnectorAi\ActionType\OptionsValidatorInterface + +- `public function validateOptions(\Ibexa\Contracts\Core\Options\OptionsBag $options): array` + +## Ibexa\Contracts\ConnectorAi\ActionType\OptionsValidatorRegistryInterface + +- `public function getValidator(string $type): \Ibexa\Contracts\ConnectorAi\ActionType\OptionsValidatorInterface` +- `public function hasValidator(string $type): bool` + +## Ibexa\Contracts\ConnectorAi\Action\Action implements Ibexa\Contracts\ConnectorAi\ActionInterface + +- `public function getAllOptions(): array` +- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` +- `public function hasActionContext(): bool` +- `public function hasRuntimeContext(): bool` +- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` +- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` + +## Ibexa\Contracts\ConnectorAi\Action\ActionContext extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\Core\Options\OptionsBag $systemContext, \Ibexa\Contracts\Core\Options\OptionsBag $actionTypeOptions, \Ibexa\Contracts\Core\Options\OptionsBag $actionHandlerOptions)` +- `public function getActionHandlerOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` +- `public function getActionTypeOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` +- `public function getSystemContext(): \Ibexa\Contracts\Core\Options\OptionsBag` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ConnectorAi\Action\ActionFactoryInterface + +- `public function createAction(\Ibexa\Contracts\ConnectorAi\DataType $input[, array $parameters = [] ]): \Ibexa\Contracts\ConnectorAi\ActionInterface` + +## Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface + +- `public function static getIdentifier(): string` +- `public function handle(\Ibexa\Contracts\ConnectorAi\ActionInterface $action[, array $context = [] ]): \Ibexa\Contracts\ConnectorAi\ActionResponseInterface` +- `public function supports(\Ibexa\Contracts\ConnectorAi\ActionInterface $action): bool` + +## Ibexa\Contracts\ConnectorAi\Action\ActionHandlerResolverInterface + +- `public function resolve(\Ibexa\Contracts\ConnectorAi\ActionInterface $action): \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface` + +## Ibexa\Contracts\ConnectorAi\Action\DataType\Image implements Ibexa\Contracts\ConnectorAi\DataType + +- `public function getBase64(): string` +- `public function static getIdentifier(): string` +- `public function getList(): array` +- `public const mixed IDENTIFIER = 'image'` + +## Ibexa\Contracts\ConnectorAi\Action\DataType\Taxonomy implements Ibexa\Contracts\ConnectorAi\DataType + +- `public function static getIdentifier(): string` +- `public function getList(): array` +- `public const mixed IDENTIFIER = 'taxonomy'` + +## Ibexa\Contracts\ConnectorAi\Action\DataType\TaxonomyEntry implements Ibexa\Contracts\ConnectorAi\Action\DataType\TaxonomySuggestionInterface + +- `public function __construct(int $id, int|null $parentId, string $name)` +- `public function getId(): int` +- `public function getName(): string` +- `public function getParentId(): int|null` + +## Ibexa\Contracts\ConnectorAi\Action\DataType\TaxonomySuggestion implements Ibexa\Contracts\ConnectorAi\Action\DataType\TaxonomySuggestionInterface + +- `public function __construct(int|null $parentId, string $name)` +- `public function getName(): string` +- `public function getParentId(): int|null` + +## Ibexa\Contracts\ConnectorAi\Action\DataType\TaxonomySuggestionInterface + +- `public function getName(): string` +- `public function getParentId(): int|null` + +## Ibexa\Contracts\ConnectorAi\Action\DataType\Text implements Ibexa\Contracts\ConnectorAi\DataType + +- `public function static getIdentifier(): string` +- `public function getList(): array` +- `public function getText(): string` +- `public const mixed IDENTIFIER = 'text'` + +## Ibexa\Contracts\ConnectorAi\Action\DataType\TextToTaxonomyInput implements Ibexa\Contracts\ConnectorAi\DataType + +- `public function static getIdentifier(): string` +- `public function getList(): array` +- `public function getTaxonomyIdentifier(): string` +- `public function getText(): string` +- `public const mixed IDENTIFIER = 'text_to_taxonomy_input'` + +## Ibexa\Contracts\ConnectorAi\Action\Event\BeforeExecuteEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionInterface $action, ActionConfigurationInterface|null $actionConfiguration, ActionHandlerInterface|null $handler[, ActionResponseInterface|null $actionResponseResult = null ])` +- `public function getAction(): \Ibexa\Contracts\ConnectorAi\ActionInterface` +- `public function getActionConfiguration(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface|null` +- `public function getActionResponseResult(): \Ibexa\Contracts\ConnectorAi\ActionResponseInterface` +- `public function getHandler(): \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface|null` +- `public function hasActionResponseResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setActionResponseResult(ActionResponseInterface|null $actionResponseResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ConnectorAi\Action\Event\ExecuteEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionInterface $action, ActionConfigurationInterface|null $actionConfiguration, ActionHandlerInterface|null $handler, \Ibexa\Contracts\ConnectorAi\ActionResponseInterface $actionResponseResult)` +- `public function getAction(): \Ibexa\Contracts\ConnectorAi\ActionInterface` +- `public function getActionConfiguration(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface|null` +- `public function getActionResponseResult(): \Ibexa\Contracts\ConnectorAi\ActionResponseInterface` +- `public function getHandler(): \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface|null` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ConnectorAi\Action\GenerateAltTextAction extends Ibexa\Contracts\ConnectorAi\Action\ImageToText\Action + +- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` +- `public function getActionTypeIdentifier(): string` +- `public function getAllOptions(): array` +- `public function getInput(): \Ibexa\Contracts\ConnectorAi\Action\DataType\Image` +- `public function getMaxLength(): int|null` +- `public function getParameters(): array` +- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` +- `public function hasActionContext(): bool` +- `public function hasRuntimeContext(): bool` +- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` +- `public function setMaxLength(int|null $maxLength): void` +- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` + +## Ibexa\Contracts\ConnectorAi\Action\ImageToText\Action extends Ibexa\Contracts\ConnectorAi\Action\Action + +- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` +- `public function getAllOptions(): array` +- `public function getInput(): \Ibexa\Contracts\ConnectorAi\Action\DataType\Image` +- `public function getMaxLength(): int|null` +- `public function getParameters(): array` +- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` +- `public function hasActionContext(): bool` +- `public function hasRuntimeContext(): bool` +- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` +- `public function setMaxLength(int|null $maxLength): void` +- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` + +## Ibexa\Contracts\ConnectorAi\Action\ImageToText\ActionResponse extends Ibexa\Contracts\ConnectorAi\Action\Response\TextResponse + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Text $text)` +- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType` + +## Ibexa\Contracts\ConnectorAi\Action\ImageToText\ActionType implements Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface + +- `public function getOptions(): array>` +- `public function getOutputIdentifier(): string` +- `public const mixed IMAGE_MAX_SIZE_KEY = 'image_max_size'` +- `public const mixed IMAGE_QUALITY_KEY = 'image_quality'` + +## Ibexa\Contracts\ConnectorAi\Action\LLMBaseActionTypeInterface extends Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface + +- `public function createAction(DataType $input[, array $parameters = [] ]): \Ibexa\Contracts\ConnectorAi\ActionInterface` +- `public function getActionHandlers(): iterable` +- `public function getBasePrompt(): string` +- `public function getIdentifier(): string` +- `public function getInputIdentifier(): string` +- `public function getName(): string` +- `public function getOptions(): array>` +- `public function getOutputIdentifier(): string` + +## Ibexa\Contracts\ConnectorAi\Action\RefineTextAction extends Ibexa\Contracts\ConnectorAi\Action\TextToText\Action + +- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` +- `public function getActionTypeIdentifier(): string` +- `public function getAllOptions(): array` +- `public function getInput(): \Ibexa\Contracts\ConnectorAi\Action\DataType\Text` +- `public function getParameters(): array` +- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` +- `public function hasActionContext(): bool` +- `public function hasRuntimeContext(): bool` +- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` +- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` + +## Ibexa\Contracts\ConnectorAi\Action\Response\ImageResponse implements Ibexa\Contracts\ConnectorAi\ActionResponseInterface + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Image $image)` +- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType` + +## Ibexa\Contracts\ConnectorAi\Action\Response\TaxonomyResponse implements Ibexa\Contracts\ConnectorAi\ActionResponseInterface + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Taxonomy $taxonomy)` +- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType` + +## Ibexa\Contracts\ConnectorAi\Action\Response\TextResponse implements Ibexa\Contracts\ConnectorAi\ActionResponseInterface + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Text $text)` +- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType` + +## Ibexa\Contracts\ConnectorAi\Action\RuntimeContext implements Ibexa\Contracts\Core\Options\OptionsBag, IteratorAggregate, ArrayAccess + +- `public function __construct(array $options)` +- `public function all(): array` +- `public function get(string $key[, mixed $default = null ]): mixed` +- `public function getIterator(): \Iterator` +- `public function has(string $key): bool` +- `public function offsetExists(mixed $offset): bool` +- `public function offsetGet(mixed $offset): mixed` +- `public function offsetSet(mixed $offset, mixed $value): void` +- `public function offsetUnset(mixed $offset): void` + +## Ibexa\Contracts\ConnectorAi\Action\SuggestTaxonomyAction extends Ibexa\Contracts\ConnectorAi\Action\TextToTaxonomy\Action + +- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` +- `public function getActionTypeIdentifier(): string` +- `public function getAllOptions(): array` +- `public function getInput(): \Ibexa\Contracts\ConnectorAi\Action\DataType\TextToTaxonomyInput` +- `public function getParameters(): array` +- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` +- `public function hasActionContext(): bool` +- `public function hasRuntimeContext(): bool` +- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` +- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` + +## Ibexa\Contracts\ConnectorAi\Action\TextToImage\Action extends Ibexa\Contracts\ConnectorAi\Action\Action + +- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` +- `public function getAllOptions(): array` +- `public function getParameters(): array` +- `public function getQuality(): string` +- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` +- `public function getSize(): string` +- `public function hasActionContext(): bool` +- `public function hasRuntimeContext(): bool` +- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` +- `public function setQuality(string $quality): void` +- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` +- `public function setSize(string $size): void` +- `public const mixed QUALITY_HD = 'hd'` +- `public const mixed QUALITY_STANDARD = 'standard'` +- `public const mixed SIZE_LANDSCAPE = '1792x1024'` +- `public const mixed SIZE_PORTRAIT = '1024x1792'` +- `public const mixed SIZE_SQUARE = '1024x1024'` + +## Ibexa\Contracts\ConnectorAi\Action\TextToImage\ActionResponse extends Ibexa\Contracts\ConnectorAi\Action\Response\ImageResponse + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Image $image)` +- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType` + +## Ibexa\Contracts\ConnectorAi\Action\TextToTaxonomy\Action extends Ibexa\Contracts\ConnectorAi\Action\Action + +- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` +- `public function getAllOptions(): array` +- `public function getInput(): \Ibexa\Contracts\ConnectorAi\Action\DataType\TextToTaxonomyInput` +- `public function getParameters(): array` +- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` +- `public function hasActionContext(): bool` +- `public function hasRuntimeContext(): bool` +- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` +- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` + +## Ibexa\Contracts\ConnectorAi\Action\TextToTaxonomy\ActionResponse extends Ibexa\Contracts\ConnectorAi\Action\Response\TaxonomyResponse + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Taxonomy $taxonomy)` +- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType` + +## Ibexa\Contracts\ConnectorAi\Action\TextToTaxonomy\ActionType implements Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface + +- `public function getInputIdentifier(): string` +- `public function getOptions(): array>` +- `public function getOutputIdentifier(): string` + +## Ibexa\Contracts\ConnectorAi\Action\TextToText\Action extends Ibexa\Contracts\ConnectorAi\Action\Action + +- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` +- `public function getAllOptions(): array` +- `public function getInput(): \Ibexa\Contracts\ConnectorAi\Action\DataType\Text` +- `public function getParameters(): array` +- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` +- `public function hasActionContext(): bool` +- `public function hasRuntimeContext(): bool` +- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` +- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` + +## Ibexa\Contracts\ConnectorAi\Action\TextToText\ActionResponse extends Ibexa\Contracts\ConnectorAi\Action\Response\TextResponse + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Text $text)` +- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType` + +## Ibexa\Contracts\ConnectorAi\Action\TextToText\ActionType implements Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface + +- `public function getInputIdentifier(): string` +- `public function getOptions(): array>` +- `public function getOutputIdentifier(): string` + +## Ibexa\Contracts\ConnectorAi\AdapterAwareActionInterface + +- `public function getAdapter(): string` + +## Ibexa\Contracts\ConnectorAi\DataType + +- `public function static getIdentifier(): string` +- `public function getList(): array` + +## Ibexa\Contracts\ConnectorAi\Events\ContextEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionInterface $action, \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface $actionHandler[, Options|null $options = null ])` +- `public function getAction(): \Ibexa\Contracts\ConnectorAi\ActionInterface` +- `public function getActionHandler(): \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface` +- `public function getContext(): \Ibexa\Contracts\Core\Options\OptionsBag` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ConnectorAi\Events\ResolveActionConfigurationWidgetConfigEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface $actionType, array $actionConfigurations, array $context)` +- `public function getActionConfigurations(): array` +- `public function getActionType(): \Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface` +- `public function getActionTypeInputIdentifier(): string` +- `public function getActionTypeName(): string` +- `public function getActionTypeOptions(): array>` +- `public function getActionTypeOutputIdentifier(): string` +- `public function getContext(): array` +- `public function isPropagationStopped(): bool` +- `public function setActionTypeInputIdentifier(string $actionTypeInputIdentifier): void` +- `public function setActionTypeName(string $actionTypeName): void` +- `public function setActionTypeOptions(array> $actionTypeOutputIdentifier): void` +- `public function setActionTypeOutputIdentifier(string $actionTypeOutputIdentifier): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ConnectorAi\Events\ResolveActionHandlerEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionInterface $action)` +- `public function getAction(): \Ibexa\Contracts\ConnectorAi\ActionInterface` +- `public function getActionHandler(): \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface|null` +- `public function isPropagationStopped(): bool` +- `public function setActionHandler(ActionHandlerInterface|null $actionHandler): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ConnectorAi\PromptResolverInterface + +- `public function getPrompt(array $options): string` + +## Ibexa\Contracts\ConnectorAi\Prompt\PromptFactory + +- `public function __construct(array $prompts, string $identifier)` +- `public function getIdentifier(): string` +- `public function getPrompt(array $options): string` + +## Ibexa\Contracts\ConnectorAi\Prompt\PromptInterface + +- `public function getText(array $options): string|null` + +## Ibexa\Contracts\ConnectorAi\REST\Exception\ValidationFailedExceptionInterface extends Throwable + +- `public function getErrors(): \Symfony\Component\Validator\ConstraintViolationListInterface` + +## Ibexa\Contracts\ConnectorOpenAi\ClientProviderInterface + +- `public function getClient(): \Orhanerday\OpenAi\OpenAi` + +## Ibexa\Contracts\ConnectorPayum\Generator\DescriptionGeneratorInterface + +- `public function generateDescription(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment[, array $parameters = [] ]): string` + +## Ibexa\Contracts\ConnectorPayum\Payment\StatusMapperInterface + +- `public function newStatusToTransition(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Payum\Core\Request\GetStatusInterface $status): string|null` + +## Ibexa\Contracts\ConnectorPayum\Storage\PaymentQueryFactoryInterface + +- `public function buildQuery(array $criteria): \Ibexa\Contracts\Payment\Payment\PaymentQuery` + +## Ibexa\Contracts\ConnectorQualifio\Exception\NotConfiguredException extends Exception implements Ibexa\Contracts\ConnectorQualifio\Exception\QualifioException + +- `public function __construct()` + +## Ibexa\Contracts\ConnectorQualifio\QualifioFieldMapResolverInterface + +- `public function resolveFieldMapIdentifier(string $context, string $enricherIdentifier, string $fieldIdentifier, mixed $value): \Ibexa\Contracts\ConnectorQualifio\Value\QualifioTokenPayloadValue|null` + +## Ibexa\Contracts\ConnectorQualifio\QualifioServiceInterface + +- `public function buildCampaignUrl(int $campaignId): string|null` +- `public function getQualifioCampaign(int $campaignId): array|null` +- `public function getQualifioChannels(): array` +- `public function getUserToken(int $campaignId): string|null` +- `public function isConfigured(): bool` + +## Ibexa\Contracts\ConnectorQualifio\Value\QualifioTokenPayloadValue + +- `public function __construct(string $context, string $identifier, mixed $value)` +- `public function getContext(): string` +- `public function getIdentifier(): string` +- `public function getValue(): mixed` + +## Ibexa\Contracts\Connector\Dam\Asset implements Ibexa\Contracts\Connector\Dam\ExternalAsset + +- `public function __construct(\Ibexa\Contracts\Connector\Dam\AssetIdentifier $identifier, \Ibexa\Contracts\Connector\Dam\AssetSource $source, \Ibexa\Contracts\Connector\Dam\AssetUri $assetUri, \Ibexa\Contracts\Connector\Dam\AssetMetadata $assetMetadata)` +- `public function getAssetMetadata(): \Ibexa\Contracts\Connector\Dam\AssetMetadata` +- `public function getAssetUri(): \Ibexa\Contracts\Connector\Dam\AssetUri` +- `public function getIdentifier(): \Ibexa\Contracts\Connector\Dam\AssetIdentifier` +- `public function getSource(): \Ibexa\Contracts\Connector\Dam\AssetSource` + +## Ibexa\Contracts\Connector\Dam\AssetCollection implements IteratorAggregate + +- `public function __construct(array $assets)` +- `public function getIterator(): \Traversable` +- `public function toArray(): array` + +## Ibexa\Contracts\Connector\Dam\AssetIdentifier + +- `public function __construct(string $id)` +- `public function getId(): string` + +## Ibexa\Contracts\Connector\Dam\AssetMetadata implements ArrayAccess, IteratorAggregate + +- `public function __construct(array $metadata)` +- `public function getIterator(): \Traversable` +- `public function offsetExists(mixed $offset): bool` +- `public function offsetGet(mixed $offset): mixed` +- `public function offsetSet(mixed $offset, mixed $value): never` +- `public function offsetUnset(mixed $offset): never` + +## Ibexa\Contracts\Connector\Dam\AssetService + +- `public function get(\Ibexa\Contracts\Connector\Dam\AssetIdentifier $identifier, \Ibexa\Contracts\Connector\Dam\AssetSource $source): \Ibexa\Contracts\Connector\Dam\Asset` +- `public function search(\Ibexa\Contracts\Connector\Dam\Search\Query $query, \Ibexa\Contracts\Connector\Dam\AssetSource $assetSource[, int $offset = 0 ][, int $limit = 20 ]): \Ibexa\Contracts\Connector\Dam\Search\AssetSearchResult` +- `public function transform(\Ibexa\Contracts\Connector\Dam\Asset $asset, \Ibexa\Contracts\Connector\Dam\Variation\Transformation $transformation): \Ibexa\Contracts\Connector\Dam\Variation\AssetVariation` + +## Ibexa\Contracts\Connector\Dam\AssetSource + +- `public function __construct(string $sourceIdentifier)` +- `public function getSourceIdentifier(): string` + +## Ibexa\Contracts\Connector\Dam\AssetUri + +- `public function __construct(string $path)` +- `public function getPath(): string` + +## Ibexa\Contracts\Connector\Dam\ExternalAsset + +- `public function getAssetMetadata(): \Ibexa\Contracts\Connector\Dam\AssetMetadata` +- `public function getAssetUri(): \Ibexa\Contracts\Connector\Dam\AssetUri` +- `public function getIdentifier(): \Ibexa\Contracts\Connector\Dam\AssetIdentifier` +- `public function getSource(): \Ibexa\Contracts\Connector\Dam\AssetSource` + +## Ibexa\Contracts\Connector\Dam\Handler\Handler + +- `public function fetchAsset(string $id): \Ibexa\Contracts\Connector\Dam\Asset` +- `public function search(\Ibexa\Contracts\Connector\Dam\Search\Query $query[, int $offset = 0 ][, int $limit = 20 ]): \Ibexa\Contracts\Connector\Dam\Search\AssetSearchResult` + +## Ibexa\Contracts\Connector\Dam\Search\AssetSearchResult implements IteratorAggregate + +- `public function getIterator(): \Iterator` +- `public function getResults(): \Ibexa\Contracts\Connector\Dam\AssetCollection` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Connector\Dam\Search\Query + +- `public function getPhrase(): string` + +## Ibexa\Contracts\Connector\Dam\Search\QueryFactory + +- `public function buildFromRequest(\Symfony\Component\HttpFoundation\Request $request): \Ibexa\Contracts\Connector\Dam\Search\Query` + +## Ibexa\Contracts\Connector\Dam\Variation\AssetVariation implements Ibexa\Contracts\Connector\Dam\ExternalAsset + +- `public function __construct(\Ibexa\Contracts\Connector\Dam\Asset $originalAsset, \Ibexa\Contracts\Connector\Dam\AssetUri $assetUri, \Ibexa\Contracts\Connector\Dam\Variation\Transformation $transformation)` +- `public function getAssetMetadata(): \Ibexa\Contracts\Connector\Dam\AssetMetadata` +- `public function getAssetUri(): \Ibexa\Contracts\Connector\Dam\AssetUri` +- `public function getIdentifier(): \Ibexa\Contracts\Connector\Dam\AssetIdentifier` +- `public function getOriginalAsset(): \Ibexa\Contracts\Connector\Dam\Asset` +- `public function getSource(): \Ibexa\Contracts\Connector\Dam\AssetSource` +- `public function getTransformation(): \Ibexa\Contracts\Connector\Dam\Variation\Transformation` + +## Ibexa\Contracts\Connector\Dam\Variation\AssetVariationGenerator + +- `public function generate(\Ibexa\Contracts\Connector\Dam\Asset $asset, \Ibexa\Contracts\Connector\Dam\Variation\Transformation $transformation): \Ibexa\Contracts\Connector\Dam\Variation\AssetVariation` + +## Ibexa\Contracts\Connector\Dam\Variation\Transformation + +- `public function __construct([string|null $name = null ][, array $transformationProperties = [] ])` +- `public function getName(): string|null` +- `public function getTransformationProperties(): array` + +## Ibexa\Contracts\Connector\Dam\Variation\TransformationFactory + +- `public function build([string|null $transformationName = null ][, array $transformationParameters = [] ]): \Ibexa\Contracts\Connector\Dam\Variation\Transformation` +- `public function buildAll(): array` + +## Ibexa\Contracts\Connector\Dam\View\AssetView + +- `public function getAsset(): \Ibexa\Contracts\Connector\Dam\ExternalAsset` + +## Ibexa\Contracts\ContentForms\Content\Form\Provider\GroupedContentFormFieldsProviderInterface + +- `public function getGroupedFields(array> $fieldsDataForm): array` + +## Ibexa\Contracts\ContentForms\Data\Content\FieldData extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getField(): \Ibexa\Contracts\Core\Repository\Values\Content\Field` +- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` +- `public function getFieldTypeIdentifier(): string` +- `public function getValue(): mixed` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ContentForms\Event\AutosaveEnabled extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo)` +- `public function disableAutosave(): void` +- `public function enableAutosave(): void` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function isAutosaveEnabled(): bool` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ContentForms\FieldType\FieldValueFormMapperInterface + +- `public function mapFieldValueForm(\Symfony\Component\Form\FormInterface $fieldForm, \Ibexa\Contracts\ContentForms\Data\Content\FieldData $data): mixed` + +## Ibexa\Contracts\CorePersistence\Exception\MappingException extends Exception implements Ibexa\Contracts\CorePersistence\Exception\MappingExceptionInterface + +- `public function static noIdDefined(): self` +- `public function static singleIdNotAllowedOnCompositePrimaryKey(): self` + +## Ibexa\Contracts\CorePersistence\Gateway\AbstractDoctrineRelationship implements Ibexa\Contracts\CorePersistence\Gateway\DoctrineRelationshipInterface + +- `public function getForeignProperty(): string` +- `public function getRelatedClassIdColumn(): string` +- `public function getRelationshipClass(): string` + +## Ibexa\Contracts\CorePersistence\Gateway\AbstractTranslationGateway extends Ibexa\Contracts\CorePersistence\Gateway\AbstractDoctrineDatabase implements Ibexa\Contracts\CorePersistence\Gateway\TranslationGatewayInterface + +- `public function copy(int $fromId, int $toId): void` +- `public function countByTranslatableId(int $id): int` +- `public function delete(int $id, int $languageId): void` +- `public function exists(int $id, int $languageId): bool` +- `public function findByTranslatableId(int $id): array` +- `public function findByTranslatableIds(array $ids): array` +- `public function getMetadata(): \Ibexa\Contracts\CorePersistence\Gateway\TranslationDoctrineSchemaMetadataInterface` +- `public function insert(int $id, int $languageId, array $data): int` +- `public function save(int $id, int $languageId, array $data): void` +- `public function update(int $id, int $languageId, array $data): void` +- `protected function abstract buildMetadata(): \Ibexa\Contracts\CorePersistence\Gateway\TranslationDoctrineSchemaMetadataInterface` +- `protected function getLanguageIdColumn(): string` +- `protected function getTranslatableIdColumn(): string` + +## Ibexa\Contracts\CorePersistence\Gateway\DoctrineOneToManyRelationship extends Ibexa\Contracts\CorePersistence\Gateway\AbstractDoctrineRelationship + +- `public function getForeignKeyColumn(): string` +- `public function getForeignProperty(): string` +- `public function getJoinType(): string` +- `public function getRelatedClassIdColumn(): string` +- `public function getRelationshipClass(): string` +- `public function setJoinType(string $joinType): void` + +## Ibexa\Contracts\CorePersistence\Gateway\TranslationGatewayInterface + +- `public function copy(int $fromId, int $toId): void` +- `public function countByTranslatableId(int $id): int` +- `public function delete(int $id, int $languageId): void` +- `public function exists(int $id, int $languageId): bool` +- `public function findByTranslatableId(int $id): array` +- `public function findByTranslatableIds(array $ids): array` +- `public function getMetadata(): \Ibexa\Contracts\CorePersistence\Gateway\TranslationDoctrineSchemaMetadataInterface` +- `public function insert(int $id, int $languageId, array $data): int` +- `public function save(int $id, int $languageId, array $data): void` +- `public function update(int $id, int $languageId, array $data): void` + +## Ibexa\Contracts\CorePersistence\HandlerInterface + +- `public function countBy(array|Expression> $criteria): int` +- `public function exists(int $id): bool` +- `public function find(int $id): \Ibexa\Contracts\CorePersistence\T` +- `public function findAll([int|null $limit = null ][, int $offset = 0 ]): array` +- `public function findBy(array|Expression> $criteria[, array|null $orderBy = null ][, int|null $limit = null ][, int $offset = 0 ]): array` + +## Ibexa\Contracts\CoreSearch\Persistence\CriterionMapper\AbstractCompositeCriterionMapper implements Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapperInterface + +- `public function canHandle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion): bool` +- `public function handle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion, \Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapper $mapper): \Doctrine\Common\Collections\Expr\CompositeExpression` +- `protected function abstract getHandledClass(): ">AbstractCompositeCriterion>` +- `protected function abstract getType(): string` + +## Ibexa\Contracts\CoreSearch\Persistence\CriterionMapper\AbstractFieldCriterionMapper implements Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapperInterface + +- `public function handle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion, \Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapper $mapper): \Doctrine\Common\Collections\Expr\Comparison` +- `protected function getComparisonField(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion $criterion): string` +- `protected function getComparisonOperator(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion $criterion): string` +- `protected function getComparisonValue(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion $criterion): mixed` + +## Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery implements Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause + +- `public function getDirection(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapper + +- `public function __construct(iterable $mappers)` +- `public function handle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion): \Doctrine\Common\Collections\Expr\Expression` + +## Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapperInterface + +- `public function canHandle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion): bool` +- `public function handle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion, \Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapper $mapper): \Doctrine\Common\Collections\Expr\Expression` + +## Ibexa\Contracts\CoreSearch\Values\Query\Criterion\AbstractCompositeCriterion implements Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\AbstractCompositeCriterion + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\AbstractCompositeCriterion + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface + +- `public function getLimit(): int|null` +- `public function getOffset(): int` + +## Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\CoreSearch\Values\Query\SortDirection + +- `public const mixed ASC = 'ascending'` +- `public const mixed DESC = 'descending'` + +## Ibexa\Contracts\Core\Collection\AbstractInMemoryCollection implements Ibexa\Contracts\Core\Collection\CollectionInterface, Ibexa\Contracts\Core\Collection\StreamableInterface + +- `public function count(): int` +- `public function exists(\Closure $predicate): bool` +- `public function filter(\Closure $predicate): self` +- `public function forAll(\Closure $predicate): bool` +- `public function getIterator(): \Iterator` +- `public function isEmpty(): bool` +- `public function map(\Closure $function): self` +- `public function toArray(): array` +- `protected function abstract createFrom(array $items): self` + +## Ibexa\Contracts\Core\Collection\ArrayList extends Ibexa\Contracts\Core\Collection\AbstractInMemoryCollection implements Ibexa\Contracts\Core\Collection\ListInterface + +- `public function contains(mixed $value): bool` +- `public function count(): int` +- `public function exists(\Closure $predicate): bool` +- `public function filter(\Closure $predicate): self` +- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function forAll(\Closure $predicate): bool` +- `public function getIterator(): \Iterator` +- `public function isEmpty(): bool` +- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function map(\Closure $function): self` +- `public function toArray(): array` +- `protected function createFrom(array $items): self` + +## Ibexa\Contracts\Core\Collection\ArrayMap extends Ibexa\Contracts\Core\Collection\AbstractInMemoryCollection implements Ibexa\Contracts\Core\Collection\MapInterface + +- `public function count(): int` +- `public function exists(\Closure $predicate): bool` +- `public function filter(\Closure $predicate): self` +- `public function forAll(\Closure $predicate): bool` +- `public function get(mixed $key): \Ibexa\Contracts\Core\Collection\TValue` +- `public function getIterator(): \Iterator` +- `public function has(mixed $key): bool` +- `public function isEmpty(): bool` +- `public function map(\Closure $function): self` +- `public function toArray(): array` +- `protected function createFrom(array $items): self` + +## Ibexa\Contracts\Core\Collection\CollectionInterface extends Countable + +- `public function getIterator(): \Iterator` +- `public function isEmpty(): bool` +- `public function toArray(): array` + +## Ibexa\Contracts\Core\Collection\ListInterface extends Ibexa\Contracts\Core\Collection\CollectionInterface + +- `public function contains(\Ibexa\Contracts\Core\Collection\TValue $value): bool` +- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function getIterator(): \Iterator` +- `public function isEmpty(): bool` +- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function toArray(): array` + +## Ibexa\Contracts\Core\Collection\MapInterface extends Ibexa\Contracts\Core\Collection\CollectionInterface + +- `public function get(\Ibexa\Contracts\Core\Collection\TKey $key): \Ibexa\Contracts\Core\Collection\TValue` +- `public function getIterator(): \Iterator` +- `public function has(\Ibexa\Contracts\Core\Collection\TKey $key): bool` +- `public function isEmpty(): bool` +- `public function toArray(): array` + +## Ibexa\Contracts\Core\Collection\MutableArrayList extends Ibexa\Contracts\Core\Collection\ArrayList implements Ibexa\Contracts\Core\Collection\MutableListInterface + +- `public function append(mixed $value): void` +- `public function clear(): void` +- `public function contains(mixed $value): bool` +- `public function count(): int` +- `public function exists(\Closure $predicate): bool` +- `public function filter(\Closure $predicate): self` +- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function forAll(\Closure $predicate): bool` +- `public function getIterator(): \Iterator` +- `public function isEmpty(): bool` +- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function map(\Closure $function): self` +- `public function prepend(mixed $value): void` +- `public function remove(mixed $value): void` +- `public function toArray(): array` +- `protected function createFrom(array $items): \Ibexa\Contracts\Core\Collection\MutableArrayList` + +## Ibexa\Contracts\Core\Collection\MutableArrayMap extends Ibexa\Contracts\Core\Collection\ArrayMap implements Ibexa\Contracts\Core\Collection\MutableMapInterface + +- `public function clear(): void` +- `public function count(): int` +- `public function exists(\Closure $predicate): bool` +- `public function filter(\Closure $predicate): self` +- `public function forAll(\Closure $predicate): bool` +- `public function get(mixed $key): \Ibexa\Contracts\Core\Collection\TValue` +- `public function getIterator(): \Iterator` +- `public function has(mixed $key): bool` +- `public function isEmpty(): bool` +- `public function map(\Closure $function): self` +- `public function set(mixed $key, mixed $value): void` +- `public function toArray(): array` +- `public function unset(mixed $key): void` +- `protected function createFrom(array $items): \Ibexa\Contracts\Core\Collection\MutableArrayMap` + +## Ibexa\Contracts\Core\Collection\MutableListInterface extends Ibexa\Contracts\Core\Collection\ListInterface + +- `public function append(\Ibexa\Contracts\Core\Collection\TValue $value): void` +- `public function clear(): void` +- `public function contains(\Ibexa\Contracts\Core\Collection\TValue $value): bool` +- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function getIterator(): \Iterator` +- `public function isEmpty(): bool` +- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function prepend(\Ibexa\Contracts\Core\Collection\TValue $value): void` +- `public function remove(\Ibexa\Contracts\Core\Collection\TValue $value): void` +- `public function toArray(): array` + +## Ibexa\Contracts\Core\Collection\MutableMapInterface extends Ibexa\Contracts\Core\Collection\MapInterface + +- `public function clear(): void` +- `public function get(\Ibexa\Contracts\Core\Collection\TKey $key): \Ibexa\Contracts\Core\Collection\TValue` +- `public function getIterator(): \Iterator` +- `public function has(\Ibexa\Contracts\Core\Collection\TKey $key): bool` +- `public function isEmpty(): bool` +- `public function set(\Ibexa\Contracts\Core\Collection\TKey $key, \Ibexa\Contracts\Core\Collection\TValue $value): void` +- `public function toArray(): array` +- `public function unset(\Ibexa\Contracts\Core\Collection\TKey $key): void` + +## Ibexa\Contracts\Core\Collection\StreamableInterface + +- `public function exists(\Closure $predicate): bool` +- `public function filter(\Closure $predicate): self` +- `public function forAll(\Closure $predicate): bool` +- `public function map(\Closure $function): self` + +## Ibexa\Contracts\Core\Container + +- `public function getRepository(): \Ibexa\Contracts\Core\Repository\Repository` + +## Ibexa\Contracts\Core\Container\ApiLoader\RepositoryConfigurationProviderInterface + +- `public function getCurrentRepositoryAlias(): string` +- `public function getDefaultRepositoryAlias(): string|null` +- `public function getRepositoryConfig(): array` +- `public function getStorageConnectionName(): string` + +## Ibexa\Contracts\Core\Event\Mapper\ResolveMissingFieldEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Core\Persistence\Content $content, \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition $fieldDefinition, string $languageCode[, array $context = [] ])` +- `public function getContent(): \Ibexa\Contracts\Core\Persistence\Content` +- `public function getContext(): array` +- `public function getField(): \Ibexa\Contracts\Core\Persistence\Content\Field|null` +- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition` +- `public function getLanguageCode(): string` +- `public function isPropagationStopped(): bool` +- `public function setField(Field|null $field): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Event\NameSchema\AbstractNameSchemaEvent extends Ibexa\Contracts\Core\Event\NameSchema\AbstractSchemaEvent + +- `public function __construct(array> $schemaIdentifiers, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, array> $fieldMap, array $languageCodes)` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getFieldMap(): array>` +- `public function getLanguageCodes(): array` +- `public function getSchemaIdentifiers(): array>` +- `public function getTokenValues(): array>` +- `public function isPropagationStopped(): bool` +- `public function setTokenValues(array> $names): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Event\NameSchema\AbstractSchemaEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(array> $schemaIdentifiers)` +- `public function getSchemaIdentifiers(): array>` +- `public function getTokenValues(): array>` +- `public function isPropagationStopped(): bool` +- `public function setTokenValues(array> $names): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Event\NameSchema\ContentAwareEventInterface + +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` + +## Ibexa\Contracts\Core\Event\NameSchema\ResolveContentNameSchemaEvent extends Ibexa\Contracts\Core\Event\NameSchema\AbstractNameSchemaEvent implements Ibexa\Contracts\Core\Event\NameSchema\ContentAwareEventInterface + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, array> $schemaIdentifiers, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, array> $fieldMap, array $languageCodes)` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getFieldMap(): array>` +- `public function getLanguageCodes(): array` +- `public function getSchemaIdentifiers(): array>` +- `public function getTokenValues(): array>` +- `public function isPropagationStopped(): bool` +- `public function setTokenValues(array> $names): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Event\NameSchema\ResolveNameSchemaEvent extends Ibexa\Contracts\Core\Event\NameSchema\AbstractNameSchemaEvent + +- `public function __construct(array> $schemaIdentifiers, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, array> $fieldMap, array $languageCodes)` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getFieldMap(): array>` +- `public function getLanguageCodes(): array` +- `public function getSchemaIdentifiers(): array>` +- `public function getTokenValues(): array>` +- `public function isPropagationStopped(): bool` +- `public function setTokenValues(array> $names): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Event\NameSchema\ResolveUrlAliasSchemaEvent extends Ibexa\Contracts\Core\Event\NameSchema\AbstractSchemaEvent implements Ibexa\Contracts\Core\Event\NameSchema\ContentAwareEventInterface + +- `public function __construct(array> $schemaIdentifiers, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getSchemaIdentifiers(): array>` +- `public function getTokenValues(): array>` +- `public function isPropagationStopped(): bool` +- `public function setTokenValues(array> $names): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Event\View\PostBuildViewEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Core\MVC\Symfony\View\View $view)` +- `public function getView(): \Ibexa\Core\MVC\Symfony\View\View` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Exception\InvalidArgumentException extends Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException + +- `public function __construct(string $argumentName, string $whatIsWrong[, Exception|null $previous = null ])` + +## Ibexa\Contracts\Core\Exception\InvalidArgumentType extends Ibexa\Contracts\Core\Exception\InvalidArgumentException + +- `public function __construct(string $argumentName, string $expectedType[, mixed|null $value = null ][, Exception|null $previous = null ])` + +## Ibexa\Contracts\Core\FieldType\BinaryBase\PathGeneratorInterface + +- `public function getStoragePathForField(\Ibexa\Contracts\Core\Persistence\Content\Field $field, \Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo): mixed` + +## Ibexa\Contracts\Core\FieldType\BinaryBase\RouteAwarePathGenerator extends Ibexa\Contracts\Core\FieldType\BinaryBase\PathGeneratorInterface + +- `public function generate(string $route[, array $parameters = [] ]): string` +- `public function getParameters(\Ibexa\Contracts\Core\Persistence\Content\Field $field, \Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo): array` +- `public function getRoute(\Ibexa\Contracts\Core\Persistence\Content\Field $field, \Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo): string` +- `public function getStoragePathForField(\Ibexa\Contracts\Core\Persistence\Content\Field $field, \Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo): mixed` + +## Ibexa\Contracts\Core\FieldType\Comparable + +- `public function valuesEqual(\Ibexa\Contracts\Core\FieldType\Value $value1, \Ibexa\Contracts\Core\FieldType\Value $value2): bool` + +## Ibexa\Contracts\Core\FieldType\DefaultDataFieldStorage extends Ibexa\Contracts\Core\FieldType\FieldStorage + +- `public function deleteFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, array $fieldIds): bool` +- `public function getDefaultFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Persistence\Content\Field $field): void` +- `public function getFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Persistence\Content\Field $field): mixed` +- `public function hasFieldData(): bool` +- `public function storeFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Persistence\Content\Field $field): mixed` + +## Ibexa\Contracts\Core\FieldType\FieldConstraintsStorage + +- `public function deleteFieldConstraintsData(int $fieldDefinitionId, int $status): void` +- `public function getFieldConstraintsData(int $fieldDefinitionId, int $status): \Ibexa\Contracts\Core\Persistence\Content\FieldTypeConstraints` +- `public function publishFieldConstraintsData(int $fieldDefinitionId): void` +- `public function storeFieldConstraintsData(int $fieldDefinitionId, int $status, \Ibexa\Contracts\Core\Persistence\Content\FieldTypeConstraints $fieldTypeConstraints): void` + +## Ibexa\Contracts\Core\FieldType\FieldStorage + +- `public function deleteFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, array $fieldIds): bool` +- `public function getFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Persistence\Content\Field $field): mixed` +- `public function hasFieldData(): bool` +- `public function storeFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Persistence\Content\Field $field): mixed` + +## Ibexa\Contracts\Core\FieldType\FieldType + +- `public function abstract acceptValue(mixed $inputValue): \Ibexa\Contracts\Core\FieldType\Value` +- `public function abstract applyDefaultSettings(mixed &$fieldSettings): mixed` +- `public function abstract applyDefaultValidatorConfiguration(mixed &$validatorConfiguration): mixed` +- `public function abstract fieldSettingsFromHash(array|scalar|null $fieldSettingsHash): mixed` +- `public function abstract fieldSettingsToHash(mixed $fieldSettings): array|scalar|null` +- `public function abstract fromHash(mixed $hash): \Ibexa\Contracts\Core\FieldType\Value` +- `public function abstract fromPersistenceValue(\Ibexa\Contracts\Core\Persistence\Content\FieldValue $fieldValue): \Ibexa\Contracts\Core\FieldType\Value` +- `public function abstract getEmptyValue(): \Ibexa\Contracts\Core\FieldType\Value` +- `public function abstract getFieldTypeIdentifier(): string` +- `public function abstract getName(\Ibexa\Contracts\Core\FieldType\Value $value, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, string $languageCode): string` +- `public function abstract getRelations(\Ibexa\Contracts\Core\FieldType\Value $value): array` +- `public function abstract getSettingsSchema(): mixed` +- `public function abstract getValidatorConfigurationSchema(): mixed` +- `public function abstract isEmptyValue(\Ibexa\Contracts\Core\FieldType\Value $value): bool` +- `public function abstract isSearchable(): bool` +- `public function abstract isSingular(): bool` +- `public function abstract onlyEmptyInstance(): bool` +- `public function abstract toHash(\Ibexa\Contracts\Core\FieldType\Value $value): mixed` +- `public function abstract toPersistenceValue(\Ibexa\Contracts\Core\FieldType\Value $value): \Ibexa\Contracts\Core\Persistence\Content\FieldValue` +- `public function abstract validate(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDef, \Ibexa\Contracts\Core\FieldType\Value $value): array` +- `public function abstract validateFieldSettings(mixed $fieldSettings): array` +- `public function abstract validateValidatorConfiguration(mixed $validatorConfiguration): array` +- `public function abstract validatorConfigurationFromHash(array|scalar|null $validatorConfigurationHash): mixed` +- `public function abstract validatorConfigurationToHash(mixed $validatorConfiguration): array|scalar|null` + +## Ibexa\Contracts\Core\FieldType\GatewayBasedStorage implements Ibexa\Contracts\Core\FieldType\FieldStorage + +- `public function copyLegacyField(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Persistence\Content\Field $field, \Ibexa\Contracts\Core\Persistence\Content\Field $originalField): bool|null` + +## Ibexa\Contracts\Core\FieldType\Generic\Type extends Ibexa\Contracts\Core\FieldType\FieldType + +- `public function acceptValue(mixed $inputValue): \Ibexa\Contracts\Core\FieldType\Value` +- `public function applyDefaultSettings(mixed &$fieldSettings): void` +- `public function applyDefaultValidatorConfiguration(mixed &$validatorConfiguration): void` +- `public function fieldSettingsFromHash(mixed $fieldSettingsHash): mixed` +- `public function fieldSettingsToHash(mixed $fieldSettings): array|scalar|null` +- `public function fromHash(mixed $hash): \Ibexa\Contracts\Core\FieldType\Value` +- `public function fromPersistenceValue(\Ibexa\Contracts\Core\Persistence\Content\FieldValue $fieldValue): \Ibexa\Contracts\Core\FieldType\Value` +- `public function getEmptyValue(): \Ibexa\Contracts\Core\FieldType\Value` +- `public function abstract getFieldTypeIdentifier(): string` +- `public function getName(\Ibexa\Contracts\Core\FieldType\Value $value, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, string $languageCode): string` +- `public function getRelations(\Ibexa\Contracts\Core\FieldType\Value $value): array` +- `public function getSettingsSchema(): mixed` +- `public function getValidatorConfigurationSchema(): mixed` +- `public function isEmptyValue(\Ibexa\Contracts\Core\FieldType\Value $value): bool` +- `public function isSearchable(): bool` +- `public function isSingular(): bool` +- `public function onlyEmptyInstance(): bool` +- `public function toHash(\Ibexa\Contracts\Core\FieldType\Value $value): mixed` +- `public function toPersistenceValue(\Ibexa\Contracts\Core\FieldType\Value $value): \Ibexa\Contracts\Core\Persistence\Content\FieldValue` +- `public function validate(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, \Ibexa\Contracts\Core\FieldType\Value $value): array` +- `public function validateFieldSettings(mixed $fieldSettings): array` +- `public function validateValidatorConfiguration(mixed $validatorConfiguration): array` +- `public function validatorConfigurationFromHash(mixed $validatorConfiguration): mixed` +- `public function validatorConfigurationToHash(mixed $validatorConfiguration): array|scalar|null` +- `protected function checkValueType(mixed $value): void` +- `protected function createValueFromInput(mixed $inputValue): mixed` +- `protected function getFieldSettingsConstraints(): \Symfony\Component\Validator\Constraints\Collection|null` +- `protected function getFieldValueConstraints(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): \Symfony\Component\Validator\Constraints\Collection|null` +- `protected function getSortInfo(\Ibexa\Contracts\Core\FieldType\Value $value): mixed` +- `protected function getValueClass(): string` +- `protected function mapConstraintViolationList(\Symfony\Component\Validator\ConstraintViolationListInterface $constraintViolationList): array` + +## Ibexa\Contracts\Core\FieldType\Generic\ValidationError\ConstraintViolationAdapter implements Ibexa\Contracts\Core\FieldType\ValidationError + +- `public function __construct(\Symfony\Component\Validator\ConstraintViolationInterface $violation)` +- `public function getTarget(): string` +- `public function getTranslatableMessage(): \Ibexa\Contracts\Core\Repository\Values\Translation` +- `public function setTarget(string $target): void` + +## Ibexa\Contracts\Core\FieldType\Indexable + +- `public function getDefaultMatchField(): string|null` +- `public function getDefaultSortField(): string|null` +- `public function getIndexData(\Ibexa\Contracts\Core\Search\Field $field, \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition $fieldDefinition): array` +- `public function getIndexDefinition(): array` + +## Ibexa\Contracts\Core\FieldType\StorageGateway implements Ibexa\Contracts\Core\FieldType\StorageGatewayInterface + +- `protected function getSequenceName(string $table, string $column): string` + +## Ibexa\Contracts\Core\FieldType\ValidationError extends Ibexa\Contracts\Core\Repository\Translatable + +- `public function getTarget(): string|null` +- `public function getTranslatableMessage(): \Ibexa\Contracts\Core\Repository\Values\Translation` +- `public function setTarget(string $target): void` + +## Ibexa\Contracts\Core\FieldType\ValidationError\NonConfigurableValidationError extends Ibexa\Contracts\Core\FieldType\ValidationError\AbstractValidationError + +- `public function __construct(string $fieldTypeValidatorIdentifier, string $target)` + +## Ibexa\Contracts\Core\FieldType\ValidationError\UnknownValidatorValidationError extends Ibexa\Contracts\Core\FieldType\ValidationError\AbstractValidationError + +- `public function __construct(string $validatorIdentifier, string $target)` + +## Ibexa\Contracts\Core\FieldType\Value + +- `public function __toString(): string` + +## Ibexa\Contracts\Core\FieldType\ValueSerializerInterface + +- `public function decode(string|null $data[, array $context = [] ]): array|null` +- `public function denormalize(array|null $data, string $valueClass[, array $context = [] ]): \Ibexa\Contracts\Core\FieldType\Value` +- `public function encode(array|null $data[, array $context = [] ]): string|null` +- `public function normalize(\Ibexa\Contracts\Core\FieldType\Value $value[, array $context = [] ]): array|null` + +## Ibexa\Contracts\Core\HashGenerator + +- `public function generate(): string` + +## Ibexa\Contracts\Core\IO\BinaryFileCreateStruct + +- `public function setInputStream(resource $inputStream): void` + +## Ibexa\Contracts\Core\IO\MimeTypeDetector + +- `public function getFromBuffer(string $buffer): string` +- `public function getFromPath(string $path): string` + +## Ibexa\Contracts\Core\Ibexa + +- `public const mixed VERSION = '5.0.4'` + +## Ibexa\Contracts\Core\Limitation\TargetAwareType extends Ibexa\Contracts\Core\Limitation\Type + +- `public function buildValue(array $limitationValues): \Ibexa\Contracts\Core\Repository\Values\User\Limitation` +- `public function evaluate(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $value, \Ibexa\Contracts\Core\Repository\Values\User\UserReference $currentUser, \Ibexa\Contracts\Core\Repository\Values\ValueObject $object[, array|null $targets = null ]): bool|null` +- `public function getCriterion(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $value, \Ibexa\Contracts\Core\Repository\Values\User\UserReference $currentUser): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface` +- `public function validate(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitationValue): array` +- `public function valueSchema(): int|array` +- `public const mixed ACCESS_ABSTAIN = null` +- `public const mixed ACCESS_DENIED = false` +- `public const mixed ACCESS_GRANTED = true` +- `public const mixed VALUE_SCHEMA_LOCATION_ID = 1` +- `public const mixed VALUE_SCHEMA_LOCATION_PATH = 2` + +## Ibexa\Contracts\Core\Limitation\Target\Builder\VersionBuilder + +- `public function build(): \Ibexa\Contracts\Core\Limitation\Target\Version` +- `public function changeStatusTo(int $status): self` +- `public function createFromAnyContentTypeOf(array $contentTypeIds): self` +- `public function publishTranslations(array $languageCodes): self` +- `public function translateToAnyLanguageOf(array $languageCodes): self` +- `public function updateFields(array $updatedFields): self` +- `public function updateFieldsTo(string|null $initialLanguageCode, array $fields): self` + +## Ibexa\Contracts\Core\Limitation\Target\DestinationLocation extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Limitation\Target + +- `public function __construct(int $locationId, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $targetContentInfo[, array $properties = [] ])` +- `public function getLocationId(): int` +- `public function getTargetContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Limitation\Target\Version extends Ibexa\Contracts\Core\Persistence\ValueObject implements Ibexa\Contracts\Core\Limitation\Target + +- `public function deleteTranslations(array $translationsToDelete): self` +- `public function getTranslationsToDelete(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Limitation\Type + +- `public function buildValue(array $limitationValues): \Ibexa\Contracts\Core\Repository\Values\User\Limitation` +- `public function evaluate(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $value, \Ibexa\Contracts\Core\Repository\Values\User\UserReference $currentUser, object $object[, array|null $targets = null ]): bool|null` +- `public function getCriterion(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $value, \Ibexa\Contracts\Core\Repository\Values\User\UserReference $currentUser): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface` +- `public function validate(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitationValue): array` +- `public function valueSchema(): int|array` +- `public const mixed ACCESS_ABSTAIN = null` +- `public const mixed ACCESS_DENIED = false` +- `public const mixed ACCESS_GRANTED = true` +- `public const mixed VALUE_SCHEMA_LOCATION_ID = 1` +- `public const mixed VALUE_SCHEMA_LOCATION_PATH = 2` + +## Ibexa\Contracts\Core\MVC\EventSubscriber\ConfigScopeChangeSubscriber + +- `public function onConfigScopeChange(\Ibexa\Core\MVC\Symfony\Event\ScopeChangeEvent $event): void` + +## Ibexa\Contracts\Core\MVC\Templating\BaseRenderStrategy implements Ibexa\Contracts\Core\MVC\Templating\RenderStrategy + +- `protected function getFragmentRenderer(string $name): \Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface` + +## Ibexa\Contracts\Core\MVC\Templating\RenderStrategy + +- `public function render(\Ibexa\Contracts\Core\Repository\Values\ValueObject $valueObject, \Ibexa\Core\MVC\Symfony\Templating\RenderOptions $options): string` +- `public function supports(\Ibexa\Contracts\Core\Repository\Values\ValueObject $valueObject): bool` + +## Ibexa\Contracts\Core\MVC\View\VariableProvider + +- `public function getIdentifier(): string` +- `public function getTwigVariables(\Ibexa\Core\MVC\Symfony\View\View $view[, array $options = [] ]): object` + +## Ibexa\Contracts\Core\MVC\View\ViewMatcherRegistryInterface + +- `public function getMatcher(string $matcherIdentifier): \Ibexa\Core\MVC\Symfony\Matcher\ViewMatcherInterface` +- `public function hasMatcher(string $matcherIdentifier): bool` +- `public function setMatcher(string $matcherIdentifier, \Ibexa\Core\MVC\Symfony\Matcher\ViewMatcherInterface $matcher): void` + +## Ibexa\Contracts\Core\Options\MutableOptionsBag extends Ibexa\Contracts\Core\Options\OptionsBag + +- `public function all(): array` +- `public function get(string $key[, mixed $default = null ]): mixed` +- `public function has(string $key): bool` +- `public function remove(string $key): void` +- `public function set(string $key, mixed $value): void` + +## Ibexa\Contracts\Core\Options\OptionsBag + +- `public function all(): array` +- `public function get(string $key[, mixed $default = null ]): mixed` +- `public function has(string $key): bool` + +## Ibexa\Contracts\Core\Persistence\Bookmark\Bookmark extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Bookmark\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Bookmark\Handler + +- `public function countUserBookmarks(int $userId): int` +- `public function create(\Ibexa\Contracts\Core\Persistence\Bookmark\CreateStruct $createStruct): \Ibexa\Contracts\Core\Persistence\Bookmark\Bookmark` +- `public function delete(int $bookmarkId): void` +- `public function loadByUserIdAndLocationId(int $userId, array $locationIds): array` +- `public function loadUserBookmarks(int $userId[, int $offset = 0 ][, int $limit = -1 ]): array` +- `public function loadUserIdsByLocation(\Ibexa\Contracts\Core\Persistence\Content\Location $location): array` +- `public function locationSwapped(int $location1Id, int $location2Id): void` + +## Ibexa\Contracts\Core\Persistence\Content extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\ContentInfo extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed STATUS_DRAFT = 0` +- `public const mixed STATUS_PUBLISHED = 1` +- `public const mixed STATUS_TRASHED = 2` + +## Ibexa\Contracts\Core\Persistence\Content\ContentItem extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `public function getContent(): \Ibexa\Contracts\Core\Persistence\Content` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Persistence\Content\ContentInfo` +- `public function getType(): \Ibexa\Contracts\Core\Persistence\Content\Type` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Field extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `public function __construct([array $properties = [] ])` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\FieldTypeConstraints extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\FieldValue extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Handler + +- `public function addRelation(\Ibexa\Contracts\Core\Persistence\Content\Relation\CreateStruct $createStruct): \Ibexa\Contracts\Core\Persistence\Content\Relation` +- `public function copy(mixed $contentId[, mixed|null $versionNo = null ][, int|null $newOwnerId = null ]): \Ibexa\Contracts\Core\Persistence\Content` +- `public function countDraftsForUser(int $userId): int` +- `public function countRelations(int $sourceContentId[, int|null $sourceContentVersionNo = null ][, int|null $type = null ]): int` +- `public function countReverseRelations(int $destinationContentId[, int|null $type = null ]): int` +- `public function create(\Ibexa\Contracts\Core\Persistence\Content\CreateStruct $content): \Ibexa\Contracts\Core\Persistence\Content` +- `public function createDraftFromVersion(mixed $contentId, mixed $srcVersion, mixed $userId[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Persistence\Content` +- `public function deleteContent(int $contentId): bool` +- `public function deleteTranslationFromContent(int $contentId, string $languageCode): mixed` +- `public function deleteTranslationFromDraft(int $contentId, int $versionNo, string $languageCode): \Ibexa\Contracts\Core\Persistence\Content` +- `public function deleteVersion(int $contentId, int $versionNo): bool` +- `public function listVersions(int $contentId[, mixed|null $status = null ][, int $limit = -1 ]): array` +- `public function load(int|string $id[, int|null $version = null ][, array|null $translations = null ]): \Ibexa\Contracts\Core\Persistence\Content` +- `public function loadContentInfo(int|string $contentId): \Ibexa\Contracts\Core\Persistence\Content\ContentInfo` +- `public function loadContentInfoByRemoteId(mixed $remoteId): \Ibexa\Contracts\Core\Persistence\Content\ContentInfo` +- `public function loadContentInfoList(array $contentIds): array` +- `public function loadContentList(array $contentIds[, array|null $translations = null ]): array` +- `public function loadDraftListForUser(int $userId[, int $offset = 0 ][, int $limit = -1 ]): array` +- `public function loadDraftsForUser(int $userId): array` +- `public function loadRelation(int $relationId): \Ibexa\Contracts\Core\Persistence\Content\Relation` +- `public function loadRelationList(int $sourceContentId, int $limit[, int $offset = 0 ][, int|null $sourceContentVersionNo = null ][, int|null $type = null ]): array` +- `public function loadReverseRelationList(int $destinationContentId[, int $offset = 0 ][, int $limit = -1 ][, int|null $type = null ]): array` +- `public function loadReverseRelations(mixed $destinationContentId[, int|null $type = null ]): array` +- `public function loadVersionInfo(int|string $contentId[, int|null $versionNo = null ]): \Ibexa\Contracts\Core\Persistence\Content\VersionInfo` +- `public function loadVersionInfoList(array $contentIds): array` +- `public function loadVersionNoArchivedWithin(int $contentId, int $seconds): array` +- `public function publish(int $contentId, int $versionNo, \Ibexa\Contracts\Core\Persistence\Content\MetadataUpdateStruct $metaDataUpdateStruct): \Ibexa\Contracts\Core\Persistence\Content` +- `public function removeRelation(int $relationId, int $type[, int|null $destinationContentId = null ]): mixed` +- `public function setStatus(int $contentId, int $status, int $version): bool` +- `public function updateContent(int $contentId, int $versionNo, \Ibexa\Contracts\Core\Persistence\Content\UpdateStruct $content): \Ibexa\Contracts\Core\Persistence\Content` +- `public function updateMetadata(int $contentId, \Ibexa\Contracts\Core\Persistence\Content\MetadataUpdateStruct $content): \Ibexa\Contracts\Core\Persistence\Content\ContentInfo` + +## Ibexa\Contracts\Core\Persistence\Content\Language extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Language\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Language\Handler + +- `public function create(\Ibexa\Contracts\Core\Persistence\Content\Language\CreateStruct $struct): \Ibexa\Contracts\Core\Persistence\Content\Language` +- `public function delete(mixed $id): mixed` +- `public function load(mixed $id): \Ibexa\Contracts\Core\Persistence\Content\Language` +- `public function loadAll(): array` +- `public function loadByLanguageCode(string $languageCode): \Ibexa\Contracts\Core\Persistence\Content\Language` +- `public function loadList(array $ids): array|iterable` +- `public function loadListByLanguageCodes(array $languageCodes): array|iterable` +- `public function update(\Ibexa\Contracts\Core\Persistence\Content\Language $struct): mixed` + +## Ibexa\Contracts\Core\Persistence\Content\Location extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed SORT_FIELD_CLASS_IDENTIFIER = 6` +- `public const mixed SORT_FIELD_CLASS_NAME = 7` +- `public const mixed SORT_FIELD_CONTENTOBJECT_ID = 12` +- `public const mixed SORT_FIELD_DEPTH = 5` +- `public const mixed SORT_FIELD_MODIFIED = 3` +- `public const mixed SORT_FIELD_MODIFIED_SUBNODE = 10` +- `public const mixed SORT_FIELD_NAME = 9` +- `public const mixed SORT_FIELD_NODE_ID = 11` +- `public const mixed SORT_FIELD_PATH = 1` +- `public const mixed SORT_FIELD_PRIORITY = 8` +- `public const mixed SORT_FIELD_PUBLISHED = 2` +- `public const mixed SORT_FIELD_SECTION = 4` +- `public const mixed SORT_ORDER_ASC = 1` +- `public const mixed SORT_ORDER_DESC = 0` + +## Ibexa\Contracts\Core\Persistence\Content\LocationWithContentInfo extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `public function getContentInfo(): \Ibexa\Contracts\Core\Persistence\Content\ContentInfo` +- `public function getLocation(): \Ibexa\Contracts\Core\Persistence\Content\Location` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Location\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Location\Handler + +- `public function changeMainLocation(mixed $contentId, mixed $locationId): mixed` +- `public function copySubtree(mixed $sourceId, mixed $destinationParentId): \Ibexa\Contracts\Core\Persistence\Content\Location` +- `public function countAllLocations(): int` +- `public function countLocationsByContent(int $contentId): int` +- `public function create(\Ibexa\Contracts\Core\Persistence\Content\Location\CreateStruct $location): \Ibexa\Contracts\Core\Persistence\Content\Location` +- `public function deleteChildrenDrafts(int $locationId): void` +- `public function getSubtreeSize(string $path): int` +- `public function hide(mixed $id): mixed` +- `public function load(int $locationId[, array|null $translations = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Persistence\Content\Location` +- `public function loadAllLocations(int $offset, int $limit): array` +- `public function loadByRemoteId(string $remoteId[, array|null $translations = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Persistence\Content\Location` +- `public function loadList(array $locationIds[, array|null $translations = null ][, bool $useAlwaysAvailable = true ]): array|iterable` +- `public function loadLocationsByContent(int $contentId[, int $rootLocationId = null ]): array` +- `public function loadLocationsByTrashContent(int $contentId[, int|null $rootLocationId = null ]): array` +- `public function loadParentLocationsForDraftContent(mixed $contentId): array` +- `public function loadSubtreeIds(int $locationId): array` +- `public function move(mixed $sourceId, mixed $destinationParentId): bool` +- `public function removeSubtree(mixed $locationId): bool` +- `public function setInvisible(int $id): void` +- `public function setSectionForSubtree(mixed $locationId, mixed $sectionId): mixed` +- `public function setVisible(int $id): void` +- `public function swap(mixed $locationId1, mixed $locationId2): bool` +- `public function unHide(mixed $id): mixed` +- `public function update(\Ibexa\Contracts\Core\Persistence\Content\Location\UpdateStruct $location, int $locationId): mixed` + +## Ibexa\Contracts\Core\Persistence\Content\Location\Trash\Handler + +- `public function deleteTrashItem(int $trashedId): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult` +- `public function emptyTrash(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList` +- `public function findTrashItems([CriterionInterface|null $criterion = null ][, int $offset = 0 ][, int $limit = null ][, array $sort = null ]): array|TrashResult` +- `public function loadTrashItem(int $id): \Ibexa\Contracts\Core\Persistence\Content\Location\Trashed` +- `public function recover(mixed $trashedId, mixed $newParentId): int` +- `public function trashSubtree(mixed $locationId): \Ibexa\Contracts\Core\Persistence\Content\Location\Trashed|null` + +## Ibexa\Contracts\Core\Persistence\Content\Location\Trash\TrashResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function getIterator(): \Traversable` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Location\Trashed extends Ibexa\Contracts\Core\Persistence\Content\Location + +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed SORT_FIELD_CLASS_IDENTIFIER = 6` +- `public const mixed SORT_FIELD_CLASS_NAME = 7` +- `public const mixed SORT_FIELD_CONTENTOBJECT_ID = 12` +- `public const mixed SORT_FIELD_DEPTH = 5` +- `public const mixed SORT_FIELD_MODIFIED = 3` +- `public const mixed SORT_FIELD_MODIFIED_SUBNODE = 10` +- `public const mixed SORT_FIELD_NAME = 9` +- `public const mixed SORT_FIELD_NODE_ID = 11` +- `public const mixed SORT_FIELD_PATH = 1` +- `public const mixed SORT_FIELD_PRIORITY = 8` +- `public const mixed SORT_FIELD_PUBLISHED = 2` +- `public const mixed SORT_FIELD_SECTION = 4` +- `public const mixed SORT_ORDER_ASC = 1` +- `public const mixed SORT_ORDER_DESC = 0` + +## Ibexa\Contracts\Core\Persistence\Content\Location\UpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\MetadataUpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\ObjectState extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\ObjectState\Group extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\ObjectState\Handler + +- `public function create(mixed $groupId, \Ibexa\Contracts\Core\Persistence\Content\ObjectState\InputStruct $input): \Ibexa\Contracts\Core\Persistence\Content\ObjectState` +- `public function createGroup(\Ibexa\Contracts\Core\Persistence\Content\ObjectState\InputStruct $input): \Ibexa\Contracts\Core\Persistence\Content\ObjectState\Group` +- `public function delete(mixed $stateId): mixed` +- `public function deleteGroup(mixed $groupId): mixed` +- `public function getContentCount(mixed $stateId): int` +- `public function getContentState(mixed $contentId, mixed $stateGroupId): \Ibexa\Contracts\Core\Persistence\Content\ObjectState` +- `public function load(mixed $stateId): \Ibexa\Contracts\Core\Persistence\Content\ObjectState` +- `public function loadAllGroups([int $offset = 0 ][, int $limit = -1 ]): array` +- `public function loadByIdentifier(string $identifier, mixed $groupId): \Ibexa\Contracts\Core\Persistence\Content\ObjectState` +- `public function loadGroup(mixed $groupId): \Ibexa\Contracts\Core\Persistence\Content\ObjectState\Group` +- `public function loadGroupByIdentifier(string $identifier): \Ibexa\Contracts\Core\Persistence\Content\ObjectState\Group` +- `public function loadObjectStates(mixed $groupId): array` +- `public function setContentState(mixed $contentId, mixed $groupId, mixed $stateId): bool` +- `public function setPriority(mixed $stateId, int $priority): mixed` +- `public function update(mixed $stateId, \Ibexa\Contracts\Core\Persistence\Content\ObjectState\InputStruct $input): \Ibexa\Contracts\Core\Persistence\Content\ObjectState` +- `public function updateGroup(mixed $groupId, \Ibexa\Contracts\Core\Persistence\Content\ObjectState\InputStruct $input): \Ibexa\Contracts\Core\Persistence\Content\ObjectState\Group` + +## Ibexa\Contracts\Core\Persistence\Content\ObjectState\InputStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Relation extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Relation\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Section extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Section\Handler + +- `public function assign(mixed $sectionId, mixed $contentId): mixed` +- `public function assignmentsCount(mixed $sectionId): int` +- `public function countRoleAssignmentsUsingSection(int $sectionId): int` +- `public function create(string $name, string $identifier): \Ibexa\Contracts\Core\Persistence\Content\Section` +- `public function delete(mixed $id): mixed` +- `public function load(mixed $id): \Ibexa\Contracts\Core\Persistence\Content\Section` +- `public function loadAll(): array` +- `public function loadByIdentifier(string $identifier): \Ibexa\Contracts\Core\Persistence\Content\Section` +- `public function policiesCount(mixed $sectionId): int` +- `public function update(mixed $id, string $name, string $identifier): \Ibexa\Contracts\Core\Persistence\Content\Section` + +## Ibexa\Contracts\Core\Persistence\Content\Type extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Type\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `public function __construct([array $properties = [] ])` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Type\CriterionHandlerInterface + +- `public function apply(\Ibexa\Core\Persistence\Legacy\Content\Type\Gateway\CriterionVisitor\CriterionVisitor $criterionVisitor, \Doctrine\DBAL\Query\QueryBuilder $qb, \Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface $criterion): string|CompositeExpression` +- `public function supports(\Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface $criterion): bool` + +## Ibexa\Contracts\Core\Persistence\Content\Type\DeleteByParamsStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Type\Group extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Type\Group\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Type\Group\UpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\Type\Handler + +- `public function addFieldDefinition(mixed $contentTypeId, int $status, \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition $fieldDefinition): \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition` +- `public function copy(mixed $userId, mixed $contentTypeId, int $status): \Ibexa\Contracts\Core\Persistence\Content\Type` +- `public function create(\Ibexa\Contracts\Core\Persistence\Content\Type\CreateStruct $contentType): \Ibexa\Contracts\Core\Persistence\Content\Type` +- `public function createDraft(mixed $modifierId, mixed $contentTypeId): \Ibexa\Contracts\Core\Persistence\Content\Type` +- `public function createGroup(\Ibexa\Contracts\Core\Persistence\Content\Type\Group\CreateStruct $group): \Ibexa\Contracts\Core\Persistence\Content\Type\Group` +- `public function delete(mixed $contentTypeId, int $status): mixed` +- `public function deleteByUserAndStatus(int $userId, int $status): void` +- `public function deleteGroup(mixed $groupId): mixed` +- `public function findContentTypes([ContentTypeQuery|null $query = null ][, array $prioritizedLanguages = [] ]): array{count: int, items: array}` +- `public function getContentCount(mixed $contentTypeId): int` +- `public function getFieldDefinition(mixed $id, int $status): \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition` +- `public function getSearchableFieldMap(): array` +- `public function link(mixed $groupId, mixed $contentTypeId, int $status): mixed` +- `public function load(mixed $contentTypeId[, int $status = Type::STATUS_DEFINED ]): \Ibexa\Contracts\Core\Persistence\Content\Type` +- `public function loadAllGroups(): array` +- `public function loadByIdentifier(string $identifier): \Ibexa\Contracts\Core\Persistence\Content\Type` +- `public function loadByRemoteId(mixed $remoteId): \Ibexa\Contracts\Core\Persistence\Content\Type` +- `public function loadContentTypeList(array $contentTypeIds): array` +- `public function loadContentTypes(mixed $groupId[, int $status = Type::STATUS_DEFINED ]): array` +- `public function loadContentTypesByFieldDefinitionIdentifier(string $identifier): array` +- `public function loadGroup(mixed $groupId): \Ibexa\Contracts\Core\Persistence\Content\Type\Group` +- `public function loadGroupByIdentifier(string $identifier): \Ibexa\Contracts\Core\Persistence\Content\Type\Group` +- `public function loadGroups(array $groupIds): array` +- `public function publish(mixed $contentTypeId): mixed` +- `public function removeContentTypeTranslation(int $contentTypeId, string $languageCode): \Ibexa\Contracts\Core\Persistence\Content\Type` +- `public function removeFieldDefinition(int $contentTypeId, int $status, \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition $fieldDefinition): void` +- `public function unlink(mixed $groupId, mixed $contentTypeId, int $status): mixed` +- `public function update(mixed $contentTypeId, int $status, \Ibexa\Contracts\Core\Persistence\Content\Type\UpdateStruct $contentType): mixed` +- `public function updateFieldDefinition(mixed $contentTypeId, int $status, \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition $fieldDefinition): mixed` +- `public function updateGroup(\Ibexa\Contracts\Core\Persistence\Content\Type\Group\UpdateStruct $group): mixed` + +## Ibexa\Contracts\Core\Persistence\Content\Type\UpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\UpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\UrlAlias extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed LOCATION = 0` +- `public const mixed RESOURCE = 1` +- `public const mixed VIRTUAL = 2` + +## Ibexa\Contracts\Core\Persistence\Content\UrlAlias\Handler + +- `public function archiveUrlAliasesForDeletedTranslations(int $locationId, int $parentLocationId, array $languageCodes): mixed` +- `public function createCustomUrlAlias(mixed $locationId, string $path[, bool $forwarding = false ][, string|null $languageCode = null ][, bool $alwaysAvailable = false ]): \Ibexa\Contracts\Core\Persistence\Content\UrlAlias` +- `public function createGlobalUrlAlias(string $resource, string $path[, bool $forwarding = false ][, string|null $languageCode = null ][, bool $alwaysAvailable = false ]): \Ibexa\Contracts\Core\Persistence\Content\UrlAlias` +- `public function deleteCorruptedUrlAliases(): int` +- `public function listGlobalURLAliases([string|null $languageCode = null ][, int $offset = 0 ][, int $limit = -1 ]): array` +- `public function listURLAliasesForLocation(mixed $locationId[, bool $custom = false ]): array` +- `public function loadUrlAlias(string $id): \Ibexa\Contracts\Core\Persistence\Content\UrlAlias` +- `public function locationCopied(mixed $locationId, mixed $newLocationId, mixed $newParentId): mixed` +- `public function locationDeleted(mixed $locationId): array` +- `public function locationMoved(mixed $locationId, mixed $oldParentId, mixed $newParentId): mixed` +- `public function locationSwapped(string|int $location1Id, string|int $location1ParentId, string|int $location2Id, string|int $location2ParentId): mixed` +- `public function lookup(string $url): \Ibexa\Contracts\Core\Persistence\Content\UrlAlias` +- `public function publishUrlAliasForLocation(mixed $locationId, mixed $parentLocationId, string $name, string $languageCode[, bool $alwaysAvailable = false ]): string` +- `public function removeURLAliases(array $urlAliases): bool` +- `public function repairBrokenUrlAliasesForLocation(int $locationId): mixed` +- `public function translationRemoved(array $locationIds, string $languageCode): mixed` + +## Ibexa\Contracts\Core\Persistence\Content\UrlWildcard extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Content\UrlWildcard\Handler + +- `public function countAll(): int` +- `public function create(string $sourceUrl, string $destinationUrl[, bool $forward = false ]): \Ibexa\Contracts\Core\Persistence\Content\UrlWildcard` +- `public function exactSourceUrlExists(string $sourceUrl): bool` +- `public function find(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\URLWildcardQuery $query): array` +- `public function load(mixed $id): \Ibexa\Contracts\Core\Persistence\Content\UrlWildcard` +- `public function loadAll([int $offset = 0 ][, int $limit = -1 ]): array` +- `public function remove(mixed $id): mixed` +- `public function translate(string $sourceUrl): \Ibexa\Contracts\Core\Persistence\Content\UrlWildcard` +- `public function update(int $id, string $sourceUrl, string $destinationUrl, bool $forward): \Ibexa\Contracts\Core\Persistence\Content\UrlWildcard` + +## Ibexa\Contracts\Core\Persistence\Content\VersionInfo extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed STATUS_ARCHIVED = 3` +- `public const mixed STATUS_INTERNAL_DRAFT = 5` +- `public const mixed STATUS_PENDING = 2` +- `public const mixed STATUS_PUBLISHED = 1` +- `public const mixed STATUS_QUEUED = 7` +- `public const mixed STATUS_REJECTED = 4` +- `public const mixed STATUS_REPEAT = 6` + +## Ibexa\Contracts\Core\Persistence\FieldType + +- `public function getEmptyValue(): \Ibexa\Contracts\Core\Persistence\Content\FieldValue` +- `public function isEmptyValue(\Ibexa\Contracts\Core\Persistence\Content\FieldValue $fieldValue): bool` + +## Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder extends Doctrine\DBAL\Query\QueryBuilder + +- `public function buildOperatorBasedCriterionConstraint(string $columnName, array $criterionValue, string $operator): string` +- `public function getExistingTableAliasJoinCondition(string $tableAlias): string` +- `public function joinAllLocations(): \Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder` +- `public function joinOnce(string $fromAlias, string $tableName, string $tableAlias, string $conditions): \Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder` +- `public function joinPublishedVersion(): \Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder` +- `public function leftJoinOnce(string $fromAlias, string $tableName, string $tableAlias, string $conditions): \Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder` +- `public const mixed SORT_ORDER_MAP = [\Ibexa\Contracts\Core\Repository\Values\Content\Query::SORT_ASC => 'ASC', \Ibexa\Contracts\Core\Repository\Values\Content\Query::SORT_DESC => 'DESC']` + +## Ibexa\Contracts\Core\Persistence\Handler + +- `public function bookmarkHandler(): \Ibexa\Contracts\Core\Persistence\Bookmark\Handler` +- `public function contentHandler(): \Ibexa\Contracts\Core\Persistence\Content\Handler` +- `public function contentLanguageHandler(): \Ibexa\Contracts\Core\Persistence\Content\Language\Handler` +- `public function contentTypeHandler(): \Ibexa\Contracts\Core\Persistence\Content\Type\Handler` +- `public function locationHandler(): \Ibexa\Contracts\Core\Persistence\Content\Location\Handler` +- `public function notificationHandler(): \Ibexa\Contracts\Core\Persistence\Notification\Handler` +- `public function objectStateHandler(): \Ibexa\Contracts\Core\Persistence\Content\ObjectState\Handler` +- `public function sectionHandler(): \Ibexa\Contracts\Core\Persistence\Content\Section\Handler` +- `public function settingHandler(): \Ibexa\Contracts\Core\Persistence\Setting\Handler` +- `public function transactionHandler(): \Ibexa\Contracts\Core\Persistence\TransactionHandler` +- `public function trashHandler(): \Ibexa\Contracts\Core\Persistence\Content\Location\Trash\Handler` +- `public function urlAliasHandler(): \Ibexa\Contracts\Core\Persistence\Content\UrlAlias\Handler` +- `public function urlHandler(): \Ibexa\Core\Persistence\Legacy\URL\Handler` +- `public function urlWildcardHandler(): \Ibexa\Contracts\Core\Persistence\Content\UrlWildcard\Handler` +- `public function userHandler(): \Ibexa\Contracts\Core\Persistence\User\Handler` +- `public function userPreferenceHandler(): \Ibexa\Contracts\Core\Persistence\UserPreference\Handler` + +## Ibexa\Contracts\Core\Persistence\Notification\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Notification\Handler + +- `public function bulkUpdateUserNotifications(int $ownerId, \Ibexa\Contracts\Core\Persistence\Notification\UpdateStruct $updateStruct[, bool $pendingOnly = false ][, array $notificationIds = [] ]): array` +- `public function countNotifications(int $currentUserId[, NotificationQuery|null $query = null ]): int` +- `public function countPendingNotifications(int $ownerId): int` +- `public function createNotification(\Ibexa\Contracts\Core\Persistence\Notification\CreateStruct $createStruct): \Ibexa\Contracts\Core\Persistence\Notification\Notification` +- `public function delete(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` +- `public function findUserNotifications(int $userId[, NotificationQuery|null $query = null ]): array` +- `public function getNotificationById(int $notificationId): \Ibexa\Contracts\Core\Persistence\Notification\Notification` +- `public function loadUserNotifications(int $userId, int $offset, int $limit): array` +- `public function updateNotification(\Ibexa\Contracts\Core\Persistence\Notification\Notification $notification, \Ibexa\Contracts\Core\Persistence\Notification\UpdateStruct $updateStruct): \Ibexa\Contracts\Core\Persistence\Notification\Notification` + +## Ibexa\Contracts\Core\Persistence\Notification\Notification extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Notification\UpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\Setting\Setting extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\TransactionHandler + +- `public function beginTransaction(): mixed` +- `public function commit(): mixed` +- `public function rollback(): mixed` + +## Ibexa\Contracts\Core\Persistence\URL\Handler + +- `public function find(\Ibexa\Contracts\Core\Repository\Values\URL\URLQuery $query): array` +- `public function findUsages(int $id): array` +- `public function loadById(int $id): \Ibexa\Contracts\Core\Persistence\URL\URL` +- `public function loadByUrl(string $url): \Ibexa\Contracts\Core\Persistence\URL\URL` +- `public function updateUrl(int $id, \Ibexa\Contracts\Core\Persistence\URL\URLUpdateStruct $urlUpdateStruct): \Ibexa\Contracts\Core\Persistence\URL\URL` + +## Ibexa\Contracts\Core\Persistence\URL\URL extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\URL\URLUpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\User extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\UserPreference\Handler + +- `public function countUserPreferences(int $userId): int` +- `public function getUserPreferenceByUserIdAndName(int $userId, string $name): \Ibexa\Contracts\Core\Persistence\UserPreference\UserPreference` +- `public function loadUserPreferences(int $userId, int $offset, int $limit): array` +- `public function setUserPreference(\Ibexa\Contracts\Core\Persistence\UserPreference\UserPreferenceSetStruct $setStruct): \Ibexa\Contracts\Core\Persistence\UserPreference\UserPreference` + +## Ibexa\Contracts\Core\Persistence\UserPreference\UserPreference extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\UserPreference\UserPreferenceSetStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\User\Handler + +- `public function addPolicy(mixed $roleId, \Ibexa\Contracts\Core\Persistence\User\Policy $policy): \Ibexa\Contracts\Core\Persistence\User\Policy` +- `public function addPolicyByRoleDraft(mixed $roleId, \Ibexa\Contracts\Core\Persistence\User\Policy $policy): \Ibexa\Contracts\Core\Persistence\User\Policy` +- `public function assignRole(mixed $contentId, mixed $roleId[, array $limitation = null ]): mixed` +- `public function copyRole(\Ibexa\Contracts\Core\Persistence\User\RoleCopyStruct $copyStruct): \Ibexa\Contracts\Core\Persistence\User\Role` +- `public function countRoleAssignments(int $roleId): int` +- `public function create(\Ibexa\Contracts\Core\Persistence\User $user): \Ibexa\Contracts\Core\Persistence\User` +- `public function createRole(\Ibexa\Contracts\Core\Persistence\User\RoleCreateStruct $createStruct): \Ibexa\Contracts\Core\Persistence\User\Role` +- `public function createRoleDraft(mixed $roleId): \Ibexa\Contracts\Core\Persistence\User\Role` +- `public function delete(mixed $userId): mixed` +- `public function deletePolicy(mixed $policyId, mixed $roleId): mixed` +- `public function deleteRole(mixed $roleId[, int $status = Role::STATUS_DEFINED ]): mixed` +- `public function expireUserToken(string $hash): mixed` +- `public function load(mixed $userId): \Ibexa\Contracts\Core\Persistence\User` +- `public function loadByEmail(string $email): \Ibexa\Contracts\Core\Persistence\User` +- `public function loadByLogin(string $login): \Ibexa\Contracts\Core\Persistence\User` +- `public function loadRole(mixed $roleId[, int $status = Role::STATUS_DEFINED ]): \Ibexa\Contracts\Core\Persistence\User\Role` +- `public function loadRoleAssignment(mixed $roleAssignmentId): \Ibexa\Contracts\Core\Persistence\User\RoleAssignment` +- `public function loadRoleAssignmentsByGroupId(mixed $groupId[, bool $inherit = false ]): array` +- `public function loadRoleAssignmentsByRoleId(mixed $roleId): array` +- `public function loadRoleAssignmentsByRoleIdWithOffsetAndLimit(int $roleId, int $offset, int|null $limit): array` +- `public function loadRoleByIdentifier(string $identifier[, int $status = Role::STATUS_DEFINED ]): \Ibexa\Contracts\Core\Persistence\User\Role` +- `public function loadRoleDraftByRoleId(mixed $roleId): \Ibexa\Contracts\Core\Persistence\User\Role` +- `public function loadRoles(): array` +- `public function loadUserByToken(string $hash): \Ibexa\Contracts\Core\Persistence\User` +- `public function loadUsersByEmail(string $email): array` +- `public function publishRoleDraft(mixed $roleDraftId): mixed` +- `public function removeRoleAssignment(mixed $roleAssignmentId): mixed` +- `public function unassignRole(mixed $contentId, mixed $roleId): mixed` +- `public function update(\Ibexa\Contracts\Core\Persistence\User $user): mixed` +- `public function updatePassword(\Ibexa\Contracts\Core\Persistence\User $user): void` +- `public function updatePolicy(\Ibexa\Contracts\Core\Persistence\User\Policy $policy): mixed` +- `public function updateRole(\Ibexa\Contracts\Core\Persistence\User\RoleUpdateStruct $role): mixed` +- `public function updateUserToken(\Ibexa\Contracts\Core\Persistence\User\UserTokenUpdateStruct $userTokenUpdateStruct): mixed` + +## Ibexa\Contracts\Core\Persistence\User\Policy extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\User\Role extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\User\RoleAssignment extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\User\RoleCopyStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\User\RoleCreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\User\RoleUpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\User\UserTokenUpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Persistence\ValueObject extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([array $properties = [] ])` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Pool\Pool implements Ibexa\Contracts\Core\Pool\PoolInterface + +- `public function __construct(string $class[, iterable $entries = [] ])` +- `public function get(string $alias): mixed` +- `public function getEntries(): iterable` +- `public function has(string $alias): bool` +- `public function setExceptionArgumentName(string $exceptionArgumentName): void` +- `public function setExceptionMessageTemplate(string $exceptionMessageTemplate): void` + +## Ibexa\Contracts\Core\Pool\PoolInterface + +- `public function get(string $alias): mixed` +- `public function getEntries(): iterable` +- `public function has(string $alias): bool` +- `public function setExceptionArgumentName(string $exceptionArgumentName): void` +- `public function setExceptionMessageTemplate(string $exceptionMessageTemplate): void` + +## Ibexa\Contracts\Core\Repository\BookmarkService + +- `public function createBookmark(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` +- `public function deleteBookmark(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` +- `public function isBookmarked(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): bool` +- `public function loadBookmarks([int $offset = 0 ][, int $limit = 25 ]): \Ibexa\Contracts\Core\Repository\Values\Bookmark\BookmarkList` + +## Ibexa\Contracts\Core\Repository\Collections\TotalCountAwareInterface + +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Core\Repository\ContentService + +- `public function copyContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $destinationLocationCreateStruct[, VersionInfo|null $versionInfo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function count(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array|null $languages = null ]): int` +- `public function countContentDrafts([\Ibexa\Contracts\Core\Repository\Values\User\User $user = null ]): int` +- `public function countRelations(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, RelationType|null $type = null ]): int` +- `public function countReverseRelations(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, RelationType|null $type = null ]): int` +- `public function createContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct $contentCreateStruct[, array $locationCreateStructs = [] ][, array|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function createContentDraft(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, VersionInfo|null $versionInfo = null ][, User|null $creator = null ][, Language|null $language = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function deleteContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo): array` +- `public function deleteRelation(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent): void` +- `public function deleteTranslation(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, string $languageCode): void` +- `public function deleteTranslationFromDraft(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, string $languageCode): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function deleteVersion(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo): void` +- `public function find(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array|null $languages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\ContentList` +- `public function hideContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo): void` +- `public function loadContent(int $contentId[, array $languages = null ][, int|null $versionNo = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function loadContentByContentInfo(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, array $languages = null ][, int|null $versionNo = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function loadContentByRemoteId(string $remoteId[, array $languages = null ][, int|null $versionNo = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function loadContentByVersionInfo(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, array $languages = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function loadContentDraftList([User|null $user = null ][, int $offset = 0 ][, int $limit = -1 ]): \Ibexa\Contracts\Core\Repository\Values\Content\ContentDraftList` +- `public function loadContentInfo(int $contentId): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function loadContentInfoByRemoteId(string $remoteId): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function loadContentInfoList(array $contentIds): array` +- `public function loadContentListByContentInfo(array $contentInfoList[, array $languages = [] ][, bool $useAlwaysAvailable = true ]): array` +- `public function loadRelationList(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, int $offset = 0 ][, int $limit = self::DEFAULT_PAGE_SIZE ][, RelationType|null $type = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\RelationList` +- `public function loadReverseRelationList(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, int $offset = 0 ][, int $limit = -1 ][, RelationType|null $type = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\RelationList` +- `public function loadReverseRelations(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, RelationType|null $type = null ]): array` +- `public function loadVersionInfo(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, int|null $versionNo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function loadVersionInfoById(int $contentId[, int|null $versionNo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function loadVersionInfoListByContentInfo(array $contentInfoList): array` +- `public function loadVersions(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, int|null $status = null ]): array` +- `public function newContentCreateStruct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, string $mainLanguageCode): \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct` +- `public function newContentMetadataUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct` +- `public function newContentUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct` +- `public function publishVersion(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, array $translations = Language::ALL ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function revealContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo): void` +- `public function updateContent(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct $contentUpdateStruct[, array|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function updateContentMetadata(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct $contentMetadataUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function validate(\Ibexa\Contracts\Core\Repository\Values\ValueObject $object, array $context[, array|null $fieldIdentifiersToValidate = null ]): array` +- `public const mixed DEFAULT_PAGE_SIZE = 25` + +## Ibexa\Contracts\Core\Repository\ContentTypeService + +- `public function addFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct): void` +- `public function assignContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup): void` +- `public function copyContentType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType[, \Ibexa\Contracts\Core\Repository\Values\User\User $creator = null ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function createContentType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct, array $contentTypeGroups): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function createContentTypeDraft(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function createContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function deleteContentType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType): void` +- `public function deleteContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup): void` +- `public function deleteUserDrafts(int $userId): void` +- `public function findContentTypes([ContentTypeQuery|null $query = null ][, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\SearchResult` +- `public function isContentTypeUsed(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType): bool` +- `public function loadContentType(int $contentTypeId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function loadContentTypeByIdentifier(string $identifier[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function loadContentTypeByRemoteId(string $remoteId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function loadContentTypeDraft(int $contentTypeId[, bool $ignoreOwnership = false ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function loadContentTypeGroup(int $contentTypeGroupId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function loadContentTypeGroupByIdentifier(string $contentTypeGroupIdentifier[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function loadContentTypeGroups([array $prioritizedLanguages = [] ]): array` +- `public function loadContentTypeList(array $contentTypeIds[, array $prioritizedLanguages = [] ]): array|iterable` +- `public function loadContentTypes(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup[, array $prioritizedLanguages = [] ]): array` +- `public function newContentTypeCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct` +- `public function newContentTypeGroupCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct` +- `public function newContentTypeGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct` +- `public function newContentTypeUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct` +- `public function newFieldDefinitionCreateStruct(string $identifier, string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct` +- `public function newFieldDefinitionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct` +- `public function publishContentTypeDraft(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft): void` +- `public function removeContentTypeTranslation(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, string $languageCode): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function removeFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): void` +- `public function unassignContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup): void` +- `public function updateContentTypeDraft(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct): void` +- `public function updateContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct): void` +- `public function updateFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct): void` + +## Ibexa\Contracts\Core\Repository\Decorator\BookmarkServiceDecorator implements Ibexa\Contracts\Core\Repository\BookmarkService + +- `public function createBookmark(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` +- `public function deleteBookmark(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` +- `public function isBookmarked(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): bool` +- `public function loadBookmarks([int $offset = 0 ][, int $limit = 25 ]): \Ibexa\Contracts\Core\Repository\Values\Bookmark\BookmarkList` + +## Ibexa\Contracts\Core\Repository\Decorator\ContentServiceDecorator implements Ibexa\Contracts\Core\Repository\ContentService + +- `public function addRelation(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent): \Ibexa\Contracts\Core\Repository\Values\Content\Relation` +- `public function copyContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $destinationLocationCreateStruct[, VersionInfo|null $versionInfo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function count(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array|null $languages = null ]): int` +- `public function countContentDrafts([User|null $user = null ]): int` +- `public function countRelations(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, RelationType|null $type = null ]): int` +- `public function countReverseRelations(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, RelationType|null $type = null ]): int` +- `public function createContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct $contentCreateStruct[, array $locationCreateStructs = [] ][, array|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function createContentDraft(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, VersionInfo|null $versionInfo = null ][, User|null $creator = null ][, Language|null $language = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function deleteContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo): array` +- `public function deleteRelation(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent): void` +- `public function deleteTranslation(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, string $languageCode): void` +- `public function deleteTranslationFromDraft(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, string $languageCode): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function deleteVersion(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo): void` +- `public function find(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array|null $languages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\ContentList` +- `public function hideContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo): void` +- `public function loadContent(int $contentId[, array|null $languages = null ][, int|null $versionNo = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function loadContentByContentInfo(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, array|null $languages = null ][, int|null $versionNo = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function loadContentByRemoteId(string $remoteId[, array|null $languages = null ][, int|null $versionNo = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function loadContentByVersionInfo(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, array|null $languages = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function loadContentDraftList([User|null $user = null ][, int $offset = 0 ][, int $limit = -1 ]): \Ibexa\Contracts\Core\Repository\Values\Content\ContentDraftList` +- `public function loadContentInfo(int $contentId): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function loadContentInfoByRemoteId(string $remoteId): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function loadContentInfoList(array $contentIds): array` +- `public function loadContentListByContentInfo(array $contentInfoList[, array $languages = [] ][, bool $useAlwaysAvailable = true ]): array` +- `public function loadRelationList(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, int $offset = 0 ][, int $limit = self::DEFAULT_PAGE_SIZE ][, RelationType|null $type = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\RelationList` +- `public function loadReverseRelationList(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, int $offset = 0 ][, int $limit = -1 ][, RelationType|null $type = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\RelationList` +- `public function loadReverseRelations(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, RelationType|null $type = null ]): array` +- `public function loadVersionInfo(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, int|null $versionNo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function loadVersionInfoById(int $contentId[, int|null $versionNo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function loadVersionInfoListByContentInfo(array $contentInfoList): array` +- `public function loadVersions(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, int|null $status = null ]): array` +- `public function newContentCreateStruct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, string $mainLanguageCode): \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct` +- `public function newContentMetadataUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct` +- `public function newContentUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct` +- `public function publishVersion(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, array $translations = Language::ALL ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function revealContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo): void` +- `public function updateContent(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct $contentUpdateStruct[, array|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function updateContentMetadata(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct $contentMetadataUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function validate(\Ibexa\Contracts\Core\Repository\Values\ValueObject $object, array $context[, array|null $fieldIdentifiersToValidate = null ]): array` + +## Ibexa\Contracts\Core\Repository\Decorator\ContentTypeServiceDecorator implements Ibexa\Contracts\Core\Repository\ContentTypeService + +- `public function addFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct): void` +- `public function assignContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup): void` +- `public function copyContentType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType[, User|null $creator = null ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function createContentType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct, array $contentTypeGroups): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function createContentTypeDraft(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function createContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function deleteContentType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType): void` +- `public function deleteContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup): void` +- `public function deleteUserDrafts(int $userId): void` +- `public function findContentTypes([ContentTypeQuery|null $query = null ][, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\SearchResult` +- `public function isContentTypeUsed(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType): bool` +- `public function loadContentType(int $contentTypeId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function loadContentTypeByIdentifier(string $identifier[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function loadContentTypeByRemoteId(string $remoteId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function loadContentTypeDraft(int $contentTypeId[, bool $ignoreOwnership = false ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function loadContentTypeGroup(int $contentTypeGroupId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function loadContentTypeGroupByIdentifier(string $contentTypeGroupIdentifier[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function loadContentTypeGroups([array $prioritizedLanguages = [] ]): array` +- `public function loadContentTypeList(array $contentTypeIds[, array $prioritizedLanguages = [] ]): array|iterable` +- `public function loadContentTypes(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup[, array $prioritizedLanguages = [] ]): array` +- `public function newContentTypeCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct` +- `public function newContentTypeGroupCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct` +- `public function newContentTypeGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct` +- `public function newContentTypeUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct` +- `public function newFieldDefinitionCreateStruct(string $identifier, string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct` +- `public function newFieldDefinitionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct` +- `public function publishContentTypeDraft(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft): void` +- `public function removeContentTypeTranslation(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, string $languageCode): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function removeFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): void` +- `public function unassignContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup): void` +- `public function updateContentTypeDraft(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct): void` +- `public function updateContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct): void` +- `public function updateFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct): void` + +## Ibexa\Contracts\Core\Repository\Decorator\FieldTypeServiceDecorator implements Ibexa\Contracts\Core\Repository\FieldTypeService + +- `public function getFieldType(string $identifier): \Ibexa\Contracts\Core\Repository\FieldType` +- `public function getFieldTypes(): array` +- `public function hasFieldType(string $identifier): bool` + +## Ibexa\Contracts\Core\Repository\Decorator\LanguageServiceDecorator implements Ibexa\Contracts\Core\Repository\LanguageService + +- `public function createLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct $languageCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function deleteLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): void` +- `public function disableLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function enableLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getDefaultLanguageCode(): string` +- `public function loadLanguage(string $languageCode): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function loadLanguageById(int $languageId): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function loadLanguageListByCode(array $languageCodes): array` +- `public function loadLanguageListById(array $languageIds): iterable` +- `public function loadLanguages(): array` +- `public function newLanguageCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct` +- `public function updateLanguageName(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language, string $newName): \Ibexa\Contracts\Core\Repository\Values\Content\Language` + +## Ibexa\Contracts\Core\Repository\Decorator\LocationServiceDecorator implements Ibexa\Contracts\Core\Repository\LocationService + +- `public function copySubtree(\Ibexa\Contracts\Core\Repository\Values\Content\Location $subtree, \Ibexa\Contracts\Core\Repository\Values\Content\Location $targetParentLocation): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function count(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array|null $languages = null ]): int` +- `public function createLocation(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $locationCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function deleteLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` +- `public function find(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array|null $languages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\LocationList` +- `public function getAllLocationsCount(): int` +- `public function getLocationChildCount(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): int` +- `public function getSubtreeSize(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): int` +- `public function hideLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function loadAllLocations([int $offset = 0 ][, int $limit = 25 ]): array` +- `public function loadLocation(int $locationId[, array|null $prioritizedLanguages = null ][, bool|null $useAlwaysAvailable = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function loadLocationByRemoteId(string $remoteId[, array|null $prioritizedLanguages = null ][, bool|null $useAlwaysAvailable = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function loadLocationChildren(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, int $offset = 0 ][, int $limit = 25 ][, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\LocationList` +- `public function loadLocationList(array $locationIds[, array|null $prioritizedLanguages = null ][, bool|null $useAlwaysAvailable = null ]): array|iterable` +- `public function loadLocations(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, Location|null $rootLocation = null ][, array|null $prioritizedLanguages = null ]): array` +- `public function loadParentLocationsForDraftContent(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, array|null $prioritizedLanguages = null ]): array` +- `public function moveSubtree(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Location $newParentLocation): void` +- `public function newLocationCreateStruct(int $parentLocationId): \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct` +- `public function newLocationUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct` +- `public function swapLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location1, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location2): void` +- `public function unhideLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function updateLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct $locationUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Location` + +## Ibexa\Contracts\Core\Repository\Decorator\NotificationServiceDecorator implements Ibexa\Contracts\Core\Repository\NotificationService + +- `public function createNotification(\Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct $createStruct): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` +- `public function deleteNotification(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` +- `public function findNotifications([NotificationQuery|null $query = null ]): \Ibexa\Contracts\Core\Repository\Values\Notification\NotificationList` +- `public function getNotification(int $notificationId): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` +- `public function getNotificationCount([NotificationQuery|null $query = null ]): int` +- `public function getPendingNotificationCount(): int` +- `public function loadNotifications(int $offset, int $limit): \Ibexa\Contracts\Core\Repository\Values\Notification\NotificationList` +- `public function markNotificationAsRead(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` +- `public function markNotificationAsUnread(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` +- `public function markUserNotificationsAsRead([array $notificationIds = [] ]): void` + +## Ibexa\Contracts\Core\Repository\Decorator\ObjectStateServiceDecorator implements Ibexa\Contracts\Core\Repository\ObjectStateService + +- `public function createObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct $objectStateCreateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function createObjectStateGroup(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct $objectStateGroupCreateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function deleteObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState): void` +- `public function deleteObjectStateGroup(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup): void` +- `public function getContentCount(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState): int` +- `public function getContentState(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function loadObjectState(int $stateId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function loadObjectStateByIdentifier(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, string $objectStateIdentifier[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function loadObjectStateGroup(int $objectStateGroupId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function loadObjectStateGroupByIdentifier(string $objectStateGroupIdentifier[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function loadObjectStateGroups([int $offset = 0 ][, int $limit = -1 ][, array $prioritizedLanguages = [] ]): array` +- `public function loadObjectStates(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup[, array $prioritizedLanguages = [] ]): array` +- `public function newObjectStateCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct` +- `public function newObjectStateGroupCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct` +- `public function newObjectStateGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct` +- `public function newObjectStateUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct` +- `public function setContentState(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState): void` +- `public function setPriorityOfObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, int $priority): void` +- `public function updateObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct $objectStateUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function updateObjectStateGroup(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct $objectStateGroupUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` + +## Ibexa\Contracts\Core\Repository\Decorator\RoleServiceDecorator implements Ibexa\Contracts\Core\Repository\RoleService + +- `public function addPolicyByRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct $policyCreateStruct): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function assignRoleToUser(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\User $user[, RoleLimitation|null $roleLimitation = null ]): void` +- `public function assignRoleToUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, RoleLimitation|null $roleLimitation = null ]): void` +- `public function copyRole(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct $roleCopyStruct): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function countRoleAssignments(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): int` +- `public function createRole(\Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct $roleCreateStruct): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function createRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function deleteRole(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): void` +- `public function deleteRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft): void` +- `public function getLimitationType(string $identifier): \Ibexa\Contracts\Core\Limitation\Type` +- `public function getLimitationTypesByModuleFunction(string $module, string $function): array` +- `public function getRoleAssignments(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): array` +- `public function getRoleAssignmentsForUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user[, bool $inherited = false ]): array|array` +- `public function getRoleAssignmentsForUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): array` +- `public function loadRole(int $id): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function loadRoleAssignment(int $roleAssignmentId): \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment` +- `public function loadRoleAssignments(\Ibexa\Contracts\Core\Repository\Values\User\Role $role[, int $offset = 0 ][, int|null $limit = null ]): array` +- `public function loadRoleByIdentifier(string $identifier): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function loadRoleDraft(int $id): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function loadRoleDraftByRoleId(int $roleId): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function loadRoles(): array` +- `public function newPolicyCreateStruct(string $module, string $function): \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct` +- `public function newPolicyUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct` +- `public function newRoleCopyStruct(string $name): \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct` +- `public function newRoleCreateStruct(string $name): \Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct` +- `public function newRoleUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct` +- `public function publishRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft): void` +- `public function removePolicyByRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policyDraft): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function removeRoleAssignment(\Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment $roleAssignment): void` +- `public function updatePolicyByRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policy, \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct $policyUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` +- `public function updateRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct $roleUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` + +## Ibexa\Contracts\Core\Repository\Decorator\SearchServiceDecorator implements Ibexa\Contracts\Core\Repository\SearchService + +- `public function findContent(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query[, array $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` +- `public function findContentInfo(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query[, array $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` +- `public function findLocations(\Ibexa\Contracts\Core\Repository\Values\Content\LocationQuery $query[, array $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` +- `public function findSingle(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $filter[, array $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function suggest(string $prefix[, array $fieldPaths = [] ][, int $limit = 10 ][, CriterionInterface|null $filter = null ]): mixed` +- `public function supports(int $capabilityFlag): bool` + +## Ibexa\Contracts\Core\Repository\Decorator\SectionServiceDecorator implements Ibexa\Contracts\Core\Repository\SectionService + +- `public function assignSection(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section): void` +- `public function assignSectionToSubtree(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section): void` +- `public function countAssignedContents(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section): int` +- `public function createSection(\Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct $sectionCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function deleteSection(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section): void` +- `public function isSectionUsed(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section): bool` +- `public function loadSection(int $sectionId): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function loadSectionByIdentifier(string $sectionIdentifier): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function loadSections(): array` +- `public function newSectionCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct` +- `public function newSectionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct` +- `public function updateSection(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section, \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct $sectionUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Section` + +## Ibexa\Contracts\Core\Repository\Decorator\SettingServiceDecorator implements Ibexa\Contracts\Core\Repository\SettingService + +- `public function createSetting(\Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct $settingCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` +- `public function deleteSetting(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting): void` +- `public function loadSetting(string $group, string $identifier): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` +- `public function newSettingCreateStruct([array $properties = [] ]): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct` +- `public function newSettingUpdateStruct([array $properties = [] ]): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct` +- `public function updateSetting(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting, \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct $settingUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` + +## Ibexa\Contracts\Core\Repository\Decorator\TokenServiceDecorator implements Ibexa\Contracts\Core\Repository\TokenService + +- `public function checkToken(string $tokenType, string $token[, string|null $identifier = null ]): bool` +- `public function deleteToken(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token): void` +- `public function generateToken(string $type, int $ttl[, string|null $identifier = null ][, int $tokenLength = 64 ][, TokenGeneratorInterface|null $tokenGenerator = null ]): \Ibexa\Contracts\Core\Repository\Values\Token\Token` +- `public function getToken(string $tokenType, string $token[, string|null $identifier = null ]): \Ibexa\Contracts\Core\Repository\Values\Token\Token` +- `public function revokeToken(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token): void` +- `public function revokeTokenByIdentifier(string $tokenType, string|null $identifier): void` + +## Ibexa\Contracts\Core\Repository\Decorator\TranslationServiceDecorator implements Ibexa\Contracts\Core\Repository\TranslationService + +- `public function translate(\Ibexa\Contracts\Core\Repository\Values\Translation $translation, mixed $locale): string` +- `public function translateString(mixed $translation, mixed $locale): string` + +## Ibexa\Contracts\Core\Repository\Decorator\TrashServiceDecorator implements Ibexa\Contracts\Core\Repository\TrashService + +- `public function deleteTrashItem(\Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult` +- `public function emptyTrash(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList` +- `public function findTrashItems(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\SearchResult` +- `public function loadTrashItem(int $trashItemId): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem` +- `public function recover(\Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem[, Location|null $newParentLocation = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function trash(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem|null` + +## Ibexa\Contracts\Core\Repository\Decorator\URLAliasServiceDecorator implements Ibexa\Contracts\Core\Repository\URLAliasService + +- `public function createGlobalUrlAlias(string $resource, string $path, string $languageCode[, bool $forwarding = false ][, bool $alwaysAvailable = false ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` +- `public function createUrlAlias(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, string $path, string $languageCode[, bool $forwarding = false ][, bool $alwaysAvailable = false ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` +- `public function deleteCorruptedUrlAliases(): int` +- `public function listGlobalAliases([string|null $languageCode = null ][, int $offset = 0 ][, int $limit = -1 ]): array` +- `public function listLocationAliases(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, bool $custom = true ][, string|null $languageCode = null ][, bool|null $showAllTranslations = null ][, array|null $prioritizedLanguages = null ]): array` +- `public function load(string $id): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` +- `public function lookup(string $url[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` +- `public function refreshSystemUrlAliasesForLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` +- `public function removeAliases(array $aliasList): void` +- `public function reverseLookup(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, string|null $languageCode = null ][, bool|null $showAllTranslations = null ][, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` + +## Ibexa\Contracts\Core\Repository\Decorator\URLServiceDecorator implements Ibexa\Contracts\Core\Repository\URLService + +- `public function createUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct` +- `public function findUrls(\Ibexa\Contracts\Core\Repository\Values\URL\URLQuery $query): \Ibexa\Contracts\Core\Repository\Values\URL\SearchResult` +- `public function findUsages(\Ibexa\Contracts\Core\Repository\Values\URL\URL $url[, int $offset = 0 ][, int $limit = -1 ]): \Ibexa\Contracts\Core\Repository\Values\URL\UsageSearchResult` +- `public function loadById(int $id): \Ibexa\Contracts\Core\Repository\Values\URL\URL` +- `public function loadByUrl(string $url): \Ibexa\Contracts\Core\Repository\Values\URL\URL` +- `public function updateUrl(\Ibexa\Contracts\Core\Repository\Values\URL\URL $url, \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct $struct): \Ibexa\Contracts\Core\Repository\Values\URL\URL` + +## Ibexa\Contracts\Core\Repository\Decorator\URLWildcardServiceDecorator implements Ibexa\Contracts\Core\Repository\URLWildcardService + +- `public function countAll(): int` +- `public function create(string $sourceUrl, string $destinationUrl[, bool $forward = false ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` +- `public function findUrlWildcards(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\URLWildcardQuery $query): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\SearchResult` +- `public function load(int $id): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` +- `public function loadAll([int $offset = 0 ][, int $limit = -1 ]): array` +- `public function remove(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard): void` +- `public function translate(string $url): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardTranslationResult` +- `public function update(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard, \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct $updateStruct): void` + +## Ibexa\Contracts\Core\Repository\Decorator\UserPreferenceServiceDecorator implements Ibexa\Contracts\Core\Repository\UserPreferenceService + +- `public function getUserPreference(string $userPreferenceName): \Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreference` +- `public function getUserPreferenceCount(): int` +- `public function loadUserPreferences([int $offset = 0 ][, int $limit = 25 ]): \Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreferenceList` +- `public function setUserPreference(array $userPreferenceSetStructs): void` + +## Ibexa\Contracts\Core\Repository\Decorator\UserServiceDecorator implements Ibexa\Contracts\Core\Repository\UserService + +- `public function assignUserToUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): void` +- `public function checkUserCredentials(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $credentials): bool` +- `public function createUser(\Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct $userCreateStruct, array $parentGroups): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function createUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct $userGroupCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $parentGroup): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function deleteUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): array` +- `public function deleteUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): array` +- `public function expireUserToken(string $hash): void` +- `public function getPasswordInfo(\Ibexa\Contracts\Core\Repository\Values\User\User $user): \Ibexa\Contracts\Core\Repository\Values\User\PasswordInfo` +- `public function isUser(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` +- `public function isUserGroup(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` +- `public function loadSubUserGroups(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, int $offset = 0 ][, int $limit = 25 ][, array $prioritizedLanguages = [] ]): array` +- `public function loadUser(int $userId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function loadUserByEmail(string $email[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function loadUserByLogin(string $login[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function loadUserByToken(string $hash[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function loadUserGroup(int $id[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function loadUserGroupByRemoteId(string $remoteId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function loadUserGroupsOfUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user[, int $offset = 0 ][, int $limit = 25 ][, array $prioritizedLanguages = [] ]): array` +- `public function loadUsersByEmail(string $email[, array $prioritizedLanguages = [] ]): array` +- `public function loadUsersOfUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, int $offset = 0 ][, int $limit = 25 ][, array $prioritizedLanguages = [] ]): array` +- `public function moveUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $newParent): void` +- `public function newUserCreateStruct(string $login, string $email, string $password, string $mainLanguageCode[, ContentType|null $contentType = null ]): \Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct` +- `public function newUserGroupCreateStruct(string $mainLanguageCode[, ContentType|null $contentType = null ]): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct` +- `public function newUserGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct` +- `public function newUserUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct` +- `public function unAssignUserFromUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): void` +- `public function updateUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct $userUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function updateUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct $userGroupUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function updateUserPassword(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $newPassword): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function updateUserToken(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct $userTokenUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function validatePassword(string $password[, PasswordValidationContext|null $context = null ]): array` + +## Ibexa\Contracts\Core\Repository\Event\AfterEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Event\BeforeEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Bookmark\BeforeCreateBookmarkEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Bookmark\BeforeDeleteBookmarkEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Bookmark\CreateBookmarkEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Bookmark\DeleteBookmarkEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\AddFieldDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct)` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function getFieldDefinitionCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\AssignContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup)` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeAddFieldDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct)` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function getFieldDefinitionCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeAssignContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup)` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeCopyContentTypeEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType[, User|null $creator = null ])` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getContentTypeCopy(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function hasContentTypeCopy(): bool` +- `public function isPropagationStopped(): bool` +- `public function setContentTypeCopy(ContentType|null $contentTypeCopy): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeCreateContentTypeDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType)` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function hasContentTypeDraft(): bool` +- `public function isPropagationStopped(): bool` +- `public function setContentTypeDraft(ContentTypeDraft|null $contentTypeDraft): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeCreateContentTypeEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct, array $contentTypeGroups)` +- `public function getContentTypeCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function getContentTypeGroups(): array` +- `public function hasContentTypeDraft(): bool` +- `public function isPropagationStopped(): bool` +- `public function setContentTypeDraft(ContentTypeDraft|null $contentTypeDraft): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeCreateContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct)` +- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function getContentTypeGroupCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct` +- `public function hasContentTypeGroup(): bool` +- `public function isPropagationStopped(): bool` +- `public function setContentTypeGroup(ContentTypeGroup|null $contentTypeGroup): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeDeleteContentTypeEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType)` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeDeleteContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup)` +- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforePublishContentTypeDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft)` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeRemoveContentTypeTranslationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, string $languageCode)` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function getLanguageCode(): string` +- `public function getNewContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function hasNewContentTypeDraft(): bool` +- `public function isPropagationStopped(): bool` +- `public function setNewContentTypeDraft(ContentTypeDraft|null $newContentTypeDraft): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeRemoveFieldDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition)` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeUnassignContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup)` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeUpdateContentTypeDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct)` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function getContentTypeUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeUpdateContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct)` +- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function getContentTypeGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeUpdateFieldDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct)` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` +- `public function getFieldDefinitionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\CopyContentTypeEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentTypeCopy, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType[, User|null $creator = null ])` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getContentTypeCopy(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\CreateContentTypeDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType)` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\CreateContentTypeEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct, array $contentTypeGroups)` +- `public function getContentTypeCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function getContentTypeGroups(): array` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\CreateContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct)` +- `public function getContentTypeGroupCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct` +- `public function getReturnValue(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\DeleteContentTypeEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType)` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\DeleteContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup)` +- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\PublishContentTypeDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft)` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\RemoveContentTypeTranslationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $newContentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, string $languageCode)` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function getLanguageCode(): string` +- `public function getNewContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\RemoveFieldDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition)` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\UnassignContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup)` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\UpdateContentTypeDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct)` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function getContentTypeUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\UpdateContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct)` +- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` +- `public function getContentTypeGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ContentType\UpdateFieldDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct)` +- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` +- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` +- `public function getFieldDefinitionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\AddRelationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Relation $relation, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent)` +- `public function getDestinationContent(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getRelation(): \Ibexa\Contracts\Core\Repository\Values\Content\Relation` +- `public function getSourceVersion(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\BeforeAddRelationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent)` +- `public function getDestinationContent(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getRelation(): \Ibexa\Contracts\Core\Repository\Values\Content\Relation` +- `public function getSourceVersion(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function hasRelation(): bool` +- `public function isPropagationStopped(): bool` +- `public function setRelation(Relation|null $relation): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\BeforeCopyContentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $destinationLocationCreateStruct[, VersionInfo|null $versionInfo = null ])` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getDestinationLocationCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` +- `public function hasContent(): bool` +- `public function isPropagationStopped(): bool` +- `public function setContent(Content|null $content): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\BeforeCreateContentDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, VersionInfo|null $versionInfo = null ][, User|null $creator = null ][, Language|null $language = null ])` +- `public function getContentDraft(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language|null` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` +- `public function hasContentDraft(): bool` +- `public function isPropagationStopped(): bool` +- `public function setContentDraft(Content|null $contentDraft): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\BeforeCreateContentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct $contentCreateStruct, array $locationCreateStructs[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function getLocationCreateStructs(): array` +- `public function hasContent(): bool` +- `public function isPropagationStopped(): bool` +- `public function setContent(Content|null $content): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\BeforeDeleteContentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getLocations(): array` +- `public function hasLocations(): bool` +- `public function isPropagationStopped(): bool` +- `public function setLocations(array|null $locations): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\BeforeDeleteRelationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent)` +- `public function getDestinationContent(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getSourceVersion(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\BeforeDeleteTranslationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, string $languageCode)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getLanguageCode(): string` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\BeforeDeleteVersionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo)` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\BeforeHideContentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\BeforePublishVersionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, array $translations)` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getTranslations(): array` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function hasContent(): bool` +- `public function isPropagationStopped(): bool` +- `public function setContent(Content|null $content): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\BeforeRevealContentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\BeforeUpdateContentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct $contentUpdateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function hasContent(): bool` +- `public function isPropagationStopped(): bool` +- `public function setContent(Content|null $content): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\BeforeUpdateContentMetadataEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct $contentMetadataUpdateStruct)` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getContentMetadataUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct` +- `public function hasContent(): bool` +- `public function isPropagationStopped(): bool` +- `public function setContent(Content|null $content): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\CopyContentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $destinationLocationCreateStruct[, VersionInfo|null $versionInfo = null ])` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getDestinationLocationCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\CreateContentDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $contentDraft, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, VersionInfo|null $versionInfo = null ][, User|null $creator = null ][, Language|null $language = null ])` +- `public function getContentDraft(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language|null` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\CreateContentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct $contentCreateStruct, array $locationCreateStructs[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function getLocationCreateStructs(): array` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\DeleteContentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(array $locations, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getLocations(): array` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\DeleteRelationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent)` +- `public function getDestinationContent(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getSourceVersion(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\DeleteTranslationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, string $languageCode)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getLanguageCode(): string` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\DeleteVersionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo)` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\HideContentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\PublishVersionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, array $translations)` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getTranslations(): array` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\RevealContentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\UpdateContentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct $contentUpdateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Content\UpdateContentMetadataEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct $contentMetadataUpdateStruct)` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getContentMetadataUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Language\BeforeCreateLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct $languageCreateStruct)` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getLanguageCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct` +- `public function hasLanguage(): bool` +- `public function isPropagationStopped(): bool` +- `public function setLanguage(Language|null $language): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Language\BeforeDeleteLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language)` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Language\BeforeDisableLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language)` +- `public function getDisabledLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function hasDisabledLanguage(): bool` +- `public function isPropagationStopped(): bool` +- `public function setDisabledLanguage(Language|null $disabledLanguage): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Language\BeforeEnableLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language)` +- `public function getEnabledLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function hasEnabledLanguage(): bool` +- `public function isPropagationStopped(): bool` +- `public function setEnabledLanguage(Language|null $enabledLanguage): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Language\BeforeUpdateLanguageNameEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language, string $newName)` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getNewName(): string` +- `public function getUpdatedLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function hasUpdatedLanguage(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedLanguage(Language|null $updatedLanguage): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Language\CreateLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language, \Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct $languageCreateStruct)` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getLanguageCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Language\DeleteLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language)` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Language\DisableLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $disabledLanguage, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language)` +- `public function getDisabledLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Language\EnableLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $enabledLanguage, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language)` +- `public function getEnabledLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Language\UpdateLanguageNameEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $updatedLanguage, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language, string $newName)` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getNewName(): string` +- `public function getUpdatedLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\BeforeCopySubtreeEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $subtree, \Ibexa\Contracts\Core\Repository\Values\Content\Location $targetParentLocation)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getSubtree(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getTargetParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function hasLocation(): bool` +- `public function isPropagationStopped(): bool` +- `public function setLocation(Location|null $location): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\BeforeCreateLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $locationCreateStruct)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getLocationCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct` +- `public function hasLocation(): bool` +- `public function isPropagationStopped(): bool` +- `public function setLocation(Location|null $location): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\BeforeDeleteLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\BeforeHideLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getHiddenLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function hasHiddenLocation(): bool` +- `public function isPropagationStopped(): bool` +- `public function setHiddenLocation(Location|null $hiddenLocation): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\BeforeMoveSubtreeEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Location $newParentLocation)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getNewParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\BeforeSwapLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location1, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location2)` +- `public function getLocation1(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getLocation2(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\BeforeUnhideLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getRevealedLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function hasRevealedLocation(): bool` +- `public function isPropagationStopped(): bool` +- `public function setRevealedLocation(Location|null $revealedLocation): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\BeforeUpdateLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct $locationUpdateStruct)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getLocationUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct` +- `public function getUpdatedLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function hasUpdatedLocation(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedLocation(Location|null $updatedLocation): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\CopySubtreeEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Location $subtree, \Ibexa\Contracts\Core\Repository\Values\Content\Location $targetParentLocation)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getSubtree(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getTargetParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\CreateLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $locationCreateStruct)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getLocationCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\DeleteLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\HideLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $hiddenLocation, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getHiddenLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\MoveSubtreeEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Location $newParentLocation)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getNewParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\SwapLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location1, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location2)` +- `public function getLocation1(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getLocation2(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\UnhideLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $revealedLocation, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getRevealedLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Location\UpdateLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $updatedLocation, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct $locationUpdateStruct)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getLocationUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct` +- `public function getUpdatedLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Notification\BeforeCreateNotificationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct $createStruct)` +- `public function getCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct` +- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` +- `public function hasNotification(): bool` +- `public function isPropagationStopped(): bool` +- `public function setNotification(Notification|null $notification): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Notification\BeforeDeleteNotificationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification)` +- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Notification\BeforeMarkNotificationAsReadEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification)` +- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Notification\BeforeMarkNotificationAsUnreadEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification)` +- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Notification\CreateNotificationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification, \Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct $createStruct)` +- `public function getCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct` +- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Notification\DeleteNotificationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification)` +- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Notification\MarkNotificationAsReadEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification)` +- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Notification\MarkNotificationAsUnreadEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification)` +- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeCreateObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct $objectStateCreateStruct)` +- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function getObjectStateCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct` +- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function hasObjectState(): bool` +- `public function isPropagationStopped(): bool` +- `public function setObjectState(ObjectState|null $objectState): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeCreateObjectStateGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct $objectStateGroupCreateStruct)` +- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function getObjectStateGroupCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct` +- `public function hasObjectStateGroup(): bool` +- `public function isPropagationStopped(): bool` +- `public function setObjectStateGroup(ObjectStateGroup|null $objectStateGroup): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeDeleteObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState)` +- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeDeleteObjectStateGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup)` +- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeSetContentStateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeSetPriorityOfObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, int $priority)` +- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function getPriority(): int` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeUpdateObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct $objectStateUpdateStruct)` +- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function getObjectStateUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct` +- `public function getUpdatedObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function hasUpdatedObjectState(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedObjectState(ObjectState|null $updatedObjectState): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeUpdateObjectStateGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct $objectStateGroupUpdateStruct)` +- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function getObjectStateGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct` +- `public function getUpdatedObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function hasUpdatedObjectStateGroup(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedObjectStateGroup(ObjectStateGroup|null $updatedObjectStateGroup): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\CreateObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct $objectStateCreateStruct)` +- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function getObjectStateCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct` +- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\CreateObjectStateGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct $objectStateGroupCreateStruct)` +- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function getObjectStateGroupCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\DeleteObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState)` +- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\DeleteObjectStateGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup)` +- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\SetContentStateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\SetPriorityOfObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, int $priority)` +- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function getPriority(): int` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\UpdateObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $updatedObjectState, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct $objectStateUpdateStruct)` +- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function getObjectStateUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct` +- `public function getUpdatedObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\ObjectState\UpdateObjectStateGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $updatedObjectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct $objectStateGroupUpdateStruct)` +- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function getObjectStateGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct` +- `public function getUpdatedObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\AddPolicyByRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $updatedRoleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct $policyCreateStruct)` +- `public function getPolicyCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function getUpdatedRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\AssignRoleToUserEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\User $user[, RoleLimitation|null $roleLimitation = null ])` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\AssignRoleToUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, RoleLimitation|null $roleLimitation = null ])` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforeAddPolicyByRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct $policyCreateStruct)` +- `public function getPolicyCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function getUpdatedRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function hasUpdatedRoleDraft(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedRoleDraft(RoleDraft|null $updatedRoleDraft): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforeAssignRoleToUserEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\User $user[, RoleLimitation|null $roleLimitation = null ])` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforeAssignRoleToUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, RoleLimitation|null $roleLimitation = null ])` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforeCopyRoleEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct $roleCopyStruct)` +- `public function getCopiedRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function getRoleCopyStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct` +- `public function hasCopiedRole(): bool` +- `public function isPropagationStopped(): bool` +- `public function setCopiedRole(Role|null $copiedRole): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforeCreateRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role)` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function hasRoleDraft(): bool` +- `public function isPropagationStopped(): bool` +- `public function setRoleDraft(RoleDraft|null $roleDraft): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforeCreateRoleEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct $roleCreateStruct)` +- `public function getRoleCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function hasRoleDraft(): bool` +- `public function isPropagationStopped(): bool` +- `public function setRoleDraft(RoleDraft|null $roleDraft): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforeDeletePolicyEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Policy $policy)` +- `public function getPolicy(): \Ibexa\Contracts\Core\Repository\Values\User\Policy` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforeDeleteRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft)` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforeDeleteRoleEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role)` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforePublishRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft)` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforeRemovePolicyByRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policyDraft)` +- `public function getPolicyDraft(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function getUpdatedRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function hasUpdatedRoleDraft(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedRoleDraft(RoleDraft|null $updatedRoleDraft): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforeRemoveRoleAssignmentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment $roleAssignment)` +- `public function getRoleAssignment(): \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforeUpdatePolicyByRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policy, \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct $policyUpdateStruct)` +- `public function getPolicy(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` +- `public function getPolicyUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function getUpdatedPolicyDraft(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` +- `public function hasUpdatedPolicyDraft(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedPolicyDraft(PolicyDraft|null $updatedPolicyDraft): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\BeforeUpdateRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct $roleUpdateStruct)` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function getRoleUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct` +- `public function getUpdatedRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function hasUpdatedRoleDraft(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedRoleDraft(RoleDraft|null $updatedRoleDraft): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\CopyRoleEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $copiedRole, \Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct $roleCopyStruct)` +- `public function getCopiedRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function getRoleCopyStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\CreateRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\Role $role)` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\CreateRoleEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct $roleCreateStruct)` +- `public function getRoleCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\DeletePolicyEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Policy $policy)` +- `public function getPolicy(): \Ibexa\Contracts\Core\Repository\Values\User\Policy` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\DeleteRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft)` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\DeleteRoleEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role)` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\PublishRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft)` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\RemovePolicyByRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $updatedRoleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policyDraft)` +- `public function getPolicyDraft(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function getUpdatedRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\RemoveRoleAssignmentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment $roleAssignment)` +- `public function getRoleAssignment(): \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\UpdatePolicyByRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $updatedPolicyDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policy, \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct $policyUpdateStruct)` +- `public function getPolicy(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` +- `public function getPolicyUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function getUpdatedPolicyDraft(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Role\UpdateRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $updatedRoleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct $roleUpdateStruct)` +- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function getRoleUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct` +- `public function getUpdatedRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Section\AssignSectionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Section\AssignSectionToSubtreeEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Section\BeforeAssignSectionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section)` +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Section\BeforeAssignSectionToSubtreeEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Section\BeforeCreateSectionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct $sectionCreateStruct)` +- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function getSectionCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct` +- `public function hasSection(): bool` +- `public function isPropagationStopped(): bool` +- `public function setSection(Section|null $section): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Section\BeforeDeleteSectionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section)` +- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Section\BeforeUpdateSectionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section, \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct $sectionUpdateStruct)` +- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function getSectionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct` +- `public function getUpdatedSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function hasUpdatedSection(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedSection(Section|null $updatedSection): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Section\CreateSectionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section, \Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct $sectionCreateStruct)` +- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function getSectionCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Section\DeleteSectionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section)` +- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Section\UpdateSectionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Section $updatedSection, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section, \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct $sectionUpdateStruct)` +- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function getSectionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct` +- `public function getUpdatedSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Setting\BeforeCreateSettingEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct $settingCreateStruct)` +- `public function getSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` +- `public function getSettingCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct` +- `public function hasSetting(): bool` +- `public function isPropagationStopped(): bool` +- `public function setSetting(Setting|null $setting): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Setting\BeforeDeleteSettingEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting)` +- `public function getSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Setting\BeforeUpdateSettingEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting, \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct $settingUpdateStruct)` +- `public function getSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` +- `public function getSettingUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct` +- `public function getUpdatedSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` +- `public function hasUpdatedSetting(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedSetting(Setting|null $updatedSetting): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Setting\CreateSettingEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting, \Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct $settingCreateStruct)` +- `public function getSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` +- `public function getSettingCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Setting\DeleteSettingEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting)` +- `public function getSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Setting\UpdateSettingEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $updatedSetting, \Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting, \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct $settingUpdateStruct)` +- `public function getSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` +- `public function getSettingUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct` +- `public function getUpdatedSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Token\BeforeCheckTokenEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(string $tokenType, string $token[, string|null $identifier = null ])` +- `public function getIdentifier(): string|null` +- `public function getResult(): bool` +- `public function getToken(): string` +- `public function getTokenType(): string` +- `public function hasResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResult(bool|null $result): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Token\BeforeDeleteTokenEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token)` +- `public function getToken(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Token\BeforeGenerateTokenEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(string $type, int $ttl[, string|null $identifier = null ][, int $tokenLength = 64 ][, TokenGeneratorInterface|null $tokenGenerator = null ])` +- `public function getIdentifier(): string|null` +- `public function getToken(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` +- `public function getTokenGenerator(): \Ibexa\Contracts\Core\Token\TokenGeneratorInterface|null` +- `public function getTokenLength(): int` +- `public function getTokenType(): string` +- `public function getTtl(): int` +- `public function hasToken(): bool` +- `public function isPropagationStopped(): bool` +- `public function setToken(Token|null $token): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Token\BeforeGetTokenEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(string $tokenType, string $token[, string|null $identifier = null ])` +- `public function getIdentifier(): string|null` +- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` +- `public function getToken(): string` +- `public function getTokenType(): string` +- `public function hasResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResult(Token|null $result): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Token\BeforeRevokeTokenByIdentifierEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(string $tokenType, string|null $identifier)` +- `public function getIdentifier(): string|null` +- `public function getTokenType(): string` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Token\BeforeRevokeTokenEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token)` +- `public function getToken(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Token\CheckTokenEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(bool $result, string $tokenType, string $token[, string|null $identifier = null ])` +- `public function getIdentifier(): string|null` +- `public function getResult(): bool` +- `public function getToken(): string` +- `public function getTokenType(): string` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Token\DeleteTokenEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token)` +- `public function getToken(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Token\GenerateTokenEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token, string $tokenType, int $ttl[, string|null $identifier = null ][, int $tokenLength = 64 ][, TokenGeneratorInterface|null $tokenGenerator = null ])` +- `public function getIdentifier(): string|null` +- `public function getToken(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` +- `public function getTokenGenerator(): \Ibexa\Contracts\Core\Token\TokenGeneratorInterface|null` +- `public function getTokenLength(): int` +- `public function getTokenType(): string` +- `public function getTtl(): int` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Token\GetTokenEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Token\Token $result, string $tokenType, string $token[, string|null $identifier = null ])` +- `public function getIdentifier(): string|null` +- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` +- `public function getToken(): string` +- `public function getTokenType(): string` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Token\RevokeTokenByIdentifierEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(string $tokenType, string|null $identifier)` +- `public function getIdentifier(): string|null` +- `public function getTokenType(): string` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Token\RevokeTokenEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token)` +- `public function getToken(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Trash\BeforeDeleteTrashItemEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem)` +- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult` +- `public function getTrashItem(): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem` +- `public function hasResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResult(TrashItemDeleteResult|null $result): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Trash\BeforeEmptyTrashEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct()` +- `public function getResultList(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList` +- `public function hasResultList(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultList(TrashItemDeleteResultList|null $resultList): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Trash\BeforeRecoverEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem[, Location|null $newParentLocation = null ])` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getNewParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` +- `public function getTrashItem(): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem` +- `public function hasLocation(): bool` +- `public function isPropagationStopped(): bool` +- `public function setLocation(Location|null $location): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Trash\BeforeTrashEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem|null` +- `public function hasTrashItem(): bool` +- `public function isPropagationStopped(): bool` +- `public function isResultSet(): bool` +- `public function resetResult(): void` +- `public function setResult(TrashItem|null $result): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Trash\DeleteTrashItemEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult $result, \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem)` +- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult` +- `public function getTrashItem(): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Trash\EmptyTrashEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList $resultList)` +- `public function getResultList(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Trash\RecoverEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem[, Location|null $newParentLocation = null ])` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getNewParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` +- `public function getTrashItem(): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\Trash\TrashEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(TrashItem|null $trashItem, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getTrashItem(): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem|null` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLAlias\BeforeCreateGlobalUrlAliasEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(string $resource, string $path, string $languageCode, bool $forwarding, bool $alwaysAvailable)` +- `public function getAlwaysAvailable(): bool` +- `public function getForwarding(): bool` +- `public function getLanguageCode(): string` +- `public function getPath(): string` +- `public function getResource(): string` +- `public function getUrlAlias(): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` +- `public function hasUrlAlias(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUrlAlias(URLAlias|null $urlAlias): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLAlias\BeforeCreateUrlAliasEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, string $path, string $languageCode, bool $forwarding, bool $alwaysAvailable)` +- `public function getAlwaysAvailable(): bool` +- `public function getForwarding(): bool` +- `public function getLanguageCode(): string` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getPath(): string` +- `public function getUrlAlias(): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` +- `public function hasUrlAlias(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUrlAlias(URLAlias|null $urlAlias): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLAlias\BeforeRefreshSystemUrlAliasesForLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLAlias\BeforeRemoveAliasesEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(array $aliasList)` +- `public function getAliasList(): array` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLAlias\CreateGlobalUrlAliasEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLAlias $urlAlias, mixed $resource, mixed $path, mixed $languageCode, mixed $forwarding, mixed $alwaysAvailable)` +- `public function getAlwaysAvailable(): bool` +- `public function getForwarding(): bool` +- `public function getLanguageCode(): string` +- `public function getPath(): string` +- `public function getResource(): string` +- `public function getUrlAlias(): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLAlias\CreateUrlAliasEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLAlias $urlAlias, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location, mixed $path, mixed $languageCode, mixed $forwarding, mixed $alwaysAvailable)` +- `public function getAlwaysAvailable(): bool` +- `public function getForwarding(): bool` +- `public function getLanguageCode(): string` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getPath(): string` +- `public function getUrlAlias(): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLAlias\RefreshSystemUrlAliasesForLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLAlias\RemoveAliasesEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(array $aliasList)` +- `public function getAliasList(): array` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLWildcard\BeforeCreateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(string $sourceUrl, string $destinationUrl, bool $forward)` +- `public function getDestinationUrl(): string` +- `public function getForward(): bool` +- `public function getSourceUrl(): string` +- `public function getUrlWildcard(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` +- `public function hasUrlWildcard(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUrlWildcard(URLWildcard|null $urlWildcard): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLWildcard\BeforeRemoveEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard)` +- `public function getUrlWildcard(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLWildcard\BeforeTranslateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(string $url)` +- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardTranslationResult` +- `public function getUrl(): string` +- `public function hasResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResult(URLWildcardTranslationResult|null $result): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLWildcard\BeforeUpdateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard, \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct $updateStruct)` +- `public function getUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct` +- `public function getUrlWildcard(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLWildcard\CreateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard, string $sourceUrl, string $destinationUrl, bool $forward)` +- `public function getDestinationUrl(): string` +- `public function getForward(): bool` +- `public function getSourceUrl(): string` +- `public function getUrlWildcard(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLWildcard\RemoveEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard)` +- `public function getUrlWildcard(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLWildcard\TranslateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardTranslationResult $result, mixed $url)` +- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardTranslationResult` +- `public function getUrl(): string` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URLWildcard\UpdateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard, \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct $updateStruct)` +- `public function getUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct` +- `public function getUrlWildcard(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URL\BeforeUpdateUrlEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\URL\URL $url, \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct $struct)` +- `public function getStruct(): \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct` +- `public function getUpdatedUrl(): \Ibexa\Contracts\Core\Repository\Values\URL\URL` +- `public function getUrl(): \Ibexa\Contracts\Core\Repository\Values\URL\URL` +- `public function hasUpdatedUrl(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedUrl(URL|null $updatedUrl): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\URL\UpdateUrlEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\URL\URL $updatedUrl, \Ibexa\Contracts\Core\Repository\Values\URL\URL $url, \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct $struct)` +- `public function getStruct(): \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct` +- `public function getUpdatedUrl(): \Ibexa\Contracts\Core\Repository\Values\URL\URL` +- `public function getUrl(): \Ibexa\Contracts\Core\Repository\Values\URL\URL` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\UserPreference\BeforeSetUserPreferenceEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(array $userPreferenceSetStructs)` +- `public function getUserPreferenceSetStructs(): array` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\UserPreference\SetUserPreferenceEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(array $userPreferenceSetStructs)` +- `public function getUserPreferenceSetStructs(): array` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\AssignUserToUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup)` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\BeforeAssignUserToUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup)` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\BeforeCreateUserEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct $userCreateStruct, array $parentGroups)` +- `public function getParentGroups(): array` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUserCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct` +- `public function hasUser(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUser(User|null $user): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\BeforeCreateUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct $userGroupCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $parentGroup)` +- `public function getParentGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function getUserGroupCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct` +- `public function hasUserGroup(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUserGroup(UserGroup|null $userGroup): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\BeforeDeleteUserEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user)` +- `public function getLocations(): array` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function hasLocations(): bool` +- `public function isPropagationStopped(): bool` +- `public function setLocations(array|null $locations): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\BeforeDeleteUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup)` +- `public function getLocations(): array` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function hasLocations(): bool` +- `public function isPropagationStopped(): bool` +- `public function setLocations(array|null $locations): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\BeforeMoveUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $newParent)` +- `public function getNewParent(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\BeforeUnAssignUserFromUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup)` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\BeforeUpdateUserEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct $userUpdateStruct)` +- `public function getUpdatedUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUserUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct` +- `public function hasUpdatedUser(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedUser(User|null $updatedUser): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\BeforeUpdateUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct $userGroupUpdateStruct)` +- `public function getUpdatedUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function getUserGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct` +- `public function hasUpdatedUserGroup(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedUserGroup(UserGroup|null $updatedUserGroup): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\BeforeUpdateUserPasswordEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $newPassword)` +- `public function getNewPassword(): string` +- `public function getUpdatedUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function hasUpdatedUser(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedUser(User|null $updatedUser): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\BeforeUpdateUserTokenEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct $userTokenUpdateStruct)` +- `public function getUpdatedUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUserTokenUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct` +- `public function hasUpdatedUser(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedUser(User|null $updatedUser): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\CreateUserEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct $userCreateStruct, array $parentGroups)` +- `public function getParentGroups(): array` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUserCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\CreateUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct $userGroupCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $parentGroup)` +- `public function getParentGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function getUserGroupCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\DeleteUserEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(array $locations, \Ibexa\Contracts\Core\Repository\Values\User\User $user)` +- `public function getLocations(): array` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\DeleteUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(array $locations, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup)` +- `public function getLocations(): array` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\MoveUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $newParent)` +- `public function getNewParent(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\UnAssignUserFromUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup)` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\UpdateUserEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $updatedUser, \Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct $userUpdateStruct)` +- `public function getUpdatedUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUserUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\UpdateUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $updatedUserGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct $userGroupUpdateStruct)` +- `public function getUpdatedUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function getUserGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\UpdateUserPasswordEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $updatedUser, \Ibexa\Contracts\Core\Repository\Values\User\User $user, string $newPassword)` +- `public function getNewPassword(): string` +- `public function getUpdatedUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Events\User\UpdateUserTokenEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $updatedUser, \Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct $userTokenUpdateStruct)` +- `public function getUpdatedUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getUserTokenUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Core\Repository\Exceptions\ContentFieldValidationException extends Ibexa\Contracts\Core\Repository\Exceptions\ForbiddenException + +- `public function abstract getFieldErrors(): array>>` + +## Ibexa\Contracts\Core\Repository\Exceptions\ContentTypeFieldDefinitionValidationException extends Ibexa\Contracts\Core\Repository\Exceptions\ForbiddenException + +- `public function abstract getFieldErrors(): array>` + +## Ibexa\Contracts\Core\Repository\Exceptions\InvalidCriterionArgumentException extends Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException + +- `public function __construct(string|int $key, mixed $criterion, string $expectedCriterionFQCN)` + +## Ibexa\Contracts\Core\Repository\Exceptions\InvalidVariationException extends Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException + +- `public function __construct(string $variationName, string $variationType[, int $code = 0 ][, Throwable|null $previous = null ])` + +## Ibexa\Contracts\Core\Repository\Exceptions\LimitationValidationException extends Ibexa\Contracts\Core\Repository\Exceptions\ForbiddenException + +- `public function abstract getLimitationErrors(): array` + +## Ibexa\Contracts\Core\Repository\Exceptions\NotImplementedException extends Ibexa\Contracts\Core\Repository\Exceptions\ForbiddenException + +- `public function __construct(string $feature[, int $code = 0 ][, Throwable|null $previous = null ])` + +## Ibexa\Contracts\Core\Repository\Exceptions\PasswordInUnsupportedFormatException extends Symfony\Component\Security\Core\Exception\AuthenticationException + +- `public function __construct([Throwable|null $previous = null ])` + +## Ibexa\Contracts\Core\Repository\Exceptions\PropertyNotFoundException extends Exception implements Ibexa\Contracts\Core\Repository\Exceptions\Exception + +- `public function __construct(string $propertyName[, string|null $className = null ][, Throwable|null $previous = null ])` + +## Ibexa\Contracts\Core\Repository\Exceptions\PropertyReadOnlyException extends Exception implements Ibexa\Contracts\Core\Repository\Exceptions\Exception + +- `public function __construct(string $propertyName[, string|null $className = null ][, Throwable|null $previous = null ])` + +## Ibexa\Contracts\Core\Repository\FieldType + +- `public function fieldSettingsFromHash(array|scalar|null $fieldSettingsHash): mixed` +- `public function fieldSettingsToHash(mixed $fieldSettings): array|scalar|null` +- `public function fromHash(mixed $hash): mixed` +- `public function getEmptyValue(): mixed` +- `public function getFieldTypeIdentifier(): string` +- `public function getName(\Ibexa\Contracts\Core\FieldType\Value $value, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, string $languageCode): string` +- `public function getSettingsSchema(): mixed` +- `public function getValidatorConfigurationSchema(): mixed` +- `public function isEmptyValue(mixed $value): bool` +- `public function isSearchable(): bool` +- `public function isSingular(): bool` +- `public function onlyEmptyInstance(): bool` +- `public function toHash(mixed $value): mixed` +- `public function validateFieldSettings(mixed $fieldSettings): array` +- `public function validateValidatorConfiguration(mixed $validatorConfiguration): array` +- `public function validateValue(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDef, \Ibexa\Contracts\Core\FieldType\Value $value): array` +- `public function validatorConfigurationFromHash(array|scalar|null $validatorConfigurationHash): mixed` +- `public function validatorConfigurationToHash(mixed $validatorConfiguration): array|scalar|null` + +## Ibexa\Contracts\Core\Repository\FieldTypeService + +- `public function getFieldType(string $identifier): \Ibexa\Contracts\Core\Repository\FieldType` +- `public function getFieldTypes(): array` +- `public function hasFieldType(string $identifier): bool` + +## Ibexa\Contracts\Core\Repository\Iterator\BatchIterator implements Iterator + +- `public function current(): mixed` +- `public function key(): int` +- `public function next(): void` +- `public function rewind(): void` +- `public function setBatchSize(int $batchSize): void` +- `public function valid(): bool` +- `public const mixed DEFAULT_BATCH_SIZE = 25` + +## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\AbstractSearchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function fetch(int $offset, int $limit): \Iterator` +- `protected function abstract executeSearch(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` + +## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\ContentFilteringAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\Core\Repository\ContentService $contentService, \Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array|null $languages = null ])` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\ContentInfoSearchAdapter extends Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\AbstractSearchAdapter + +- `public function fetch(int $offset, int $limit): \Iterator` +- `protected function executeSearch(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` + +## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\ContentSearchAdapter extends Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\AbstractSearchAdapter + +- `public function fetch(int $offset, int $limit): \Iterator` +- `protected function executeSearch(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` + +## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\LocationFilteringAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\Core\Repository\LocationService $locationService, \Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array|null $languages = null ])` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\LocationSearchAdapter extends Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\AbstractSearchAdapter + +- `public function fetch(int $offset, int $limit): \Iterator` +- `protected function executeSearch(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` + +## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\RelationListIteratorAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\Core\Repository\ContentService $contentService, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, RelationType|null $relationType = null ])` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\Core\Repository\LanguageResolver + +- `public function getPrioritizedLanguages([array|null $forcedLanguages = null ]): array` +- `public function getShowAllTranslations([bool|null $forcedShowAllTranslations = null ]): bool` +- `public function getUseAlwaysAvailable([bool|null $forcedUseAlwaysAvailable = null ]): bool` +- `public function setContextLanguage(string|null $contextLanguage): void` +- `public function setDefaultUseAlwaysAvailable(bool $defaultUseAlwaysAvailable): void` +- `public function setShowAllTranslations(bool $defaultShowAllTranslations): void` + +## Ibexa\Contracts\Core\Repository\LanguageService + +- `public function createLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct $languageCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function deleteLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): void` +- `public function disableLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function enableLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getDefaultLanguageCode(): string` +- `public function loadLanguage(string $languageCode): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function loadLanguageById(int $languageId): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function loadLanguageListByCode(array $languageCodes): array` +- `public function loadLanguageListById(array $languageIds): iterable` +- `public function loadLanguages(): array` +- `public function newLanguageCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct` +- `public function updateLanguageName(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language, string $newName): \Ibexa\Contracts\Core\Repository\Values\Content\Language` + +## Ibexa\Contracts\Core\Repository\Lists\UnauthorizedListItem + +- `public function __construct(string $module, string $function, array $payload)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getPayload(): array` + +## Ibexa\Contracts\Core\Repository\LocationService + +- `public function copySubtree(\Ibexa\Contracts\Core\Repository\Values\Content\Location $subtree, \Ibexa\Contracts\Core\Repository\Values\Content\Location $targetParentLocation): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function count(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array|null $languages = null ]): int` +- `public function createLocation(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $locationCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function deleteLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` +- `public function find(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array|null $languages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\LocationList` +- `public function getAllLocationsCount(): int` +- `public function getLocationChildCount(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): int` +- `public function getSubtreeSize(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): int` +- `public function hideLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function loadAllLocations([int $offset = 0 ][, int $limit = 25 ]): array` +- `public function loadLocation(mixed $locationId[, array|null $prioritizedLanguages = null ][, bool|null $useAlwaysAvailable = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function loadLocationByRemoteId(string $remoteId[, array|null $prioritizedLanguages = null ][, bool|null $useAlwaysAvailable = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function loadLocationChildren(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, int $offset = 0 ][, int $limit = 25 ][, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\LocationList` +- `public function loadLocationList(array $locationIds[, array|null $prioritizedLanguages = null ][, bool|null $useAlwaysAvailable = null ]): array|iterable` +- `public function loadLocations(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, \Ibexa\Contracts\Core\Repository\Values\Content\Location $rootLocation = null ][, array|null $prioritizedLanguages = null ]): array` +- `public function loadParentLocationsForDraftContent(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, array|null $prioritizedLanguages = null ]): array` +- `public function moveSubtree(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Location $newParentLocation): void` +- `public function newLocationCreateStruct(mixed $parentLocationId): \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct` +- `public function newLocationUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct` +- `public function swapLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location1, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location2): void` +- `public function unhideLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function updateLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct $locationUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Location` + +## Ibexa\Contracts\Core\Repository\NameSchema\SchemaIdentifierExtractorInterface + +- `public function extract(string $schemaString): array>` + +## Ibexa\Contracts\Core\Repository\NotificationService + +- `public function createNotification(\Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct $createStruct): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` +- `public function deleteNotification(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` +- `public function findNotifications([NotificationQuery|null $query = null ]): \Ibexa\Contracts\Core\Repository\Values\Notification\NotificationList` +- `public function getNotification(int $notificationId): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` +- `public function getNotificationCount([NotificationQuery|null $query = null ]): int` +- `public function getPendingNotificationCount(): int` +- `public function loadNotifications(int $offset, int $limit): \Ibexa\Contracts\Core\Repository\Values\Notification\NotificationList` +- `public function markNotificationAsRead(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` +- `public function markNotificationAsUnread(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` +- `public function markUserNotificationsAsRead([array $notificationIds = [] ]): void` + +## Ibexa\Contracts\Core\Repository\ObjectStateService + +- `public function createObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct $objectStateCreateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function createObjectStateGroup(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct $objectStateGroupCreateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function deleteObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState): void` +- `public function deleteObjectStateGroup(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup): void` +- `public function getContentCount(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState): int` +- `public function getContentState(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function loadObjectState(mixed $stateId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function loadObjectStateByIdentifier(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, string $objectStateIdentifier[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function loadObjectStateGroup(mixed $objectStateGroupId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function loadObjectStateGroupByIdentifier(string $objectStateGroupIdentifier[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `public function loadObjectStateGroups([int $offset = 0 ][, int $limit = -1 ][, array $prioritizedLanguages = [] ]): array` +- `public function loadObjectStates(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup[, array $prioritizedLanguages = [] ]): array` +- `public function newObjectStateCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct` +- `public function newObjectStateGroupCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct` +- `public function newObjectStateGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct` +- `public function newObjectStateUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct` +- `public function setContentState(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState): void` +- `public function setPriorityOfObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, int $priority): void` +- `public function updateObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct $objectStateUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` +- `public function updateObjectStateGroup(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct $objectStateGroupUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` + +## Ibexa\Contracts\Core\Repository\PasswordHashService + +- `public function createPasswordHash(string $plainPassword[, int|null $hashType = null ]): string` +- `public function getDefaultHashType(): int` +- `public function getSupportedHashTypes(): array` +- `public function isHashTypeSupported(int $hashType): bool` +- `public function isValidPassword(string $plainPassword, string $passwordHash[, int|null $hashType = null ]): bool` + +## Ibexa\Contracts\Core\Repository\PermissionCriterionResolver + +- `public function getPermissionsCriterion([string $module = 'content' ][, string $function = 'read' ][, array|null $targets = null ]): bool|CriterionInterface` +- `public function getQueryPermissionsCriterion(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface` + +## Ibexa\Contracts\Core\Repository\PermissionResolver + +- `public function canUser(string $module, string $function, object $object[, array $targets = [] ]): bool` +- `public function getCurrentUserReference(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` +- `public function hasAccess(string $module, string $function[, UserReference|null $userReference = null ]): bool|array` +- `public function lookupLimitations(string $module, string $function, object $object[, array $targets = [] ][, array $limitationsIdentifiers = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\LookupLimitationResult` +- `public function setCurrentUserReference(\Ibexa\Contracts\Core\Repository\Values\User\UserReference $userReference): void` + +## Ibexa\Contracts\Core\Repository\PermissionService extends Ibexa\Contracts\Core\Repository\PermissionResolver + +- `public function canUser(string $module, string $function, object $object[, array $targets = [] ]): bool` +- `public function getCurrentUserReference(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` +- `public function getPermissionsCriterion([string $module = 'content' ][, string $function = 'read' ][, array|null $targets = null ]): bool|CriterionInterface` +- `public function getQueryPermissionsCriterion(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface` +- `public function hasAccess(string $module, string $function[, UserReference|null $userReference = null ]): bool|array` +- `public function lookupLimitations(string $module, string $function, object $object[, array $targets = [] ][, array $limitationsIdentifiers = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\LookupLimitationResult` +- `public function setCurrentUserReference(\Ibexa\Contracts\Core\Repository\Values\User\UserReference $userReference): void` + +## Ibexa\Contracts\Core\Repository\Repository + +- `public function beginTransaction(): void` +- `public function commit(): void` +- `public function getBookmarkService(): \Ibexa\Contracts\Core\Repository\BookmarkService` +- `public function getContentLanguageService(): \Ibexa\Contracts\Core\Repository\LanguageService` +- `public function getContentService(): \Ibexa\Contracts\Core\Repository\ContentService` +- `public function getContentTypeService(): \Ibexa\Contracts\Core\Repository\ContentTypeService` +- `public function getFieldTypeService(): \Ibexa\Contracts\Core\Repository\FieldTypeService` +- `public function getLocationService(): \Ibexa\Contracts\Core\Repository\LocationService` +- `public function getNotificationService(): \Ibexa\Contracts\Core\Repository\NotificationService` +- `public function getObjectStateService(): \Ibexa\Contracts\Core\Repository\ObjectStateService` +- `public function getPermissionResolver(): \Ibexa\Contracts\Core\Repository\PermissionResolver` +- `public function getRoleService(): \Ibexa\Contracts\Core\Repository\RoleService` +- `public function getSearchService(): \Ibexa\Contracts\Core\Repository\SearchService` +- `public function getSectionService(): \Ibexa\Contracts\Core\Repository\SectionService` +- `public function getTrashService(): \Ibexa\Contracts\Core\Repository\TrashService` +- `public function getURLAliasService(): \Ibexa\Contracts\Core\Repository\URLAliasService` +- `public function getURLService(): \Ibexa\Contracts\Core\Repository\URLService` +- `public function getURLWildcardService(): \Ibexa\Contracts\Core\Repository\URLWildcardService` +- `public function getUserPreferenceService(): \Ibexa\Contracts\Core\Repository\UserPreferenceService` +- `public function getUserService(): \Ibexa\Contracts\Core\Repository\UserService` +- `public function rollback(): void` +- `public function sudo(callable $callback[, Repository|null $outerRepository = null ]): \Ibexa\Contracts\Core\Repository\T` + +## Ibexa\Contracts\Core\Repository\RoleService + +- `public function addPolicyByRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct $policyCreateStruct): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function assignRoleToUser(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\User $user[, RoleLimitation|null $roleLimitation = null ]): void` +- `public function assignRoleToUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, RoleLimitation|null $roleLimitation = null ]): void` +- `public function copyRole(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct $roleCopyStruct): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function countRoleAssignments(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): int` +- `public function createRole(\Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct $roleCreateStruct): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function createRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function deleteRole(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): void` +- `public function deleteRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft): void` +- `public function getLimitationType(string $identifier): \Ibexa\Contracts\Core\Limitation\Type` +- `public function getLimitationTypesByModuleFunction(string $module, string $function): array` +- `public function getRoleAssignments(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): array` +- `public function getRoleAssignmentsForUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user[, bool $inherited = false ]): array|array` +- `public function getRoleAssignmentsForUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): array` +- `public function loadRole(int $id): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function loadRoleAssignment(int $roleAssignmentId): \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment` +- `public function loadRoleAssignments(\Ibexa\Contracts\Core\Repository\Values\User\Role $role[, int $offset = 0 ][, int|null $limit = null ]): array` +- `public function loadRoleByIdentifier(string $identifier): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function loadRoleDraft(int $id): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function loadRoleDraftByRoleId(int $roleId): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function loadRoles(): array` +- `public function newPolicyCreateStruct(string $module, string $function): \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct` +- `public function newPolicyUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct` +- `public function newRoleCopyStruct(string $name): \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct` +- `public function newRoleCreateStruct(string $name): \Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct` +- `public function newRoleUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct` +- `public function publishRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft): void` +- `public function removePolicyByRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policyDraft): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` +- `public function removeRoleAssignment(\Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment $roleAssignment): void` +- `public function updatePolicyByRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policy, \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct $policyUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` +- `public function updateRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct $roleUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` + +## Ibexa\Contracts\Core\Repository\SearchService + +- `public function findContentInfo(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query[, array|array $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` +- `public function findLocations(\Ibexa\Contracts\Core\Repository\Values\Content\LocationQuery $query[, array|array $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` +- `public function findSingle(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion $filter[, array|array $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function suggest(string $prefix[, array $fieldPaths = [] ][, int $limit = 10 ][, CriterionInterface|null $filter = null ]): mixed` +- `public function supports(int $capabilityFlag): bool` +- `public const mixed CAPABILITY_ADVANCED_FULLTEXT = 64` +- `public const mixed CAPABILITY_AGGREGATIONS = 128` +- `public const mixed CAPABILITY_CUSTOM_FIELDS = 4` +- `public const mixed CAPABILITY_SCORING = 1` +- `public const mixed CAPABILITY_SPELLCHECK = 8` +- `public const mixed CAPABILITY_SUGGEST = 32` + +## Ibexa\Contracts\Core\Repository\SectionService + +- `public function assignSection(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section): void` +- `public function assignSectionToSubtree(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section): void` +- `public function countAssignedContents(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section): int` +- `public function createSection(\Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct $sectionCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function deleteSection(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section): void` +- `public function isSectionUsed(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section): bool` +- `public function loadSection(int $sectionId): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function loadSectionByIdentifier(string $sectionIdentifier): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function loadSections(): array` +- `public function newSectionCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct` +- `public function newSectionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct` +- `public function updateSection(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section, \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct $sectionUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Section` + +## Ibexa\Contracts\Core\Repository\SettingService + +- `public function createSetting(\Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct $settingCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` +- `public function deleteSetting(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting): void` +- `public function loadSetting(string $group, string $identifier): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` +- `public function newSettingCreateStruct([array $properties = [] ]): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct` +- `public function newSettingUpdateStruct([array $properties = [] ]): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct` +- `public function updateSetting(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting, \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct $settingUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` + +## Ibexa\Contracts\Core\Repository\Strategy\ContentThumbnail\Field\FieldTypeBasedThumbnailStrategy extends Ibexa\Contracts\Core\Repository\Strategy\ContentThumbnail\Field\ThumbnailStrategy + +- `public function getFieldTypeIdentifier(): string` +- `public function getThumbnail(\Ibexa\Contracts\Core\Repository\Values\Content\Field $field[, VersionInfo|null $versionInfo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` + +## Ibexa\Contracts\Core\Repository\Strategy\ContentThumbnail\Field\ThumbnailStrategy + +- `public function getThumbnail(\Ibexa\Contracts\Core\Repository\Values\Content\Field $field[, VersionInfo|null $versionInfo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` + +## Ibexa\Contracts\Core\Repository\Strategy\ContentThumbnail\ThumbnailStrategy + +- `public function getThumbnail(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, array $fields[, VersionInfo|null $versionInfo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` + +## Ibexa\Contracts\Core\Repository\TokenService + +- `public function checkToken(string $tokenType, string $token[, string|null $identifier = null ]): bool` +- `public function deleteToken(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token): void` +- `public function generateToken(string $type, int $ttl[, string|null $identifier = null ][, int $tokenLength = 64 ][, TokenGeneratorInterface|null $tokenGenerator = null ]): \Ibexa\Contracts\Core\Repository\Values\Token\Token` +- `public function getToken(string $tokenType, string $token[, string|null $identifier = null ]): \Ibexa\Contracts\Core\Repository\Values\Token\Token` +- `public function revokeToken(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token): void` +- `public function revokeTokenByIdentifier(string $tokenType, string|null $identifier): void` + +## Ibexa\Contracts\Core\Repository\Translatable + +- `public function getTranslatableMessage(): \Ibexa\Contracts\Core\Repository\Values\Translation` + +## Ibexa\Contracts\Core\Repository\TranslationService + +- `public function translate(\Ibexa\Contracts\Core\Repository\Values\Translation $translation, string $locale): string` +- `public function translateString(string $translation, string $locale): string` + +## Ibexa\Contracts\Core\Repository\TrashService + +- `public function deleteTrashItem(\Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult` +- `public function emptyTrash(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList` +- `public function findTrashItems(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\SearchResult` +- `public function loadTrashItem(int $trashItemId): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem` +- `public function recover(\Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem[, \Ibexa\Contracts\Core\Repository\Values\Content\Location $newParentLocation = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function trash(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem|null` + +## Ibexa\Contracts\Core\Repository\URLAliasService + +- `public function createGlobalUrlAlias(string $resource, string $path, string $languageCode[, bool $forwarding = false ][, bool $alwaysAvailable = false ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` +- `public function createUrlAlias(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, string $path, string $languageCode[, bool $forwarding = false ][, bool $alwaysAvailable = false ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` +- `public function deleteCorruptedUrlAliases(): int` +- `public function listGlobalAliases([string|null $languageCode = null ][, int $offset = 0 ][, int $limit = -1 ]): array` +- `public function listLocationAliases(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, bool $custom = true ][, string|null $languageCode = null ][, bool|null $showAllTranslations = null ][, array|null $prioritizedLanguages = null ]): array` +- `public function load(string $id): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` +- `public function lookup(string $url[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` +- `public function refreshSystemUrlAliasesForLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` +- `public function removeAliases(array $aliasList): void` +- `public function reverseLookup(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, string|null $languageCode = null ][, bool|null $showAllTranslations = null ][, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` + +## Ibexa\Contracts\Core\Repository\URLService + +- `public function createUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct` +- `public function findUrls(\Ibexa\Contracts\Core\Repository\Values\URL\URLQuery $query): \Ibexa\Contracts\Core\Repository\Values\URL\SearchResult` +- `public function findUsages(\Ibexa\Contracts\Core\Repository\Values\URL\URL $url[, int $offset = 0 ][, int $limit = -1 ]): \Ibexa\Contracts\Core\Repository\Values\URL\UsageSearchResult` +- `public function loadById(int $id): \Ibexa\Contracts\Core\Repository\Values\URL\URL` +- `public function loadByUrl(string $url): \Ibexa\Contracts\Core\Repository\Values\URL\URL` +- `public function updateUrl(\Ibexa\Contracts\Core\Repository\Values\URL\URL $url, \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct $struct): \Ibexa\Contracts\Core\Repository\Values\URL\URL` + +## Ibexa\Contracts\Core\Repository\URLWildcardService + +- `public function countAll(): int` +- `public function create(string $sourceUrl, string $destinationUrl[, bool $forward = false ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` +- `public function findUrlWildcards(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\URLWildcardQuery $query): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\SearchResult` +- `public function load(int $id): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` +- `public function loadAll([int $offset = 0 ][, int $limit = -1 ]): array` +- `public function remove(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard): void` +- `public function translate(string $url): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardTranslationResult` +- `public function update(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard, \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct $updateStruct): void` + +## Ibexa\Contracts\Core\Repository\UserPreferenceService + +- `public function getUserPreference(string $userPreferenceName): \Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreference` +- `public function getUserPreferenceCount(): int` +- `public function loadUserPreferences([int $offset = 0 ][, int $limit = 25 ]): \Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreferenceList` +- `public function setUserPreference(array $userPreferenceSetStructs): void` + +## Ibexa\Contracts\Core\Repository\UserService + +- `public function assignUserToUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): void` +- `public function checkUserCredentials(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $credentials): bool` +- `public function createUser(\Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct $userCreateStruct, array $parentGroups): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function createUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct $userGroupCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $parentGroup): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function deleteUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): array` +- `public function deleteUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): array` +- `public function expireUserToken(string $hash): void` +- `public function getPasswordInfo(\Ibexa\Contracts\Core\Repository\Values\User\User $user): \Ibexa\Contracts\Core\Repository\Values\User\PasswordInfo` +- `public function isUser(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` +- `public function isUserGroup(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` +- `public function loadSubUserGroups(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, int $offset = 0 ][, int $limit = 25 ][, array $prioritizedLanguages = [] ]): array` +- `public function loadUser(mixed $userId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function loadUserByEmail(string $email[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function loadUserByLogin(string $login[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function loadUserByToken(string $hash[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function loadUserGroup(int $id[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function loadUserGroupByRemoteId(string $remoteId[, array $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function loadUserGroupsOfUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user[, int $offset = 0 ][, int $limit = 25 ][, array $prioritizedLanguages = [] ]): array` +- `public function loadUsersByEmail(string $email[, array $prioritizedLanguages = [] ]): array` +- `public function loadUsersOfUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, int $offset = 0 ][, int $limit = 25 ][, array $prioritizedLanguages = [] ]): array` +- `public function moveUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $newParent): void` +- `public function newUserCreateStruct(string $login, string $email, string $password, string $mainLanguageCode[, ContentType|null $contentType = null ]): \Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct` +- `public function newUserGroupCreateStruct(string $mainLanguageCode[, ContentType|null $contentType = null ]): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct` +- `public function newUserGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct` +- `public function newUserUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct` +- `public function unAssignUserFromUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): void` +- `public function updateUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct $userUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function updateUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct $userGroupUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `public function updateUserPassword(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $newPassword): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function updateUserToken(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct $userTokenUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function validatePassword(string $password[, PasswordValidationContext|null $context = null ]): array` + +## Ibexa\Contracts\Core\Repository\Validator\ContentValidator + +- `public function supports(\Ibexa\Contracts\Core\Repository\Values\ValueObject $object): bool` +- `public function validate(\Ibexa\Contracts\Core\Repository\Values\ValueObject $object[, array $context = [] ][, array|null $fieldIdentifiers = null ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Bookmark\BookmarkList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function getIterator(): \Traversable` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\MultiLanguageName, Ibexa\Contracts\Core\Repository\Values\MultiLanguageDescription + +- `public function abstract getContentTypeGroups(): array` +- `public function getFieldDefinition(string $fieldDefinitionIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition|null` +- `public function abstract getFieldDefinitions(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` +- `public function getFieldDefinitionsOfType(string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` +- `public function getFirstFieldDefinitionOfType(string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition|null` +- `public function getIdentifier(): string` +- `public function hasFieldDefinition(string $fieldDefinitionIdentifier): bool` +- `public function hasFieldDefinitionOfType(string $fieldTypeIdentifier): bool` +- `public function isContainer(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function abstract addFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDef): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft extends Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType + +- `public function abstract getContentTypeGroups(): array` +- `public function getFieldDefinition(string $fieldDefinitionIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition|null` +- `public function abstract getFieldDefinitions(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` +- `public function getFieldDefinitionsOfType(string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` +- `public function getFirstFieldDefinitionOfType(string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition|null` +- `public function getIdentifier(): string` +- `public function hasFieldDefinition(string $fieldDefinitionIdentifier): bool` +- `public function hasFieldDefinitionOfType(string $fieldTypeIdentifier): bool` +- `public function isContainer(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\MultiLanguageName, Ibexa\Contracts\Core\Repository\Values\MultiLanguageDescription + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupStruct + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupStruct + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\MultiLanguageName, Ibexa\Contracts\Core\Repository\Values\MultiLanguageDescription + +- `public function getDefaultValue(): mixed` +- `public function getFieldGroup(): string` +- `public function abstract getFieldSettings(): array` +- `public function getFieldTypeIdentifier(): string` +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getMainLanguageCode(): string` +- `public function getPosition(): int` +- `public function abstract getValidatorConfiguration(): array` +- `public function isInfoCollector(): bool` +- `public function isRequired(): bool` +- `public function isSearchable(): bool` +- `public function isThumbnail(): bool` +- `public function isTranslatable(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection extends Countable + +- `public function all(\Closure $predicate): bool` +- `public function any(\Closure $predicate): bool` +- `public function anyInGroup(string $fieldGroup): bool` +- `public function anyOfType(string $fieldTypeIdentifier): bool` +- `public function filter(\Closure $predicate): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` +- `public function filterByGroup(string $fieldGroup): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` +- `public function filterByType(string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` +- `public function first(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` +- `public function get(string $fieldDefinitionIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` +- `public function has(string $fieldDefinitionIdentifier): bool` +- `public function isEmpty(): bool` +- `public function last(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` +- `public function map(\Closure $predicate): array` +- `public function partition(\Closure $predicate): array` +- `public function toArray(): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\ContentTypeQuery + +- `public function addSortClause(\Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause $sortClause): void` +- `public function getCriterion(): \Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface|null` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getSortClauses(): array` +- `public function setCriterion(CriterionInterface|null $criterion): void` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\ContainsFieldDefinitionId implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface + +- `public function __construct(array|int $value)` +- `public function getValue(): array|int` +- `public function setValue(array|int $value): void` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\ContentTypeGroupId implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface + +- `public function __construct(array|int $value)` +- `public function getValue(): array|int` +- `public function setValue(array|int $value): void` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\ContentTypeGroupName implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface + +- `public function __construct(array|string $value)` +- `public function getValue(): array|string` +- `public function setValue(array|string $value): void` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\ContentTypeId implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface + +- `public function __construct(array|int $value)` +- `public function getValue(): array|int` +- `public function setValue(array|int $value): void` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\ContentTypeIdentifier implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface + +- `public function __construct(array|string $value)` +- `public function getValue(): array|string` +- `public function setValue(array|string $value): void` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\IsSystem implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface + +- `public function __construct([bool $value = true ])` +- `public function getValue(): bool` +- `public function setValue(bool $value): void` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalAnd extends Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalOperator + +- `public function __construct(array $criteria)` +- `public function getCriteria(): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalNot extends Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalOperator + +- `public function __construct(array $criteria)` +- `public function getCriteria(): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalOperator implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface + +- `public function __construct(array $criteria)` +- `public function getCriteria(): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalOr extends Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalOperator + +- `public function __construct(array $criteria)` +- `public function getCriteria(): array` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause + +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Id extends Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause + +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Identifier extends Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause + +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Name extends Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause + +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\Core\Repository\Values\ContentType\SearchResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function getContentTypes(): array` +- `public function getIterator(): \Traversable` +- `public function getTotalCount(): int` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Content extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function abstract getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function abstract getDefaultLanguageCode(): string` +- `public function abstract getField(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Field|null` +- `public function abstract getFields(): array` +- `public function abstract getFieldsByLanguage([string|null $languageCode = null ]): iterable` +- `public function abstract getFieldValue(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\FieldType\Value|null` +- `public function getId(): int` +- `public function getName([string|null $languageCode = null ]): string|null` +- `public function abstract getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` +- `public function abstract getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\ContentAwareInterface + +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` + +## Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentStruct + +- `public function abstract setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\ContentDraftList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function getIterator(): \Traversable` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getId(): int` +- `public function getMainLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getMainLanguageCode(): string` +- `public function getMainLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` +- `public function getMainLocationId(): int|null` +- `public function getName(): string` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` +- `public function getSectionId(): int` +- `public function isDraft(): bool` +- `public function isHidden(): bool` +- `public function isPublished(): bool` +- `public function isTrashed(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed STATUS_DRAFT = 0` +- `public const mixed STATUS_PUBLISHED = 1` +- `public const mixed STATUS_TRASHED = 2` + +## Ibexa\Contracts\Core\Repository\Values\Content\ContentList implements IteratorAggregate, Ibexa\Contracts\Core\Repository\Collections\TotalCountAwareInterface + +- `public function getIterator(): \ArrayIterator` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\ContentStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function abstract setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentStruct + +- `public function abstract setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\DraftList\ContentDraftListItemInterface + +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` +- `public function hasVersionInfo(): bool` + +## Ibexa\Contracts\Core\Repository\Values\Content\DraftList\Item\ContentDraftListItem implements Ibexa\Contracts\Core\Repository\Values\Content\DraftList\ContentDraftListItemInterface + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo)` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` +- `public function hasVersionInfo(): bool` + +## Ibexa\Contracts\Core\Repository\Values\Content\DraftList\Item\UnauthorizedContentDraftListItem implements Ibexa\Contracts\Core\Repository\Values\Content\DraftList\ContentDraftListItemInterface + +- `public function __construct(string $module, string $function, array $payload)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getPayload(): array` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` +- `public function hasVersionInfo(): bool` + +## Ibexa\Contracts\Core\Repository\Values\Content\EmbeddingQuery extends Ibexa\Contracts\Core\Repository\Values\Content\Query + +- `public function getAggregations(): array` +- `public function getEmbedding(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding|null` +- `public function getFilter(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface|null` +- `public function getLimit(): int` +- `public function getOffset(): int` +- `public function getPerformCount(): bool` +- `public function isValid(): bool` +- `public function setAggregations(array $aggregations): void` +- `public function setEmbedding([Embedding|null $embedding = null ]): void` +- `public function setFilter([CriterionInterface|null $filter = null ]): void` +- `public function setLimit(int $limit): void` +- `public function setOffset(int $offset): void` +- `public function setPerformCount(bool $performCount): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\Core\Repository\Values\Content\EmbeddingQueryBuilder + +- `public function build(): \Ibexa\Contracts\Core\Repository\Values\Content\EmbeddingQuery` +- `public function static create(): self` +- `public function setAggregations(array $aggregations): self` +- `public function setFilter(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion $filter): self` +- `public function setLimit(int $limit): self` +- `public function setOffset(int $offset): self` +- `public function setPerformCount(bool $performCount): self` +- `public function withEmbedding(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding $embed): self` + +## Ibexa\Contracts\Core\Repository\Values\Content\Field extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getFieldDefinitionIdentifier(): string` +- `public function getFieldTypeIdentifier(): string` +- `public function getId(): int|null` +- `public function getLanguageCode(): string|null` +- `public function getValue(): mixed` +- `public function isVirtual(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Language extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getId(): int` +- `public function getLanguageCode(): string` +- `public function getName(): string` +- `public function isEnabled(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed ALL = []` + +## Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Location extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __get(mixed $property): mixed` +- `public function __isset(mixed $property): mixed` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentId(): int` +- `public function abstract getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getDepth(): int` +- `public function getId(): int` +- `public function abstract getParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` +- `public function getPath(): array` +- `public function getPathString(): string` +- `public function getSortClauses(): array` +- `public function isDraft(): bool` +- `public function isHidden(): bool` +- `public function isInvisible(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed SORT_FIELD_CLASS_IDENTIFIER = 6` +- `public const mixed SORT_FIELD_CLASS_NAME = 7` +- `public const mixed SORT_FIELD_CONTENTOBJECT_ID = 12` +- `public const mixed SORT_FIELD_DEPTH = 5` +- `public const mixed SORT_FIELD_MODIFIED = 3` +- `public const mixed SORT_FIELD_NAME = 9` +- `public const mixed SORT_FIELD_NODE_ID = 11` +- `public const mixed SORT_FIELD_PATH = 1` +- `public const mixed SORT_FIELD_PRIORITY = 8` +- `public const mixed SORT_FIELD_PUBLISHED = 2` +- `public const mixed SORT_FIELD_SECTION = 4` +- `public const mixed SORT_ORDER_ASC = 1` +- `public const mixed SORT_ORDER_DESC = 0` +- `public const mixed SORT_ORDER_MAP = [self::SORT_ORDER_DESC => \Ibexa\Contracts\Core\Repository\Values\Content\Query::SORT_DESC, self::SORT_ORDER_ASC => \Ibexa\Contracts\Core\Repository\Values\Content\Query::SORT_ASC]` +- `public const mixed STATUS_DRAFT = 0` +- `public const mixed STATUS_PUBLISHED = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\LocationList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate, Ibexa\Contracts\Core\Repository\Collections\TotalCountAwareInterface + +- `public function getIterator(): \Iterator` +- `public function getTotalCount(): int` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\LocationQuery extends Ibexa\Contracts\Core\Repository\Values\Content\Query + +- `public function isValid(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\Content\QueryValidatorInterface + +- `public function isValid(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\Core\Repository\Values\Content\QueryValidatorInterface + +- `public function isValid(): bool` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation + +- `public function getName(): string` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation + +- `public function getName(): string` +- `public function getRanges(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation + +- `public function getName(): string` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation + +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\ContentTypeGroupTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation + +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\ContentTypeTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation + +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\DateMetadataRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation + +- `public function static fromGenerator(string $name, string $type, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` +- `public function getName(): string` +- `public function getRanges(): array` +- `public function getType(): string` +- `public const mixed CREATED = 'created'` +- `public const mixed MODIFIED = 'modified'` +- `public const mixed PUBLISHED = 'published'` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\FieldAggregation + +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\FieldAggregation + +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getName(): string` +- `public function getRanges(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\FieldAggregation + +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getName(): string` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\FieldAggregation + +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AuthorTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldTermAggregation + +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\CheckboxTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldTermAggregation + +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\CountryTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldTermAggregation + +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function getType(): int` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` +- `public const mixed TYPE_ALPHA_2 = 4` +- `public const mixed TYPE_ALPHA_3 = 8` +- `public const mixed TYPE_IDC = 2` +- `public const mixed TYPE_NAME = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\DateRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldRangeAggregation + +- `public function static fromGenerator(string $name, string $contentTypeIdentifier, string $fieldDefinitionIdentifier, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getName(): string` +- `public function getRanges(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\DateTimeRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldRangeAggregation + +- `public function static fromGenerator(string $name, string $contentTypeIdentifier, string $fieldDefinitionIdentifier, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getName(): string` +- `public function getRanges(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\FieldAggregationTrait + +- `public function getFieldDefinitionIdentifier(): string` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\FloatRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldRangeAggregation + +- `public function static fromGenerator(string $name, string $contentTypeIdentifier, string $fieldDefinitionIdentifier, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getName(): string` +- `public function getRanges(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\FloatStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldStatsAggregation + +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getName(): string` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\IntegerRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldRangeAggregation + +- `public function static fromGenerator(string $name, string $contentTypeIdentifier, string $fieldDefinitionIdentifier, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getName(): string` +- `public function getRanges(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\IntegerStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldStatsAggregation + +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getName(): string` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\KeywordTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldTermAggregation + +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\SelectionTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldTermAggregation + +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\TimeRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldRangeAggregation + +- `public function static fromGenerator(string $name, string $contentTypeIdentifier, string $fieldDefinitionIdentifier, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` +- `public function getContentTypeIdentifier(): string` +- `public function getFieldDefinitionIdentifier(): string` +- `public function getName(): string` +- `public function getRanges(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\LanguageTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation + +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Location\LocationChildrenTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\LocationAggregation + +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Location\SubtreeTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\LocationAggregation + +- `public function static fromLocation(string $name, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location): self` +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function getPathString(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\ObjectStateTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation + +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function getObjectStateGroupIdentifier(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Range extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __toString(): string` +- `public function equalsTo(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Range $value): bool` +- `public function getFrom(): mixed` +- `public function getLabel(): string|null` +- `public function getTo(): mixed` +- `public function static ofDateTime(DateTimeInterface|null $from, DateTimeInterface|null $to): self` +- `public function static ofFloat(float|null $from, float|null $to): self` +- `public function static ofInt(int|null $from, int|null $to): self` +- `public function setLabel(string|null $label): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed INF = null` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\DateTimeStepRangesGenerator implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface + +- `public function __construct(\DateTimeInterface $start, \DateTimeInterface $end)` +- `public function generate(): array>` +- `public function getEnd(): \DateTimeInterface` +- `public function getStart(): \DateTimeInterface` +- `public function getStep(): \DateInterval` +- `public function isLeftOpen(): bool` +- `public function isRightOpen(): bool` +- `public function setEnd(\DateTimeInterface $end): self` +- `public function setLeftOpen(bool $isLeftOpen): void` +- `public function setRightOpen(bool $isRightOpen): self` +- `public function setStart(\DateTimeInterface $start): self` +- `public function setStep(\DateInterval $step): self` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\FloatStepRangesGenerator implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface + +- `public function __construct(float $start, float $end)` +- `public function generate(): array>` +- `public function getEnd(): float` +- `public function getStart(): float` +- `public function getStep(): float` +- `public function isLeftOpen(): bool` +- `public function isRightOpen(): bool` +- `public function setEnd(float $end): self` +- `public function setLeftOpen(bool $isLeftOpen): self` +- `public function setRightOpen(bool $isRightOpen): self` +- `public function setStart(float $start): self` +- `public function setStep(float $step): self` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\IntegerStepRangesGenerator implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface + +- `public function __construct(int $start, int $end)` +- `public function generate(): array>` +- `public function getEnd(): int` +- `public function getStart(): int` +- `public function getStep(): int` +- `public function isLeftOpen(): bool` +- `public function isRightOpen(): bool` +- `public function setEnd(int $end): self` +- `public function setLeftOpen(bool $isLeftOpen): self` +- `public function setRightOpen(bool $isRightOpen): self` +- `public function setStart(int $start): self` +- `public function setStep(int $step): self` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface + +- `public function generate(): array>` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawAggregation + +- `public function getFieldName(): string` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawAggregation + +- `public function static fromGenerator(string $name, string $fieldName, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` +- `public function getFieldName(): string` +- `public function getName(): string` +- `public function getRanges(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawAggregation + +- `public function getFieldName(): string` +- `public function getName(): string` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawAggregation + +- `public function getFieldName(): string` +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\SectionTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation + +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\UserMetadataTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation + +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function getType(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` +- `public const mixed GROUP = 'group'` +- `public const mixed MODIFIER = 'modifier'` +- `public const mixed OWNER = 'owner'` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\VisibilityTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation + +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface + +- `public function abstract getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Ancestor extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\CompositeCriterion extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ContentId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ContentName extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ContentTypeGroupId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ContentTypeId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion, Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ContentTypeIdentifier extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\CustomField extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\DateMetadata extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion, Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` +- `public const mixed CREATED = 'created'` +- `public const mixed MODIFIED = 'modified'` +- `public const mixed PUBLISHED = 'published'` +- `public const mixed TARGETS = [self::MODIFIED, self::CREATED, self::PUBLISHED, self::TRASHED]` +- `public const mixed TRASHED = 'trashed'` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Field extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Content\Query\CustomFieldInterface + +- `public function getCustomField(string $type, string $field): string|null` +- `public function getSpecifications(): array` +- `public function setCustomField(string $type, string $field, string $customField): void` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\FieldRelation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\FullText extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Content\Query\CustomFieldInterface + +- `public function getCustomField(string $type, string $field): string|null` +- `public function getSpecifications(): array` +- `public function setCustomField(string $type, string $field, string $customField): void` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageCompositeCriterion + +- `public function getSpecifications(): array` +- `protected function buildCriteria(string $fieldDefIdentifier, array $imageCriteriaData): array` +- `protected function getMaxValue(array $data): int|float|string|null` +- `protected function getMinValue(array $data): int|float|string` +- `protected function getSupportedCriteria(): array` +- `protected function validate(array $imageCriteriaData, array $supportedCriteria): void` +- `public const mixed IMAGE_SEARCH_CRITERIA = ['mimeTypes', 'size', 'width', 'height', 'orientation']` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageCompositeCriterion extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\CompositeCriterion + +- `public function getSpecifications(): array` +- `protected function abstract buildCriteria(string $fieldDefIdentifier, array $imageCriteriaData): array` +- `protected function getMaxValue(array $data): int|float|string|null` +- `protected function getMinValue(array $data): int|float|string` +- `protected function abstract getSupportedCriteria(): array` +- `protected function validate(array $imageCriteriaData, array $supportedCriteria): void` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageRangeCriterion extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function getSpecifications(): array` +- `protected function validate(int|float|string|null $minValue, int|float|string|null $maxValue): void` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\Dimensions extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageCompositeCriterion + +- `public function getSpecifications(): array` +- `protected function buildCriteria(string $fieldDefIdentifier, array $imageCriteriaData): array` +- `protected function getMaxValue(array $data): int|float|string|null` +- `protected function getMinValue(array $data): int|float|string` +- `protected function getSupportedCriteria(): array` +- `protected function validate(array $imageCriteriaData, array $supportedCriteria): void` +- `public const mixed IMAGE_DIMENSIONS_CRITERIA = ['width', 'height']` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\FileSize extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageRangeCriterion + +- `public function getSpecifications(): array` +- `protected function validate(int|float|string|null $minValue, int|float|string|null $maxValue): void` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\Height extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageRangeCriterion + +- `public function getSpecifications(): array` +- `protected function validate(int|float|string|null $minValue, int|float|string|null $maxValue): void` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\MimeType extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\Orientation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\Width extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageRangeCriterion + +- `public function getSpecifications(): array` +- `protected function validate(int|float|string|null $minValue, int|float|string|null $maxValue): void` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\IsContainer extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\IsFieldEmpty extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\IsUserBased extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\IsUserEnabled extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\LanguageCode extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function abstract getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\LocationId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\LocationRemoteId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location\Depth extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location\IsBookmarked extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location\IsMainLocation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` +- `public const mixed MAIN = 0` +- `public const mixed NOT_MAIN = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location\Priority extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\MapLocationDistance extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Content\Query\CustomFieldInterface + +- `public function getCustomField(string $type, string $field): string|null` +- `public function getSpecifications(): array` +- `public function setCustomField(string $type, string $field, string $customField): void` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\MatchAll extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion, Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\MatchNone extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion, Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\MoreLikeThis extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function getSpecifications(): array` +- `public const mixed CONTENT = 1` +- `public const mixed TEXT = 2` +- `public const mixed URL = 3` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ObjectStateId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ObjectStateIdentifier extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator + +- `public const mixed BETWEEN = 'between'` +- `public const mixed CONTAINS = 'contains'` +- `public const mixed EQ = '='` +- `public const mixed GT = '>'` +- `public const mixed GTE = '>='` +- `public const mixed IN = 'in'` +- `public const mixed LIKE = 'like'` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications + +- `public const mixed FORMAT_ARRAY = 2` +- `public const mixed FORMAT_SINGLE = 1` +- `public const mixed TYPE_BOOLEAN = 4` +- `public const mixed TYPE_INTEGER = 1` +- `public const mixed TYPE_STRING = 2` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ParentLocationId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\RemoteId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\SectionId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion, Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\SectionIdentifier extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Sibling extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\CompositeCriterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function static fromLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): self` +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Subtree extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\UserEmail extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\UserId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\UserLogin extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\UserMetadata extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion, Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` +- `public const mixed GROUP = 'group'` +- `public const mixed MODIFIER = 'modifier'` +- `public const mixed OWNER = 'owner'` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Visibility extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` +- `public const mixed HIDDEN = 1` +- `public const mixed VISIBLE = 0` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\CustomFieldInterface + +- `public function getCustomField(string $type, string $field): string|null` +- `public function setCustomField(string $type, string $field, string $customField): void` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getValue(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause\Field extends Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause implements Ibexa\Contracts\Core\Repository\Values\Content\Query\CustomFieldInterface + +- `public function getCustomField(string $type, string $field): string|null` +- `public function setCustomField(string $type, string $field, string $customField): void` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause\MapLocationDistance extends Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause implements Ibexa\Contracts\Core\Repository\Values\Content\Query\CustomFieldInterface + +- `public function getCustomField(string $type, string $field): string|null` +- `public function setCustomField(string $type, string $field, string $customField): void` + +## Ibexa\Contracts\Core\Repository\Values\Content\Query\Spellcheck extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $query)` +- `public function getQuery(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Relation extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function abstract getDestinationContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function abstract getSourceContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed ASSET = 16` +- `public const mixed COMMON = 1` +- `public const mixed EMBED = 2` +- `public const mixed FIELD = 8` +- `public const mixed LINK = 4` + +## Ibexa\Contracts\Core\Repository\Values\Content\RelationList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function getIterator(): \Iterator` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\RelationList\Item\RelationListItem implements Ibexa\Contracts\Core\Repository\Values\Content\RelationList\RelationListItemInterface + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Relation $relation)` +- `public function getRelation(): \Ibexa\Contracts\Core\Repository\Values\Content\Relation|null` +- `public function hasRelation(): bool` + +## Ibexa\Contracts\Core\Repository\Values\Content\RelationList\Item\UnauthorizedRelationListItem extends Ibexa\Contracts\Core\Repository\Lists\UnauthorizedListItem implements Ibexa\Contracts\Core\Repository\Values\Content\RelationList\RelationListItemInterface + +- `public function __construct(string $module, string $function, array $payload)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getPayload(): array` +- `public function getRelation(): \Ibexa\Contracts\Core\Repository\Values\Content\Relation|null` +- `public function hasRelation(): bool` + +## Ibexa\Contracts\Core\Repository\Values\Content\RelationList\RelationListItemInterface + +- `public function getRelation(): \Ibexa\Contracts\Core\Repository\Values\Content\Relation|null` +- `public function hasRelation(): bool` + +## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $name)` +- `public function getName(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResultAwareInterface + +- `public function getAggregations(): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResultCollection|null` + +## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResultCollection implements Countable, IteratorAggregate + +- `public function __construct([array $results = [] ])` +- `public function count(): int` +- `public function first(): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult` +- `public function get(string $name): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult` +- `public function getIterator(): \Iterator` +- `public function has(string $name): bool` +- `public function isEmpty(): bool` +- `public function last(): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult` +- `public function toArray(): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\RangeAggregationResult extends Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult implements IteratorAggregate, Countable + +- `public function __construct(string $name[, array> $entries = [] ])` +- `public function count(): int` +- `public function getEntries(): array>` +- `public function getEntry(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Range $key): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\RangeAggregationResultEntry|null` +- `public function getIterator(): \Iterator, int>` +- `public function getKeys(): iterable>` +- `public function getName(): string` +- `public function hasEntry(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Range $key): bool` +- `public function isEmpty(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\RangeAggregationResultEntry extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(Range $key, int $count)` +- `public function getCount(): int` +- `public function getKey(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Range` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\StatsAggregationResult extends Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult + +- `public function getAvg(): float|null` +- `public function getCount(): int|null` +- `public function getMax(): float|null` +- `public function getMin(): float|null` +- `public function getName(): string` +- `public function getSum(): float|null` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\TermAggregationResult extends Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult implements IteratorAggregate, Countable + +- `public function __construct(string $name[, iterable $entries = [] ])` +- `public function count(): int` +- `public function static createForAggregation(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation[, iterable $entries = [] ]): self` +- `public function getEntries(): iterable` +- `public function getEntry(mixed $key): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\TermAggregationResultEntry|null` +- `public function getIterator(): \Iterator` +- `public function getKeys(): iterable` +- `public function getName(): string` +- `public function hasEntry(mixed $key): bool` +- `public function isEmpty(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\TermAggregationResultEntry extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(mixed $key, int $count)` +- `public function getCount(): int` +- `public function getKey(): mixed` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchHit extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate, Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResultAwareInterface + +- `public function getAggregations(): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResultCollection|null` +- `public function getIterator(): \Iterator` +- `public function getSpellcheck(): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SpellcheckResult|null` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Search\SpellcheckResult + +- `public function __construct(string|null $query[, bool $incorrect = true ])` +- `public function getQuery(): string|null` +- `public function isIncorrect(): bool` + +## Ibexa\Contracts\Core\Repository\Values\Content\Section extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getName(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\SectionStruct + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\SectionStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\SectionStruct + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\TrashItem extends Ibexa\Contracts\Core\Repository\Values\Content\Location + +- `public function __get(mixed $property): mixed` +- `public function __isset(mixed $property): mixed` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentId(): int` +- `public function abstract getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function getDepth(): int` +- `public function getId(): int` +- `public function abstract getParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` +- `public function getPath(): array` +- `public function getPathString(): string` +- `public function getSortClauses(): array` +- `public function isDraft(): bool` +- `public function isHidden(): bool` +- `public function isInvisible(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed SORT_FIELD_CLASS_IDENTIFIER = 6` +- `public const mixed SORT_FIELD_CLASS_NAME = 7` +- `public const mixed SORT_FIELD_CONTENTOBJECT_ID = 12` +- `public const mixed SORT_FIELD_DEPTH = 5` +- `public const mixed SORT_FIELD_MODIFIED = 3` +- `public const mixed SORT_FIELD_NAME = 9` +- `public const mixed SORT_FIELD_NODE_ID = 11` +- `public const mixed SORT_FIELD_PATH = 1` +- `public const mixed SORT_FIELD_PRIORITY = 8` +- `public const mixed SORT_FIELD_PUBLISHED = 2` +- `public const mixed SORT_FIELD_SECTION = 4` +- `public const mixed SORT_ORDER_ASC = 1` +- `public const mixed SORT_ORDER_DESC = 0` +- `public const mixed SORT_ORDER_MAP = [self::SORT_ORDER_DESC => \Ibexa\Contracts\Core\Repository\Values\Content\Query::SORT_DESC, self::SORT_ORDER_ASC => \Ibexa\Contracts\Core\Repository\Values\Content\Query::SORT_ASC]` +- `public const mixed STATUS_DRAFT = 0` +- `public const mixed STATUS_PUBLISHED = 1` + +## Ibexa\Contracts\Core\Repository\Values\Content\Trash\SearchResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function getIterator(): \Traversable` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function getIterator(): \ArrayIterator` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\URLAlias extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed LOCATION = 0` +- `public const mixed RESOURCE = 1` +- `public const mixed VIRTUAL = 2` + +## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardTranslationResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardStruct + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\Query\SortClause + +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\Query\SortClause\DestinationUrl extends Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\Query\SortClause + +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\Query\SortClause\Id extends Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\Query\SortClause + +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\SearchResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function getIterator(): \Traversable` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\URLWildcardQuery extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\MultiLanguageName + +- `public function abstract getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function abstract getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function abstract getInitialLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getLanguageCodes(): array` +- `public function abstract getLanguages(): array` +- `public function getVersionNo(): int` +- `public function isArchived(): bool` +- `public function isDraft(): bool` +- `public function isPublished(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed STATUS_ARCHIVED = 3` +- `public const mixed STATUS_DRAFT = 0` +- `public const mixed STATUS_PUBLISHED = 1` + +## Ibexa\Contracts\Core\Repository\Values\Filter\CriterionQueryBuilder + +- `public function accepts(\Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion $criterion): bool` +- `public function buildQueryConstraint(\Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder $queryBuilder, \Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion $criterion): string|null` + +## Ibexa\Contracts\Core\Repository\Values\Filter\Filter + +- `public function __clone(): mixed` +- `public function __construct([FilteringCriterion|null $criterion = null ][, array $sortClauses = [] ])` +- `public function andWithCriterion(\Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion $criterion): self` +- `public function getCriterion(): \Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion|null` +- `public function getLimit(): int` +- `public function getOffset(): int` +- `public function getSortClauses(): array` +- `public function orWithCriterion(\Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion $criterion): self` +- `public function reset(): self` +- `public function sliceBy(int $limit, int $offset): self` +- `public function withCriterion(\Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion $criterion): self` +- `public function withLimit(int $limit): self` +- `public function withOffset(int $offset): self` +- `public function withSortClause(\Ibexa\Contracts\Core\Repository\Values\Filter\FilteringSortClause $sortClause): self` + +## Ibexa\Contracts\Core\Repository\Values\Filter\SortClauseQueryBuilder + +- `public function accepts(\Ibexa\Contracts\Core\Repository\Values\Filter\FilteringSortClause $sortClause): bool` +- `public function buildQuery(\Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder $queryBuilder, \Ibexa\Contracts\Core\Repository\Values\Filter\FilteringSortClause $sortClause): void` + +## Ibexa\Contracts\Core\Repository\Values\MultiLanguageDescription + +- `public function getDescription([string|null $languageCode = null ]): string|null` +- `public function getDescriptions(): array` + +## Ibexa\Contracts\Core\Repository\Values\MultiLanguageName + +- `public function getName([string|null $languageCode = null ]): string|null` +- `public function getNames(): array` + +## Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Notification\CriterionHandlerInterface + +- `public function apply(\Doctrine\DBAL\Query\QueryBuilder $qb, \Ibexa\Contracts\Core\Repository\Values\Notification\T $criterion): void` +- `public function supports(\Ibexa\Contracts\Core\Repository\Values\Notification\Query\CriterionInterface $criterion): bool` + +## Ibexa\Contracts\Core\Repository\Values\Notification\Notification extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Notification\NotificationList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function getIterator(): \Traversable` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Notification\Query\Criterion\DateCreated implements Ibexa\Contracts\Core\Repository\Values\Notification\Query\CriterionInterface + +- `public function __construct([DateTimeInterface|null $from = null ][, DateTimeInterface|null $to = null ])` +- `public function getFrom(): \DateTimeInterface|null` +- `public function getTo(): \DateTimeInterface|null` +- `public function setFrom(DateTimeInterface|null $from): void` +- `public function setTo(DateTimeInterface|null $to): void` + +## Ibexa\Contracts\Core\Repository\Values\Notification\Query\Criterion\Status implements Ibexa\Contracts\Core\Repository\Values\Notification\Query\CriterionInterface + +- `public function __construct(array $statuses)` +- `public function getStatuses(): array` +- `public function setStatuses(array $statuses): void` + +## Ibexa\Contracts\Core\Repository\Values\Notification\Query\Criterion\Type implements Ibexa\Contracts\Core\Repository\Values\Notification\Query\CriterionInterface + +- `public function __construct(string $value)` +- `public function getValue(): string` +- `public function setValue(string $value): void` + +## Ibexa\Contracts\Core\Repository\Values\Notification\Query\NotificationQuery + +- `public function __construct([array $criteria = [] ][, int $offset = 0 ][, int $limit = 25 ])` +- `public function addCriterion(\Ibexa\Contracts\Core\Repository\Values\Notification\Query\CriterionInterface $criterion): void` +- `public function getCriteria(): array` +- `public function getLimit(): int` +- `public function getOffset(): int` +- `public function setLimit(int $limit): void` +- `public function setOffset(int $offset): void` + +## Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\MultiLanguageName, Ibexa\Contracts\Core\Repository\Values\MultiLanguageDescription + +- `public function abstract getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\MultiLanguageName, Ibexa\Contracts\Core\Repository\Values\MultiLanguageDescription + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Setting\Setting extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Setting\Setting + +- `public function setGroup(string $group): void` +- `public function setIdentifier(string $identifier): void` +- `public function setValue(mixed $value): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Setting\Setting + +- `public function setValue(mixed $value): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Token\Token extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __toString(): string` +- `public function getCreated(): \DateTimeImmutable` +- `public function getExpires(): \DateTimeImmutable` +- `public function getId(): int` +- `public function getIdentifier(): string|null` +- `public function getToken(): string` +- `public function getType(): string` +- `public function isRevoked(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed MAX_LENGTH = 255` + +## Ibexa\Contracts\Core\Repository\Values\Translation extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Stringable + +- `public function __construct([array $properties = [] ])` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Translation\Message extends Ibexa\Contracts\Core\Repository\Values\Translation + +- `public function __toString(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\Translation\Plural extends Ibexa\Contracts\Core\Repository\Values\Translation + +- `public function __toString(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\URL\Query\SortClause + +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\Core\Repository\Values\URL\Query\SortClause\Id extends Ibexa\Contracts\Core\Repository\Values\URL\Query\SortClause + +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\Core\Repository\Values\URL\Query\SortClause\URL extends Ibexa\Contracts\Core\Repository\Values\URL\Query\SortClause + +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\Core\Repository\Values\URL\SearchResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function getIterator(): \Traversable` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\URL\URL extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getCreated(): \DateTimeInterface|null` +- `public function getId(): int` +- `public function getLastChecked(): \DateTimeInterface|null` +- `public function getModified(): \DateTimeInterface|null` +- `public function getUrl(): string` +- `public function isValid(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\URL\URLQuery extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\URL\UsageSearchResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function getIterator(): \Traversable` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreference extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreferenceList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function getIterator(): \Traversable` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreferenceSetStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function abstract getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\BlockingLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ChangeOwnerLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed IDENTIFIER = 'ChangeOwner'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LIMITATION_VALUE_SELF = -1` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ContentTypeLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\LanguageLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\LocationLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\MemberOfLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed IDENTIFIER = 'MemberOf'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\NewObjectStateLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\NewSectionLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ObjectStateLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\OwnerLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ParentContentTypeLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ParentDepthLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ParentOwnerLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ParentUserGroupLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function abstract getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\SectionLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\SiteAccessLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\StatusLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\SubtreeLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\UserGroupLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\Limitation\UserRoleLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed IDENTIFIER = 'Role'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Core\Repository\Values\User\LookupLimitationResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getLookupPolicyLimitations(): array` +- `public function getRoleLimitations(): array` +- `public function hasAccess(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\LookupPolicyLimitations extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\PasswordInfo extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([DateTimeImmutable|null $expirationDate = null ][, DateTimeImmutable|null $expirationWarningDate = null ])` +- `public function getExpirationDate(): \DateTimeImmutable|null` +- `public function getExpirationWarningDate(): \DateTimeImmutable|null` +- `public function hasExpirationDate(): bool` +- `public function hasExpirationWarningDate(): bool` +- `public function isPasswordExpired(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\PasswordValidationContext extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\Policy extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function abstract getLimitations(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct extends Ibexa\Contracts\Core\Repository\Values\User\PolicyStruct + +- `public function abstract addLimitation(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitation): void` +- `public function abstract getLimitations(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft extends Ibexa\Contracts\Core\Repository\Values\User\Policy + +- `public function abstract getLimitations(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\PolicyStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([array $properties = [] ])` +- `public function abstract addLimitation(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitation): void` +- `public function abstract getLimitations(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\User\PolicyStruct + +- `public function __construct([array $properties = [] ])` +- `public function abstract addLimitation(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitation): void` +- `public function abstract getLimitations(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\Role extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function abstract getPolicies(): array` +- `public function getStatus(): int` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getId(): int` +- `public function abstract getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function abstract getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct extends Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct + +- `public function abstract addPolicy(\Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct $policyCreateStruct): void` +- `public function abstract getPolicies(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function abstract addPolicy(\Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct $policyCreateStruct): void` +- `public function abstract getPolicies(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\RoleDraft extends Ibexa\Contracts\Core\Repository\Values\User\Role + +- `public function abstract getPolicies(): array` +- `public function getStatus(): int` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\User extends Ibexa\Contracts\Core\Repository\Values\Content\Content implements Ibexa\Contracts\Core\Repository\Values\User\UserReference + +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function abstract getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function abstract getDefaultLanguageCode(): string` +- `public function abstract getField(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Field|null` +- `public function abstract getFields(): array` +- `public function abstract getFieldsByLanguage([string|null $languageCode = null ]): iterable` +- `public function abstract getFieldValue(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\FieldType\Value|null` +- `public function getId(): int` +- `public function getLogin(): string` +- `public function getName([string|null $languageCode = null ]): string|null` +- `public function getPasswordHash(): string` +- `public function abstract getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` +- `public function getUserId(): int` +- `public function abstract getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed DEFAULT_PASSWORD_HASH = self::PASSWORD_HASH_PHP_DEFAULT` +- `public const mixed PASSWORD_HASH_BCRYPT = 6` +- `public const mixed PASSWORD_HASH_INVALID = 256` +- `public const mixed PASSWORD_HASH_PHP_DEFAULT = 7` + +## Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct + +- `public function abstract setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\UserGroup extends Ibexa\Contracts\Core\Repository\Values\Content\Content + +- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` +- `public function abstract getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function abstract getDefaultLanguageCode(): string` +- `public function abstract getField(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Field|null` +- `public function abstract getFields(): array` +- `public function abstract getFieldsByLanguage([string|null $languageCode = null ]): iterable` +- `public function abstract getFieldValue(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\FieldType\Value|null` +- `public function getId(): int` +- `public function getName([string|null $languageCode = null ]): string|null` +- `public function abstract getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` +- `public function abstract getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct + +- `public function abstract setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\UserGroupRoleAssignment extends Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment + +- `public function getId(): int` +- `public function abstract getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function abstract getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` +- `public function abstract getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\UserReference + +- `public function getUserId(): int` + +## Ibexa\Contracts\Core\Repository\Values\User\UserRoleAssignment extends Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment + +- `public function getId(): int` +- `public function abstract getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function abstract getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` +- `public function abstract getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([array $properties = [] ])` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\Capable + +- `public function supports(int $capabilityFlag): bool` + +## Ibexa\Contracts\Core\Search\ContentTranslationHandler + +- `public function deleteTranslation(int $contentId, string $languageCode): void` + +## Ibexa\Contracts\Core\Search\Document extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\Embedding\EmbeddingConfigurationInterface + +- `public function getDefaultModel(): array{name: string, dimensions: int, field_suffix: string, embedding_provider: string}` +- `public function getDefaultModelFieldSuffix(): string` +- `public function getDefaultModelIdentifier(): string` +- `public function getDefaultProvider(): string` +- `public function getModel(string $identifier): array{name: string, dimensions: int, field_suffix: string, embedding_provider: string}` +- `public function getModelIdentifiers(): array` +- `public function getModels(): array` + +## Ibexa\Contracts\Core\Search\Embedding\EmbeddingProviderInterface + +- `public function getEmbedding(string $content[, string|null $model = null ][, int|null $maxTokens = null ]): array` + +## Ibexa\Contracts\Core\Search\Embedding\EmbeddingProviderRegistryInterface + +- `public function getEmbeddingProvider(string $identifier): \Ibexa\Contracts\Core\Search\Embedding\EmbeddingProviderInterface` +- `public function getEmbeddingProviders(): array` +- `public function hasEmbeddingProvider(string $identifier): bool` + +## Ibexa\Contracts\Core\Search\Embedding\EmbeddingProviderResolverInterface + +- `public function resolve(): \Ibexa\Contracts\Core\Search\Embedding\EmbeddingProviderInterface` + +## Ibexa\Contracts\Core\Search\Embedding\EmbeddingResolverNotFoundException extends RuntimeException + +- `public function __construct(string $embeddingProvider)` + +## Ibexa\Contracts\Core\Search\Field extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `public function getName(): string` +- `public function getType(): \Ibexa\Contracts\Core\Search\FieldType` +- `public function getValue(): mixed` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\BooleanField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\CustomField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\DateField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\DocumentField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\EmbeddingField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function static create(string $type): self` +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\EmbeddingFieldFactory + +- `public function __construct(\Ibexa\Contracts\Core\Search\Embedding\EmbeddingConfigurationInterface $config)` +- `public function create([string|null $type = null ]): \Ibexa\Contracts\Core\Search\FieldType\EmbeddingField` + +## Ibexa\Contracts\Core\Search\FieldType\FloatField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\FullTextField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\GeoLocationField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\IdentifierField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\IntegerField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\MultipleBooleanField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\MultipleIdentifierField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\MultipleIntegerField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\MultipleRemoteIdentifierField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\MultipleStringField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\PriceField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\RemoteIdentifierField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\StringField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\FieldType\TextField extends Ibexa\Contracts\Core\Search\FieldType + +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Search\Handler + +- `public function deleteContent(int $contentId[, int|null $versionId = null ]): mixed` +- `public function deleteLocation(mixed $locationId, mixed $contentId): mixed` +- `public function findContent(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query[, array $languageFilter = [] ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` +- `public function findLocations(\Ibexa\Contracts\Core\Repository\Values\Content\LocationQuery $query[, array $languageFilter = [] ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` +- `public function findSingle(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $filter[, array $languageFilter = [] ]): \Ibexa\Contracts\Core\Persistence\Content\ContentInfo` +- `public function indexContent(\Ibexa\Contracts\Core\Persistence\Content $content): mixed` +- `public function indexLocation(\Ibexa\Contracts\Core\Persistence\Content\Location $location): mixed` +- `public function purgeIndex(): mixed` +- `public function suggest(string $prefix[, array $fieldPaths = [] ][, int $limit = 10 ][, Criterion|null $filter = null ]): mixed` + +## Ibexa\Contracts\Core\SiteAccess\ConfigResolverInterface + +- `public function getDefaultNamespace(): string` +- `public function getParameter(string $paramName[, string $namespace = null ][, string $scope = null ]): mixed` +- `public function hasParameter(string $paramName[, string $namespace = null ][, string $scope = null ]): bool` +- `public function setDefaultNamespace(string $defaultNamespace): void` + +## Ibexa\Contracts\Core\Specification\AbstractSpecification implements Ibexa\Contracts\Core\Specification\SpecificationInterface + +- `public function and(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` +- `public function abstract isSatisfiedBy(mixed $item): bool` +- `public function not(): \Ibexa\Contracts\Core\Specification\SpecificationInterface` +- `public function or(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` + +## Ibexa\Contracts\Core\Specification\AndSpecification extends Ibexa\Contracts\Core\Specification\AbstractSpecification + +- `public function __construct(\Ibexa\Contracts\Core\Specification\SpecificationInterface $one, \Ibexa\Contracts\Core\Specification\SpecificationInterface $two)` +- `public function and(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` +- `public function isSatisfiedBy(mixed $item): bool` +- `public function not(): \Ibexa\Contracts\Core\Specification\SpecificationInterface` +- `public function or(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` + +## Ibexa\Contracts\Core\Specification\Content\ContentContainerSpecification implements Ibexa\Contracts\Core\Specification\Content\ContentSpecification + +- `public function isSatisfiedBy(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` + +## Ibexa\Contracts\Core\Specification\Content\ContentSpecification + +- `public function isSatisfiedBy(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` + +## Ibexa\Contracts\Core\Specification\Content\ContentTypeSpecification implements Ibexa\Contracts\Core\Specification\Content\ContentSpecification + +- `public function __construct(string $expectedType)` +- `public function isSatisfiedBy(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` + +## Ibexa\Contracts\Core\Specification\NotSpecification extends Ibexa\Contracts\Core\Specification\AbstractSpecification + +- `public function __construct(\Ibexa\Contracts\Core\Specification\SpecificationInterface $specification)` +- `public function and(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` +- `public function isSatisfiedBy(mixed $item): bool` +- `public function not(): \Ibexa\Contracts\Core\Specification\SpecificationInterface` +- `public function or(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` + +## Ibexa\Contracts\Core\Specification\OrSpecification extends Ibexa\Contracts\Core\Specification\AbstractSpecification + +- `public function __construct(\Ibexa\Contracts\Core\Specification\SpecificationInterface $one, \Ibexa\Contracts\Core\Specification\SpecificationInterface $two)` +- `public function and(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` +- `public function isSatisfiedBy(mixed $item): bool` +- `public function not(): \Ibexa\Contracts\Core\Specification\SpecificationInterface` +- `public function or(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` + +## Ibexa\Contracts\Core\Specification\SpecificationInterface + +- `public function and(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` +- `public function isSatisfiedBy(mixed $item): bool` +- `public function not(): \Ibexa\Contracts\Core\Specification\SpecificationInterface` +- `public function or(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` + +## Ibexa\Contracts\Core\Token\TokenGeneratorInterface + +- `public function generateToken([int $length = 64 ]): string` + +## Ibexa\Contracts\Core\Validation\AbstractValidationStructWrapper implements Ibexa\Contracts\Core\Validation\ValidationStructWrapperInterface + +- `public function getStruct(): object` + +## Ibexa\Contracts\Core\Validation\Constraint\UniqueIdentifier extends Symfony\Component\Validator\Constraint implements JMS\TranslationBundle\Translation\TranslationContainerInterface + +- `public function getRequiredOptions(): array` +- `public function getTargets(): array` +- `public function static getTranslationMessages(): array` +- `protected function static getMessageDesc(): string` +- `protected const mixed MESSAGE = 'ibexa.identifier_already_exists'` + +## Ibexa\Contracts\Core\Validation\Constraint\UniqueIdentifierValidator extends Symfony\Component\Validator\ConstraintValidator + +- `public function __construct(\Symfony\Component\PropertyAccess\PropertyAccessorInterface $propertyAccessor)` +- `public function validate(mixed $value, \Symfony\Component\Validator\Constraint $constraint): void` +- `protected function abstract getExistingIdForIdentifier(string $identifier): string|int|null` + +## Ibexa\Contracts\Core\Validation\StructValidator + +- `public function __construct(\Symfony\Component\Validator\Validator\ValidatorInterface $validator)` +- `public function assertValidStruct(string $name, object $struct, array $groups): void` + +## Ibexa\Contracts\Core\Validation\StructWrapperValidator implements Symfony\Component\Validator\Validator\ValidatorInterface + +- `public function __construct(\Symfony\Component\Validator\Validator\ValidatorInterface $inner)` +- `public function getMetadataFor(mixed $value): \Symfony\Component\Validator\Mapping\MetadataInterface` +- `public function hasMetadataFor(mixed $value): bool` +- `public function inContext(\Symfony\Component\Validator\Context\ExecutionContextInterface $context): \Symfony\Component\Validator\Validator\ContextualValidatorInterface` +- `public function startContext(): \Symfony\Component\Validator\Validator\ContextualValidatorInterface` +- `public function validate(mixed $value[, Constraint|array|null $constraints = null ][, mixed $groups = null ]): \Symfony\Component\Validator\ConstraintViolationListInterface` +- `public function validateProperty(object $object, string $propertyName[, mixed $groups = null ]): \Symfony\Component\Validator\ConstraintViolationListInterface` +- `public function validatePropertyValue(mixed $objectOrClass, string $propertyName, mixed $value[, mixed $groups = null ]): \Symfony\Component\Validator\ConstraintViolationListInterface` + +## Ibexa\Contracts\Core\Validation\ValidationFailedException extends Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException + +- `public function __construct(string $argumentName, \Symfony\Component\Validator\ConstraintViolationListInterface $errors[, Exception|null $previous = null ])` +- `public function getErrors(): \Symfony\Component\Validator\ConstraintViolationListInterface` + +## Ibexa\Contracts\Core\Validation\ValidationStructWrapperInterface + +- `public function getStruct(): object` + +## Ibexa\Contracts\Core\Variation\Values\ImageVariation extends Ibexa\Contracts\Core\Variation\Values\Variation + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Variation\Values\Variation extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Core\Variation\VariationHandler + +- `public function getVariation(\Ibexa\Contracts\Core\Repository\Values\Content\Field $field, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, string $variationName[, array $parameters = [] ]): \Ibexa\Contracts\Core\Variation\Values\Variation` + +## Ibexa\Contracts\Core\Variation\VariationPathGenerator + +- `public function getVariationPath(string $path, string $variation): string` + +## Ibexa\Contracts\Core\Variation\VariationPurger + +- `public function purge(array $aliasNames): void` + +## Ibexa\Contracts\CorporateAccount\CustomerPortal\CustomerPortalResolver + +- `public function resolveCustomerPortalLocation(\Ibexa\Contracts\CorporateAccount\Values\Member $member, string $siteAccessName): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` + +## Ibexa\Contracts\CorporateAccount\CustomerPortal\PickRule\CustomerPortalPickRule + +- `public function pick(\Ibexa\Contracts\CorporateAccount\Values\Member $member, array $possibleLocations): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` + +## Ibexa\Contracts\CorporateAccount\Event\Application\BeforeCreateApplicationEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct $applicationCreateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` +- `public function getApplicationCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function hasApplication(): bool` +- `public function isPropagationStopped(): bool` +- `public function setApplication(Application|null $application): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Application\BeforeDeleteApplicationEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Application $application)` +- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Application\BeforeUpdateApplicationEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Application $application, \Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct $applicationUpdateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` +- `public function getApplicationUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function getUpdatedApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` +- `public function hasUpdatedApplication(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedApplication(Application|null $updatedApplication): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Application\CreateApplicationEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Application $application, \Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct $applicationCreateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` +- `public function getApplicationCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Application\DeleteApplicationEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Application $application)` +- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Application\MapCompanyCreateStructEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct $companyCreateStruct, \Ibexa\Contracts\CorporateAccount\Values\Application $application, \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup, int $salesRepId)` +- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` +- `public function getCompanyCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct` +- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` +- `public function getSalesRepId(): int` +- `public function isPropagationStopped(): bool` +- `public function setCompanyCreateStruct(\Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct $companyCreateStruct): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Application\MapShippingAddressUpdateStructEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct $companyUpdateStruct, \Ibexa\Contracts\CorporateAccount\Values\Application $application)` +- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` +- `public function getShippingAddressUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function setShippingAddressUpdateStruct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct $companyUpdateStruct): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Application\UpdateApplicationEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Application $updatedApplication, \Ibexa\Contracts\CorporateAccount\Values\Application $application, \Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct $applicationUpdateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` +- `public function getApplicationUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function getUpdatedApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Application\Workflow\ApplicationWorkflowFormEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Application $application, \Ibexa\Contracts\CorporateAccount\Values\ApplicationState $applicationState, \Symfony\Component\Form\FormInterface $form, array|null $data, string $previousState, string $nextState[, Response|null $response = null ])` +- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` +- `public function getApplicationState(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationState` +- `public function getData(): array|null` +- `public function getForm(): \Symfony\Component\Form\FormInterface` +- `public function getNextState(): string` +- `public function getPreviousState(): string` +- `public function getResponse(): \Symfony\Component\HttpFoundation\Response|null` +- `public function isPropagationStopped(): bool` +- `public function setResponse(Response|null $response): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Application\Workflow\MapApplicationWorkflowFormEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(string $state[, array|object|null $data = null ][, FormInterface|null $form = null ])` +- `public function getData(): array|object|null` +- `public function getForm(): \Symfony\Component\Form\FormInterface|null` +- `public function getState(): string` +- `public function isPropagationStopped(): bool` +- `public function setForm(FormInterface|null $form): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeCreateCompanyAddressBookFolderEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function hasContent(): bool` +- `public function isPropagationStopped(): bool` +- `public function setContent(Content|null $content): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeCreateCompanyEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct $companyCreateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getCompanyCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function hasCompany(): bool` +- `public function isPropagationStopped(): bool` +- `public function setCompany(Company|null $company): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeCreateCompanyMembersUserGroupEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function hasContent(): bool` +- `public function isPropagationStopped(): bool` +- `public function setContent(Content|null $content): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeDeleteCompanyEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeSetCompanyAddressBookRelationEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeSetCompanyMembersRelationEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeSetContactEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\Member $contact)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getContact(): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeSetDefaultShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeUpdateCompanyEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct $companyUpdateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getCompanyUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function getUpdatedCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function hasUpdatedCompany(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedCompany(Company|null $updatedCompany): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\CreateCompanyAddressBookFolderEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\CorporateAccount\Values\Company $company)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\CreateCompanyEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct $companyCreateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getCompanyCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\CreateCompanyMembersUserGroupEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\CorporateAccount\Values\Company $company)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\DeleteCompanyEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\SetCompanyAddressBookRelationEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\SetCompanyMembersRelationEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\SetContactEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\Member $contact)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getContact(): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\SetDefaultShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Company\UpdateCompanyEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $updatedCompany, \Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct $companyUpdateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getCompanyUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function getUpdatedCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Member\BeforeCreateMemberEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct $memberCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\Role $role)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public function getMemberCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function hasMember(): bool` +- `public function isPropagationStopped(): bool` +- `public function setMember(Member|null $member): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Member\BeforeDeleteMemberEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member)` +- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Member\BeforeSetMemberRoleEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\Core\Repository\Values\User\Role $role)` +- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Member\BeforeUpdateMemberEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct $memberUpdateStruct)` +- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public function getMemberUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct` +- `public function getUpdatedMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public function hasUpdatedMember(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedMember(Member|null $updatedMember): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Member\CreateMemberEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct $memberCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\Role $role)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public function getMemberCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Member\DeleteMemberEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member)` +- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Member\SetMemberRoleEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\Core\Repository\Values\User\Role $role)` +- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\Member\UpdateMemberEvent + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $updatedMember, \Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct $memberUpdateStruct)` +- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public function getMemberUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct` +- `public function getUpdatedMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` + +## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\BeforeCreateShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct $shippingAddressCreateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function getShippingAddressCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct` +- `public function hasShippingAddress(): bool` +- `public function isPropagationStopped(): bool` +- `public function setShippingAddress(ShippingAddress|null $shippingAddress): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\BeforeCreateShippingAddressFromCompanyBillingAddressEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function hasShippingAddress(): bool` +- `public function isPropagationStopped(): bool` +- `public function setShippingAddress(ShippingAddress|null $shippingAddress): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\BeforeDeleteShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress)` +- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\BeforeUpdateShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct $shippingAddressUpdateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function getShippingAddressUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct` +- `public function getUpdatedShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function hasUpdatedShippingAddress(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedShippingAddress(ShippingAddress|null $updatedShippingAddress): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\CreateShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress, \Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct $shippingAddressCreateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function getShippingAddressCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\CreateShippingAddressFromCompanyBillingAddressEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress, \Ibexa\Contracts\CorporateAccount\Values\Company $company)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\DeleteShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress)` +- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\UpdateShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $updatedShippingAddress, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct $shippingAddressUpdateStruct[, array|null $fieldIdentifiersToValidate = null ])` +- `public function getFieldIdentifiersToValidate(): array|null` +- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function getShippingAddressUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct` +- `public function getUpdatedShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\CorporateAccount\Exception\CustomerPortalMainPageNotFoundException extends Ibexa\Contracts\Core\Repository\Exceptions\NotFoundException + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $customerPortalLocation[, int $code = 0 ][, Throwable|null $previous = null ])` + +## Ibexa\Contracts\CorporateAccount\Exception\CustomerPortalNotFoundException extends Ibexa\Contracts\Core\Repository\Exceptions\NotFoundException + +- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member[, int $code = 0 ][, Throwable|null $previous = null ])` + +## Ibexa\Contracts\CorporateAccount\Exception\UnauthorizedOrderUser extends Ibexa\Contracts\Core\Repository\Exceptions\BadStateException + +- `public function __construct(int $orderId, int $companyId)` + +## Ibexa\Contracts\CorporateAccount\Exception\ValidationFailedExceptionInterface extends Throwable + +- `public function getErrors(): \Symfony\Component\Validator\ConstraintViolationListInterface` + +## Ibexa\Contracts\CorporateAccount\Permission\MemberResolver + +- `public function getCurrentMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` + +## Ibexa\Contracts\CorporateAccount\SalesRepresentatives\SalesRepresentativesFilterBuilderInterface + +- `public function buildFilterForGetAllQuery(int $offset, int $limit): \Ibexa\Contracts\Core\Repository\Values\Filter\Filter` + +## Ibexa\Contracts\CorporateAccount\Service\ApplicationService + +- `public function createApplication(\Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct $applicationCreateStruct[, array|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\CorporateAccount\Values\Application` +- `public function deleteApplication(\Ibexa\Contracts\CorporateAccount\Values\Application $application): void` +- `public function getApplication(int $id): \Ibexa\Contracts\CorporateAccount\Values\Application` +- `public function getApplications([CriterionInterface|null $filter = null ][, array $sortClauses = [] ][, int|null $limit = 25 ][, int $offset = 0 ]): array` +- `public function getApplicationsCount([CriterionInterface|null $filter = null ]): int` +- `public function getApplicationsStates(array $applications): array` +- `public function getApplicationState(\Ibexa\Contracts\CorporateAccount\Values\Application $application): \Ibexa\Contracts\CorporateAccount\Values\ApplicationState` +- `public function newApplicationCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct` +- `public function newApplicationUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct` +- `public function updateApplication(\Ibexa\Contracts\CorporateAccount\Values\Application $application, \Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct $applicationUpdateStruct[, array|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\CorporateAccount\Values\Application` + +## Ibexa\Contracts\CorporateAccount\Service\CompanyService + +- `public function createCompanyAddressBookFolder(\Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function createCompanyMembersUserGroup(\Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function deleteCompany(\Ibexa\Contracts\CorporateAccount\Values\Company $company): void` +- `public function getCompanies([CriterionInterface|null $filter = null ][, array $sortClauses = [] ][, int|null $limit = self::DEFAULT_COMPANY_LIST_LIMIT ][, int $offset = 0 ]): array` +- `public function getCompaniesCount([CriterionInterface|null $filter = null ]): int` +- `public function getCompany(int $id): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getCompanySalesRepresentative(\Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function newCompanyCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct` +- `public function newCompanyUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct` +- `public function setCompanyAddressBookRelation(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content): void` +- `public function setCompanyMembersRelation(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content): void` +- `public function setContact(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\Member $contact): void` +- `public function setDefaultShippingAddress(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress): void` +- `public function updateCompany(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct $companyUpdateStruct[, array|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public const mixed DEFAULT_COMPANY_LIST_LIMIT = 25` + +## Ibexa\Contracts\CorporateAccount\Service\CorporateAccountService + +- `public function createCompany(\Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct $companyCreateStruct): \Ibexa\Contracts\CorporateAccount\Values\Company` + +## Ibexa\Contracts\CorporateAccount\Service\CustomerPortalService + +- `public function getMainPage(\Ibexa\Contracts\Core\Repository\Values\Content\Location $customerPortalLocation): \Ibexa\Contracts\Core\Repository\Values\Content\Content` + +## Ibexa\Contracts\CorporateAccount\Service\MemberService + +- `public function createMember(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct $memberCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\Role $role): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public function deleteMember(\Ibexa\Contracts\CorporateAccount\Values\Member $member): void` +- `public function getCompanyContact(\Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\CorporateAccount\Values\Member|null` +- `public function getCompanyMembers(\Ibexa\Contracts\CorporateAccount\Values\Company $company[, CriterionInterface|null $filter = null ][, array $sortClauses = [] ][, int|null $limit = self::DEFAULT_COMPANY_MEMBERS_LIST_LIMIT ][, int $offset = 0 ]): array` +- `public function getMember(int $memberId, \Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public function getMemberAssignment(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\CorporateAccount\Values\MemberAssignment` +- `public function getMemberAssignmentByUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\CorporateAccount\Values\MemberAssignment` +- `public function getMemberAssignments(\Ibexa\Contracts\CorporateAccount\Values\Member $member): iterable` +- `public function getMemberAssignmentsByMemberId(int $memberId): iterable` +- `public function getRoleAssignment(\Ibexa\Contracts\CorporateAccount\Values\Member $member): \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment` +- `public function getRoleAssignmentByUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\Role $role, string $locationPath): \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment` +- `public function newMemberCreateStruct(string $login, string $email, string $password[, ContentType|null $contentType = null ]): \Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct` +- `public function newMemberUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct` +- `public function setMemberRole(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\Core\Repository\Values\User\Role $role): void` +- `public function updateMember(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct $memberUpdateStruct): \Ibexa\Contracts\CorporateAccount\Values\Member` +- `public const mixed DEFAULT_COMPANY_MEMBERS_LIST_LIMIT = 25` + +## Ibexa\Contracts\CorporateAccount\Service\SalesRepresentativesService + +- `public const mixed DEFAULT_PAGE_LIMIT = 25` + +## Ibexa\Contracts\CorporateAccount\Service\ShippingAddressService + +- `public function createShippingAddress(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct $shippingAddressCreateStruct[, array|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function createShippingAddressFromCompanyBillingAddress(\Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function deleteShippingAddress(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress): void` +- `public function getCompanyDefaultShippingAddress(\Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress|null` +- `public function getCompanyShippingAddresses(\Ibexa\Contracts\CorporateAccount\Values\Company $company[, int $limit = 25 ][, int $offset = 0 ]): array` +- `public function getShippingAddress(int $id): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` +- `public function newShippingAddressCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct` +- `public function newShippingAddressUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct` +- `public function updateShippingAddress(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct $shippingAddressUpdateStruct[, array|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` + +## Ibexa\Contracts\CorporateAccount\Values\Application extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getId(): int` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` +- `public function getName(): string|null` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct + +- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\CorporateAccount\Values\ApplicationState + +- `public function getApplicationId(): int` +- `public function getCompanyId(): int|null` +- `public function getId(): int` +- `public function getState(): string` + +## Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct + +- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\CorporateAccount\Values\Company extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` +- `public function getAddressBookId(): int|null` +- `public function getBillingAddress(): \Ibexa\FieldTypeAddress\FieldType\Value` +- `public function getContactId(): int|null` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` +- `public function getDefaultAddressId(): int|null` +- `public function getId(): int` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` +- `public function getLocationPath(): string` +- `public function getMembersId(): int|null` +- `public function getName(): string|null` +- `public function getSalesRepresentativeId(): int|null` +- `public function isActive(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct + +- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\CorporateAccount\Values\CompanyHistory + +- `public function getApplicationId(): int` +- `public function getCompanyId(): int|null` +- `public function getCreated(): \DateTimeImmutable` +- `public function getEventData(): array|null` +- `public function getEventName(): string` +- `public function getId(): int` +- `public function getUserId(): int|null` + +## Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct + +- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\CorporateAccount\Values\Limitation\ApplicationStateLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed IDENTIFIER = 'ApplicationState'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\CorporateAccount\Values\Member extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\User\Role $role)` +- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getDefaultLanguageCode(): string` +- `public function getField(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Field|null` +- `public function getFields(): array` +- `public function getFieldsByLanguage([string|null $languageCode = null ]): array` +- `public function getFieldValue(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\FieldType\Value|null` +- `public function getId(): int` +- `public function getName(): string|null` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` +- `public function getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\CorporateAccount\Values\MemberAssignment + +- `public function getCompanyId(): int` +- `public function getCompanyLocationId(): int` +- `public function getId(): int` +- `public function getMemberId(): int` +- `public function getMemberRole(): string` +- `public function getMemberRoleAssignmentId(): int` + +## Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct extends Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct + +- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct + +- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\CorporateAccount\Values\Query\Criterion\ApplicationEmail extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Field + +- `public function getCustomField(string $type, string $field): string|null` +- `public function getSpecifications(): array` +- `public function setCustomField(string $type, string $field, string $customField): void` + +## Ibexa\Contracts\CorporateAccount\Values\Query\Criterion\ApplicationName extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Field + +- `public function getCustomField(string $type, string $field): string|null` +- `public function getSpecifications(): array` +- `public function setCustomField(string $type, string $field, string $customField): void` + +## Ibexa\Contracts\CorporateAccount\Values\Query\Criterion\ApplicationState extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\CorporateAccount\Values\Query\Criterion\CompanyName extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Field + +- `public function getCustomField(string $type, string $field): string|null` +- `public function getSpecifications(): array` +- `public function setCustomField(string $type, string $field, string $customField): void` + +## Ibexa\Contracts\CorporateAccount\Values\Query\Criterion\CompanyStatus extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Field + +- `public function getCustomField(string $type, string $field): string|null` +- `public function getSpecifications(): array` +- `public function setCustomField(string $type, string $field, string $customField): void` + +## Ibexa\Contracts\CorporateAccount\Values\SalesRepresentativesList implements IteratorAggregate + +- `public function __construct([array $salesRepresentatives = [] ])` +- `public function append(\Ibexa\Contracts\Core\Repository\Values\User\User $user): void` +- `public function getIterator(): \ArrayIterator` + +## Ibexa\Contracts\CorporateAccount\Values\ShippingAddress extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getId(): int` +- `public function getName(): string|null` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct + +- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct + +- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Dashboard\Block\QuickActions\ActionInterface + +- `public function getConfiguration(): TUDWActionArray}` +- `public function static getIdentifier(): string` + +## Ibexa\Contracts\Dashboard\DashboardServiceInterface + +- `public function createCustomDashboardDraft([Location|null $location = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function createDashboard(\Ibexa\Contracts\Dashboard\Values\DashboardCreateStruct $dashboardCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Content` + +## Ibexa\Contracts\Dashboard\Iterator\BatchIteratorAdapter\DashboardFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\Core\Repository\LocationService $locationService, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\DesignEngine\DesignAwareInterface + +- `public const mixed DESIGN_NAMESPACE = 'ibexadesign'` + +## Ibexa\Contracts\DiscountsCodes\DiscountCodeServiceInterface + +- `public function codeExists(string $code): bool` +- `public function createDiscountCode(\Ibexa\Contracts\DiscountsCodes\Value\Struct\DiscountCodeCreateStruct $createStruct): \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface` +- `public function findCodeUsages(\Ibexa\Contracts\DiscountsCodes\Value\Query\DiscountCodeUsageQuery $query): array` +- `public function findOneByCode(string $code): \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface` +- `public function isCodeUsable(\Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface $code, \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser $user): bool` +- `public function registerUsage(\Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface $code, \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser $user, \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order): void` +- `public function updateDiscountCode(\Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface $discountCode, \Ibexa\Contracts\DiscountsCodes\Value\Struct\DiscountCodeUpdateStruct $updateStruct): \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface` + +## Ibexa\Contracts\DiscountsCodes\Event\BeforeDiscountCodeApplyEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\DiscountsCodes\Exception\DiscountCodeNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException + +- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` + +## Ibexa\Contracts\DiscountsCodes\Exception\DiscountCodeRateLimitExceededException extends RuntimeException + +- `public function __construct(\Symfony\Component\RateLimiter\LimiterInterface $limiter[, string $message = '' ][, int $code = 0 ][, Throwable|null $previous = null ])` +- `public function getLimiter(): \Symfony\Component\RateLimiter\LimiterInterface` + +## Ibexa\Contracts\DiscountsCodes\Exception\DiscountCodeUnusableException extends RuntimeException + +- `public function __construct(\Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface $discountCode, \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser $user)` +- `public function getDiscountCode(): \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface` +- `public function getUser(): \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser` + +## Ibexa\Contracts\DiscountsCodes\Exception\DiscountCodeUserInvalidArgumentException extends InvalidArgumentException + +- `public function __construct(string $type)` +- `public function getType(): string` + +## Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface + +- `public function getCode(): string` +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getCreatorId(): int` +- `public function getGlobalLimit(): int|null` +- `public function getId(): int` +- `public function getUsedCount(): int` +- `public function getUsedLimit(): int|null` + +## Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUsageInterface + +- `public function getDiscountCodeId(): int` +- `public function getId(): int` +- `public function getUsedAt(): \DateTimeImmutable` + +## Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser + +- `public function getIdentifier(): int|string` +- `public function getType(): string` +- `public function setType(string $type): void` +- `public const mixed TYPE_EMAIL = 'email'` +- `public const mixed TYPE_USER = 'user'` + +## Ibexa\Contracts\DiscountsCodes\Value\Query\DiscountCodeUsageQuery + +- `public function getDiscountCodes(): array|null` +- `public function getDiscountCodeUser(): \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser|null` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function setDiscountCodes(array|null $discountCodes): $this` +- `public function setDiscountCodeUser(DiscountCodeUser|null $discountCodeUser): $this` +- `public function setLimit(int|null $limit): $this` +- `public function setOffset(int $offset): $this` + +## Ibexa\Contracts\DiscountsCodes\Value\Struct\DiscountCodeCreateStruct + +- `public function __construct(string $code, int|null $globalUsageLimit, int|null $userUsageLimit, int|null $creatorId, \DateTimeImmutable $createdAt)` +- `public function getCode(): string` +- `public function getCreatedAt(): \DateTimeImmutable` +- `public function getCreatorId(): int|null` +- `public function getGlobalUsageLimit(): int|null` +- `public function getUserUsageLimit(): int|null` + +## Ibexa\Contracts\DiscountsCodes\Value\Struct\DiscountCodeUpdateStruct + +- `public function __construct(string|null $code, int|null $globalUsageLimit, int|null $userUsageLimit, int|null $creatorId, DateTimeImmutable|null $createdAt)` +- `public function getCode(): string|null` +- `public function getCreatedAt(): \DateTimeImmutable|null` +- `public function getCreatorId(): int|null` +- `public function getGlobalUsageLimit(): int|null` +- `public function getUserUsageLimit(): int|null` + +## Ibexa\Contracts\Discounts\Admin\FormMapper\ConditionsMapperInterface + +- `public function createFormData(string $type, string $ruleType): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` +- `public function mapCreateDataToStruct(\Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct): void` +- `public function mapDiscountToFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` +- `public function mapUpdateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct): void` + +## Ibexa\Contracts\Discounts\Admin\FormMapper\DiscountValueMapperInterface + +- `public function createFormData(string $type, string $ruleType): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` +- `public function mapCreateDataToStruct(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct): void` +- `public function mapDiscountToFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` +- `public function mapUpdateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct): void` + +## Ibexa\Contracts\Discounts\Admin\FormMapper\GeneralPropertiesMapperInterface + +- `public function createFormData(string $type, string $ruleType, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` +- `public function mapCreateDataToStruct(\Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct): void` +- `public function mapDiscountToFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` +- `public function mapUpdateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct): void` + +## Ibexa\Contracts\Discounts\Admin\FormMapper\ProductConditionsMapperInterface + +- `public function createFormData(string $type, string $ruleType): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` +- `public function mapCreateDataToStruct(\Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct): void` +- `public function mapDiscountToFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` +- `public function mapUpdateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct): void` + +## Ibexa\Contracts\Discounts\Admin\FormMapper\StepDataObjectMapperInterface + +- `public function mapDataToFormType(object $data): string` + +## Ibexa\Contracts\Discounts\Admin\FormMapper\UserConditionsMapperInterface + +- `public function createFormData(string $type, string $ruleType): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` +- `public function mapCreateDataToStruct(\Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct): void` +- `public function mapDiscountToFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` +- `public function mapUpdateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct): void` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractConditions extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountStep implements Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface + +- `public function addData(object $data): self` +- `public function getData(): array` +- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` +- `public function getMinimumPurchaseAmount(): numeric-string|null` +- `public function getMinimumPurchaseQuantity(): int|null` +- `public function getType(): string|null` +- `public function removeData(object $data): self` +- `public function setData(array $data): self` +- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` +- `public function setMinimumPurchaseAmount(string|null $value): $this` +- `public function setMinimumPurchaseQuantity(int|null $value): self` +- `public function setType(string|null $type): $this` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractCreateDiscountData extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountData implements Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface + +- `public function __construct(string $type, string $ruleType, \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface $generalProperties, \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface $userCondition, \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface $productCondition, \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $conditions, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $value)` +- `public function getConditions(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` +- `public function getGeneralProperties(): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` +- `public function getProducts(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` +- `public function getRuleType(): string` +- `public function getStepByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData|null` +- `public function getSteps(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData` +- `public function getTargetGroup(): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` +- `public function static getTranslationMessages(): array` +- `public function getType(): string` +- `public function getValue(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` +- `public function withStep(object $data, string $identifier, string $label[, int $priority = 0 ][, bool $active = false ]): static` +- `public function withSteps(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData $steps): self` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountData implements Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface, JMS\TranslationBundle\Translation\TranslationContainerInterface + +- `public function __construct(\Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface $generalProperties, \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface $userCondition, \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface $productCondition, \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $conditions, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $value)` +- `public function getConditions(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` +- `public function getGeneralProperties(): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` +- `public function getProducts(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` +- `public function getStepByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData|null` +- `public function getSteps(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData` +- `public function getTargetGroup(): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` +- `public function static getTranslationMessages(): array` +- `public function getValue(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` +- `public function withStep(object $data, string $identifier, string $label[, int $priority = 0 ][, bool $active = false ]): static` +- `public function withSteps(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData $steps): self` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountStep implements Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataAwareInterface + +- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` +- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountValue extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountStep implements Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface + +- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` +- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractEditDiscountData extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountData implements Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface $generalProperties, \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface $userCondition, \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface $productCondition, \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $conditions, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $value)` +- `public function getConditions(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` +- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function getGeneralProperties(): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` +- `public function getProducts(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` +- `public function getRuleType(): string` +- `public function getStepByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData|null` +- `public function getSteps(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData` +- `public function getTargetGroup(): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` +- `public function static getTranslationMessages(): array` +- `public function getType(): string` +- `public function getValue(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` +- `public function withStep(object $data, string $identifier, string $label[, int $priority = 0 ][, bool $active = false ]): static` +- `public function withSteps(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData $steps): self` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractGeneralProperties extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountStep implements Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface + +- `public function addData(object $data): self` +- `public function addRegion(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): $this` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` +- `public function getData(): array` +- `public function getDescription(): string|null` +- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` +- `public function getEndTime(): \DateTimeImmutable|null` +- `public function getIdentifier(): string` +- `public function getLabel(): string|null` +- `public function getLabelDescription(): string|null` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getName(): string` +- `public function getPriority(): int` +- `public function getRegions(): array` +- `public function getStartTime(): \DateTimeImmutable|null` +- `public function isEnabled(): bool` +- `public function isPermanent(): bool` +- `public function removeData(object $data): self` +- `public function removeRegion(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): $this` +- `public function setCurrency(CurrencyInterface|null $currency): $this` +- `public function setData(array $data): self` +- `public function setDescription(string|null $description): $this` +- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` +- `public function setEnabled(bool $enabled): $this` +- `public function setEndTime(DateTimeInterface|null $endTime): $this` +- `public function setIdentifier(string|null $identifier): $this` +- `public function setLabel(string|null $label): $this` +- `public function setLabelDescription(string|null $labelDescription): $this` +- `public function setLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): $this` +- `public function setName(string|null $name): $this` +- `public function setPermanent(bool $permanent): $this` +- `public function setPriority(int|null $priority): $this` +- `public function setStartTime(DateTimeInterface|null $startTime): $this` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractProductCondition extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountStep implements Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface + +- `public function addData(object $data): self` +- `public function getCategories(): array` +- `public function getData(): array` +- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` +- `public function getProducts(): \Ibexa\Contracts\ProductCatalog\Form\Data\ProductsSelectorData` +- `public function getType(): string` +- `public function removeData(object $data): self` +- `public function setCategories(array|null $categories): self` +- `public function setData(array $data): self` +- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` +- `public function setProducts(ProductsSelectorData|null $products): self` +- `public function setType(string|null $type): $this` +- `public const mixed TYPE_ALL = 'all'` +- `public const mixed TYPE_CATEGORIES = 'categories'` +- `public const mixed TYPE_PRODUCTS = 'products'` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractUserCondition extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountStep implements Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface + +- `public function getCustomerGroups(): array` +- `public function getData(): array` +- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` +- `public function getType(): string` +- `public function removeData(object $data): self` +- `public function setCustomerGroups(array $customerGroups): $this` +- `public function setData(array $data): self` +- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` +- `public function setType(string|null $type): $this` +- `public const mixed TYPE_ALL = 'all'` +- `public const mixed TYPE_CUSTOMER_GROUPS = 'customer_groups'` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\CustomDataAwareInterface + +- `public function getData(): array` +- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` +- `public function getMinimumPurchaseAmount(): numeric-string|null` +- `public function getMinimumPurchaseQuantity(): int|null` +- `public function getType(): string|null` +- `public function removeData(object $data): $this` +- `public function setData(array $data): $this` +- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` +- `public function setMinimumPurchaseAmount(numeric-string|null $value): $this` +- `public function setMinimumPurchaseQuantity(int|null $value): self` +- `public function setType(string|null $type): $this` +- `public const mixed IDENTIFIER = 'conditions'` +- `public const mixed LABEL_KEY = 'discount.step.conditions.label'` +- `public const mixed TYPE_MINIMUM_PURCHASE_AMOUNT = 'minimum_purchase_amount'` +- `public const mixed TYPE_MINIMUM_PURCHASE_QUANTITY = 'minimum_purchase_quantity'` +- `public const mixed TYPE_NONE = null` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface + +- `public function getConditions(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` +- `public function getGeneralProperties(): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` +- `public function getProducts(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` +- `public function getRuleType(): string` +- `public function getStepByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData|null` +- `public function getSteps(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData` +- `public function getTargetGroup(): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` +- `public function getType(): string` +- `public function getValue(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` +- `public function withStep(object $data, string $identifier, string $label[, int $priority = 0 ][, bool $active = false ]): static` +- `public function withSteps(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData $steps): self` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\CustomDataAwareInterface + +- `public function addData(object $data): $this` +- `public function getData(): array` +- `public function removeData(object $data): $this` +- `public function setData(array $data): $this` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\CustomDataAwareTrait + +- `public function addData(object $data): self` +- `public function getData(): array` +- `public function removeData(object $data): self` +- `public function setData(array $data): self` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataAwareInterface + +- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` +- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface + +- `public function getConditions(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` +- `public function getGeneralProperties(): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` +- `public function getProducts(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` +- `public function getRuleType(): string` +- `public function getStepByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData|null` +- `public function getSteps(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData` +- `public function getTargetGroup(): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` +- `public function getType(): string` +- `public function getValue(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` +- `public function withStep(object $data, string $identifier, string $label[, int $priority = 0 ][, bool $active = false ]): static` +- `public function withSteps(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData $steps): self` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData implements Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepDataInterface + +- `public function __construct(string $identifier, object $step, string $label[, int $priority = 0 ][, bool $active = false ])` +- `public function getIdentifier(): string` +- `public function getPriority(): int` +- `public function getStepData(): object` +- `public function getStepLabel(): string` +- `public function getValidationGroups(): array` +- `public function isActive(): bool` +- `public function isSubmitted(): bool` +- `public function setActive(bool $active): $this` +- `public function setPriority(int $priority): $this` +- `public function setSubmitted(bool $submitted): $this` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepDataInterface + +- `public function getIdentifier(): string` +- `public function getPriority(): int` +- `public function getStepData(): object` +- `public function getStepLabel(): string` +- `public function getValidationGroups(): array` +- `public function isActive(): bool` +- `public function isSubmitted(): bool` +- `public function setActive(bool $active): $this` +- `public function setPriority(int $priority): $this` +- `public function setSubmitted(bool $submitted): $this` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData implements IteratorAggregate, ArrayAccess + +- `public function advance(): self` +- `public function canGoToPreviousStep(): bool` +- `public function getActiveStep(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepDataInterface|null` +- `public function getActiveStepIdentifier(): string` +- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` +- `public function getExpectedAction(): string|null` +- `public function getIterator(): \Iterator` +- `public function goBack(): $this` +- `public function isLastStepActive(): bool` +- `public function isStepVisitedByIdentifier(string $identifier): bool` +- `public function offsetExists(mixed $offset): bool` +- `public function offsetGet(mixed $offset): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepDataInterface|null` +- `public function offsetSet(mixed $offset, mixed $value): void` +- `public function offsetUnset(mixed $offset): void` +- `public function setActiveStep(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepDataInterface $step): $this` +- `public function setActiveStepByIdentifier(string $identifier): $this` +- `public function setExpectedAction(string|null $expectedAction): $this` +- `public const mixed ACTION_ADVANCE = 'advance'` +- `public const mixed ACTION_PREVIOUS = 'previous'` +- `public const mixed ACTION_SAVE = 'save'` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataAwareInterface + +- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` +- `public const mixed IDENTIFIER = 'discount_value'` +- `public const mixed LABEL_KEY = 'discount.step.discount_value.label'` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface + +- `public function getConditions(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` +- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function getGeneralProperties(): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` +- `public function getProducts(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` +- `public function getRuleType(): string` +- `public function getStepByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData|null` +- `public function getSteps(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData` +- `public function getTargetGroup(): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` +- `public function getType(): string` +- `public function getValue(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` +- `public function withStep(object $data, string $identifier, string $label[, int $priority = 0 ][, bool $active = false ]): static` +- `public function withSteps(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData $steps): self` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataAwareInterface + +- `public function addRegion(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): $this` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` +- `public function getData(): array` +- `public function getDescription(): string|null` +- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` +- `public function getEndTime(): \DateTimeImmutable|null` +- `public function getIdentifier(): string` +- `public function getLabel(): string|null` +- `public function getLabelDescription(): string|null` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getName(): string` +- `public function getPriority(): int` +- `public function getRegions(): array` +- `public function getStartTime(): \DateTimeImmutable|null` +- `public function isEnabled(): bool` +- `public function isPermanent(): bool` +- `public function removeData(object $data): $this` +- `public function removeRegion(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): $this` +- `public function setCurrency(CurrencyInterface|null $currency): $this` +- `public function setData(array $data): $this` +- `public function setDescription(string|null $description): $this` +- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` +- `public function setEnabled(bool $enabled): $this` +- `public function setEndTime(DateTimeInterface|null $endTime): $this` +- `public function setIdentifier(string|null $identifier): $this` +- `public function setLabel(string|null $label): $this` +- `public function setLabelDescription(string|null $labelDescription): $this` +- `public function setLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): $this` +- `public function setName(string|null $name): $this` +- `public function setPermanent(bool $permanent): $this` +- `public function setPriority(int $priority): $this` +- `public function setStartTime(DateTimeInterface|null $startTime): $this` +- `public const mixed IDENTIFIER = 'general_properties'` +- `public const mixed LABEL_KEY = 'discount.step.general_properties.label'` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataAwareInterface + +- `public function getCategories(): array` +- `public function getData(): array` +- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` +- `public function getProducts(): \Ibexa\Contracts\ProductCatalog\Form\Data\ProductsSelectorData` +- `public function getType(): string` +- `public function removeData(object $data): $this` +- `public function setCategories(array|null $categories): self` +- `public function setData(array $data): $this` +- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` +- `public function setProducts(ProductsSelectorData|null $products): self` +- `public function setType(string $type): $this` +- `public const mixed IDENTIFIER = 'products'` +- `public const mixed LABEL_KEY = 'discount.step.products.label'` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\TranslateDiscountData implements Ibexa\Contracts\Discounts\Admin\Form\Data\CustomDataAwareInterface + +- `public function addData(object $data): self` +- `public function getData(): array` +- `public function getDescription(): string|null` +- `public function getLabel(): string|null` +- `public function getLabelDescription(): string|null` +- `public function getName(): string` +- `public function removeData(object $data): self` +- `public function setData(array $data): self` +- `public function setDescription(string|null $description): self` +- `public function setLabel(string|null $label): self` +- `public function setLabelDescription(string|null $labelDescription): self` +- `public function setName(string|null $name): self` + +## Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataAwareInterface + +- `public function getCustomerGroups(): array` +- `public function getData(): array` +- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` +- `public function getType(): string` +- `public function removeData(object $data): $this` +- `public function setCustomerGroups(array $customerGroups): $this` +- `public function setData(array $data): $this` +- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` +- `public function setType(string $type): $this` +- `public const mixed IDENTIFIER = 'target_group'` +- `public const mixed LABEL_KEY = 'discount.label.target_group.label'` + +## Ibexa\Contracts\Discounts\Admin\Form\DiscountValueFormTypeMapperInterface + +- `public function getFormTypeForData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data): string|null` +- `public function getFormTypeOptionsForData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data): array` +- `public function hasFormTypeForData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data): bool` + +## Ibexa\Contracts\Discounts\Admin\Form\Event\PreDiscountCreateEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct)` +- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface` +- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Admin\Form\Event\PreDiscountUpdateEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct)` +- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface` +- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Admin\Form\FormThemeProviderInterface + +- `public function getFormThemes(): array` + +## Ibexa\Contracts\Discounts\Admin\Form\Listener\AbstractConditionsFormFormEventSubscriber implements Ibexa\Contracts\Discounts\Admin\Form\Listener\ConditionsFormEventListenerInterface + +- `public function getPriority(): int` + +## Ibexa\Contracts\Discounts\Admin\Form\Listener\AbstractDiscountFormListener implements Ibexa\Contracts\Discounts\Admin\Form\Listener\DiscountFormEventListenerInterface + +- `public function getPriority(): int` + +## Ibexa\Contracts\Discounts\Admin\Form\Listener\AbstractDiscountValueFormFormEventSubscriber implements Ibexa\Contracts\Discounts\Admin\Form\Listener\DiscountValueFormEventListenerInterface + +- `public function getPriority(): int` + +## Ibexa\Contracts\Discounts\Admin\Form\Listener\AbstractStepFormListener implements Ibexa\Contracts\Discounts\Admin\Form\Listener\StepFormEventListenerInterface + +- `public function getPriority(): int` + +## Ibexa\Contracts\Discounts\Admin\Form\Listener\ConditionsFormEventListenerInterface + +- `public function addFields(FormInterface $form, \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $data, \Symfony\Component\Form\FormEvent $event): void` +- `public function getPriority(): int` +- `public function isDataSupported(\Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $data): bool` + +## Ibexa\Contracts\Discounts\Admin\Form\Listener\DiscountFormEventListenerInterface + +- `public function addFields(FormInterface $form, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $data, \Symfony\Component\Form\Event\PreSetDataEvent $event): void` +- `public function getPriority(): int` +- `public function isDataSupported(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $data): bool` + +## Ibexa\Contracts\Discounts\Admin\Form\Listener\DiscountValueFormEventListenerInterface + +- `public function addFields(FormInterface $form, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data, \Symfony\Component\Form\FormEvent $event): void` +- `public function getPriority(): int` +- `public function isDataSupported(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data): bool` + +## Ibexa\Contracts\Discounts\Admin\Form\Listener\StepFormEventListenerInterface + +- `public function addFields(FormInterface> $form, DiscountStepData $data, \Symfony\Component\Form\Event\PreSetDataEvent $event): void` +- `public function getPriority(): int` +- `public function isDataSupported(DiscountStepData $data): bool` + +## Ibexa\Contracts\Discounts\DiscountConditionCriterionMapperInterface + +- `public function getCriterion(\Ibexa\Contracts\Discounts\Value\DiscountConditionInterface $discountCondition): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface|null` + +## Ibexa\Contracts\Discounts\DiscountFormMapperInterface + +- `public function createFormData(string $type, string $ruleType, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface` +- `public function getDiscountRuleTypes(string|null $type): array` +- `public function mapCreateDataToStruct(\Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface $data): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct` +- `public function mapDiscountToFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface` +- `public function mapDiscountToTranslateFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language[, Language|null $baseLanguage = null ]): \Ibexa\Contracts\Discounts\Admin\Form\Data\TranslateDiscountData` +- `public function mapEditTranslateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\TranslateDiscountData $data, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` +- `public function mapUpdateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface $data): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` +- `public function supports(string $type, string $ruleType): bool` + +## Ibexa\Contracts\Discounts\DiscountPrioritizationStrategyInterface + +- `public function getOrder(): array` + +## Ibexa\Contracts\Discounts\DiscountServiceDecorator implements Ibexa\Contracts\Discounts\DiscountServiceInterface + +- `public function createDiscount(\Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $createStruct): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function deleteDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` +- `public function deleteTranslation(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, int $languageId): void` +- `public function disableDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` +- `public function enableDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` +- `public function findDiscounts([DiscountQuery|null $discountQuery = null ]): \Ibexa\Contracts\Discounts\Value\DiscountListInterface` +- `public function getDiscountById(int $id): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function getDiscountByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function markIndexed(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` +- `public function updateDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $updateStruct): \Ibexa\Contracts\Discounts\Value\DiscountInterface` + +## Ibexa\Contracts\Discounts\DiscountServiceInterface + +- `public function createDiscount(\Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $createStruct): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function deleteDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` +- `public function deleteTranslation(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, int $languageId): void` +- `public function disableDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` +- `public function enableDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` +- `public function findDiscounts([DiscountQuery|null $query = null ]): \Ibexa\Contracts\Discounts\Value\DiscountListInterface` +- `public function getDiscountById(int $id): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function getDiscountByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function markIndexed(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` +- `public function updateDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $updateStruct): \Ibexa\Contracts\Discounts\Value\DiscountInterface` + +## Ibexa\Contracts\Discounts\DiscountValueFormatterInterface + +- `public function format(\Ibexa\Contracts\Discounts\Value\DiscountRuleInterface $discountRule[, Money|null $money = null ]): string` + +## Ibexa\Contracts\Discounts\DiscountVariablesResolverInterface + +- `public function getVariables(\Ibexa\Contracts\ProductCatalog\Values\Price\PriceContextInterface $priceContext): array` + +## Ibexa\Contracts\Discounts\Event\BeforeCreateDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $createStruct[, DiscountInterface|null $discountResult = null ])` +- `public function getCreateStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct` +- `public function getDiscountResult(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function hasDiscountResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setDiscountResult(DiscountInterface|null $discountResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\BeforeDeleteDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\BeforeDisableDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` +- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\BeforeEnableDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` +- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\BeforeUpdateDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $updateStruct[, DiscountInterface|null $discountResult = null ])` +- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function getDiscountResult(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` +- `public function hasDiscountResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setDiscountResult(DiscountInterface|null $discountResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\CreateDiscountCreateStructEvent extends Symfony\Contracts\EventDispatcher\Event implements Ibexa\Contracts\Discounts\Event\DiscountStructEventInterface + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct, \Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface $data)` +- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface` +- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\CreateDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $createStruct, \Ibexa\Contracts\Discounts\Value\DiscountInterface $discountResult)` +- `public function getCreateStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct` +- `public function getDiscountResult(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\CreateDiscountUpdateStructEvent extends Symfony\Contracts\EventDispatcher\Event implements Ibexa\Contracts\Discounts\Event\DiscountStructEventInterface + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct, \Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface $data, \Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` +- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface` +- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\CreateFormDataEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface $data)` +- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface` +- `public function isPropagationStopped(): bool` +- `public function setData(\Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface $data): $this` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\DeleteDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\DisableDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` +- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\DiscountStructEventInterface + +- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` +- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountStructInterface` + +## Ibexa\Contracts\Discounts\Event\EnableDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` +- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\MapDiscountToFormDataEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface $data, \Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` +- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface` +- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function isPropagationStopped(): bool` +- `public function setData(\Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface $data): $this` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\Step\CreateFormDataEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(object $step, string $discountType, string $ruleType)` +- `public function static createEventName(string $stepName): string` +- `public function getDiscountType(): string` +- `public function getRuleType(): string` +- `public function getStep(): object` +- `public function isPropagationStopped(): bool` +- `public function setStep(object $step): $this` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\Step\MapCreateDataToStructEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct, object $step)` +- `public function static createEventName(string $stepName): string` +- `public function getStep(): object` +- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\Step\MapDiscountToFormDataEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, object $step)` +- `public function static createEventName(string $stepName): string` +- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function getStep(): object` +- `public function isPropagationStopped(): bool` +- `public function setStep(object $step): $this` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\Step\MapUpdateDataToStructEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct, object $step)` +- `public function static createEventName(string $stepName): string` +- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function getStep(): object` +- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Event\UpdateDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $updateStruct, \Ibexa\Contracts\Discounts\Value\DiscountInterface $discountResult)` +- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function getDiscountResult(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Discounts\Exception\DiscountConditionNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException + +- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` + +## Ibexa\Contracts\Discounts\Exception\DiscountExpressionInvalidArgumentException extends Ibexa\Contracts\Core\Exception\InvalidArgumentException + +- `public function __construct(string $argumentName, string $whatIsWrong[, Exception|null $previous = null ])` + +## Ibexa\Contracts\Discounts\Exception\DiscountExpressionRuntimeException extends RuntimeException + +- `public function __construct(string $message[, Throwable|null $previous = null ])` + +## Ibexa\Contracts\Discounts\Exception\DiscountNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException + +- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` + +## Ibexa\Contracts\Discounts\Exception\DiscountRuleNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException + +- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` + +## Ibexa\Contracts\Discounts\Exception\DiscountValueResolutionException extends RuntimeException + +- `public function __construct(string $message[, Throwable|null $previous = null ])` + +## Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function getModule(): string` +- `public function getTargets(): array` + +## Ibexa\Contracts\Discounts\Policy\Create extends Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy + +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct|null` +- `public function getTargets(): array` +- `public const mixed CREATE = 'create'` + +## Ibexa\Contracts\Discounts\Policy\Delete extends Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy + +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Discounts\Value\DiscountInterface|null` +- `public function getTargets(): array` +- `public const mixed DELETE = 'delete'` + +## Ibexa\Contracts\Discounts\Policy\Disable extends Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy + +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Discounts\Value\DiscountInterface|null` +- `public function getTargets(): array` +- `public const mixed DISABLE = 'disable'` + +## Ibexa\Contracts\Discounts\Policy\Enable extends Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy + +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Discounts\Value\DiscountInterface|null` +- `public function getTargets(): array` +- `public const mixed ENABLE = 'enable'` + +## Ibexa\Contracts\Discounts\Policy\Update extends Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy + +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Discounts\Value\DiscountInterface|null` +- `public function getTargets(): array` +- `public const mixed UPDATE = 'update'` + +## Ibexa\Contracts\Discounts\Policy\View extends Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy + +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Discounts\Value\DiscountInterface|null` +- `public function getTargets(): array` +- `public const mixed VIEW = 'view'` + +## Ibexa\Contracts\Discounts\Value\DiscountConditionInterface extends Ibexa\Contracts\Discounts\Value\DiscountExpressionAwareInterface + +- `public function getExpression(): string` +- `public function getExpressionValues(): array|null` +- `public function getIdentifier(): string` + +## Ibexa\Contracts\Discounts\Value\DiscountConditionsInterface + +- `public function getConditionByClassName(string $class): \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface|null` +- `public function getConditionByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface|null` +- `public function getConditions(): array` + +## Ibexa\Contracts\Discounts\Value\DiscountExpressionAwareInterface + +- `public function getExpression(): string` +- `public function getExpressionValues(): array|null` + +## Ibexa\Contracts\Discounts\Value\DiscountInterface extends Ibexa\Contracts\Discounts\Value\DiscountConditionsInterface + +- `public function getConditionByClassName(string $class): \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface|null` +- `public function getConditionByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface|null` +- `public function getConditions(): array` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getDescription([int|null $languageId = null ]): string|null` +- `public function getEndDate(): \DateTimeInterface|null` +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getIndexDate(): \DateTimeInterface|null` +- `public function getLabel([int|null $languageId = null ]): string|null` +- `public function getLabelDescription([int|null $languageId = null ]): string|null` +- `public function getLastContributor(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getName([int|null $languageId = null ]): string` +- `public function getPriority(): int` +- `public function getRule(): \Ibexa\Contracts\Discounts\Value\DiscountRuleInterface` +- `public function getStartDate(): \DateTimeInterface` +- `public function getTranslations(): array` +- `public function getType(): string` +- `public function getUpdatedAt(): \DateTimeInterface` +- `public function isActive(): bool` +- `public function isEnabled(): bool` + +## Ibexa\Contracts\Discounts\Value\DiscountListInterface extends IteratorAggregate + +- `public function getDiscounts(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Discounts\Value\DiscountRuleInterface extends Ibexa\Contracts\Discounts\Value\DiscountExpressionAwareInterface + +- `public function getExpression(): string` +- `public function getExpressionValues(): array|null` +- `public function getType(): string` + +## Ibexa\Contracts\Discounts\Value\DiscountTranslationInterface + +- `public function getDescription(): string|null` +- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` +- `public function getLabel(): string|null` +- `public function getLabelDescription(): string|null` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getName(): string` + +## Ibexa\Contracts\Discounts\Value\DiscountType + +- `public const mixed CART = 'cart'` +- `public const mixed CATALOG = 'catalog'` + +## Ibexa\Contracts\Discounts\Value\DiscountValueInterface + +- `public function getValue(): \Ibexa\Contracts\Core\Collection\MapInterface` + +## Ibexa\Contracts\Discounts\Value\Query\Criterion\CreatedAtCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Discounts\Value\Query\Criterion\CreatorCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Discounts\Value\Query\Criterion\EndDateCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Discounts\Value\Query\Criterion\IdentifierCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Discounts\Value\Query\Criterion\IndexedAtCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Discounts\Value\Query\Criterion\IsEnabledCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Discounts\Value\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\Discounts\Value\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\Discounts\Value\Query\Criterion\NameCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Discounts\Value\Query\Criterion\PriorityCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Discounts\Value\Query\Criterion\StartDateCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Discounts\Value\Query\Criterion\TypeCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Discounts\Value\Query\Criterion\UpdatedAtCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Discounts\Value\Query\DiscountQuery + +- `public function getLimit(): int` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function setLimit(int $limit): void` +- `public function setOffset(int $offset): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\Discounts\Value\Query\SortClause\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Discounts\Value\Query\SortClause\EndDate extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Discounts\Value\Query\SortClause\Id extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Discounts\Value\Query\SortClause\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Discounts\Value\Query\SortClause\OverridePrioritization extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Discounts\Value\Query\SortClause\Priority extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Discounts\Value\Query\SortClause\StartDate extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Discounts\Value\Query\SortClause\Type extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Discounts\Value\Query\SortClause\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Discounts\Value\Struct\TranslationAwareDiscountStructInterface, Ibexa\Contracts\Discounts\Value\Struct\DiscountStructInterface + +- `public function __construct([string|null $identifier = null ][, string|null $type = null ][, int|null $priority = null ][, bool|null $isEnabled = null ][, User|null $user = null ][, DiscountRuleInterface|null $rule = null ][, DateTimeInterface|null $startDate = null ][, array $conditions = [] ][, array $translations = [] ][, DateTimeInterface|null $endDate = null ][, DateTimeInterface|null $createdAt = null ][, DateTimeInterface|null $updatedAt = null ][, MapInterface|null $context = null ])` +- `public function addCondition(\Ibexa\Contracts\Discounts\Value\DiscountConditionInterface $condition): $this` +- `public function getConditions(): array` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getCreatedAt(): \DateTimeInterface|null` +- `public function getEndDate(): \DateTimeInterface|null` +- `public function getIdentifier(): string|null` +- `public function getPriority(): int|null` +- `public function getRule(): \Ibexa\Contracts\Discounts\Value\DiscountRuleInterface|null` +- `public function getStartDate(): \DateTimeInterface|null` +- `public function getTranslations(): array` +- `public function getType(): string|null` +- `public function getUpdatedAt(): \DateTimeInterface|null` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function isEnabled(): bool|null` +- `public function setConditions(array $conditions): $this` +- `public function setContext(MapInterface|null $context): self` +- `public function setCreatedAt(DateTimeInterface|null $createdAt): $this` +- `public function setEnabled(bool $isEnabled): $this` +- `public function setEndDate(DateTimeInterface|null $endDate): $this` +- `public function setIdentifier(string $identifier): $this` +- `public function setPriority(int $priority): $this` +- `public function setRule(\Ibexa\Contracts\Discounts\Value\DiscountRuleInterface $rule): $this` +- `public function setStartDate(\DateTimeInterface $startDate): $this` +- `public function setTranslations(array $translations): $this` +- `public function setType(string $type): $this` +- `public function setUpdatedAt(DateTimeInterface|null $updatedAt): $this` +- `public function setUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): $this` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Discounts\Value\Struct\DiscountStructInterface + +- `public function addCondition(\Ibexa\Contracts\Discounts\Value\DiscountConditionInterface $condition): $this` +- `public function getConditions(): array` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getCreatedAt(): \DateTimeInterface|null` +- `public function getEndDate(): \DateTimeInterface|null` +- `public function getIdentifier(): string|null` +- `public function getPriority(): int|null` +- `public function getRule(): \Ibexa\Contracts\Discounts\Value\DiscountRuleInterface|null` +- `public function getStartDate(): \DateTimeInterface|null` +- `public function getUpdatedAt(): \DateTimeInterface|null` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function isEnabled(): bool|null` +- `public function setConditions(array $conditions): $this` +- `public function setContext(MapInterface|null $context): self` +- `public function setCreatedAt(DateTimeInterface|null $createdAt): $this` +- `public function setEnabled(bool $isEnabled): $this` +- `public function setEndDate(DateTimeInterface|null $endDate): $this` +- `public function setIdentifier(string $identifier): $this` +- `public function setPriority(int $priority): $this` +- `public function setRule(\Ibexa\Contracts\Discounts\Value\DiscountRuleInterface $rule): $this` +- `public function setStartDate(\DateTimeInterface $startDate): $this` +- `public function setUpdatedAt(DateTimeInterface|null $updatedAt): $this` +- `public function setUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): $this` + +## Ibexa\Contracts\Discounts\Value\Struct\DiscountTranslationStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $languageCode, string $name, string|null $description, string|null $label, string|null $labelDescription)` +- `public function getDescription(): string|null` +- `public function getLabel(): string|null` +- `public function getLabelDescription(): string|null` +- `public function getLanguageCode(): string` +- `public function getName(): string` +- `public function setDescription(string|null $description): $this` +- `public function setLabel(string|null $label): $this` +- `public function setLabelDescription(string|null $labelDescription): $this` +- `public function setLanguageCode(string $languageCode): $this` +- `public function setName(string $name): $this` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Discounts\Value\Struct\TranslationAwareDiscountStructInterface, Ibexa\Contracts\Discounts\Value\Struct\DiscountStructInterface + +- `public function __construct([string|null $identifier = null ][, int|null $priority = null ][, bool|null $isEnabled = null ][, User|null $user = null ][, User|null $lastContributor = null ][, DiscountRuleInterface|null $rule = null ][, DateTimeInterface|null $startDate = null ][, array $conditions = null ][, array $translations = [] ][, DateTimeInterface|null $endDate = null ][, DateTimeInterface|null $createdAt = null ][, DateTimeInterface|null $updatedAt = null ][, MapInterface|null $context = null ])` +- `public function addCondition(\Ibexa\Contracts\Discounts\Value\DiscountConditionInterface $condition): $this` +- `public function getConditions(): array` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getCreatedAt(): \DateTimeInterface|null` +- `public function getEndDate(): \DateTimeInterface|null` +- `public function getIdentifier(): string|null` +- `public function getLastContributor(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function getPriority(): int|null` +- `public function getRule(): \Ibexa\Contracts\Discounts\Value\DiscountRuleInterface|null` +- `public function getStartDate(): \DateTimeInterface|null` +- `public function getTranslations(): array` +- `public function getUpdatedAt(): \DateTimeInterface|null` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function isEnabled(): bool|null` +- `public function setConditions(array|null $conditions): $this` +- `public function setContext(MapInterface|null $context): self` +- `public function setCreatedAt(DateTimeInterface|null $createdAt): $this` +- `public function setEnabled(bool|null $isEnabled): $this` +- `public function setEndDate(DateTimeInterface|null $endDate): $this` +- `public function setIdentifier(string|null $identifier): $this` +- `public function setLastContributor(User|null $lastContributor): self` +- `public function setPriority(int|null $priority): $this` +- `public function setRule(DiscountRuleInterface|null $rule): $this` +- `public function setStartDate(DateTimeInterface|null $startDate): $this` +- `public function setTranslations(array $translations): $this` +- `public function setUpdatedAt(DateTimeInterface|null $updatedAt): $this` +- `public function setUser(User|null $user): $this` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Discounts\Value\Struct\TranslationAwareDiscountStructInterface + +- `public function getTranslations(): array` +- `public function setTranslations(array $translations): $this` + +## Ibexa\Contracts\Discounts\Value\Struct\TranslationAwareDiscountStructTrait + +- `public function getTranslations(): array` +- `public function setTranslations(array $translations): $this` + +## Ibexa\Contracts\DoctrineSchema\Builder\SchemaBuilderInterface + +- `public function buildSchema(): \Doctrine\DBAL\Schema\Schema` +- `public function importSchemaFromFile(string $schemaFilePath): \Doctrine\DBAL\Schema\Schema` + +## Ibexa\Contracts\DoctrineSchema\DbPlatformFactoryInterface + +- `public function createDatabasePlatformFromDriverName(string $driverName): \Doctrine\DBAL\Platforms\AbstractPlatform|null` + +## Ibexa\Contracts\DoctrineSchema\Event\SchemaBuilderEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\DoctrineSchema\Builder\SchemaBuilderInterface $schemaBuilder, \Doctrine\DBAL\Schema\Schema $schema)` +- `public function getSchema(): \Doctrine\DBAL\Schema\Schema` +- `public function getSchemaBuilder(): \Ibexa\Contracts\DoctrineSchema\Builder\SchemaBuilderInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\DoctrineSchema\Exception\InvalidConfigurationException extends Exception + +- `public function __construct([string $message = '' ][, int $code = 1 ][, Throwable|null $previous = null ])` + +## Ibexa\Contracts\DoctrineSchema\SchemaBuilderEvents + +- `public const mixed BUILD_SCHEMA = 'ibexa.schema.build_schema'` + +## Ibexa\Contracts\DoctrineSchema\SchemaExporterInterface + +- `public function export(\Doctrine\DBAL\Schema\Schema $schemaDefinition): string` + +## Ibexa\Contracts\DoctrineSchema\SchemaImporterInterface + +- `public function importFromFile(string $schemaFilePath[, Schema|null $targetSchema = null ]): \Doctrine\DBAL\Schema\Schema` +- `public function importFromSource(string $schemaDefinition[, Schema|null $targetSchema = null ]): \Doctrine\DBAL\Schema\Schema` + +## Ibexa\Contracts\Elasticsearch\ElasticSearch\Index\Group\GroupResolverInterface + +- `public function resolveDocumentGroup(\Ibexa\Contracts\Elasticsearch\Mapping\BaseDocument $document): string` + +## Ibexa\Contracts\Elasticsearch\Mapping\BaseDocument extends Ibexa\Contracts\Core\Search\Document + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Elasticsearch\Mapping\ContentDocument extends Ibexa\Contracts\Elasticsearch\Mapping\BaseDocument + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Elasticsearch\Mapping\Event\ContentIndexCreateEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Core\Persistence\Content $content, \Ibexa\Contracts\Elasticsearch\Mapping\ContentDocument $document)` +- `public function getContent(): \Ibexa\Contracts\Core\Persistence\Content` +- `public function getDocument(): \Ibexa\Contracts\Elasticsearch\Mapping\ContentDocument` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Elasticsearch\Mapping\Event\LocationIndexCreateEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Core\Persistence\Content\Location $location, \Ibexa\Contracts\Elasticsearch\Mapping\LocationDocument $document)` +- `public function getDocument(): \Ibexa\Contracts\Elasticsearch\Mapping\LocationDocument` +- `public function getLocation(): \Ibexa\Contracts\Core\Persistence\Content\Location` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Elasticsearch\Mapping\LocationDocument extends Ibexa\Contracts\Elasticsearch\Mapping\BaseDocument + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Elasticsearch\Query\AggregationResultExtractor + +- `public function extract(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter, array $data): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult` +- `public function supports(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): bool` + +## Ibexa\Contracts\Elasticsearch\Query\AggregationVisitor + +- `public function supports(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): bool` +- `public function visit(\Ibexa\Contracts\Elasticsearch\Query\AggregationVisitor $dispatcher, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): array` + +## Ibexa\Contracts\Elasticsearch\Query\CriterionVisitor + +- `public function supports(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $criterion, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): bool` +- `public function visit(\Ibexa\Contracts\Elasticsearch\Query\CriterionVisitor $dispatcher, \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $criterion, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): array` + +## Ibexa\Contracts\Elasticsearch\Query\EmbeddingVisitor + +- `public function supports(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding $embedding): bool` +- `public function visit(\Ibexa\Contracts\Elasticsearch\Query\EmbeddingVisitor $dispatcher, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding $embedding): string` + +## Ibexa\Contracts\Elasticsearch\Query\Event\QueryFilterEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter)` +- `public function getLanguageFilter(): \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter` +- `public function getQuery(): \Ibexa\Contracts\Core\Repository\Values\Content\Query` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Elasticsearch\Query\LanguageFilter + +- `public function __construct(array $languages, bool $useAlwaysAvailable, bool $excludeTranslationsFromAlwaysAvailable)` +- `public function static fromArray(array $data): self` +- `public function getExcludeTranslationsFromAlwaysAvailable(): bool` +- `public function getLanguages(): array` +- `public function getUseAlwaysAvailable(): bool` + +## Ibexa\Contracts\Elasticsearch\Query\SortClauseVisitor + +- `public function supports(\Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): bool` +- `public function visit(\Ibexa\Contracts\Elasticsearch\Query\SortClauseVisitor $visitor, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): array` + +## Ibexa\Contracts\Elasticsearch\Repository\Values\Content\Query\Pinned extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function getOrganicCriteria(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion` +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Elasticsearch\Repository\Values\Content\Query\RandomScore extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function getCriterion(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface` +- `public function getSeed(): int|null` +- `public function getSpecifications(): array` +- `public function hasSeed(): bool` + +## Ibexa\Contracts\FieldTypeAddress\Event\Events + +- `public function static getMapFieldEventName(string $identifier[, string|null $type = null ][, string|null $country = null ]): string` +- `public function static getMapFieldEventNames(string $identifier, string $type, string|null $country): array` + +## Ibexa\Contracts\FieldTypeAddress\Event\MapFieldEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(string $identifier, string $addressType[, string|null $country = null ])` +- `public function getAddressType(): string` +- `public function getCountry(): string|null` +- `public function getIdentifier(): string` +- `public function getLabel(): bool|string|null` +- `public function getOptions(): array` +- `public function getType(): string|null` +- `public function isPropagationStopped(): bool` +- `public function setLabel(bool|string|null $label): void` +- `public function setOption(string $option, mixed $value): void` +- `public function setOptions(array $options): void` +- `public function setType(string $type): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Attribute + +- `public function __construct(string $id, string $name, mixed $value)` +- `public function getId(): string` +- `public function getName(): string` +- `public function getValue(): mixed` +- `public function setId(string $id): void` +- `public function setName(string $name): void` +- `public function setValue(mixed $value): void` + +## Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue + +- `public function __construct(string $id, non-empty-string $type, string|null $name, string $view, string|null $class, string|null $style, string|null $compiled[, DateTime|null $since = null ][, DateTime|null $till = null ][, array $attributes = [] ])` +- `public function getAttribute(string $name): \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Attribute|null` +- `public function getAttributes(): array` +- `public function getClass(): string|null` +- `public function getCompiled(): string|null` +- `public function getId(): string` +- `public function getName(): string|null` +- `public function getSince(): \DateTime|null` +- `public function getStyle(): string|null` +- `public function getTill(): \DateTime|null` +- `public function getType(): non-empty-string` +- `public function getView(): string` +- `public function isVisible([DateTimeInterface|null $dateTime = null ]): bool` +- `public function setAttribute(string $name, mixed $value): void` +- `public function setAttributes(array $attributes): void` +- `public function setClass(string|null $class): void` +- `public function setCompiled(string|null $compiled): void` +- `public function setId(string $id): void` +- `public function setName(string|null $name): void` +- `public function setSince(DateTime|null $since): void` +- `public function setStyle(string|null $style): void` +- `public function setTill(DateTime|null $till): void` +- `public function setType(non-empty-string $type): void` +- `public function setView(string $view): void` + +## Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Page + +- `public function __construct([string $layout = '' ][, array $zones = [] ])` +- `public function getBlockById(string $id): \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue` +- `public function getBlockIterator(): array` +- `public function getLayout(): string` +- `public function getZoneByIdentifier(string $id): \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Zone` +- `public function getZoneByName(string $name): \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Zone` +- `public function getZones(): array` +- `public function setLayout(string $layout): void` +- `public function setZones(array $zones): void` + +## Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Zone + +- `public function __construct(string $id, string $name[, array $blocks = [] ])` +- `public function addBlock(\Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue $block): void` +- `public function getBlocks(): array` +- `public function getId(): string` +- `public function getName(): string` +- `public function setBlocks(array $blocks): void` +- `public function setId(string $id): void` +- `public function setName(string $name): void` + +## Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Attribute\FormTypeMapper\AttributeFormTypeMapperInterface + +- `public function map(\Symfony\Component\Form\FormBuilderInterface $formBuilder, \Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockDefinition $blockDefinition, \Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockAttributeDefinition $blockAttributeDefinition[, array $constraints = [] ]): \Symfony\Component\Form\FormBuilderInterface` + +## Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Attribute\ValueConverter\ValueConverterInterface + +- `public function fromStorageValue(string $storageValue): mixed` +- `public function toStorageValue(mixed $value): string` + +## Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockAttributeDefinition + +- `public function getConstraints(): array>` +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function getOptions(): array` +- `public function getType(): string` +- `public function getValue(): mixed` +- `public function setCategory(string $category): void` +- `public function setConstraints(array> $constraints): void` +- `public function setIdentifier(string $identifier): void` +- `public function setName(string $name): void` +- `public function setOptions(array $options): void` +- `public function setType(string $type): void` +- `public function setValue(mixed $value): void` + +## Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockDefinition + +- `public function getAttributes(): array` +- `public function getCategory(): string` +- `public function getConfigurationTemplate(): string` +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function getThumbnail(): string` +- `public function getViews(): array` +- `public function isVisible(): bool` +- `public function setAttributes(array $attributes): void` +- `public function setCategory(string $category): void` +- `public function setConfigurationTemplate(string $configurationTemplate): void` +- `public function setIdentifier(string $identifier): void` +- `public function setName(string $name): void` +- `public function setThumbnail(string $thumbnail): void` +- `public function setViews(array $views): void` +- `public function setVisible(bool $visible): void` + +## Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockDefinitionEvents + +- `public function static getBlockDefinitionEventName(string $blockIdentifier): string` +- `public const mixed BLOCK_ATTRIBUTE_DEFINITION_PATTERN = 'ezplatform.ibexa_landing_page.block.definition.%s.attribute.%s'` +- `public const mixed BLOCK_DEFINITION_PATTERN = 'ezplatform.ibexa_landing_page.block.definition.%s'` + +## Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\ReactBlockDefinition extends Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockDefinition + +- `public function getAttributes(): array` +- `public function getCategory(): string` +- `public function getComponent(): string` +- `public function getConfigurationTemplate(): string` +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function getThumbnail(): string` +- `public function getViews(): array` +- `public function isVisible(): bool` +- `public function setAttributes(array $attributes): void` +- `public function setCategory(string $category): void` +- `public function setComponent(string $component): void` +- `public function setConfigurationTemplate(string $configurationTemplate): void` +- `public function setIdentifier(string $identifier): void` +- `public function setName(string $name): void` +- `public function setThumbnail(string $thumbnail): void` +- `public function setViews(array $views): void` +- `public function setVisible(bool $visible): void` + +## Ibexa\Contracts\FieldTypePage\FieldType\Page\Service\BlockServiceInterface + +- `public function render(\Ibexa\FieldTypePage\FieldType\Page\Block\Context\BlockContextInterface $blockContext, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue $blockValue): string` +- `public function validateBlock(\Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue $block, \Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockDefinition $blockDefinition): array` +- `public const mixed BLOCK_NAME_MAX_LENGTH = 255` + +## Ibexa\Contracts\FieldTypePage\ScheduleBlock\Timeline\Event\EventInterface + +- `public function getDateTime(): \DateTimeInterface` +- `public function getId(): string` +- `public function getType(): string` + +## Ibexa\Contracts\FieldTypePage\ScheduleBlock\Timeline\Event\Processor\ProcessorInterface + +- `public function getSupportedEventType(): string` +- `public function process(\Ibexa\Contracts\FieldTypePage\ScheduleBlock\Timeline\Event\EventInterface $event, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue $blockValue): void` + +## Ibexa\Contracts\FieldTypeQuery\QueryFieldLocationService + +- `public function countContentItemsForLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, string $fieldDefinitionIdentifier): int` +- `public function loadContentItemsForLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, string $fieldDefinitionIdentifier): iterable` +- `public function loadContentItemsSliceForLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, string $fieldDefinitionIdentifier, int $offset, int $limit): iterable` + +## Ibexa\Contracts\FieldTypeQuery\QueryFieldServiceInterface + +- `public function countContentItems(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $fieldDefinitionIdentifier): int` +- `public function getPaginationConfiguration(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $fieldDefinitionIdentifier): int` +- `public function loadContentItems(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $fieldDefinitionIdentifier): array` +- `public function loadContentItemsSlice(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $fieldDefinitionIdentifier, int $offset, int $limit): array` + +## Ibexa\Contracts\FieldTypeRichTextRTE\ChannelIdGeneratorInterface + +- `public function generate(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, string $fieldName): string` + +## Ibexa\Contracts\FieldTypeRichTextRTE\Config\LicenseKeyProviderInterface + +- `public function getLicenseKey([bool $forceCheck = false ]): string` + +## Ibexa\Contracts\FieldTypeRichTextRTE\Config\LocalStorageInterface + +- `public function load(string $key): string|int` +- `public function save(string $key, string|int $value): void` + +## Ibexa\Contracts\FieldTypeRichTextRTE\ToS\LicenseTermsStatusServiceInterface + +- `public function sendLicenseRequest(): \Symfony\Contracts\HttpClient\ResponseInterface` + +## Ibexa\Contracts\FieldTypeRichTextRTE\ToS\Status + +- `public function getDaysLeftInGracePeriod(): int|null` +- `public function getTos(): array{accepted: array{version: string, acceptedAt: string}, current: array{version: string, acceptanceDeadline: string}}` +- `public function isAccepted(): bool` +- `public function isInGracePeriod(): bool` +- `public function setTos(array{accepted: array{version: string, acceptedAt: string}, current: array{version: string, acceptanceDeadline: string}} $tos): void` + +## Ibexa\Contracts\FieldTypeRichTextRTE\ToS\ToSServiceInterface + +- `public function getStatus([bool $forceCheck = false ]): \Ibexa\Contracts\FieldTypeRichTextRTE\ToS\Status` + +## Ibexa\Contracts\FieldTypeRichTextRTE\TokenServiceInterface + +- `public function createToken([User|null $user = null ]): string` + +## Ibexa\Contracts\FieldTypeRichText\Configuration\Provider + +- `public function getConfiguration(): array` +- `public function getName(): string` + +## Ibexa\Contracts\FieldTypeRichText\Configuration\ProviderConfiguratorInterface + +- `public function getConfiguration(array $configuration): array` + +## Ibexa\Contracts\FieldTypeRichText\Configuration\ProviderService + +- `public function getConfiguration(): array` + +## Ibexa\Contracts\FieldTypeRichText\RichText\Converter + +- `public function convert(\DOMDocument $xmlDoc): \DOMDocument` + +## Ibexa\Contracts\FieldTypeRichText\RichText\InputHandlerInterface + +- `public function fromDocument(\DOMDocument $inputValue): \DOMDocument` +- `public function fromString([string|null $inputValue = null ]): \DOMDocument` +- `public function getRelations(\DOMDocument $document): array, contentIds: array}>` +- `public function validate(\DOMDocument $document): array` + +## Ibexa\Contracts\FieldTypeRichText\RichText\RendererInterface + +- `public function renderContentEmbed(int $contentId, string $viewType, array $parameters, bool $isInline): string|null` +- `public function renderLocationEmbed(int $locationId, string $viewType, array $parameters, bool $isInline): string|null` +- `public function renderTemplate(string $name, string $type, array $parameters, bool $isInline): string|null` + +## Ibexa\Contracts\FieldTypeRichText\RichText\TextExtractorInterface + +- `public function extractText(\DOMDocument $document): string` + +## Ibexa\Contracts\FieldTypeRichText\RichText\ValidatorInterface + +- `public function validateDocument(\DOMDocument $xmlDocument): array` + +## Ibexa\Contracts\FormBuilder\FieldType\Field\FieldMapperInterface + +- `public function getSupportedField(): string` +- `public function mapField(\Symfony\Component\Form\FormBuilderInterface $builder, \Ibexa\Contracts\FormBuilder\FieldType\Model\Field $field[, array $constraints = [] ]): void` + +## Ibexa\Contracts\FormBuilder\FieldType\Model\Attribute + +- `public function __construct([string|null $identifier = null ][, string|null $value = null ])` +- `public function getIdentifier(): string|null` +- `public function getValue(): string|null` +- `public function setIdentifier(string|null $identifier): void` +- `public function setValue(string|null $value): void` + +## Ibexa\Contracts\FormBuilder\FieldType\Model\Field + +- `public function __construct([string|null $id = null ][, string|null $identifier = null ][, string|null $name = null ][, array $attributes = [] ][, array $validators = [] ])` +- `public function getAttribute(string $identifier): \Ibexa\Contracts\FormBuilder\FieldType\Model\Attribute` +- `public function getAttributes(): array` +- `public function getAttributeValue(string $identifier): mixed` +- `public function getId(): string|null` +- `public function getIdentifier(): string|null` +- `public function getName(): string|null` +- `public function getValidators(): array` +- `public function hasAttribute(string $identifier): bool` +- `public function setAttributes(array $attributes): void` +- `public function setId(string|null $id): void` +- `public function setIdentifier(string|null $identifier): void` +- `public function setName(string|null $name): void` +- `public function setValidators(array $validators): void` + +## Ibexa\Contracts\FormBuilder\FieldType\Model\FieldValue + +- `public function __construct(string $identifier, string $name[, mixed $value = null ][, string|null $displayValue = null ])` +- `public function getDisplayValue(): string|null` +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function getValue(): mixed` + +## Ibexa\Contracts\FormBuilder\FieldType\Model\Form + +- `public function __construct([int|null $contentId = null ][, int|null $contentFieldId = null ][, string|null $languageCode = null ][, array $fields = [] ])` +- `public function getContentFieldId(): int|null` +- `public function getContentId(): int|null` +- `public function getFieldById(string $id): \Ibexa\Contracts\FormBuilder\FieldType\Model\Field` +- `public function getFieldByIdentifier(string $identifier): \Ibexa\Contracts\FormBuilder\FieldType\Model\Field` +- `public function getFields(): array` +- `public function getLanguageCode(): string|null` +- `public function setContentFieldId(int|null $contentFieldId): void` +- `public function setContentId(int|null $contentId): void` +- `public function setFields(array $fields): void` +- `public function setLanguageCode(string|null $languageCode): void` + +## Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmission + +- `public function __construct(int $id, int $userId, string $languageCode, array $values[, DateTimeInterface|null $created = null ])` +- `public function static fromRawData(int $id, int $userId, string $languageCode, array $data[, DateTimeInterface|null $created = null ]): self` +- `public function getCreated(): \DateTimeInterface` +- `public function getId(): int` +- `public function getLanguageCode(): string` +- `public function getUserId(): int` +- `public function getValues(): array` + +## Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmissionList implements IteratorAggregate + +- `public function __construct([int $totalCount = 0 ][, array $items = [] ][, array $headers = [] ])` +- `public function getHeaders(): array` +- `public function getItems(): array` +- `public function getIterator(): \Traversable` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\FormBuilder\FieldType\Model\Validator + +- `public function __construct([string|null $identifier = null ][, string|null $value = null ])` +- `public function getIdentifier(): string|null` +- `public function getValue(): string|null` +- `public function setIdentifier(string|null $identifier): void` +- `public function setValue(string|null $value): void` + +## Ibexa\Contracts\FormBuilder\FormSubmission\FormSubmissionServiceInterface + +- `public function create(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $content, string $languageCode, \Ibexa\Contracts\FormBuilder\FieldType\Model\Form $form, array $data): \Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmission` +- `public function delete(\Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmission $submission): void` +- `public function getCount(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $content[, string|null $languageCode = null ]): int` +- `public function loadAllByContentForExport(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $content[, string|null $languageCode = null ]): array>` +- `public function loadByContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $content[, string|null $languageCode = null ][, int $offset = 0 ][, int $limit = 25 ]): \Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmissionList` +- `public function loadById(int $id): \Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmission` +- `public function loadHeaders(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $content[, string|null $languageCode = null ]): array` + +## Ibexa\Contracts\FormBuilder\Notifications\FormSubmitted extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface + +- `public function __construct(string $template, \Twig\Environment $twig, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\FormBuilder\FieldType\Model\Form $form, \Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmission $data)` +- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` + +## Ibexa\Contracts\GraphQL\Mutation\InputHandler\FieldTypeInputHandler + +- `public function toFieldValue(mixed $input[, mixed $inputFormat = null ]): \Ibexa\Contracts\Core\FieldType\Value` + +## Ibexa\Contracts\GraphQL\Mutation\InputHandler\FieldType\RichText\RichTextInputConverter + +- `public function convertToXml(mixed $text): \DOMDocument` + +## Ibexa\Contracts\GraphQL\Schema\Domain\Content\Mapper\FieldDefinition\FieldDefinitionMapper + +- `public function mapToFieldDefinitionType(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): string|null` +- `public function mapToFieldValueArgsBuilder(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): string|null` +- `public function mapToFieldValueInputType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): string|null` +- `public function mapToFieldValueResolver(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): string|null` +- `public function mapToFieldValueType(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): string|null` + +## Ibexa\Contracts\HttpCache\Handler\ContentTagInterface + +- `public function addContentTypeTags(array $contentTypeIds): mixed` +- `public function addLocationTags(array $locationIds): mixed` +- `public function addParentLocationTags(array $parentLocationIds): mixed` +- `public function addPathTags(array $locationIds): mixed` +- `public function addRelationLocationTags(array $locationIds): mixed` +- `public function addRelationTags(array $contentIds): mixed` +- `public const mixed ALL_TAG = 'ez-all'` +- `public const mixed CONTENT_ALL_TRANSLATIONS_PREFIX = 'ca'` +- `public const mixed CONTENT_PREFIX = 'c'` +- `public const mixed CONTENT_TYPE_PREFIX = 'ct'` +- `public const mixed CONTENT_VERSION_PREFIX = 'cv'` +- `public const mixed LOCATION_PREFIX = 'l'` +- `public const mixed PARENT_LOCATION_PREFIX = 'pl'` +- `public const mixed PATH_PREFIX = 'p'` +- `public const mixed RELATION_LOCATION_PREFIX = 'rl'` +- `public const mixed RELATION_PREFIX = 'r'` + +## Ibexa\Contracts\HttpCache\PurgeClient\PurgeClientInterface + +- `public function purge(array $tags): void` +- `public function purgeAll(): void` + +## Ibexa\Contracts\HttpCache\ResponseTagger\ResponseTagger + +- `public function tag(mixed $value): mixed` + +## Ibexa\Contracts\ImageEditor\Optimizer\OptimizerInterface + +- `public function optimize(string $filePath): void` + +## Ibexa\Contracts\Measurement\Converter\UnitConverterInterface + +- `public function convert(\Ibexa\Contracts\Measurement\Converter\T $sourceValue, \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface $targetUnit): \Ibexa\Contracts\Measurement\Converter\T` +- `public function supports(\Ibexa\Contracts\Measurement\Value\ValueInterface $sourceValue, \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface $toUnit): bool` + +## Ibexa\Contracts\Measurement\MeasurementServiceInterface + +- `public function buildRangeValue(string $typeName, float $minValue, float $maxValue, string $unitName): \Ibexa\Contracts\Measurement\Value\RangeValueInterface` +- `public function buildSimpleValue(string $typeName, float $value, string $unitName): \Ibexa\Contracts\Measurement\Value\SimpleValueInterface` +- `public function convert(\Ibexa\Contracts\Measurement\T $sourceValue, \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface $destinationUnit): \Ibexa\Contracts\Measurement\T` + +## Ibexa\Contracts\Measurement\MeasurementTypeFactoryInterface + +- `public function buildType(string $typeName): \Ibexa\Contracts\Measurement\Value\Definition\MeasurementInterface` +- `public function getAvailableTypes(): array` +- `public function hasType(string $typeName): bool` + +## Ibexa\Contracts\Measurement\Product\Query\Criterion\AbstractMeasurementAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute + +- `public function getIdentifier(): string` +- `public function getOperator(): string` +- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` +- `public function setOperator(string $operator): void` + +## Ibexa\Contracts\Measurement\Product\Query\Criterion\RangeMeasurementAttributeMaximum extends Ibexa\Contracts\Measurement\Product\Query\Criterion\AbstractMeasurementAttribute + +- `public function getIdentifier(): string` +- `public function getOperator(): string` +- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` +- `public function setOperator(string $operator): void` + +## Ibexa\Contracts\Measurement\Product\Query\Criterion\RangeMeasurementAttributeMinimum extends Ibexa\Contracts\Measurement\Product\Query\Criterion\AbstractMeasurementAttribute + +- `public function getIdentifier(): string` +- `public function getOperator(): string` +- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` +- `public function setOperator(string $operator): void` + +## Ibexa\Contracts\Measurement\Product\Query\Criterion\SimpleMeasurementAttribute extends Ibexa\Contracts\Measurement\Product\Query\Criterion\AbstractMeasurementAttribute + +- `public function getIdentifier(): string` +- `public function getOperator(): string` +- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` +- `public function setOperator(string $operator): void` + +## Ibexa\Contracts\Measurement\Value\Definition\MeasurementInterface extends Stringable + +- `public function equals(\Ibexa\Contracts\Measurement\Value\Definition\MeasurementInterface $measurement): bool` +- `public function getBaseUnit(): \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface` +- `public function getName(): string` +- `public function getUnit(string $unitName): \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface` +- `public function getUnitBySymbol(string $symbol): \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface` +- `public function getUnitList(): iterable` +- `public function hasUnit(string $unitName): bool` + +## Ibexa\Contracts\Measurement\Value\Definition\Sign + +- `public function static isValidSign(string $sign): bool` +- `public const mixed SIGN_GT = 'gt'` +- `public const mixed SIGN_GTE = 'gte'` +- `public const mixed SIGN_LT = 'lt'` +- `public const mixed SIGN_LTE = 'lte'` +- `public const mixed SIGN_NONE = 'none'` +- `public const mixed SIGN_PM = 'pm'` + +## Ibexa\Contracts\Measurement\Value\Definition\UnitInterface extends Stringable + +- `public function equals(\Ibexa\Contracts\Measurement\Value\Definition\UnitInterface $unit): bool` +- `public function getIdentifier(): string` +- `public function getSymbol(): string` +- `public function isBaseUnit(): bool` + +## Ibexa\Contracts\Measurement\Value\RangeValueInterface extends Ibexa\Contracts\Measurement\Value\ValueInterface + +- `public function equals(RangeValueInterface|null $value): bool` +- `public function getMaxValue(): float` +- `public function getMeasurement(): \Ibexa\Contracts\Measurement\Value\Definition\MeasurementInterface` +- `public function getMinValue(): float` +- `public function getUnit(): \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface` + +## Ibexa\Contracts\Measurement\Value\SimpleValueInterface extends Ibexa\Contracts\Measurement\Value\ValueInterface + +- `public function equals(SimpleValueInterface|null $value): bool` +- `public function getMeasurement(): \Ibexa\Contracts\Measurement\Value\Definition\MeasurementInterface` +- `public function getUnit(): \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface` +- `public function getValue(): float` + +## Ibexa\Contracts\Measurement\Value\ValueInterface extends Stringable + +- `public function getMeasurement(): \Ibexa\Contracts\Measurement\Value\Definition\MeasurementInterface` +- `public function getUnit(): \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface` + +## Ibexa\Contracts\Messenger\Transport\MessageProviderInterface + +- `public function getHandledClasses(): iterable` + +## Ibexa\Contracts\Migration\Event\AbstractMigrationEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Migration\Repository\Migration $migration)` +- `public function getMigration(): \Ibexa\Migration\Repository\Migration` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Migration\Event\BeforeMigrationEvent extends Ibexa\Contracts\Migration\Event\AbstractMigrationEvent + +- `public function __construct(\Ibexa\Migration\Repository\Migration $migration)` +- `public function getMigration(): \Ibexa\Migration\Repository\Migration` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Migration\Event\MigrationEvent extends Ibexa\Contracts\Migration\Event\AbstractMigrationEvent + +- `public function __construct(\Ibexa\Migration\Repository\Migration $migration)` +- `public function getMigration(): \Ibexa\Migration\Repository\Migration` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Migration\Exception\InvalidMigrationException extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException + +- `public function __construct(\Ibexa\Migration\Repository\Migration $migration, \InvalidArgumentException $e)` + +## Ibexa\Contracts\Migration\Exception\MetadataStorageError extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException + +- `public function static notInitialized(): self` +- `public function static notUpToDate(): self` + +## Ibexa\Contracts\Migration\Exception\MigrationAlreadyExecutedException extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException + +- `public function __construct(string $migrationName)` + +## Ibexa\Contracts\Migration\Exception\MigrationAlreadyExistsException extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException + +- `public function static failedReadFallback(\Ibexa\Migration\Repository\Migration $migration): self` +- `public function static new(\Ibexa\Migration\Repository\Migration $migration): self` + +## Ibexa\Contracts\Migration\Exception\MigrationNotExecuted extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException + +- `public function __construct(string $name)` + +## Ibexa\Contracts\Migration\Exception\MigrationNotFoundException extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException + +- `public function __construct(string $name)` + +## Ibexa\Contracts\Migration\Exception\UnhandledMigrationException extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException + +- `public function __construct(\Ibexa\Migration\Repository\Migration $migration, \Throwable $e)` + +## Ibexa\Contracts\Migration\Metadata\Storage\MetadataStorage + +- `public function complete(\Ibexa\Migration\Metadata\ExecutionResult $result): void` +- `public function ensureInitialized(): void` +- `public function getExecutedMigrations(): \Ibexa\Migration\Metadata\ExecutedMigrationsList` +- `public function reset(): void` + +## Ibexa\Contracts\Migration\MigrationExecutor + +- `public function execute(\Ibexa\Migration\Repository\Migration $migration): void` + +## Ibexa\Contracts\Migration\MigrationService + +- `public function add(\Ibexa\Migration\Repository\Migration $migration): void` +- `public function executeAll([string|null $userLogin = null ]): void` +- `public function executeOne(\Ibexa\Migration\Repository\Migration $migration[, string|null $userLogin = null ]): void` +- `public function findOneByName(string $name): \Ibexa\Migration\Repository\Migration|null` +- `public function isMigrationExecuted(\Ibexa\Migration\Repository\Migration $migration): bool` +- `public function listMigrations(): array` + +## Ibexa\Contracts\Migration\MigrationStorage + +- `public function loadAll(): array` +- `public function loadOne(string $name): \Ibexa\Migration\Repository\Migration|null` +- `public function store(\Ibexa\Migration\Repository\Migration $migration): void` + +## Ibexa\Contracts\Migration\Serializer\AbstractActionNormalizer implements Ibexa\Contracts\Migration\Serializer\Normalizer\ActionNormalizerInterface, Ibexa\Contracts\Migration\Serializer\Denormalizer\ActionDenormalizerInterface + +- `public function getSupportedTypes(string|null $format): array` + +## Ibexa\Contracts\Migration\Serializer\AbstractStepNormalizer implements Symfony\Component\Serializer\Normalizer\DenormalizerInterface, Symfony\Component\Serializer\Normalizer\NormalizerInterface, Symfony\Component\Serializer\Normalizer\DenormalizerAwareInterface, Symfony\Component\Serializer\Normalizer\NormalizerAwareInterface, Ibexa\Bundle\Migration\Serializer\Denormalizer\StepNormalizerInterface + +- `public function abstract getHandledClassType(): string` +- `public function getSupportedTypes(string|null $format): array` +- `public function normalize(\Ibexa\Contracts\Migration\Serializer\T $object[, string|null $format = null ][, array $context = [] ]): array` +- `public function supportsDenormalization(mixed $data, string $type[, string|null $format = null ][, array $context = [] ]): bool` +- `public function supportsNormalization(mixed $data[, string|null $format = null ][, array $context = [] ]): bool` +- `protected function abstract denormalizeStep(array $data, string $type, string $format[, array $context = [] ]): \Ibexa\Migration\ValueObject\Step\StepInterface` +- `protected function abstract normalizeStep(\Ibexa\Migration\ValueObject\Step\StepInterface $object[, string|null $format = null ][, array $context = [] ]): array` +- `public const mixed CONTEXT_STEP_CLASS_KEY = 'step_class'` + +## Ibexa\Contracts\Migration\Serializer\Denormalizer\AbstractActionDenormalizer implements Ibexa\Contracts\Migration\Serializer\Denormalizer\ActionDenormalizerInterface + +- `public function getSupportedTypes(string|null $format): array` + +## Ibexa\Contracts\Migration\Serializer\Normalizer\AbstractActionNormalizer implements Ibexa\Contracts\Migration\Serializer\Normalizer\ActionNormalizerInterface + +- `public function getSupportedTypes(string|null $format): array` + +## Ibexa\Contracts\Migration\StepExecutor\AbstractStepExecutor implements Ibexa\Migration\StepExecutor\StepExecutorInterface, Ibexa\Migration\StepExecutor\UserContextAwareStepExecutorInterface, Symfony\Contracts\Service\ServiceSubscriberInterface + +- `public function handle(\Ibexa\Migration\ValueObject\Step\StepInterface $step): void` +- `public function setContainer(\Psr\Container\ContainerInterface $container): \Psr\Container\ContainerInterface|null` +- `protected function doCollectReferences(\Ibexa\Migration\ValueObject\Step\ReferenceAwareStepInterface $step, object|array|null $executionResults): void` +- `protected function abstract doHandle(\Ibexa\Migration\ValueObject\Step\StepInterface $step): \Ibexa\Contracts\Core\Repository\Values\ValueObject|array|null` +- `protected function handleActions(\Ibexa\Migration\ValueObject\Step\ActionsAwareStepInterface $step, object|array|null $executionResult): void` + +## Ibexa\Contracts\Notifications\Service\NotificationServiceInterface + +- `public function send(\Ibexa\Contracts\Notifications\Value\NotificationInterface $notification[, array $recipients = [] ]): void` + +## Ibexa\Contracts\Notifications\SystemNotification\SystemMessage implements Symfony\Component\Notifier\Message\MessageInterface + +- `public function getContext(): array` +- `public function getOptions(): \Symfony\Component\Notifier\Message\MessageOptionsInterface|null` +- `public function getRecipientId(): string|null` +- `public function getSubject(): string` +- `public function getTransport(): string|null` +- `public function getType(): string` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` +- `public function setContext(array $context): void` +- `public function setSubject(string $subject): void` +- `public function setType(string $type): void` +- `public function setUser(\Ibexa\Contracts\Core\Repository\Values\User\UserReference $user): void` +- `public const mixed DEFAULT_TYPE = 'system'` + +## Ibexa\Contracts\Notifications\SystemNotification\SystemNotification extends Symfony\Component\Notifier\Notification\Notification implements Ibexa\Contracts\Notifications\SystemNotification\SystemNotificationInterface + +- `public function asSystemNotification(\Ibexa\Contracts\Notifications\Value\Recipent\UserRecipientInterface $recipient[, string|null $transport = null ]): \Ibexa\Contracts\Notifications\SystemNotification\SystemMessage` +- `public function getIcon(): string|null` +- `public function getRoute(): \Ibexa\Core\MVC\Symfony\Routing\RouteReference|null` +- `public function setContent(string $content): void` +- `public function setIcon(string|null $icon): void` +- `public function setRoute(RouteReference|null $route): void` + +## Ibexa\Contracts\Notifications\SystemNotification\SystemNotificationInterface + +- `public function asSystemNotification(\Ibexa\Contracts\Notifications\Value\Recipent\UserRecipientInterface $recipient[, string|null $transport = null ]): \Ibexa\Contracts\Notifications\SystemNotification\SystemMessage|null` + +## Ibexa\Contracts\Notifications\Value\NotificationInterface + +- `public function getType(): string` + +## Ibexa\Contracts\Notifications\Value\Notification\SymfonyNotificationAdapter implements Ibexa\Contracts\Notifications\Value\NotificationInterface + +- `public function __construct(\Symfony\Component\Notifier\Notification\Notification $notification)` +- `public function getNotification(): \Symfony\Component\Notifier\Notification\Notification` +- `public function getType(): string` + +## Ibexa\Contracts\Notifications\Value\Recipent\SymfonyRecipientAdapter implements Ibexa\Contracts\Notifications\Value\RecipientInterface + +- `public function __construct(\Symfony\Component\Notifier\Recipient\RecipientInterface $recipient)` +- `public function getMail(): string` +- `public function getPhone(): string` +- `public function getRecipient(): \Symfony\Component\Notifier\Recipient\RecipientInterface` + +## Ibexa\Contracts\Notifications\Value\Recipent\UserRecipient implements Symfony\Component\Notifier\Recipient\EmailRecipientInterface, Ibexa\Contracts\Notifications\Value\Recipent\UserRecipientInterface + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user)` +- `public function getEmail(): string` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` + +## Ibexa\Contracts\Notifications\Value\Recipent\UserRecipientInterface extends Symfony\Component\Notifier\Recipient\RecipientInterface + +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` + +## Ibexa\Contracts\Notifications\Value\RecipientInterface + +- `public function getMail(): string` +- `public function getPhone(): string` + +## Ibexa\Contracts\OAuth2Client\Client\ClientRegistry + +- `public function getClient(string $identifier): \KnpU\OAuth2ClientBundle\Client\OAuth2ClientInterface` +- `public function hasClient(string $identifier): bool` + +## Ibexa\Contracts\OAuth2Client\Exception\Client\DisabledClientException extends RuntimeException implements Ibexa\Contracts\OAuth2Client\Exception\OAuth2ClientException + +- `public function __construct([string|null $message = null ][, int $code = 0 ][, Throwable|null $previous = null ])` + +## Ibexa\Contracts\OAuth2Client\Exception\Client\UnavailableClientException extends RuntimeException implements Ibexa\Contracts\OAuth2Client\Exception\OAuth2ClientException + +- `public function __construct(string $client[, int $code = 0 ][, Throwable|null $previous = null ])` +- `public function getClient(): string` + +## Ibexa\Contracts\OAuth2Client\Exception\ResourceOwner\MapperNotFoundException extends InvalidArgumentException implements Ibexa\Contracts\OAuth2Client\Exception\OAuth2ClientException + +- `public function __construct(string $client[, int $code = 0 ][, Throwable|null $previous = null ])` +- `public function getClient(): string` + +## Ibexa\Contracts\OAuth2Client\Repository\OAuth2UserService + +- `public function isOAuth2User(\Ibexa\Contracts\Core\Repository\Values\User\User $user): bool` +- `public function newOAuth2UserCreateStruct(string $login, string $email, string $mainLanguageCode[, ContentType|null $contentType = null ]): \Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct` +- `public function newOAuth2UserUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct` + +## Ibexa\Contracts\OAuth2Client\ResourceOwner\ResourceOwnerMapper + +- `public function getUser(\League\OAuth2\Client\Provider\ResourceOwnerInterface $resourceOwner, UserProviderInterface $userProvider): \Symfony\Component\Security\Core\User\UserInterface|null` + +## Ibexa\Contracts\OAuth2Client\ResourceOwner\ResourceOwnerMapperRegistry + +- `public function getResourceOwnerMapper(string $identifier): \Ibexa\Contracts\OAuth2Client\ResourceOwner\ResourceOwnerMapper` + +## Ibexa\Contracts\OrderManagement\Event\BeforeCancelOrderEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order)` +- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\OrderManagement\Event\BeforeCreateOrderEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct $createStruct[, OrderInterface|null $orderResult = null ])` +- `public function getCreateStruct(): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct` +- `public function getOrderResult(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function hasOrderResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setOrderResult(OrderInterface|null $orderResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\OrderManagement\Event\BeforeUpdateOrderEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order, \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct $updateStruct[, OrderInterface|null $orderResult = null ])` +- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function getOrderResult(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct` +- `public function hasOrderResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setOrderResult(OrderInterface|null $orderResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\OrderManagement\Event\CancelOrderEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order)` +- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\OrderManagement\Event\CreateOrderEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct $createStruct, \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $orderResult)` +- `public function getCreateStruct(): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct` +- `public function getOrderResult(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\OrderManagement\Event\UpdateOrderEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order, \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct $updateStruct, \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $orderResult)` +- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function getOrderResult(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\OrderManagement\Exception\OrderItemNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException + +- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` + +## Ibexa\Contracts\OrderManagement\Exception\OrderNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException + +- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` + +## Ibexa\Contracts\OrderManagement\Exception\ValidationFailedExceptionInterface extends Throwable + +- `public function getErrors(): \Symfony\Component\Validator\ConstraintViolationListInterface` + +## Ibexa\Contracts\OrderManagement\Notification\OrderAwareNotificationInterface + +- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` + +## Ibexa\Contracts\OrderManagement\Notification\OrderStatusChange extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface, Symfony\Component\Notifier\Notification\SmsNotificationInterface, Ibexa\Contracts\OrderManagement\Notification\OrderAwareNotificationInterface + +- `public function __construct(\Ibexa\Contracts\OrderManagement\Workflow\WorkflowSubjectInterface $workflowSubject, \Symfony\Component\Workflow\WorkflowInterface $workflow, Transition|null $transition, \Symfony\Component\Workflow\Marking $marking, array $context)` +- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` +- `public function asSmsMessage(\Symfony\Component\Notifier\Recipient\SmsRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\SmsMessage|null` +- `public function getContext(): array` +- `public function getMarking(): \Symfony\Component\Workflow\Marking` +- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function getTransition(): \Symfony\Component\Workflow\Transition|null` +- `public function getWorkflow(): \Symfony\Component\Workflow\WorkflowInterface` +- `public function getWorkflowSubject(): \Ibexa\Contracts\OrderManagement\Workflow\WorkflowSubjectInterface` + +## Ibexa\Contracts\OrderManagement\OrderServiceDecorator implements Ibexa\Contracts\OrderManagement\OrderServiceInterface + +- `public function cancelOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order): void` +- `public function createOrder(\Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct $createStruct): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function findOrders([OrderQuery|null $orderQuery = null ]): \Ibexa\Contracts\OrderManagement\Value\Order\OrderListInterface` +- `public function getOrder(int $id): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function getOrderByIdentifier(string $identifier): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function updateOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order, \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct $updateStruct): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` + +## Ibexa\Contracts\OrderManagement\OrderServiceInterface + +- `public function cancelOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order): void` +- `public function createOrder(\Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct $createStruct): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function findOrders([OrderQuery|null $orderQuery = null ]): \Ibexa\Contracts\OrderManagement\Value\Order\OrderListInterface` +- `public function getOrder(int $id): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function getOrderByIdentifier(string $identifier): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function updateOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order, \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct $updateStruct): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` + +## Ibexa\Contracts\OrderManagement\Policy\AbstractOrderPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function getModule(): string` +- `public function getTargets(): array|array` + +## Ibexa\Contracts\OrderManagement\Policy\Order\Cancel extends Ibexa\Contracts\OrderManagement\Policy\AbstractOrderPolicy + +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface|null` +- `public function getTargets(): array|array` +- `public const mixed CANCEL = 'cancel'` + +## Ibexa\Contracts\OrderManagement\Policy\Order\Create extends Ibexa\Contracts\OrderManagement\Policy\AbstractOrderPolicy + +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct|null` +- `public function getTargets(): array|array` +- `public const mixed CREATE = 'create'` + +## Ibexa\Contracts\OrderManagement\Policy\Order\Update extends Ibexa\Contracts\OrderManagement\Policy\AbstractOrderPolicy + +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct|null` +- `public function getTargets(): array|array` +- `public const mixed UPDATE = 'update'` + +## Ibexa\Contracts\OrderManagement\Policy\Order\View extends Ibexa\Contracts\OrderManagement\Policy\AbstractOrderPolicy + +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface|null` +- `public function getTargets(): array|array` +- `public const mixed VIEW = 'view'` + +## Ibexa\Contracts\OrderManagement\Value\OrderCompany implements Ibexa\Contracts\OrderManagement\Value\Order\OrderCompanyInterface + +- `public function __construct(int $id, string $name)` +- `public function getId(): int` +- `public function getName(): string` + +## Ibexa\Contracts\OrderManagement\Value\OrderCurrency implements Ibexa\Contracts\OrderManagement\Value\Order\OrderCurrencyInterface + +- `public function __construct(int $id, non-empty-string $code)` +- `public function getCode(): non-empty-string` +- `public function getId(): int` + +## Ibexa\Contracts\OrderManagement\Value\OrderItem extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemInterface + +- `public function __toString(): string` +- `public function getContext(): array` +- `public function getProduct(): \Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemProductInterface` +- `public function getQuantity(): int` +- `public function getValue(): \Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemValueInterface` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\OrderManagement\Value\OrderItemProduct implements Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemProductInterface + +- `public function __construct(int|null $id, string $code, string $name)` +- `public function getCode(): string` +- `public function getId(): int|null` +- `public function getName(): string` + +## Ibexa\Contracts\OrderManagement\Value\OrderItemValue implements Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemValueInterface + +- `public function __construct(\Money\Money $unitPriceGross, \Money\Money $unitPriceNet, numeric-string $vatRate, \Money\Money $subtotalPriceGross, \Money\Money $subtotalPriceNet)` +- `public function getSubtotalPriceGross(): \Money\Money` +- `public function getSubtotalPriceNet(): \Money\Money` +- `public function getUnitPriceGross(): \Money\Money` +- `public function getUnitPriceNet(): \Money\Money` +- `public function getVatRate(): numeric-string` + +## Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemInterface + +- `public function getContext(): array` +- `public function getProduct(): \Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemProductInterface` +- `public function getQuantity(): int` +- `public function getValue(): \Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemValueInterface` + +## Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemProductInterface + +- `public function getCode(): string` +- `public function getId(): int|null` +- `public function getName(): string` + +## Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemValueInterface + +- `public function getSubtotalPriceGross(): \Money\Money` +- `public function getSubtotalPriceNet(): \Money\Money` +- `public function getUnitPriceGross(): \Money\Money` +- `public function getUnitPriceNet(): \Money\Money` +- `public function getVatRate(): numeric-string` + +## Ibexa\Contracts\OrderManagement\Value\OrderUser implements Ibexa\Contracts\OrderManagement\Value\Order\OrderUserInterface + +- `public function __construct(int|null $id, string $name, string $email)` +- `public function getEmail(): string` +- `public function getId(): int|null` +- `public function getName(): string` + +## Ibexa\Contracts\OrderManagement\Value\OrderValue implements Ibexa\Contracts\OrderManagement\Value\Order\OrderValueInterface + +- `public function __construct(\Money\Money $vat, \Money\Money $totalGross, \Money\Money $totalNet)` +- `public function getTotalGross(): \Money\Money` +- `public function getTotalNet(): \Money\Money` +- `public function getVat(): \Money\Money` + +## Ibexa\Contracts\OrderManagement\Value\Order\OrderCompanyAssignmentInterface + +- `public function getCompanyId(): int` +- `public function getOrderId(): int` + +## Ibexa\Contracts\OrderManagement\Value\Order\OrderCompanyInterface + +- `public function getId(): int` +- `public function getName(): string` + +## Ibexa\Contracts\OrderManagement\Value\Order\OrderCurrencyAssignmentInterface + +- `public function getCurrencyId(): int` +- `public function getOrderId(): int` + +## Ibexa\Contracts\OrderManagement\Value\Order\OrderCurrencyInterface + +- `public function getCode(): non-empty-string` +- `public function getId(): int` + +## Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface extends Ibexa\Contracts\OrderManagement\Workflow\WorkflowSubjectInterface + +- `public function getCompany(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderCompanyInterface|null` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getCurrency(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderCurrencyInterface` +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getItems(): array` +- `public function getModifiedAt(): \DateTimeInterface` +- `public function getSource(): string` +- `public function getStatus(): string` +- `public function getUser(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderUserInterface` +- `public function getValue(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderValueInterface` + +## Ibexa\Contracts\OrderManagement\Value\Order\OrderListInterface extends IteratorAggregate + +- `public function getOrders(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\OrderManagement\Value\Order\OrderQuery + +- `public function getLimit(): int` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function setLimit(int $limit): void` +- `public function setOffset(int $offset): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\OrderManagement\Value\Order\OrderUserAssignmentInterface + +- `public function getOrderId(): int` +- `public function getUserId(): int` + +## Ibexa\Contracts\OrderManagement\Value\Order\OrderUserInterface + +- `public function getEmail(): string` +- `public function getId(): int|null` +- `public function getName(): string` + +## Ibexa\Contracts\OrderManagement\Value\Order\OrderValueInterface + +- `public function getTotalGross(): \Money\Money` +- `public function getTotalNet(): \Money\Money` +- `public function getVat(): \Money\Money` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\CompanyIdCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\CompanyNameCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\CreatedAtCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\CurrencyCodeCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\CustomerNameCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\IdentifierCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\IsCompanyAssociatedCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\OwnerCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\PriceCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\SourceCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\StatusCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClause\Created extends Ibexa\Contracts\ProductCatalog\Values\Common\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClause\Id extends Ibexa\Contracts\ProductCatalog\Values\Common\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClause\Status extends Ibexa\Contracts\ProductCatalog\Values\Common\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClause\Updated extends Ibexa\Contracts\ProductCatalog\Values\Common\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\OrderManagement\Workflow\WorkflowSubjectInterface + +- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Order\OrderUserInterface $user, \Ibexa\Contracts\OrderManagement\Value\Order\OrderCurrencyInterface $currency, \Ibexa\Contracts\OrderManagement\Value\Order\OrderValueInterface $value, string $source, array $items[, OrderCompanyInterface|null $company = null ][, MapInterface|null $context = null ])` +- `public function getCompany(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderCompanyInterface|null` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getCurrency(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderCurrencyInterface` +- `public function getItems(): array` +- `public function getSource(): string` +- `public function getStatus(): string` +- `public function getUser(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderUserInterface` +- `public function getValue(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderValueInterface` +- `public function setContext(MapInterface|null $context): void` +- `public function setStatus(string $status): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $status[, string|null $transition = null ][, UserReference|null $owner = null ][, MapInterface|null $context = null ])` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` +- `public function getStatus(): string` +- `public function getTransition(): string|null` +- `public function setContext(MapInterface|null $context): void` +- `public function setOwner(UserReference|null $owner): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\OrderManagement\Workflow\WorkflowResolverInterface + +- `public function resolveWorkflow(\Ibexa\Contracts\OrderManagement\Workflow\WorkflowSubjectInterface $subject): \Symfony\Component\Workflow\WorkflowInterface` + +## Ibexa\Contracts\OrderManagement\Workflow\WorkflowSubjectInterface + +- `public function getItems(): array` +- `public function getStatus(): string` + +## Ibexa\Contracts\PageBuilder\Event\GenerateContentPreviewUrlEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function addParameter(string $parameterName, string $parameterValue): void` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getParameters(): array` +- `public function getReferenceType(): int` +- `public function getRouteName(): string` +- `public function isPropagationStopped(): bool` +- `public function setContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): void` +- `public function setParameters(array $parameters): void` +- `public function setReferenceType(int $referenceType): void` +- `public function setRouteName(string $routeName): void` +- `public function stopPropagation(): void` +- `public const mixed NAME = 'ibexa.page_builder.generate_content_preview_url'` + +## Ibexa\Contracts\PageBuilder\PageBuilder\ConfigurationResolverInterface + +- `public function get(string $name[, string|null $siteaccess = null ][, mixed $fallbackValue = null ]): mixed` +- `public function getSiteaccessHosts(string $siteaccessName): array` +- `public function getSiteaccessList([string|null $siteaccess = null ]): array` +- `public function reverseAdminSiteaccessMatch(string $siteaccessName): array` + +## Ibexa\Contracts\PageBuilder\PageBuilder\Timeline\BaseEvent implements Ibexa\Contracts\PageBuilder\Timeline\EventInterface + +- `public function getDate(): \DateTimeInterface` +- `public function getDescription(): string` +- `public function getIcon(): string` +- `public function getName(): string` +- `public function setDate(\DateTimeInterface $date): void` +- `public function setDescription(string $description): void` +- `public function setIcon(string $icon): void` +- `public function setName(string $name): void` + +## Ibexa\Contracts\PageBuilder\Siteaccess\Selector\SelectorStrategy + +- `public function selectSiteAccess(\Ibexa\Contracts\PageBuilder\Siteaccess\Selector\Context $context, array $siteAccessNameList): string|null` + +## Ibexa\Contracts\PageBuilder\Siteaccess\Selector\SiteAccessSelector + +- `public function selectSiteAccess(\Ibexa\Contracts\PageBuilder\Siteaccess\Selector\Context $context, array $siteAccessNameList): string` + +## Ibexa\Contracts\PageBuilder\Siteaccess\SiteaccessServiceInterface + +- `public function filterAvailableSiteaccesses(array $siteaccesses): array` +- `public function getLanguages(string $siteaccess): array` +- `public function getRootLocation(string $siteaccess): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` + +## Ibexa\Contracts\PageBuilder\Timeline\EventInterface + +- `public function getDate(): \DateTimeInterface` +- `public function getDescription(): string` +- `public function getIcon(): string` +- `public function getName(): string` +- `public function getType(): string` + +## Ibexa\Contracts\Payment\Exception\ValidationFailedExceptionInterface extends Throwable + +- `public function getErrors(): \Symfony\Component\Validator\ConstraintViolationListInterface` + +## Ibexa\Contracts\Payment\Notification\PaymentAwareNotificationInterface + +- `public function getPayment(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` + +## Ibexa\Contracts\Payment\Notification\PaymentStatusChange extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface, Symfony\Component\Notifier\Notification\SmsNotificationInterface, Ibexa\Contracts\Payment\Notification\PaymentAwareNotificationInterface, Ibexa\Contracts\OrderManagement\Notification\OrderAwareNotificationInterface + +- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Symfony\Component\Workflow\WorkflowInterface $workflow, \Symfony\Component\Workflow\Transition $transition, \Symfony\Component\Workflow\Marking $marking, array $context)` +- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` +- `public function asSmsMessage(\Symfony\Component\Notifier\Recipient\SmsRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\SmsMessage|null` +- `public function getContext(): array` +- `public function getMarking(): \Symfony\Component\Workflow\Marking` +- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function getPayment(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function getTransition(): \Symfony\Component\Workflow\Transition` +- `public function getWorkflow(): \Symfony\Component\Workflow\WorkflowInterface` + +## Ibexa\Contracts\Payment\PaymentMethodServiceDecorator implements Ibexa\Contracts\Payment\PaymentMethodServiceInterface + +- `public function createPaymentMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct $createStruct): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function deletePaymentMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod): void` +- `public function findPaymentMethods([PaymentMethodQuery|null $query = null ][, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodListInterface` +- `public function getPaymentMethod(int $id[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function getPaymentMethodByIdentifier(string $identifier[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function isPaymentMethodUsed(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod): bool` +- `public function updatePaymentMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod, \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct $updateStruct): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` + +## Ibexa\Contracts\Payment\PaymentMethodServiceInterface + +- `public function createPaymentMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct $createStruct): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function deletePaymentMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod): void` +- `public function findPaymentMethods([PaymentMethodQuery|null $query = null ][, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodListInterface` +- `public function getPaymentMethod(int $id[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function getPaymentMethodByIdentifier(string $identifier[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function isPaymentMethodUsed(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod): bool` +- `public function updatePaymentMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod, \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct $updateStruct): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` + +## Ibexa\Contracts\Payment\PaymentMethod\Event\BeforeCreatePaymentMethodEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct $createStruct[, PaymentMethodInterface|null $paymentMethodResult = null ])` +- `public function getCreateStruct(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct` +- `public function getPaymentMethodResult(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function hasPaymentMethodResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setPaymentMethodResult(PaymentMethodInterface|null $paymentMethodResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Payment\PaymentMethod\Event\BeforeDeletePaymentMethodEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod)` +- `public function getPaymentMethod(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Payment\PaymentMethod\Event\BeforeUpdatePaymentMethodEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod, \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct $updateStruct[, PaymentMethodInterface|null $paymentMethodResult = null ])` +- `public function getPaymentMethod(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function getPaymentMethodResult(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct` +- `public function hasPaymentMethodResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setPaymentMethodResult(PaymentMethodInterface|null $paymentMethodResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Payment\PaymentMethod\Event\CreatePaymentMethodEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct $createStruct, \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethodResult)` +- `public function getCreateStruct(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct` +- `public function getPaymentMethodResult(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Payment\PaymentMethod\Event\DeletePaymentMethodEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod)` +- `public function getPaymentMethod(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Payment\PaymentMethod\Event\UpdatePaymentMethodEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod, \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct $updateStruct, \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethodResult)` +- `public function getPaymentMethod(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function getPaymentMethodResult(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Payment\PaymentMethod\Iterator\BatchIteratorAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethodServiceInterface $paymentMethodService[, PaymentMethodQuery|null $query = null ])` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $identifier, \Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface $type)` +- `public function getDescription(string $languageCode): string|null` +- `public function getDescriptions(): array` +- `public function getIdentifier(): string` +- `public function getName(string $languageCode): string` +- `public function getNames(): array` +- `public function getOptions(): \Ibexa\Contracts\Core\Collection\MapInterface` +- `public function getType(): \Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface` +- `public function isEnabled(): bool` +- `public function setDescription(string $languageCode, string|null $description): void` +- `public function setDescriptions(array $descriptions): void` +- `public function setEnabled(bool $enabled): void` +- `public function setIdentifier(string $identifier): void` +- `public function setName(string $languageCode, string $name): void` +- `public function setNames(array $names): void` +- `public function setOptions(MapInterface $options): void` +- `public function setType(\Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface $type): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface + +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getDescription([string|null $languageCode = null ]): string|null` +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getLanguages(): array` +- `public function getMainLanguageCode(): string` +- `public function getName([string|null $languageCode = null ]): string` +- `public function getOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` +- `public function getType(): \Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface` +- `public function getUpdatedAt(): \DateTimeInterface` +- `public function isEnabled(): bool` + +## Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodListInterface extends IteratorAggregate + +- `public function getPaymentMethods(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([array $properties = [] ])` +- `public function getDescriptions(): array|null` +- `public function getIdentifier(): string|null` +- `public function getNames(): array|null` +- `public function getOptions(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function isEnabled(): bool|null` +- `public function setDescriptions(array|null $descriptions): void` +- `public function setEnabled(bool|null $enabled): void` +- `public function setIdentifier(string|null $identifier): void` +- `public function setNames(array|null $names): void` +- `public function setOptions(MapInterface|null $options): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Payment\PaymentMethod\Permission\Create implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct(PaymentMethodCreateStruct|null $createStruct)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Payment\PaymentMethod\Permission\Delete implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Payment\PaymentMethod\Permission\Edit implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Payment\PaymentMethod\Permission\View implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct([PaymentMethodInterface|null $paymentMethod = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\Enabled extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\Id extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\Name extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\Type extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\SortClause\CreatedAt extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\PaymentMethod\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\SortClause\Enabled extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\PaymentMethod\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\SortClause\Id extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\PaymentMethod\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\SortClause\Identifier extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\PaymentMethod\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Payment\PaymentMethod\Query\SortClause\UpdatedAt extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\PaymentMethod\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsFormMapperInterface + +- `public function createOptionsForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder[, array $context = [] ]): void` + +## Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsFormMapperRegistryInterface + +- `public function getMapper(string $type): \Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsFormMapperInterface` +- `public function hasMapper(string $type): bool` + +## Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsValidatorError + +- `public function __construct(string|null $target, string $message[, array $parameters = [] ])` +- `public function getMessage(): string` +- `public function getParameters(): array` +- `public function getTarget(): string|null` + +## Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsValidatorInterface + +- `public function validateOptions(\Ibexa\Contracts\Core\Options\OptionsBag $options): array` + +## Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsValidatorRegistryInterface + +- `public function getValidator(string $type): \Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsValidatorInterface` +- `public function hasValidator(string $type): bool` + +## Ibexa\Contracts\Payment\PaymentMethod\Type\TypeFactoryInterface + +- `public function createType(string $identifier[, string|null $name = null ][, string|null $domain = null ]): \Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface` + +## Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface + +- `public function getIdentifier(): string` +- `public function getName(): string` + +## Ibexa\Contracts\Payment\PaymentMethod\Type\TypeRegistryInterface + +- `public function getPaymentMethodType(string $identifier): \Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface` +- `public function getPaymentMethodTypes(): iterable` +- `public function hasPaymentMethodType(string $identifier): bool` + +## Ibexa\Contracts\Payment\PaymentMethod\Voter\AbstractVoter implements Ibexa\Contracts\Payment\PaymentMethod\Voter\VoterInterface + +- `public function vote(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` +- `protected function abstract getVote(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` + +## Ibexa\Contracts\Payment\PaymentMethod\Voter\VoterInterface + +- `public function vote(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` + +## Ibexa\Contracts\Payment\PaymentMethod\Voter\VoterRegistryInterface + +- `public function getVoter(string $identifier): \Ibexa\Contracts\Payment\PaymentMethod\Voter\VoterInterface` +- `public function hasVoter(string $identifier): bool` + +## Ibexa\Contracts\Payment\PaymentServiceDecorator implements Ibexa\Contracts\Payment\PaymentServiceInterface + +- `public function createPayment(\Ibexa\Contracts\Payment\Payment\PaymentCreateStruct $createStruct): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function deletePayment(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment): void` +- `public function findPayments([PaymentQuery|null $query = null ]): \Ibexa\Contracts\Payment\Payment\PaymentListInterface` +- `public function getPayment(int $id): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function getPaymentByIdentifier(string $identifier): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function updatePayment(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct $updateStruct): \Ibexa\Contracts\Payment\Payment\PaymentInterface` + +## Ibexa\Contracts\Payment\PaymentServiceInterface + +- `public function createPayment(\Ibexa\Contracts\Payment\Payment\PaymentCreateStruct $createStruct): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function deletePayment(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment): void` +- `public function findPayments([PaymentQuery|null $query = null ]): \Ibexa\Contracts\Payment\Payment\PaymentListInterface` +- `public function getPayment(int $id): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function getPaymentByIdentifier(string $identifier): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function updatePayment(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct $updateStruct): \Ibexa\Contracts\Payment\Payment\PaymentInterface` + +## Ibexa\Contracts\Payment\Payment\Event\BeforeCreatePaymentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentCreateStruct $createStruct[, PaymentInterface|null $paymentResult = null ])` +- `public function getCreateStruct(): \Ibexa\Contracts\Payment\Payment\PaymentCreateStruct` +- `public function getPaymentResult(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function hasPaymentResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setPaymentResult(PaymentInterface|null $paymentResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Payment\Payment\Event\BeforeDeletePaymentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment)` +- `public function getPayment(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Payment\Payment\Event\BeforeUpdatePaymentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct $updateStruct[, PaymentInterface|null $paymentResult = null ])` +- `public function getPayment(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function getPaymentResult(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct` +- `public function hasPaymentResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setPaymentResult(PaymentInterface|null $paymentResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Payment\Payment\Event\CreatePaymentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentCreateStruct $createStruct, \Ibexa\Contracts\Payment\Payment\PaymentInterface $paymentResult)` +- `public function getCreateStruct(): \Ibexa\Contracts\Payment\Payment\PaymentCreateStruct` +- `public function getPaymentResult(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Payment\Payment\Event\DeletePaymentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment)` +- `public function getPayment(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Payment\Payment\Event\UpdatePaymentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct $updateStruct, \Ibexa\Contracts\Payment\Payment\PaymentInterface $paymentResult)` +- `public function getPayment(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function getPaymentResult(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Payment\Payment\PaymentCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Payment\Payment\Workflow\WorkflowSubjectInterface + +- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $method, \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order[, Money|null $amount = null ])` +- `public function getAmount(): \Money\Money` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getIdentifier(): string|null` +- `public function getMethod(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` +- `public function setAmount(\Money\Money $amount): void` +- `public function setContext(MapInterface|null $context): void` +- `public function setIdentifier(string|null $identifier): void` +- `public function setMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $method): void` +- `public function setOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order): void` +- `public function setOwner(UserReference|null $owner): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Payment\Payment\PaymentInterface extends Ibexa\Contracts\Payment\Payment\Workflow\WorkflowSubjectInterface + +- `public function getAmount(): \Money\Money` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getMethod(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` +- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function getStatus(): string` +- `public function getUpdatedAt(): \DateTimeInterface` + +## Ibexa\Contracts\Payment\Payment\PaymentListInterface extends IteratorAggregate + +- `public function getPayments(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Payment\Payment\PaymentQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([string|null $transition = null ][, string|null $identifier = null ][, UserReference|null $owner = null ][, MapInterface|null $context = null ])` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getIdentifier(): string|null` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` +- `public function getTransition(): string|null` +- `public function setContext(MapInterface|null $context): void` +- `public function setIdentifier(string|null $identifier): void` +- `public function setOwner(UserReference|null $owner): void` +- `public function setTransition(string|null $transition): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Payment\Payment\Permission\Create implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct(PaymentCreateStruct|null $createStruct)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Payment\Payment\PaymentCreateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Payment\Payment\Permission\Delete implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Payment\Payment\Permission\Edit implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Payment\Payment\Permission\View implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct([PaymentInterface|null $payment = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Payment\Payment\Query\Criterion\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\Payment\Query\Criterion\Currency extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\Payment\Query\Criterion\Id extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\Payment\Query\Criterion\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\Payment\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\Payment\Payment\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\Payment\Payment\Query\Criterion\Order extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\Payment\Query\Criterion\Owner extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\Payment\Query\Criterion\PaymentMethod extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\Payment\Query\Criterion\Status extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\Payment\Query\Criterion\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Payment\Payment\Query\SortClause\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Payment\Payment\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Payment\Payment\Query\SortClause\Id extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Payment\Payment\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Payment\Payment\Query\SortClause\Identifier extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\Payment\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Payment\Payment\Query\SortClause\Status extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\Payment\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Payment\Payment\Query\SortClause\UpdatedAt extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\Payment\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Payment\Payment\Workflow\WorkflowResolverInterface + +- `public function resolveWorkflow(\Ibexa\Contracts\Payment\Payment\Workflow\WorkflowSubjectInterface $subject): \Symfony\Component\Workflow\WorkflowInterface` + +## Ibexa\Contracts\Permissions\Repository\Values\User\Limitation\FieldGroupLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation + +- `public function getIdentifier(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed CONTENTTYPE = 'Class'` +- `public const mixed LANGUAGE = 'Language'` +- `public const mixed LOCATION = 'Node'` +- `public const mixed NEWSECTION = 'NewSection'` +- `public const mixed NEWSTATE = 'NewState'` +- `public const mixed OWNER = 'Owner'` +- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` +- `public const mixed PARENTDEPTH = 'ParentDepth'` +- `public const mixed PARENTOWNER = 'ParentOwner'` +- `public const mixed PARENTUSERGROUP = 'ParentGroup'` +- `public const mixed SECTION = 'Section'` +- `public const mixed SITEACCESS = 'SiteAccess'` +- `public const mixed STATE = 'State'` +- `public const mixed STATUS = 'Status'` +- `public const mixed SUBTREE = 'Subtree'` +- `public const mixed USERGROUP = 'Group'` + +## Ibexa\Contracts\Personalization\Criteria\CriteriaInterface + +- `public function getItemTypeIdentifiers(): array` +- `public function getLanguages(): array` +- `public function getLimit(): int` +- `public function getOffset(): int` + +## Ibexa\Contracts\Personalization\Serializer\Normalizer\DestinationValueAwareInterface extends Ibexa\Contracts\Personalization\Serializer\Normalizer\ValueNormalizerInterface + +- `public function normalize(\Ibexa\Contracts\Core\FieldType\Value $value): array|scalar|null` +- `public function supportsValue(\Ibexa\Contracts\Core\FieldType\Value $value): bool` + +## Ibexa\Contracts\Personalization\Serializer\Normalizer\ValueNormalizerInterface + +- `public function normalize(\Ibexa\Contracts\Core\FieldType\Value $value): array|scalar|null` +- `public function supportsValue(\Ibexa\Contracts\Core\FieldType\Value $value): bool` + +## Ibexa\Contracts\Personalization\Storage\DataSourceInterface + +- `public function countItems(\Ibexa\Contracts\Personalization\Criteria\CriteriaInterface $criteria): int` +- `public function fetchItem(string $id, string $language): \Ibexa\Contracts\Personalization\Value\ItemInterface` +- `public function fetchItems(\Ibexa\Contracts\Personalization\Criteria\CriteriaInterface $criteria): iterable` + +## Ibexa\Contracts\Personalization\Value\ItemGroupInterface + +- `public function getIdentifier(): string` +- `public function getItems(): \Ibexa\Contracts\Personalization\Value\ItemListInterface` + +## Ibexa\Contracts\Personalization\Value\ItemGroupListInterface extends Traversable + +- `public function getGroups(): iterable` + +## Ibexa\Contracts\Personalization\Value\ItemInterface + +- `public function getAttributes(): array>` +- `public function getId(): string` +- `public function getLanguage(): string` +- `public function getType(): \Ibexa\Contracts\Personalization\Value\ItemTypeInterface` + +## Ibexa\Contracts\Personalization\Value\ItemListInterface extends Traversable + +- `public function filter(callable $predicate): self` +- `public function first(): \Ibexa\Contracts\Personalization\Value\ItemInterface` +- `public function get(string $identifier, string $language): \Ibexa\Contracts\Personalization\Value\ItemInterface` +- `public function has(string $identifier, string $language): bool` +- `public function slice(int $offset[, int|null $length = null ]): self` + +## Ibexa\Contracts\Personalization\Value\ItemTypeInterface + +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getName(): string` + +## Ibexa\Contracts\ProductCatalogDateTimeAttribute\Search\Criterion\DateTimeAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute + +- `public function __construct(string $identifier, DateTimeImmutable|null $value)` +- `public function getIdentifier(): string` +- `public function getOperator(): string` +- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` +- `public function setOperator(string $operator): void` + +## Ibexa\Contracts\ProductCatalogDateTimeAttribute\Search\Criterion\DateTimeAttributeRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion + +- `public function __construct(string $identifier[, DateTimeImmutable|null $min = null ][, DateTimeImmutable|null $max = null ])` +- `public function getIdentifier(): string` +- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` +- `public function getMax(): \DateTimeImmutable|null` +- `public function getMin(): \DateTimeImmutable|null` + +## Ibexa\Contracts\ProductCatalogSymbolAttribute\Search\Criterion\SymbolAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute + +- `public function __construct(string $identifier, array|null $value)` +- `public function getIdentifier(): string` +- `public function getOperator(): string` +- `public function getValue(): array|null` +- `public function setOperator(string $operator): void` + +## Ibexa\Contracts\ProductCatalogSymbolAttribute\Value\ChecksumInterface + +- `public function validate(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, string $value): bool` + +## Ibexa\Contracts\ProductCatalog\AssetServiceInterface + +- `public function findAssets(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, bool $onlyAvailable = false ]): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` +- `public function getAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, string $identifier): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` + +## Ibexa\Contracts\ProductCatalog\AttributeDefinitionServiceInterface + +- `public function findAttributesDefinitions([AttributeDefinitionQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\AttributeDefinitionListInterface` +- `public function getAttributeDefinition(string $identifier[, iterable|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` + +## Ibexa\Contracts\ProductCatalog\AttributeGroupServiceInterface + +- `public function findAttributeGroups([AttributeGroupQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroup\AttributeGroupListInterface` +- `public function getAttributeGroup(string $identifier[, iterable|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` + +## Ibexa\Contracts\ProductCatalog\AttributeTypeServiceInterface + +- `public function getAttributeType(string $identifier): \Ibexa\Contracts\ProductCatalog\Values\AttributeTypeInterface` +- `public function getAttributeTypes(): iterable` +- `public function hasAttributeType(string $identifier): bool` + +## Ibexa\Contracts\ProductCatalog\CapabilitiesServiceInterface + +- `public function hasCapability(\Ibexa\Contracts\ProductCatalog\CapabilitiesEnum $capability): bool` + +## Ibexa\Contracts\ProductCatalog\CatalogFilters\Attribute\FilterDefinitionFactoryInterface + +- `public function createFilterDefinition(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, string $identifier): \Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterDefinitionInterface` + +## Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterDefinitionInterface + +- `public function getGroupName(): string` +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function supports(\Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface $criterion): bool` + +## Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterDefinitionProviderInterface + +- `public function getDefaultFilterIdentifiers(): array` +- `public function getFilterDefinition(string $identifier): \Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterDefinitionInterface` +- `public function getFilterDefinitions(): array` +- `public function hasFilterDefinition(string $identifier): bool` + +## Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterFormMapperInterface + +- `public function createFilterForm(\Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterDefinitionInterface $filterDefinition, \Symfony\Component\Form\FormBuilderInterface $builder[, array $context = [] ]): void` +- `public function supports(\Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterDefinitionInterface $filterDefinition): bool` + +## Ibexa\Contracts\ProductCatalog\CatalogServiceDecorator implements Ibexa\Contracts\ProductCatalog\CatalogServiceInterface + +- `public function copyCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCopyStruct $copyStruct): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function createCatalog(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function deleteCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog): void` +- `public function deleteCatalogTranslation(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogDeleteTranslationStruct $struct): void` +- `public function findCatalogs([CatalogQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogListInterface` +- `public function getCatalog(int $id[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function getCatalogByIdentifier(string $identifier[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function updateCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` + +## Ibexa\Contracts\ProductCatalog\CatalogServiceInterface + +- `public function copyCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCopyStruct $copyStruct): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function createCatalog(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function deleteCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog): void` +- `public function deleteCatalogTranslation(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogDeleteTranslationStruct $struct): void` +- `public function findCatalogs([CatalogQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogListInterface` +- `public function getCatalog(int $id[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function getCatalogByIdentifier(string $identifier[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function updateCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` + +## Ibexa\Contracts\ProductCatalog\CurrencyResolverInterface + +- `public function resolveCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` + +## Ibexa\Contracts\ProductCatalog\CurrencyServiceDecorator implements Ibexa\Contracts\ProductCatalog\CurrencyServiceInterface + +- `public function createCurrency(\Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function deleteCurrency(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency): void` +- `public function findCurrencies([CurrencyQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyListInterface` +- `public function getCurrency(int $id): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getCurrencyByCode(string $code): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function updateCurrency(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` + +## Ibexa\Contracts\ProductCatalog\CurrencyServiceInterface + +- `public function createCurrency(\Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function deleteCurrency(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency): void` +- `public function findCurrencies([CurrencyQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyListInterface` +- `public function getCurrency(int $id): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getCurrencyByCode(string $code): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function updateCurrency(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` + +## Ibexa\Contracts\ProductCatalog\CustomerGroupAssignedItemsServiceDecorator implements Ibexa\Contracts\ProductCatalog\CustomerGroupAssignedItemsServiceInterface + +- `public function getAssignedItems(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup[, int|null $limit = null ][, int $offset = 0 ]): iterable` + +## Ibexa\Contracts\ProductCatalog\CustomerGroupAssignedItemsServiceInterface + +- `public function getAssignedItems(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup[, int|null $limit = null ][, int $offset = 0 ]): iterable` + +## Ibexa\Contracts\ProductCatalog\CustomerGroupResolverInterface + +- `public function resolveCustomerGroup([User|null $user = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` + +## Ibexa\Contracts\ProductCatalog\CustomerGroupServiceDecorator implements Ibexa\Contracts\ProductCatalog\CustomerGroupServiceInterface + +- `public function canBeDeleted(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup): bool` +- `public function createCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` +- `public function deleteCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup): void` +- `public function deleteCustomerGroupTranslation(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupDeleteTranslationStruct $struct): void` +- `public function findCustomerGroups([CustomerGroupQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupListInterface` +- `public function getCustomerGroup(int $id[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` +- `public function getCustomerGroupByIdentifier(string $identifier[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` +- `public function updateCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` + +## Ibexa\Contracts\ProductCatalog\CustomerGroupServiceInterface + +- `public function canBeDeleted(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup): bool` +- `public function createCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` +- `public function deleteCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup): void` +- `public function deleteCustomerGroupTranslation(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupDeleteTranslationStruct $struct): void` +- `public function findCustomerGroups([CustomerGroupQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupListInterface` +- `public function getCustomerGroup(int $id[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` +- `public function getCustomerGroupByIdentifier(string $identifier[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` +- `public function updateCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` + +## Ibexa\Contracts\ProductCatalog\Events\BeforeCreateCurrencyEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct $createStruct)` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct` +- `public function getResultCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function hasResultCurrency(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultCurrency(CurrencyInterface|null $resultCurrency): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\BeforeCreatePriceEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface $createStruct)` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface` +- `public function getResultPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function hasResultPrice(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultPrice(PriceInterface|null $resultPrice): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\BeforeDeleteCurrencyEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency)` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\BeforeDeletePriceEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface $deleteStruct)` +- `public function getDeleteStruct(): \Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\BeforeExecutePriceStructsEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(iterable $structs)` +- `public function getPriceStructs(): iterable` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\BeforeUpdateCurrencyEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct $updateStruct)` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getResultCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct` +- `public function hasResultCurrency(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultCurrency(CurrencyInterface|null $resultCurrency): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\BeforeUpdatePriceEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface $updateStruct)` +- `public function getResultPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface` +- `public function hasResultPrice(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultPrice(PriceInterface|null $resultPrice): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\CreateCurrencyEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct $createStruct, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency)` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\CreatePriceEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface $createStruct, \Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price)` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface` +- `public function getPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\CurrencyResolveEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct([CurrencyInterface|null $currency = null ])` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` +- `public function isPropagationStopped(): bool` +- `public function setCurrency(CurrencyInterface|null $currency): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\CustomerGroupCanBeDeletedEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup[, bool $canBeDeleted = true ])` +- `public function canBeDeleted(): bool` +- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` +- `public function getReason(): string` +- `public function isPropagationStopped(): bool` +- `public function preventDelete(string $reason): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\DeleteCurrencyEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency)` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\DeletePriceEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface $deleteStruct)` +- `public function getDeleteStruct(): \Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\ExecutePriceStructsEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(iterable $priceStructs)` +- `public function getPriceStructs(): iterable` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\RegionResolveEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct([RegionInterface|null $region = null ])` +- `public function getRegion(): \Ibexa\Contracts\ProductCatalog\Values\RegionInterface|null` +- `public function isPropagationStopped(): bool` +- `public function setRegion(RegionInterface|null $region): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\UpdateCurrencyEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct $updateStruct)` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Events\UpdatePriceEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price, \Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface $updateStruct)` +- `public function getPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Form\Data\ProductSelectorData + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, array|null $productVariants)` +- `public function addVariant(\Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface $product): $this` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getProductCode(): string` +- `public function getProductVariantCodes(): array|null` +- `public function getProductVariants(): array|null` + +## Ibexa\Contracts\ProductCatalog\Form\Data\ProductsSelectorData implements Countable + +- `public function addProduct(\Ibexa\Contracts\ProductCatalog\Form\Data\ProductSelectorData $product): self` +- `public function count(): int` +- `public function getProductByCode(string $productCode): \Ibexa\Contracts\ProductCatalog\Form\Data\ProductSelectorData|null` +- `public function getProducts(): array` +- `public function removeProduct(\Ibexa\Contracts\ProductCatalog\Form\Data\ProductSelectorData $product): self` +- `public function setProducts(array $products): $this` + +## Ibexa\Contracts\ProductCatalog\Form\Type\ProductSelectorType extends Symfony\Component\Form\AbstractType + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\ProductServiceInterface $productService)` +- `public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder, array $options): void` +- `public function configureOptions(\Symfony\Component\OptionsResolver\OptionsResolver $resolver): void` +- `public function getBlockPrefix(): string` +- `public function getParent(): string` + +## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\AttributeDefinitionFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\AttributeDefinitionServiceInterface $attributeDefinitionService[, AttributeDefinitionQuery|null $query = null ])` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\AttributeGroupFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\AttributeGroupServiceInterface $attributeGroupService[, AttributeGroupQuery|null $query = null ])` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\CurrencyFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\CurrencyServiceInterface $currencyService[, CurrencyQuery|null $query = null ])` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\ProductFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\ProductServiceInterface $productService, \Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery $query[, LanguageSettings|null $languageSettings = null ])` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\ProductTypeListAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\ProductTypeServiceInterface $productTypeService)` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\ProductVariantFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\ProductServiceInterface $productService, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, ProductVariantQuery|null $query = null ])` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\RegionFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\RegionServiceInterface $regionService[, RegionQuery|null $query = null ])` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\VariantFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\ProductServiceInterface $productService, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, ProductVariantQuery|null $query = null ])` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\ProductCatalog\Local\Attribute\AbstractValidatorError + +- `public function __construct(string|null $target, string $message[, array $parameters = [] ])` +- `public function getMessage(): string` +- `public function getParameters(): array` +- `public function getTarget(): string|null` + +## Ibexa\Contracts\ProductCatalog\Local\Attribute\ContextAwareValueValidatorInterface extends Ibexa\Contracts\ProductCatalog\Local\Attribute\ValueValidatorInterface + +- `public function validateValue(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, mixed $value[, array $context = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Local\Attribute\IndexDataProviderInterface + +- `public function getFieldsForAttribute(\Ibexa\ProductCatalog\Local\Persistence\Values\AttributeDefinition $attributeDefinition, Attribute $attribute): iterable` + +## Ibexa\Contracts\ProductCatalog\Local\Attribute\OptionsFormMapperInterface + +- `public function createOptionsForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder[, array $context = [] ]): void` + +## Ibexa\Contracts\ProductCatalog\Local\Attribute\OptionsValidatorError extends Ibexa\Contracts\ProductCatalog\Local\Attribute\AbstractValidatorError + +- `public function __construct(string|null $target, string $message[, array $parameters = [] ])` +- `public function getMessage(): string` +- `public function getParameters(): array` +- `public function getTarget(): string|null` + +## Ibexa\Contracts\ProductCatalog\Local\Attribute\OptionsValidatorInterface + +- `public function validateOptions(\Ibexa\Contracts\Core\Options\OptionsBag $options): array` + +## Ibexa\Contracts\ProductCatalog\Local\Attribute\StorageConverterInterface + +- `public function fromPersistence(\Ibexa\Contracts\ProductCatalog\Local\Attribute\TPersistenceValue $data): \Ibexa\Contracts\ProductCatalog\Local\Attribute\TValue|null` +- `public function toPersistence(TValue|null $value): \Ibexa\Contracts\ProductCatalog\Local\Attribute\TPersistenceValue` + +## Ibexa\Contracts\ProductCatalog\Local\Attribute\StorageDefinitionInterface + +- `public function getColumns(): array` +- `public function getTableName(): string` + +## Ibexa\Contracts\ProductCatalog\Local\Attribute\ValueFormMapperInterface + +- `public function createValueForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder, \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionAssignmentInterface $assignment[, array $context = [] ]): void` + +## Ibexa\Contracts\ProductCatalog\Local\Attribute\ValueFormatterInterface + +- `public function formatValue(\Ibexa\Contracts\ProductCatalog\Values\AttributeInterface $attribute[, array $parameters = [] ]): string|null` + +## Ibexa\Contracts\ProductCatalog\Local\Attribute\ValueValidationError extends Ibexa\Contracts\ProductCatalog\Local\Attribute\AbstractValidatorError + +- `public function __construct(string|null $target, string $message[, array $parameters = [] ])` +- `public function getMessage(): string` +- `public function getParameters(): array` +- `public function getTarget(): string|null` + +## Ibexa\Contracts\ProductCatalog\Local\Attribute\ValueValidatorInterface + +- `public function validateValue(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, mixed $value): array` + +## Ibexa\Contracts\ProductCatalog\Local\Attribute\VariantFormMapperInterface + +- `public function createForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder, \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionAssignmentInterface $assignment[, array $context = [] ]): void` + +## Ibexa\Contracts\ProductCatalog\Local\CodeGenerator\CodeGeneratorContext + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $type[, array $attributes = [] ][, ProductInterface|null $baseProduct = null ][, int|null $index = null ])` +- `public function getAttributes(): array` +- `public function getBaseProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface|null` +- `public function getIndex(): int|null` +- `public function getType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` +- `public function hasBaseProduct(): bool` +- `public function hasIndex(): bool` +- `public function setAttributes(array $attributes): void` +- `public function setBaseProduct(ProductInterface|null $baseProduct): void` +- `public function setIndex(int|null $index): void` + +## Ibexa\Contracts\ProductCatalog\Local\CodeGenerator\CodeGeneratorInterface + +- `public function generateCode(\Ibexa\Contracts\ProductCatalog\Local\CodeGenerator\CodeGeneratorContext $context): string` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeCreateAttributeDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct $createStruct)` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct` +- `public function getResultAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function hasResultAttributeDefinition(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultAttributeDefinition(AttributeDefinitionInterface|null $resultAttributeDefinition): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeCreateAttributeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct $createStruct)` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct` +- `public function getResultAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` +- `public function hasResultAttributeGroup(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultAttributeGroup(AttributeGroupInterface|null $resultAttributeGroup): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeCreateCatalogEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct $createStruct)` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct` +- `public function getResultCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function hasResultCatalog(): bool` +- `public function isPropagationStopped(): bool` +- `public function setCatalog(CatalogInterface|null $catalog): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeCreateProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct $createStruct)` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct` +- `public function getResultProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function hasResultProductAvailability(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultProductAvailability(AvailabilityInterface|null $resultProductAvailability): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeCreateProductEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct $createStruct)` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct` +- `public function getResultProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function hasResultProduct(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultProduct(ProductInterface|null $resultProduct): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeCreateProductVariantsEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, iterable $createStructs)` +- `public function getCreateStructs(): iterable` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDecreaseProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, int $amount)` +- `public function getAmount(): int` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getResultProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function hasResultProductAvailability(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultProductAvailability(AvailabilityInterface|null $resultProductAvailability): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDeleteAttributeDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition)` +- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDeleteAttributeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup)` +- `public function getAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDeleteBaseProductVariantsEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $baseProduct)` +- `public function getBaseProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDeleteCatalogEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog)` +- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDeleteProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product)` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDeleteProductEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product)` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeIncreaseProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, int $amount)` +- `public function getAmount(): int` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getResultProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function hasResultProductAvailability(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultProductAvailability(AvailabilityInterface|null $resultProductAvailability): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeUpdateAttributeDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct $updateStruct)` +- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function getResultAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct` +- `public function hasResultAttributeDefinition(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultAttributeDefinition(AttributeDefinitionInterface|null $resultAttributeDefinition): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeUpdateAttributeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct $updateStruct)` +- `public function getAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` +- `public function getResultAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct` +- `public function hasResultAttributeGroup(): bool` +- `public function isPropagationStopped(): bool` +- `public function setAttributeGroup(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup): void` +- `public function setResultAttributeGroup(AttributeGroupInterface|null $resultAttributeGroup): void` +- `public function setUpdateStruct(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct $updateStruct): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeUpdateCatalogEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct $updateStruct)` +- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function getResultCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct` +- `public function hasResultCatalog(): bool` +- `public function isPropagationStopped(): bool` +- `public function setCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog): void` +- `public function setResultCatalog(CatalogInterface|null $resultCatalog): void` +- `public function setUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct $updateStruct): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeUpdateProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct $updateStruct)` +- `public function getResultProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct` +- `public function hasResultProductAvailability(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultProductAvailability(AvailabilityInterface|null $resultProductAvailability): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeUpdateProductEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct $updateStruct)` +- `public function getResultProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct` +- `public function hasResultProduct(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultProduct(ProductInterface|null $resultProduct): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeUpdateProductVariantEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface $productVariant, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct $updateStruct)` +- `public function getProductVariant(): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` +- `public function getResultProductVariant(): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct` +- `public function hasResultProductVariant(): bool` +- `public function isPropagationStopped(): bool` +- `public function setResultProductVariant(ProductVariantInterface|null $resultProductVariant): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\CreateAttributeDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct $createStruct, \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition)` +- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\CreateAttributeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct $createStruct, \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup)` +- `public function getAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\CreateCatalogEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct $createStruct, \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog)` +- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\CreateProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct $createStruct, \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface $productAvailability)` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct` +- `public function getProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\CreateProductEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct $createStruct, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product)` +- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\CreateProductVariantsEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, iterable $createStructs)` +- `public function getCreateStructs(): iterable` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\DecreaseProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface $productAvailability, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, int $amount)` +- `public function getAmount(): int` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\DeleteAttributeDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition)` +- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\DeleteAttributeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup)` +- `public function getAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\DeleteBaseProductVariantsEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $baseProduct[, array $deletedVariantCodes = [] ])` +- `public function getBaseProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getDeletedVariantCodes(): array` +- `public function isPropagationStopped(): bool` +- `public function setDeletedVariantCodes(array $deletedVariantCodes): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\DeleteCatalogEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog)` +- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\DeleteProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product)` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\DeleteProductEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product)` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\IncreaseProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface $productAvailability, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, int $amount)` +- `public function getAmount(): int` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\UpdateAttributeDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct $updateStruct)` +- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\UpdateAttributeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct $updateStruct)` +- `public function getAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\UpdateCatalogEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct $updateStruct)` +- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\UpdateProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface $productAvailability, \Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct $updateStruct)` +- `public function getProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\UpdateProductEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct $updateStruct)` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\Events\UpdateProductVariantEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface $productVariant, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct $updateStruct)` +- `public function getProductVariant(): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` +- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\ProductCatalog\Local\LocalAssetServiceDecorator implements Ibexa\Contracts\ProductCatalog\Local\LocalAssetServiceInterface + +- `public function createAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` +- `public function deleteAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface $asset): void` +- `public function findAssets(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, bool $onlyAvailable = false ]): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` +- `public function getAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, string $identifier): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` +- `public function newAssetCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetCreateStruct` +- `public function newAssetUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetUpdateStruct` +- `public function updateAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface $asset, \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` + +## Ibexa\Contracts\ProductCatalog\Local\LocalAssetServiceInterface extends Ibexa\Contracts\ProductCatalog\AssetServiceInterface + +- `public function createAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` +- `public function deleteAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface $asset): void` +- `public function findAssets(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, bool $onlyAvailable = false ]): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` +- `public function getAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, string $identifier): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` +- `public function newAssetCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetCreateStruct` +- `public function newAssetUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetUpdateStruct` +- `public function updateAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface $asset, \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` + +## Ibexa\Contracts\ProductCatalog\Local\LocalAttributeDefinitionServiceDecorator implements Ibexa\Contracts\ProductCatalog\Local\LocalAttributeDefinitionServiceInterface + +- `public function createAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function deleteAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): void` +- `public function deleteAttributeDefinitionTranslation(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, string $languageCode): void` +- `public function findAttributesDefinitions([AttributeDefinitionQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\AttributeDefinitionListInterface` +- `public function getAttributeDefinition(string $identifier[, iterable|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function isAttributeDefinitionUsed(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): bool` +- `public function newAttributeDefinitionCreateStruct(string $identifier): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct` +- `public function newAttributeDefinitionUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct` +- `public function updateAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` + +## Ibexa\Contracts\ProductCatalog\Local\LocalAttributeDefinitionServiceInterface extends Ibexa\Contracts\ProductCatalog\AttributeDefinitionServiceInterface + +- `public function createAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function deleteAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): void` +- `public function deleteAttributeDefinitionTranslation(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, string $languageCode): void` +- `public function findAttributesDefinitions([AttributeDefinitionQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\AttributeDefinitionListInterface` +- `public function getAttributeDefinition(string $identifier[, iterable|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function isAttributeDefinitionUsed(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): bool` +- `public function newAttributeDefinitionCreateStruct(string $identifier): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct` +- `public function newAttributeDefinitionUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct` +- `public function updateAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` + +## Ibexa\Contracts\ProductCatalog\Local\LocalAttributeGroupServiceDecorator implements Ibexa\Contracts\ProductCatalog\Local\LocalAttributeGroupServiceInterface + +- `public function createAttributeGroup(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` +- `public function deleteAttributeGroup(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $group): void` +- `public function deleteAttributeGroupTranslation(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup, string $languageCode): void` +- `public function findAttributeGroups([AttributeGroupQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroup\AttributeGroupListInterface` +- `public function getAttributeGroup(string $identifier[, iterable|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` +- `public function isAttributeGroupUsed(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup): bool` +- `public function newAttributeGroupCreateStruct(string $identifier): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct` +- `public function newAttributeGroupUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $group): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct` +- `public function updateAttributeGroup(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` + +## Ibexa\Contracts\ProductCatalog\Local\LocalAttributeGroupServiceInterface extends Ibexa\Contracts\ProductCatalog\AttributeGroupServiceInterface + +- `public function createAttributeGroup(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` +- `public function deleteAttributeGroup(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $group): void` +- `public function deleteAttributeGroupTranslation(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup, string $languageCode): void` +- `public function findAttributeGroups([AttributeGroupQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroup\AttributeGroupListInterface` +- `public function getAttributeGroup(string $identifier[, iterable|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` +- `public function isAttributeGroupUsed(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup): bool` +- `public function newAttributeGroupCreateStruct(string $identifier): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct` +- `public function newAttributeGroupUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $group): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct` +- `public function updateAttributeGroup(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` + +## Ibexa\Contracts\ProductCatalog\Local\LocalProductServiceDecorator implements Ibexa\Contracts\ProductCatalog\Local\LocalProductServiceInterface + +- `public function createProduct(\Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function createProductVariants(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, iterable $createStructs): void` +- `public function deleteProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): void` +- `public function deleteProductTranslation(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): void` +- `public function deleteProductVariantsByBaseProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $baseProduct): array` +- `public function findProducts(\Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery $query[, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductListInterface` +- `public function findProductVariants(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, ProductVariantQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductVariantListInterface` +- `public function getDistinctProductVariantsAttributesValues(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): array>` +- `public function getProduct(string $code[, LanguageSettings|null $settings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getProductFromContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getProductVariant(string $code[, LanguageSettings|null $settings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` +- `public function isProduct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` +- `public function newProductCreateStruct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, string $mainLanguageCode): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct` +- `public function newProductUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct` +- `public function updateProduct(\Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function updateProductVariant(\Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface $productVariant, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` + +## Ibexa\Contracts\ProductCatalog\Local\LocalProductServiceInterface extends Ibexa\Contracts\ProductCatalog\ProductServiceInterface + +- `public function createProductVariants(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, iterable $createStructs): void` +- `public function deleteProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): void` +- `public function deleteProductTranslation(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): void` +- `public function deleteProductVariantsByBaseProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $baseProduct): array` +- `public function findProducts(\Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery $query[, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductListInterface` +- `public function findProductVariants(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, ProductVariantQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductVariantListInterface` +- `public function getDistinctProductVariantsAttributesValues(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): array>` +- `public function getProduct(string $code[, LanguageSettings|null $settings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getProductFromContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getProductVariant(string $code[, LanguageSettings|null $settings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` +- `public function isProduct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` +- `public function newProductCreateStruct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, string $mainLanguageCode): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct` +- `public function newProductUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct` +- `public function updateProduct(\Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function updateProductVariant(\Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface $productVariant, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` +- `public const mixed TYPE = 'local'` + +## Ibexa\Contracts\ProductCatalog\Local\LocalProductTypeServiceDecorator implements Ibexa\Contracts\ProductCatalog\Local\LocalProductTypeServiceInterface + +- `public function addContentTypeFieldDefinition(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct): void` +- `public function createProductType(\Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` +- `public function deleteProductType(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType): void` +- `public function deleteProductTypeTranslation(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, string $languageCode): void` +- `public function findProductTypes([ProductTypeQuery|null $query = null ][, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductType\ProductTypeListInterface` +- `public function getProductType(string $identifier[, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` +- `public function isProductTypeUsed(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType): bool` +- `public function newProductTypeCreateStruct(string $identifier, string $mainLanguageCode): \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeCreateStruct` +- `public function newProductTypeUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType): \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeUpdateStruct` +- `public function removeContentTypeFieldDefinition(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): void` +- `public function updateProductType(\Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` + +## Ibexa\Contracts\ProductCatalog\Local\LocalProductTypeServiceInterface extends Ibexa\Contracts\ProductCatalog\ProductTypeServiceInterface + +- `public function addContentTypeFieldDefinition(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct): void` +- `public function createProductType(\Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` +- `public function deleteProductType(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType): void` +- `public function deleteProductTypeTranslation(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, string $languageCode): void` +- `public function findProductTypes([ProductTypeQuery|null $query = null ][, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductType\ProductTypeListInterface` +- `public function getProductType(string $identifier[, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` +- `public function isProductTypeUsed(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType): bool` +- `public function newProductTypeCreateStruct(string $identifier, string $mainLanguageCode): \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeCreateStruct` +- `public function newProductTypeUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType): \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeUpdateStruct` +- `public function removeContentTypeFieldDefinition(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): void` +- `public function updateProductType(\Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` + +## Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([string|null $uri = null ][, array $tags = [] ])` +- `public function getTags(): array` +- `public function getUri(): string|null` +- `public function setTags(array $tags): void` +- `public function setUri(string|null $uri): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([string|null $uri = null ][, array|null $tags = null ])` +- `public function getTags(): array|null` +- `public function getUri(): string|null` +- `public function setTags(array|null $tags): void` +- `public function setUri(string|null $uri): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $identifier)` +- `public function getDescriptions(): array` +- `public function getGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` +- `public function getIdentifier(): string` +- `public function getNames(): array` +- `public function getOptions(): array` +- `public function getPosition(): int` +- `public function getType(): \Ibexa\Contracts\ProductCatalog\Values\AttributeTypeInterface` +- `public function setDescription(string $languageCode, string $description): void` +- `public function setGroup(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $group): void` +- `public function setIdentifier(string $identifier): void` +- `public function setName(string $languageCode, string $name): void` +- `public function setOptions(array $options): void` +- `public function setPosition(int $position): void` +- `public function setType(\Ibexa\Contracts\ProductCatalog\Values\AttributeTypeInterface $type): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([array $properties = [] ])` +- `public function getDescriptions(): array` +- `public function getGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface|null` +- `public function getIdentifier(): string|null` +- `public function getNames(): array` +- `public function getOptions(): array|null` +- `public function getPosition(): int|null` +- `public function setDescription(string $languageCode, string $description): void` +- `public function setDescriptions(array $descriptions): void` +- `public function setGroup(AttributeGroupInterface|null $group): void` +- `public function setIdentifier(string|null $identifier): void` +- `public function setName(string $languageCode, string $name): void` +- `public function setNames(array $names): void` +- `public function setOptions(array|null $options): void` +- `public function setPosition(int|null $position): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $identifier[, array $names = [] ][, int $position = 0 ])` +- `public function getIdentifier(): string` +- `public function getNames(): array` +- `public function getPosition(): int` +- `public function setIdentifier(string $identifier): void` +- `public function setNames(array $names): void` +- `public function setPosition(int $position): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([string|null $identifier = null ][, array $names = [] ][, int|null $position = null ])` +- `public function getIdentifier(): string|null` +- `public function getNames(): array` +- `public function getPosition(): int|null` +- `public function setIdentifier(string|null $identifier): void` +- `public function setNames(array $names): void` +- `public function setPosition(int|null $position): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\AssignAttributeDefinitionStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition[, bool $required = true ][, bool $isDiscriminator = false ])` +- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function isDiscriminator(): bool` +- `public function isRequired(): bool` +- `public function setAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): void` +- `public function setDiscriminator(bool $isDiscriminator): void` +- `public function setRequired(bool $required): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct, string $mainLanguageCode[, array $assignedAttributesDefinitions = [] ][, bool $isVirtual = false ])` +- `public function getAssignedAttributesDefinitions(): array` +- `public function getContentTypeCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct` +- `public function getMainLanguageCode(): string` +- `public function isVirtual(): bool` +- `public function setAssignedAttributesDefinitions(array $assignedAttributesDefinitions): void` +- `public function setVirtual(bool $isVirtual): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct)` +- `public function addAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\AssignAttributeDefinitionStruct $struct): void` +- `public function getAttributeDefinitionStructs(): array` +- `public function getContentTypeUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct` +- `public function getProductType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` +- `public function isVirtual(): bool` +- `public function removeAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\AssignAttributeDefinitionStruct $struct): void` +- `public function setAttributeDefinitionStructs(array $attributeDefinitionStructs): void` +- `public function setContentTypeUpdateStruct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct): void` +- `public function setVirtual(bool $isVirtual): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct $contentCreateStruct[, string|null $code = null ])` +- `public function getAttributes(): array` +- `public function getCode(): string|null` +- `public function getContentCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct` +- `public function getProductType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` +- `public function setAttribute(string $name, mixed $value): void` +- `public function setAttributes(array $attributes): void` +- `public function setCode(string|null $code): void` +- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(ProductInterface|\Ibexa\Contracts\ProductCatalog\Values\ContentAwareProductInterface $product, \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct $contentUpdateStruct)` +- `public function getAttributes(): array` +- `public function getCode(): string|null` +- `public function getContentMetadataUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct|null` +- `public function getContentUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface|ContentAwareProductInterface` +- `public function setAttribute(string $name, mixed $value): void` +- `public function setAttributes(array $attributes): void` +- `public function setCode(string|null $code): void` +- `public function setContentMetadataUpdateStruct(ContentMetadataUpdateStruct|null $contentMetadataUpdateStruct): void` +- `public function setContentUpdateStruct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct $contentUpdateStruct): void` +- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantCreateStruct + +- `public function __construct(array $attributes[, string|null $code = null ])` +- `public function getAttribute(string $identifier[, mixed|null $default = null ]): mixed|null` +- `public function getAttributes(): array` +- `public function getCode(): string|null` +- `public function setAttribute(string $identifier, mixed $value): void` +- `public function setAttributes(array $attributes): void` +- `public function setCode(string|null $code): void` + +## Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantGenerateStruct + +- `public function __construct(array> $attributes)` +- `public function getAttribute(string $identifier): array|null` +- `public function getAttributes(): array>` +- `public function setAttribute(string $identifier, array $value): void` +- `public function setAttributes(array> $attributes): void` + +## Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct + +- `public function __construct([array|null> $attributes = [] ][, string|null $code = null ])` +- `public function getAttribute(string $identifier[, object|scalar|array|null $default = null ]): object|scalar|array|null` +- `public function getAttributes(): array|null>` +- `public function getCode(): string|null` +- `public function hasAttribute(string $identifier): bool` +- `public function hasAttributes(): bool` +- `public function setAttribute(string $identifier, object|scalar|array|null $value): void` +- `public function setAttributes(array|null> $attributes): void` +- `public function setCode(string|null $code): void` + +## Ibexa\Contracts\ProductCatalog\NameSchema\NameSchemaStrategyInterface + +- `public function resolve(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, mixed $value, string $languageCode): string` +- `public function supports(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, mixed $value): bool` + +## Ibexa\Contracts\ProductCatalog\PermissionResolverInterface + +- `public function assertPolicy(\Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface $policy): void` +- `public function canUser(\Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface $policy): bool` + +## Ibexa\Contracts\ProductCatalog\Permission\ContextInterface + +- `public function getObject(): object` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\ContextProvider\ContextProviderInterface + +- `public function accept(\Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface $policy): bool` +- `public function getPermissionContext(\Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface $policy): \Ibexa\Contracts\ProductCatalog\Permission\ContextInterface` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\AbstractAttributeDefinitionPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function getModule(): string` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\Create extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\AbstractAttributeDefinitionPolicy + +- `public function __construct([AttributeDefinitionCreateStruct|null $attributeDefinitionCreateStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\Delete extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\AbstractAttributeDefinitionPolicy + +- `public function __construct([AttributeDefinitionInterface|null $attributeDefinition = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\Edit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\AbstractAttributeDefinitionPolicy + +- `public function __construct([AttributeDefinitionUpdateStruct|null $attributeDefinitionUpdateStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\PreEdit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\AbstractAttributeDefinitionPolicy + +- `public function __construct([AttributeDefinitionInterface|null $attributeDefinition = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\View extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\AbstractAttributeDefinitionPolicy + +- `public function __construct([AttributeDefinitionInterface|null $attributeDefinition = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\AbstractAttributeGroupPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function getModule(): string` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\Create extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\AbstractAttributeGroupPolicy + +- `public function __construct([AttributeGroupCreateStruct|null $attributeGroupCreateStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\Delete extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\AbstractAttributeGroupPolicy + +- `public function __construct([AttributeGroupInterface|null $attributeGroup = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\Edit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\AbstractAttributeGroupPolicy + +- `public function __construct([AttributeGroupUpdateStruct|null $attributeGroupUpdateStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\PreEdit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\AbstractAttributeGroupPolicy + +- `public function __construct([AttributeGroupInterface|null $attributeGroup = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\View extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\AbstractAttributeGroupPolicy + +- `public function __construct([AttributeGroupInterface|null $attributeGroup = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\AbstractCatalogPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function getModule(): string` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\Create extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\AbstractCatalogPolicy + +- `public function __construct([CatalogCreateStruct|null $catalogCreateStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\Delete extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\AbstractCatalogPolicy + +- `public function __construct([CatalogInterface|null $catalog = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\Edit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\AbstractCatalogPolicy + +- `public function __construct([CatalogUpdateStruct|null $catalogUpdateStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\PreCreate extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\AbstractCatalogPolicy + +- `public function __construct([CatalogInterface|null $catalog = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\View extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\AbstractCatalogPolicy + +- `public function __construct([CatalogInterface|null $catalog = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Commerce\AbstractCommercePolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function getModule(): string` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Commerce\AdministrateCurrencies extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Commerce\AbstractCommercePolicy + +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Commerce\AdministrateRegions extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Commerce\AbstractCommercePolicy + +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\AbstractCustomerGroupPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function getModule(): string` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\Create extends Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\AbstractCustomerGroupPolicy + +- `public function __construct([CustomerGroupCreateStruct|null $customerGroupCreateStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupCreateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\Delete extends Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\AbstractCustomerGroupPolicy + +- `public function __construct([CustomerGroupInterface|null $customerGroup = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\Edit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\AbstractCustomerGroupPolicy + +- `public function __construct([CustomerGroupUpdateStruct|null $customerGroupUpdateStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupUpdateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\View extends Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\AbstractCustomerGroupPolicy + +- `public function __construct([CustomerGroupInterface|null $customerGroup = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\AbstractProductTypePolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function getModule(): string` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\Create extends Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\AbstractProductTypePolicy + +- `public function __construct([ProductTypeCreateStruct|null $productTypeCreateStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeCreateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\Delete extends Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\AbstractProductTypePolicy + +- `public function __construct([ProductTypeInterface|null $productType = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\Edit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\AbstractProductTypePolicy + +- `public function __construct([ProductTypeUpdateStruct|null $productTypeUpdateStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeUpdateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\PreEdit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\AbstractProductTypePolicy + +- `public function __construct([ProductTypeInterface|null $productType = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\View extends Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\AbstractProductTypePolicy + +- `public function __construct([ProductTypeInterface|null $productType = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\AbstractProductPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function getModule(): string` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\Create extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\AbstractProductPolicy + +- `public function __construct([ProductCreateStruct|null $productCreateStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\Delete extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\AbstractProductPolicy + +- `public function __construct([ProductInterface|null $product = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\Edit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\AbstractProductPolicy + +- `public function __construct([ProductUpdateStruct|null $productUpdateStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\PreEdit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\AbstractProductPolicy + +- `public function __construct([ProductInterface|null $product = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\View extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\AbstractProductPolicy + +- `public function __construct([ProductInterface|null $product = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\ProductCatalog\PriceResolverInterface + +- `public function resolvePrice(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, PriceContextInterface|null $context = null ]): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface|null` +- `public function resolvePrices(array $products[, PriceContextInterface|null $context = null ]): \Ibexa\Contracts\Core\Collection\MapInterface` + +## Ibexa\Contracts\ProductCatalog\ProductAvailabilityContextResolverInterface + +- `public function resolve([AvailabilityContextInterface|null $context = null ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityContextInterface` + +## Ibexa\Contracts\ProductCatalog\ProductAvailabilityServiceDecorator implements Ibexa\Contracts\ProductCatalog\ProductAvailabilityServiceInterface + +- `public function createProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function decreaseProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, int $amount = 1 ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function deleteProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): void` +- `public function getAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, AvailabilityContextInterface|null $availabilityContext = null ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function hasAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): bool` +- `public function increaseProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, int $amount = 1 ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function updateProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` + +## Ibexa\Contracts\ProductCatalog\ProductAvailabilityServiceInterface + +- `public function createProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function decreaseProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, int $amount = 1 ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function deleteProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): void` +- `public function getAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, AvailabilityContextInterface|null $availabilityContext = null ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function hasAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): bool` +- `public function increaseProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, int $amount = 1 ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function updateProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` + +## Ibexa\Contracts\ProductCatalog\ProductAvailabilityStrategyInterface + +- `public function accept(\Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityContextInterface $context): bool` +- `public function getProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityContextInterface $context): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` + +## Ibexa\Contracts\ProductCatalog\ProductPriceContextResolverInterface + +- `public function resolveContext([PriceContextInterface|null $context = null ]): \Ibexa\Contracts\ProductCatalog\Values\Price\PriceContextInterface` + +## Ibexa\Contracts\ProductCatalog\ProductPriceServiceDecorator implements Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface + +- `public function createProductPrice(\Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface $struct): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function deletePrice(\Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface $struct): void` +- `public function execute(iterable $structs): void` +- `public function findOneForCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price, \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup): \Ibexa\Contracts\ProductCatalog\Values\CustomPriceAwareInterface|null` +- `public function findPrices([PriceQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Price\PriceListInterface` +- `public function findPricesByProductCode(string $code): \Ibexa\Contracts\ProductCatalog\Values\Price\PriceListInterface` +- `public function getPriceById(int $id): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function getPriceByProductAndCurrency(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function updateProductPrice(\Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface $struct): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` + +## Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface + +- `public function createProductPrice(\Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface $struct): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function deletePrice(\Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface $struct): void` +- `public function execute(iterable $structs): void` +- `public function findOneForCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price, \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup): \Ibexa\Contracts\ProductCatalog\Values\CustomPriceAwareInterface|null` +- `public function findPrices([PriceQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Price\PriceListInterface` +- `public function findPricesByProductCode(string $code): \Ibexa\Contracts\ProductCatalog\Values\Price\PriceListInterface` +- `public function getPriceById(int $id): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function getPriceByProductAndCurrency(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function updateProductPrice(\Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface $struct): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` + +## Ibexa\Contracts\ProductCatalog\ProductReferencesResolverStrategy + +- `public function isProductReferenced(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): bool` + +## Ibexa\Contracts\ProductCatalog\ProductServiceInterface + +- `public function findProducts(\Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery $query[, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductListInterface` +- `public function findProductVariants(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, ProductVariantQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductVariantListInterface` +- `public function getProduct(string $code[, LanguageSettings|null $settings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getProductVariant(string $code[, LanguageSettings|null $settings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` + +## Ibexa\Contracts\ProductCatalog\ProductTypeServiceInterface + +- `public function findProductTypes([ProductTypeQuery|null $query = null ][, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductType\ProductTypeListInterface` +- `public function getProductType(string $identifier[, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` + +## Ibexa\Contracts\ProductCatalog\QueryTypeInterface + +- `public function static getName(): string` +- `public function getQuery([array $parameters = [] ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery` +- `public function getSupportedParameters(): array` + +## Ibexa\Contracts\ProductCatalog\QueryTypeRegistryInterface + +- `public function getQueryType(string $name): \Ibexa\Contracts\ProductCatalog\QueryTypeInterface` +- `public function hasQueryType(string $name): bool` + +## Ibexa\Contracts\ProductCatalog\REST\Output\AttributePostProcessorInterface + +- `public function process(\Ibexa\Bundle\ProductCatalog\REST\Value\Attribute $attribute): array` +- `public function supports(\Ibexa\Bundle\ProductCatalog\REST\Value\Attribute $attribute): bool` + +## Ibexa\Contracts\ProductCatalog\RegionResolverInterface + +- `public function resolveRegion(): \Ibexa\Contracts\ProductCatalog\Values\RegionInterface` + +## Ibexa\Contracts\ProductCatalog\RegionServiceInterface + +- `public function findRegions([RegionQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Region\RegionListInterface` +- `public function getRegion(string $identifier): \Ibexa\Contracts\ProductCatalog\Values\RegionInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface extends Ibexa\Contracts\Core\Collection\ListInterface + +- `public function contains(\Ibexa\Contracts\Core\Collection\TValue $value): bool` +- `public function exists(\Closure $predicate): bool` +- `public function filter(\Closure $predicate): self` +- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function forAll(\Closure $predicate): bool` +- `public function getIterator(): \Iterator` +- `public function isEmpty(): bool` +- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function map(\Closure $function): self` +- `public function toArray(): array` +- `public function withTag(string $tag[, string|null $value = null ]): self` +- `public function withTags(array $tags): self` + +## Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface + +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function getTags(): array` +- `public function getUri(): string` + +## Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionAssignmentInterface + +- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function isDiscriminator(): bool` +- `public function isRequired(): bool` + +## Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface + +- `public function getDescription(): string|null` +- `public function getGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function getOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` +- `public function getPosition(): int` +- `public function getType(): \Ibexa\Contracts\ProductCatalog\Values\AttributeTypeInterface` + +## Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\AttributeDefinitionListInterface extends IteratorAggregate + +- `public function getAttributeDefinitions(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\AttributeDefinitionQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function and(CriterionInterface ...$criteria): void` +- `public function getAttributesGroups(): array|null` +- `public function getLimit(): int|null` +- `public function getNamePrefix(): string|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setAttributesGroups(array|null $attributesGroups): void` +- `public function setLimit(int|null $limit): void` +- `public function setNamePrefix(string|null $namePrefix): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\Query\AttributeGroupIdentifierCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\Query\NameCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface + +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function getPosition(): int` + +## Ibexa\Contracts\ProductCatalog\Values\AttributeGroup\AttributeGroupListInterface extends IteratorAggregate + +- `public function getAttributeGroups(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\ProductCatalog\Values\AttributeGroup\AttributeGroupQuery implements Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface + +- `public function getLimit(): int` +- `public function getNamePrefix(): string|null` +- `public function getOffset(): int` +- `public function setLimit(int $limit): void` +- `public function setNamePrefix(string|null $namePrefix): void` +- `public function setOffset(int $offset): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\ProductCatalog\Values\AttributeInterface + +- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` +- `public function getIdentifier(): string` +- `public function getValue(): mixed` + +## Ibexa\Contracts\ProductCatalog\Values\AttributeTypeInterface + +- `public function getIdentifier(): string` +- `public function getName(): string` + +## Ibexa\Contracts\ProductCatalog\Values\AvailabilityAwareInterface extends Ibexa\Contracts\ProductCatalog\Values\ProductInterface + +- `public function getAssets(): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` +- `public function getAttributes(): array` +- `public function getAvailability([AvailabilityContextInterface|null $context = null ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` +- `public function getCode(): string` +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getName(): string` +- `public function getProductType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` +- `public function getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` +- `public function getUpdatedAt(): \DateTimeInterface` +- `public function hasAvailability(): bool` +- `public function isAvailable([AvailabilityContextInterface|null $context = null ]): bool` +- `public function isBaseProduct(): bool` +- `public function isVariant(): bool` + +## Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface + +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getStock(): int|null` +- `public function isAvailable(): bool` +- `public function isInfinite(): bool` + +## Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, bool $availability = false ][, bool $isInfinite = false ][, int|null $stock = null ])` +- `public function static createInfinite(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, bool $available): self` +- `public function static createWithStock(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, bool $available, int $stock): self` +- `public function getAvailability(): bool` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getStock(): int|null` +- `public function isInfinite(): bool` +- `public function setAvailability(bool $availability): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, bool|null $availability = null ][, bool|null $isInfinite = null ][, int|null $stock = null ])` +- `public function static createInfinite(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, bool|null $available = null ]): self` +- `public function static createWithStock(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, bool $available[, int|null $stock = null ]): self` +- `public function getAvailability(): bool|null` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getStock(): int|null` +- `public function isInfinite(): bool|null` +- `public function setAvailability(bool|null $availability): void` +- `public function setInfinite(bool|null $infinite): void` +- `public function setStock(int|null $stock): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\CatalogInterface + +- `public function getCreated(): int` +- `public function getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getDescription(): string|null` +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getModified(): int` +- `public function getName(): string` +- `public function getQuery(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` +- `public function getStatus(): string` + +## Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCopyStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(int $sourceId, string $identifier[, int|null $creatorId = null ])` +- `public function getCreatorId(): int|null` +- `public function getIdentifier(): string` +- `public function getSourceId(): int` +- `public function setCreatorId(int $creatorId): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $identifier, \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface $criterion, array $names, array $descriptions[, string $status = Status::DRAFT_PLACE ][, int|null $creatorId = null ])` +- `public function addDescription(string $languageCode, string $description): void` +- `public function addName(string $languageCode, string $name): void` +- `public function getCreatorId(): int|null` +- `public function getCriterion(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` +- `public function getDescription(string $languageCode): string` +- `public function getDescriptions(): array` +- `public function getIdentifier(): string` +- `public function getName(string $languageCode): string` +- `public function getNames(): array` +- `public function getStatus(): string` +- `public function setCreatorId(int $creatorId): void` +- `public function setCriterion(\Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface $criterion): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogDeleteTranslationStruct + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, string $languageCode)` +- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` +- `public function getLanguageCode(): string` + +## Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogListInterface extends IteratorAggregate + +- `public function getCatalogs(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(int $id[, string|null $transition = null ][, string|null $identifier = null ][, CriterionInterface|null $criterion = null ][, array $names = [] ][, array $descriptions = [] ])` +- `public function addDescription(string $languageCode, string $description): void` +- `public function addName(string $languageCode, string $name): void` +- `public function getCriterion(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface|null` +- `public function getDescription(string $languageCode): string` +- `public function getDescriptions(): array` +- `public function getId(): int` +- `public function getIdentifier(): string|null` +- `public function getName(string $languageCode): string` +- `public function getNames(): array` +- `public function getStatus(): string` +- `public function getTransition(): string|null` +- `public function setCriterion(CriterionInterface|null $criterion): void` +- `public function setStatus(string $status): void` +- `public function setTransition(string|null $transition): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\Catalog\Query\Criterion\CatalogIdentifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\Catalog\Query\Criterion\CatalogName extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\Catalog\Query\Criterion\CatalogStatus extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\Catalog\Query\SortClause extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause + +- `public function getDirection(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\Common\Percent implements Stringable + +- `public function __toString(): string` +- `public function equals(\Ibexa\Contracts\ProductCatalog\Values\Common\Percent $percent[, float $epsilon = self::DEFAULT_EPSILON ]): bool` +- `public function fraction(float $a, float $b): \Ibexa\Contracts\ProductCatalog\Values\Common\Percent` +- `public function getValue(): float` +- `public function getValueAsFloat(): float` +- `public function static hundred(): self` +- `public function static zero(): self` + +## Ibexa\Contracts\ProductCatalog\Values\Common\Query\AbstractCriterionQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\ProductCatalog\Values\Common\Query\AbstractSortClause extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause + +- `public function getDirection(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\Common\Query\CriterionMapperInterface extends Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapperInterface + +- `public function canHandle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion): bool` +- `public function handle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion, \Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapper $mapper): \Doctrine\Common\Collections\Expr\Expression` + +## Ibexa\Contracts\ProductCatalog\Values\Common\Query\SortClause\FieldValueSortClause extends Ibexa\Contracts\ProductCatalog\Values\Common\Query\AbstractSortClause + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\Common\Query\SortDirection extends Ibexa\Contracts\CoreSearch\Values\Query\SortDirection + +- `public const mixed ASC = 'ascending'` +- `public const mixed DESC = 'descending'` + +## Ibexa\Contracts\ProductCatalog\Values\ContentAwareProductInterface extends Ibexa\Contracts\ProductCatalog\Values\ProductInterface + +- `public function getAssets(): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` +- `public function getAttributes(): array` +- `public function getCode(): string` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getName(): string` +- `public function getProductType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` +- `public function getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` +- `public function getUpdatedAt(): \DateTimeInterface` +- `public function isBaseProduct(): bool` +- `public function isVariant(): bool` + +## Ibexa\Contracts\ProductCatalog\Values\ContentTypeAwareProductTypeInterface extends Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface + +- `public function getAttributesDefinitions(): array` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function getVatCategory(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): \Ibexa\Contracts\ProductCatalog\Values\VatCategoryInterface|null` +- `public function isVirtual(): bool` + +## Ibexa\Contracts\ProductCatalog\Values\Content\Query\Criterion\CustomerGroupId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\ProductCatalog\Values\Content\Query\Criterion\IsProductBased extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\ProductCatalog\Values\Content\Query\Criterion\ProductCriterionAdapter extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function getProductCriterion(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` +- `public function getSpecifications(): array` + +## Ibexa\Contracts\ProductCatalog\Values\Content\Query\SortClause\ProductSortClauseAdapter extends Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause + +- `public function getSortClause(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause` + +## Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface + +- `public function getCode(): string` +- `public function getId(): int` +- `public function getSubUnits(): int` +- `public function isEnabled(): bool` + +## Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct + +- `public function __construct(string $code, int $subunits, bool $enabled)` +- `public function getCode(): string` +- `public function getSubunits(): int` +- `public function isEnabled(): bool` + +## Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyListInterface extends IteratorAggregate + +- `public function getCurrencies(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct + +- `public function getCode(): string|null` +- `public function getEnabled(): bool|null` +- `public function getSubunits(): int|null` +- `public function setCode(string|null $code): void` +- `public function setEnabled(bool|null $enabled): void` +- `public function setSubunits(int|null $subunits): void` + +## Ibexa\Contracts\ProductCatalog\Values\Currency\Query\Criterion\CurrencyCodeCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\Currency\Query\Criterion\IsCurrencyEnabledCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\Currency\Query\SortClause\CurrencyCode extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\CustomPriceAwareInterface extends Ibexa\Contracts\ProductCatalog\Values\PriceInterface + +- `public function __toString(): string` +- `public function getAmount(): numeric-string` +- `public function getBaseAmount(): numeric-string` +- `public function getBaseMoney(): \Money\Money` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getCustomPrice(): \Money\Money|null` +- `public function getCustomPriceAmount(): numeric-string|null` +- `public function getCustomPriceRule(): numeric-string|null` +- `public function getId(): int` +- `public function getMoney(): \Money\Money` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` + +## Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface + +- `public function getDescription(): string` +- `public function getGlobalPriceRate(): numeric-string` +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getName(): string` + +## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\AssignedItem extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\AssignedItemInterface + +- `public function __construct([array $properties = [] ])` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function addDescription(int $languageId, string $description): void` +- `public function addName(int $languageId, string $name): void` +- `public function getDescription(int $languageId): string` +- `public function getDescriptions(): array` +- `public function getGlobalPriceRate(): numeric-string` +- `public function getIdentifier(): string` +- `public function getName(int $languageId): string` +- `public function getNames(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupDeleteTranslationStruct + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup, string $languageCode)` +- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` +- `public function getLanguageCode(): string` + +## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupListInterface extends IteratorAggregate + +- `public function getCustomerGroups(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(int $id[, string|null $identifier = null ][, array $names = [] ][, array $descriptions = [] ][, numeric-string|null $globalPriceRate = null ])` +- `public function addDescription(int $languageId, string $description): void` +- `public function addName(int $languageId, string $name): void` +- `public function getDescription(int $languageId): string` +- `public function getDescriptions(): array` +- `public function getGlobalPriceRate(): numeric-string|null` +- `public function getId(): int` +- `public function getIdentifier(): string|null` +- `public function getName(int $languageId): string` +- `public function getNames(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\Query\Criterion\CustomerGroupIdentifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\Query\Criterion\CustomerGroupName extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\Query\SortClause extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause + +- `public function getDirection(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\LanguageSettings + +- `public function __construct([array $languages = Language::ALL ][, bool $useAlwaysAvailable = true ])` +- `public function getLanguages(): array` +- `public function getUseAlwaysAvailable(): bool` + +## Ibexa\Contracts\ProductCatalog\Values\PriceAwareInterface + +- `public function getPrice([PriceContextInterface|null $context = null ]): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface|null` + +## Ibexa\Contracts\ProductCatalog\Values\PriceInterface + +- `public function __toString(): string` +- `public function getAmount(): numeric-string` +- `public function getBaseAmount(): numeric-string` +- `public function getBaseMoney(): \Money\Money` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getId(): int` +- `public function getMoney(): \Money\Money` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\AbstractPriceCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Money\Money $money[, Money|null $customPriceMoney = null ][, numeric-string|null $customPriceRule = null ])` +- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` +- `public function getAmount(): numeric-string` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getCustomPrice(): \Money\Money|null` +- `public function getCustomPriceRule(): numeric-string|null` +- `public function getMoney(): \Money\Money` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\CustomerGroupPriceCreateStruct extends Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\AbstractPriceCreateStruct + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Money\Money $money, Money|null $customPriceMoney, numeric-string|null $customPriceRule)` +- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` +- `public function getAmount(): numeric-string` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` +- `public function getCustomerGroupId(): int` +- `public function getCustomPrice(): \Money\Money|null` +- `public function getCustomPriceRule(): numeric-string|null` +- `public function static getDiscriminator(): string` +- `public function getMoney(): \Money\Money` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStruct extends Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\AbstractPriceCreateStruct + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Money\Money $money[, Money|null $customPriceMoney = null ][, numeric-string|null $customPriceRule = null ])` +- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` +- `public function getAmount(): numeric-string` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getCustomPrice(): \Money\Money|null` +- `public function getCustomPriceRule(): numeric-string|null` +- `public function static getDiscriminator(): string` +- `public function getMoney(): \Money\Money` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface extends Ibexa\Contracts\ProductCatalog\Values\Price\ProductPriceStructInterface + +- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` +- `public function getAmount(): numeric-string` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getCustomPrice(): \Money\Money|null` +- `public function getCustomPriceRule(): numeric-string|null` +- `public function static getDiscriminator(): string` +- `public function getMoney(): \Money\Money` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price)` +- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` +- `public function getId(): int` +- `public function getPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface extends Ibexa\Contracts\ProductCatalog\Values\Price\ProductPriceStructInterface + +- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` +- `public function getId(): int` +- `public function getPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Price\PriceContext implements Ibexa\Contracts\ProductCatalog\Values\Price\PriceContextInterface + +- `public function __construct([CurrencyInterface|null $currency = null ][, CustomerGroupInterface|null $customerGroup = null ])` +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` +- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` +- `public function setCurrency(CurrencyInterface|null $currency): void` +- `public function setCustomerGroup(CustomerGroupInterface|null $customerGroup): void` + +## Ibexa\Contracts\ProductCatalog\Values\Price\PriceContextInterface + +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` +- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` +- `public function setCurrency(CurrencyInterface|null $currency): void` +- `public function setCustomerGroup(CustomerGroupInterface|null $customerGroup): void` + +## Ibexa\Contracts\ProductCatalog\Values\Price\PriceEnvelopeInterface + +- `public function all([">TStamp>|null $stampFqcn = null ]): array|array>` +- `public function last(">TStamp> $stampFqcn): \Ibexa\Contracts\ProductCatalog\Values\Price\PriceStampInterface|null` +- `public function with(PriceStampInterface ...$stamps): static` +- `public function withoutAll(string $stampFqcn): static` +- `public function withoutStampsOfType(string $type): static` + +## Ibexa\Contracts\ProductCatalog\Values\Price\PriceListInterface extends IteratorAggregate + +- `public function getPrices(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\ProductCatalog\Values\Price\PriceQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\ProductCatalog\Values\Price\PriceStampInterface extends Ibexa\Contracts\ProductCatalog\Values\StampInterface + +- `public function getNewPrice(): \Money\Money` +- `public function getOriginalPrice(): \Money\Money` + +## Ibexa\Contracts\ProductCatalog\Values\Price\ProductPriceStructInterface + +- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\Currency extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\CustomerGroup extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\IsBasePrice extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\IsCustomPrice extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\Product extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price[, Money|null $money = null ][, Money|null $customPriceMoney = null ][, string|null $customPriceRule = null ])` +- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` +- `public function getCustomPriceMoney(): \Money\Money|null` +- `public function getCustomPriceRule(): string|null` +- `public function getId(): int` +- `public function getMoney(): \Money\Money|null` +- `public function getPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface extends Ibexa\Contracts\ProductCatalog\Values\Price\ProductPriceStructInterface + +- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` +- `public function getCustomPriceMoney(): \Money\Money|null` +- `public function getCustomPriceRule(): string|null` +- `public function getId(): int` +- `public function getMoney(): \Money\Money|null` +- `public function getPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` +- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` + +## Ibexa\Contracts\ProductCatalog\Values\ProductInterface + +- `public function getAssets(): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` +- `public function getAttributes(): array` +- `public function getCode(): string` +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getName(): string` +- `public function getProductType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` +- `public function getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` +- `public function getUpdatedAt(): \DateTimeInterface` +- `public function isBaseProduct(): bool` +- `public function isVariant(): bool` + +## Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface + +- `public function getAttributesDefinitions(): array` +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function getVatCategory(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): \Ibexa\Contracts\ProductCatalog\Values\VatCategoryInterface|null` +- `public function isVirtual(): bool` + +## Ibexa\Contracts\ProductCatalog\Values\ProductType\ProductTypeListInterface extends IteratorAggregate + +- `public function getProductTypes(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\ProductCatalog\Values\ProductType\ProductTypeQuery implements Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface + +- `public function getLimit(): int` +- `public function getNamePrefix(): string|null` +- `public function getOffset(): int` +- `public function setLimit(int $limit): void` +- `public function setNamePrefix(string|null $namePrefix): void` +- `public function setOffset(int $offset): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface extends Ibexa\Contracts\ProductCatalog\Values\ProductInterface + +- `public function getAssets(): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` +- `public function getAttributes(): array` +- `public function getBaseProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` +- `public function getCode(): string` +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getDiscriminatorAttributes(): array` +- `public function getName(): string` +- `public function getProductType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` +- `public function getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` +- `public function getUpdatedAt(): \DateTimeInterface` +- `public function isBaseProduct(): bool` +- `public function isVariant(): bool` + +## Ibexa\Contracts\ProductCatalog\Values\ProductVariantsAwareInterface + +- `public function getVariantsList([ProductVariantQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductVariantListInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Product\ProductListInterface extends IteratorAggregate + +- `public function getAggregations(): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResultCollection|null` +- `public function getProducts(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\ProductCatalog\Values\Product\ProductList\AggregationResult\PriceStatsAggregationResult extends Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult + +- `public function getAvg(): \Money\Money|null` +- `public function getCount(): int|null` +- `public function getMax(): \Money\Money|null` +- `public function getMin(): \Money\Money|null` +- `public function getName(): string` +- `public function getSum(): \Money\Money|null` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery implements Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface + +- `public function getAggregations(): array` +- `public function getFilter(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface|null` +- `public function getLimit(): int` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasFilter(): bool` +- `public function hasQuery(): bool` +- `public function setAggregations(array $aggregations): void` +- `public function setFilter(CriterionInterface|null $filter): void` +- `public function setLimit(int $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $query): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` +- `public const mixed SORT_ASC = 'ascending'` +- `public const mixed SORT_DESC = 'descending'` + +## Ibexa\Contracts\ProductCatalog\Values\Product\ProductVariantListInterface extends IteratorAggregate + +- `public function getTotalCount(): int` +- `public function getVariants(): array` + +## Ibexa\Contracts\ProductCatalog\Values\Product\ProductVariantQuery implements Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface + +- `public function getAttributesCriterion(): \Ibexa\Contracts\ProductCatalog\Values\Content\Query\Criterion\ProductCriterionAdapter|null` +- `public function getLimit(): int` +- `public function getOffset(): int` +- `public function getVariantCodes(): array|null` +- `public function setAttributesCriterion(ProductCriterionAdapter|null $criterion): void` +- `public function setLimit(int $limit): void` +- `public function setOffset(int $offset): void` +- `public function setVariantCodes(array|null $variantCodes): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractAttributeTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationInterface + +- `public function getAttributeDefinitionIdentifier(): string` +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractPriceStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation + +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getName(): string` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationInterface + +- `public function getAttributeDefinitionIdentifier(): string` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationTrait + +- `public function getAttributeDefinitionIdentifier(): string` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeBooleanTermAggregation extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractAttributeTermAggregation + +- `public function getAttributeDefinitionIdentifier(): string` +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeColorTermAggregation extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractAttributeTermAggregation + +- `public function getAttributeDefinitionIdentifier(): string` +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeFloatRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationInterface + +- `public function getAttributeDefinitionIdentifier(): string` +- `public function getName(): string` +- `public function getRanges(): array` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeFloatStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationInterface + +- `public function getAttributeDefinitionIdentifier(): string` +- `public function getName(): string` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeIntegerRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationInterface + +- `public function getAttributeDefinitionIdentifier(): string` +- `public function getName(): string` +- `public function getRanges(): array` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeIntegerStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationInterface + +- `public function getAttributeDefinitionIdentifier(): string` +- `public function getName(): string` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeSelectionTermAggregation extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractAttributeTermAggregation + +- `public function getAttributeDefinitionIdentifier(): string` +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\BasePriceStatsAggregation extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractPriceStatsAggregation + +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getName(): string` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\CustomPriceStatsAggregation extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractPriceStatsAggregation + +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` +- `public function getName(): string` +- `public function setCustomerGroup(CustomerGroupInterface|null $customerGroup): void` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\ProductAvailabilityTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation + +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\ProductPriceRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation + +- `public function getCurrencyCode(): string` +- `public function getName(): string` +- `public function getRanges(): array` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\ProductStockRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation + +- `public function getName(): string` +- `public function getRanges(): array` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\ProductTypeTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation + +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilderRegistry implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilderRegistryInterface + +- `public function __construct(\Psr\Container\ContainerInterface $builders)` +- `public function getBuilder(string $discriminator): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface` +- `public function hasBuilder(string $discriminator): bool` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilderRegistryInterface + +- `public function getBuilder(string $discriminator): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface` +- `public function hasBuilder(string $discriminator): bool` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface + +- `public function createCriterion(string $identifier, mixed $value): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\CheckboxBuilder implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface + +- `public function createCriterion(string $identifier, mixed $value): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\ColorBuilder implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface + +- `public function createCriterion(string $identifier, mixed $value): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\FloatBuilder implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface + +- `public function createCriterion(string $identifier, mixed $value): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\IntegerBuilder implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface + +- `public function createCriterion(string $identifier, mixed $value): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\SelectionBuilder implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface + +- `public function createCriterion(string $identifier, mixed $value): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct(string $identifier)` +- `public function getIdentifier(): string` +- `public function getOperator(): string` +- `public function abstract getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` +- `public function setOperator(string $operator): void` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceCriterion implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function getCurrency(): \Money\Currency` +- `public function getOperator(): string` +- `public function getValue(): \Money\Money` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion + +- `public function __construct([Money|null $min = null ][, Money|null $max = null ])` +- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` +- `public function getMax(): \Money\Money|null` +- `public function getMin(): \Money\Money|null` +- `protected function abstract createPriceCriterion(\Money\Money $value, string $operator): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceCriterion` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\BasePrice extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceCriterion + +- `public function getCurrency(): \Money\Currency` +- `public function getOperator(): string` +- `public function getValue(): \Money\Money` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\BasePriceRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceRange + +- `public function __construct([Money|null $min = null ][, Money|null $max = null ])` +- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` +- `public function getMax(): \Money\Money|null` +- `public function getMin(): \Money\Money|null` +- `protected function createPriceCriterion(\Money\Money $value, string $operator): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\BasePrice` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CheckboxAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute + +- `public function __construct(string $identifier, bool|null $value)` +- `public function getIdentifier(): string` +- `public function getOperator(): string` +- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` +- `public function setOperator(string $operator): void` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ColorAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute + +- `public function __construct(string $identifier, array|null $value)` +- `public function getIdentifier(): string` +- `public function getOperator(): string` +- `public function getValue(): array|null` +- `public function setOperator(string $operator): void` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface $criteria)` +- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CreatedAt implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct(\DateTimeInterface $createdAt[, string $operator = Operator::EQ ])` +- `public function getOperator(): string` +- `public function getValue(): \DateTimeInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CreatedAtRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion + +- `public function __construct([DateTimeInterface|null $min = null ][, DateTimeInterface|null $max = null ])` +- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` +- `public function getMax(): \DateTimeInterface|null` +- `public function getMin(): \DateTimeInterface|null` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CustomPrice extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceCriterion + +- `public function getCurrency(): \Money\Currency` +- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` +- `public function getOperator(): string` +- `public function getValue(): \Money\Money` +- `public function setCustomerGroup(CustomerGroupInterface|null $customerGroup): void` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CustomPriceRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceRange + +- `public function __construct([Money|null $min = null ][, Money|null $max = null ][, CustomerGroupInterface|null $customerGroup = null ])` +- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` +- `public function getMax(): \Money\Money|null` +- `public function getMin(): \Money\Money|null` +- `protected function createPriceCriterion(\Money\Money $value, string $operator): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CustomPrice` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\FloatAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute + +- `public function __construct(string $identifier, float|null $value)` +- `public function getIdentifier(): string` +- `public function getOperator(): string` +- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` +- `public function setOperator(string $operator): void` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\FloatAttributeRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion + +- `public function __construct(string $identifier[, float|null $min = null ][, float|null $max = null ])` +- `public function getIdentifier(): string` +- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` +- `public function getMax(): float|null` +- `public function getMin(): float|null` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\IntegerAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute + +- `public function __construct(string $identifier, int|null $value)` +- `public function getIdentifier(): string` +- `public function getOperator(): string` +- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` +- `public function setOperator(string $operator): void` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\IntegerAttributeRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion + +- `public function __construct(string $identifier[, int|null $min = null ][, int|null $max = null ])` +- `public function getIdentifier(): string` +- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` +- `public function getMax(): int|null` +- `public function getMin(): int|null` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\IsVirtual implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct([bool $isVirtual = true ])` +- `public function isVirtual(): bool` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\LogicalAnd implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct(array $criteria)` +- `public function getCriteria(): array` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\LogicalNot implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface $criterion)` +- `public function getCriterion(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\LogicalOr implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct(array $criteria)` +- `public function getCriteria(): array` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\Operator + +- `public const mixed EQ = '='` +- `public const mixed GT = '>'` +- `public const mixed GTE = '>='` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductAvailability implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct([bool $available = true ])` +- `public function isAvailable(): bool` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductCategory implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct(array $taxonomyEntries)` +- `public function getTaxonomyEntries(): array` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductCategorySubtree implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct(int $taxonomyEntryId)` +- `public function getTaxonomyEntryId(): int` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductCode implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct(array $codes)` +- `public function getCodes(): array` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductName implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct(string $name)` +- `public function getName(): string` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductStock implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct(int|null $value[, string $operator = FieldValueCriterion::COMPARISON_EQ ])` +- `public function getOperator(): string` +- `public function getValue(): int|null` +- `public function setOperator(string $operator): void` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductStockRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion + +- `public function __construct([int|null $min = null ][, int|null $max = null ])` +- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` +- `public function getMax(): int|null` +- `public function getMin(): int|null` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductType implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct(array $types)` +- `public function getTypes(): array` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\SelectionAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute + +- `public function __construct(string $identifier, array|null $value)` +- `public function getIdentifier(): string` +- `public function getOperator(): string` +- `public function getValue(): array|null` +- `public function setOperator(string $operator): void` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\UpdatedAt implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface + +- `public function __construct(\DateTimeInterface $date[, string $operator = Operator::EQ ])` +- `public function getOperator(): string` +- `public function getValue(): \DateTimeInterface` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\UpdatedAtRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion + +- `public function __construct([DateTimeInterface|null $min = null ][, DateTimeInterface|null $max = null ])` +- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` +- `public function getMax(): \DateTimeInterface|null` +- `public function getMin(): \DateTimeInterface|null` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause extends Ibexa\Contracts\ProductCatalog\Values\Common\Query\AbstractSortClause + +- `public function getDirection(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\BasePrice extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause + +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getDirection(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\CreatedAt extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause + +- `public function getDirection(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\CustomPrice extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause + +- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` +- `public function getDirection(): string` +- `public function setCustomerGroup(CustomerGroupInterface|null $customerGroup): void` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\ProductAvailability extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause + +- `public function getDirection(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\ProductCode extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause + +- `public function getDirection(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\ProductName extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause + +- `public function getDirection(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\ProductStock extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause + +- `public function getDirection(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\ProductCatalog\Values\RegionInterface + +- `public function getIdentifier(): string` + +## Ibexa\Contracts\ProductCatalog\Values\Region\Query\Criterion\RegionIdentifierCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\ProductCatalog\Values\Region\RegionListInterface extends IteratorAggregate + +- `public function getRegions(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\ProductCatalog\Values\Region\RegionQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\ProductCatalog\Values\TranslatableInterface + +- `public function getLanguages(): array` + +## Ibexa\Contracts\ProductCatalog\Values\VatCategoryInterface + +- `public function getIdentifier(): string` +- `public function getRegion(): string` +- `public function getVatValue(): float|null` + +## Ibexa\Contracts\ProductCatalog\Values\VatCategory\VatCategoryListInterface extends IteratorAggregate + +- `public function getTotalCount(): int` +- `public function getVatCategories(): array` + +## Ibexa\Contracts\ProductCatalog\VatCalculatorInterface + +- `public function calculate(\Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price, \Ibexa\Contracts\ProductCatalog\Values\VatCategoryInterface $vatCategory): \Money\Money` + +## Ibexa\Contracts\ProductCatalog\VatServiceInterface + +- `public function getVatCategories(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): \Ibexa\Contracts\ProductCatalog\Values\VatCategory\VatCategoryListInterface` +- `public function getVatCategoryByIdentifier(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region, string $identifier): \Ibexa\Contracts\ProductCatalog\Values\VatCategoryInterface` + +## Ibexa\Contracts\Rector\Factory\IbexaRectorConfigFactory implements Ibexa\Contracts\Rector\Factory\IbexaRectorConfigFactoryInterface + +- `public function __construct(array $pathsToProcess[, array $extraSets = [] ])` +- `public function createConfig(): \Rector\Configuration\RectorConfigBuilder` + +## Ibexa\Contracts\Rector\Factory\IbexaRectorConfigFactoryInterface + +- `public function createConfig(): \Rector\Configuration\RectorConfigBuilder` + +## Ibexa\Contracts\Rest\Event\BeforeParseEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(array $data, string $mediaType)` +- `public function getData(): array` +- `public function getMediaType(): string` +- `public function getValueObject(): mixed` +- `public function hasValueObject(): bool` +- `public function isPropagationStopped(): bool` +- `public function setData(array $data): void` +- `public function setMediaType(string $mediaType): void` +- `public function setValueObject(mixed $valueObject): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Rest\Event\ParseEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(mixed $valueObject, array $data, string $mediaType)` +- `public function getData(): array` +- `public function getMediaType(): string` +- `public function getValueObject(): mixed` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Rest\Exceptions\UnauthorizedException extends Ibexa\Contracts\Core\Repository\Exceptions\UnauthorizedException + +- `public function __construct([string $message = '' ][, int $code = 401 ][, Throwable|null $previous = null ])` + +## Ibexa\Contracts\Rest\FieldTypeProcessor + +- `public function postProcessFieldSettingsHash(mixed $outgoingSettingsHash): mixed` +- `public function postProcessValidatorConfigurationHash(mixed $outgoingValidatorConfigurationHash): mixed` +- `public function postProcessValueHash(mixed $outgoingValueHash): mixed` +- `public function preProcessFieldSettingsHash(mixed $incomingSettingsHash): mixed` +- `public function preProcessValidatorConfigurationHash(mixed $incomingValidatorConfigurationHash): mixed` +- `public function preProcessValueHash(mixed $incomingValueHash): mixed` + +## Ibexa\Contracts\Rest\Input\Handler + +- `public function abstract convert(string $string): array|string|int|bool|float|null` + +## Ibexa\Contracts\Rest\Input\MediaTypeParser implements Ibexa\Contracts\Rest\Input\MediaTypeParserInterface + +- `public function parseContentTypeHeader(string $header): string|null` + +## Ibexa\Contracts\Rest\Input\MediaTypeParserInterface + +- `public function parseContentTypeHeader(string $header): string|null` + +## Ibexa\Contracts\Rest\Input\Parser + +- `public function abstract parse(array $data, \Ibexa\Contracts\Rest\Input\ParsingDispatcher $parsingDispatcher): mixed` + +## Ibexa\Contracts\Rest\Input\ParsingDispatcher + +- `public function addParser(string $mediaType, \Ibexa\Contracts\Rest\Input\Parser $parser): void` +- `public function parse(array $data, string $mediaType): mixed` +- `protected function internalParse(array $data, string $mediaType): mixed` +- `protected function parseMediaTypeVersion(string $mediaType): array{: string, : string}` + +## Ibexa\Contracts\Rest\Output\Exceptions\AbstractExceptionVisitor extends Ibexa\Contracts\Rest\Output\ValueObjectVisitor + +- `public function setTemplateRouter(\Symfony\Component\Routing\RouterInterface $templateRouter): void` +- `public function setUriParser(\Ibexa\Contracts\Rest\UriParser\UriParserInterface $uriParser): void` +- `public function visit(\Ibexa\Contracts\Rest\Output\Visitor $visitor, \Ibexa\Contracts\Rest\Output\Generator $generator, \Exception $data): void` +- `protected function canDisplayExceptionMessage(): bool` +- `protected function canDisplayExceptionTrace(): bool` +- `protected function canDisplayPreviousException(): bool` +- `protected function generateErrorCode(\Ibexa\Contracts\Rest\Output\Generator $generator, \Ibexa\Contracts\Rest\Output\Visitor $visitor, \Exception $e): int` +- `protected function getErrorDescription(\Exception $data, int $statusCode): string` +- `protected function getErrorMessage(\Exception $data, int $statusCode): string` +- `protected function getStatus(): int` +- `protected function getTranslator(): \Symfony\Contracts\Translation\TranslatorInterface|null` +- `protected function serializeBool(\Ibexa\Contracts\Rest\Output\Generator $generator, bool|null $boolValue): string|bool` +- `protected function serializeSortField(int $sortField): string` +- `protected function serializeSortOrder(int $sortOrder): string` +- `protected function visitDescriptionsList(\Ibexa\Contracts\Rest\Output\Generator $generator, array $descriptions): void` +- `protected function visitLimitation(\Ibexa\Contracts\Rest\Output\Generator $generator, \Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitation): void` +- `protected function visitNamesList(\Ibexa\Contracts\Rest\Output\Generator $generator, array $names): void` +- `protected function visitTranslatedList(\Ibexa\Contracts\Rest\Output\Generator $generator, array $translatedElements, string $listName): void` + +## Ibexa\Contracts\Rest\Output\Exceptions\InvalidTypeException extends RuntimeException + +- `public function __construct(mixed $data)` + +## Ibexa\Contracts\Rest\Output\Exceptions\NoVisitorFoundException extends RuntimeException + +- `public function __construct(array $classes)` + +## Ibexa\Contracts\Rest\Output\Exceptions\OutputGeneratorException extends RuntimeException + +- `public function __construct(string $message)` + +## Ibexa\Contracts\Rest\Output\Generator + +- `public function attribute(string $name, mixed $value): void` +- `public function endAttribute(string $name): void` +- `public function abstract endDocument(mixed $data): string` +- `public function endHashElement(string $name): void` +- `public function endList(string $name): void` +- `public function endObjectElement(string|int $name): void` +- `public function endValueElement(string $name): void` +- `public function generateFieldTypeHash(string $hashElementName, mixed $hashValue): void` +- `public function abstract getEncoderContext(array $data): array` +- `public function abstract getMediaType(string $name): string` +- `public function isEmpty(): bool` +- `public function reset(): void` +- `public function abstract serializeBool(bool|string|null $boolValue): bool|string` +- `public function setFormatOutput(bool $formatOutput): void` +- `public function abstract startAttribute(string $name, mixed $value): void` +- `public function startDocument(mixed $data): void` +- `public function startHashElement(string $name): void` +- `public function abstract startList(string $name): void` +- `public function startObjectElement(string|int $name[, string|null $mediaTypeName = null ]): void` +- `public function abstract startValueElement(string $name, mixed $value[, array $attributes = [] ]): void` +- `public function valueElement(string $name, mixed $value): void` +- `protected function checkEnd(string $type, mixed $data): void` +- `protected function checkEndAttribute(mixed $data): void` +- `protected function checkEndDocument(mixed $data): void` +- `protected function checkEndHashElement(mixed $data): void` +- `protected function checkEndList(mixed $data): void` +- `protected function checkEndObjectElement(mixed $data): void` +- `protected function checkEndValueElement(mixed $data): void` +- `protected function checkStack(mixed $data): void` +- `protected function checkStart(string $type, mixed $data, array $validParents): void` +- `protected function checkStartAttribute(mixed $data): void` +- `protected function checkStartDocument(mixed $data): void` +- `protected function checkStartHashElement(mixed $data): void` +- `protected function checkStartList(mixed $data): void` +- `protected function checkStartObjectElement(mixed $data): void` +- `protected function checkStartValueElement(mixed $data): void` +- `protected function generateMediaTypeWithVendor(string $name, string $type[, string $vendor = 'vnd.ibexa.api' ]): string` +- `protected function abstract getData(): \Ibexa\Rest\Output\Generator\Data\DataObjectInterface` +- `protected function getVendor(): string` +- `protected const mixed NULL_PARENT_ELEMENT_EXCEPTION_MESSAGE = 'Parent element at %s cannot be `null`.'` + +## Ibexa\Contracts\Rest\Output\ValueObjectVisitor + +- `public function setTemplateRouter(\Symfony\Component\Routing\RouterInterface $templateRouter): void` +- `public function setUriParser(\Ibexa\Contracts\Rest\UriParser\UriParserInterface $uriParser): void` +- `public function abstract visit(\Ibexa\Contracts\Rest\Output\Visitor $visitor, \Ibexa\Contracts\Rest\Output\Generator $generator, mixed $data): mixed` +- `protected function serializeBool(\Ibexa\Contracts\Rest\Output\Generator $generator, bool|null $boolValue): string|bool` +- `protected function serializeSortField(int $sortField): string` +- `protected function serializeSortOrder(int $sortOrder): string` +- `protected function visitDescriptionsList(\Ibexa\Contracts\Rest\Output\Generator $generator, array $descriptions): void` +- `protected function visitLimitation(\Ibexa\Contracts\Rest\Output\Generator $generator, \Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitation): void` +- `protected function visitNamesList(\Ibexa\Contracts\Rest\Output\Generator $generator, array $names): void` +- `protected function visitTranslatedList(\Ibexa\Contracts\Rest\Output\Generator $generator, array $translatedElements, string $listName): void` + +## Ibexa\Contracts\Rest\Output\ValueObjectVisitorResolver implements Ibexa\Contracts\Rest\Output\ValueObjectVisitorResolverInterface + +- `public function addVisitor(class-string $visitedClassName, \Ibexa\Contracts\Rest\Output\ValueObjectVisitor $visitor): void` +- `public function resolveValueObjectVisitor(object $object): \Ibexa\Contracts\Rest\Output\ValueObjectVisitor|null` + +## Ibexa\Contracts\Rest\Output\ValueObjectVisitorResolverInterface + +- `public function resolveValueObjectVisitor(object $object): \Ibexa\Contracts\Rest\Output\ValueObjectVisitor|null` + +## Ibexa\Contracts\Rest\Output\Visitor + +- `public function getGenerator(): \Ibexa\Contracts\Rest\Output\Generator` +- `public function getMediaType(string $type): string` +- `public function getResponse(): \Symfony\Component\HttpFoundation\Response` +- `public function setHeader(string $name, mixed $value): void` +- `public function setStatus(int $statusCode): void` +- `public function visit(mixed $data): \Symfony\Component\HttpFoundation\Response` +- `public function visitValueObject(mixed $data): void` + +## Ibexa\Contracts\Rest\Output\VisitorAdapterNormalizer implements Symfony\Component\Serializer\Normalizer\NormalizerInterface, Symfony\Component\Serializer\Normalizer\NormalizerAwareInterface + +- `public function getSupportedTypes(string|null $format): array` +- `public function normalize(mixed $object[, string|null $format = null ][, array $context = [] ]): array|bool|string|int|float|null|ArrayObject` +- `public function supportsNormalization(mixed $data[, string|null $format = null ][, array $context = [] ]): bool` +- `public const mixed ENCODER_CONTEXT = 'ENCODER_CONTEXT'` + +## Ibexa\Contracts\Rest\UriParser\UriParserInterface + +- `public function getAttributeFromUri(string $uri, string $attribute[, string $method = 'GET' ]): string` +- `public function hasRestPrefix(string $uri): bool` +- `public function isRestRequest(\Symfony\Component\HttpFoundation\Request $request): bool` + +## Ibexa\Contracts\Scheduler\Repository\DateBasedEntriesListInterface + +- `public function countScheduledEntries(): int` +- `public function countScheduledEntriesInDateRange(\DateTimeInterface $start, \DateTimeInterface $end[, array $languages = [] ][, int|null $sinceId = null ]): int` +- `public function countScheduledEntriesToProcess(): int` +- `public function getScheduledEntriesByIds(array $scheduledEntriesIds): iterable` +- `public function getScheduledEntriesInDateRange(\DateTimeInterface $start, \DateTimeInterface $end[, array $languages = [] ][, int|null $sinceId = null ][, int $limit = 25 ]): array` +- `public function getScheduledEntriesToProcess([int $limit = 25 ]): iterable` + +## Ibexa\Contracts\Scheduler\Repository\DateBasedHideServiceInterface extends Ibexa\Contracts\Scheduler\Repository\DateBasedEntriesListInterface + +- `public function countScheduledEntries(): int` +- `public function countScheduledEntriesInDateRange(\DateTimeInterface $start, \DateTimeInterface $end[, array $languages = [] ][, int|null $sinceId = null ]): int` +- `public function countScheduledEntriesToProcess(): int` +- `public function getScheduledEntriesByIds(array $scheduledEntriesIds): iterable` +- `public function getScheduledEntriesInDateRange(\DateTimeInterface $start, \DateTimeInterface $end[, array $languages = [] ][, int|null $sinceId = null ][, int $limit = 25 ]): array` +- `public function getScheduledEntriesToProcess([int $limit = 25 ]): iterable` +- `public function getScheduledHide(int $contentId): \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry` +- `public function isScheduledHide(int $contentId): bool` +- `public function scheduleHide(int $contentId, \DateTimeInterface $when): \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry` +- `public function unscheduleHide(int $contentId): bool` +- `public function updateScheduledHide(\Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry $scheduledEntry, \DateTimeInterface $when): \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry` + +## Ibexa\Contracts\Scheduler\Repository\DateBasedPublishServiceInterface extends Ibexa\Contracts\Scheduler\Repository\DateBasedEntriesListInterface + +- `public function countScheduledEntries(): int` +- `public function countScheduledEntriesInDateRange(\DateTimeInterface $start, \DateTimeInterface $end[, array $languages = [] ][, int|null $sinceId = null ]): int` +- `public function countScheduledEntriesToProcess(): int` +- `public function countUserScheduledVersions(): int` +- `public function countVersionsEntriesForContent(int $contentId): int` +- `public function getScheduledEntriesByIds(array $scheduledEntriesIds): iterable` +- `public function getScheduledEntriesInDateRange(\DateTimeInterface $start, \DateTimeInterface $end[, array $languages = [] ][, int|null $sinceId = null ][, int $limit = 25 ]): array` +- `public function getScheduledEntriesToProcess([int $limit = 25 ]): iterable` +- `public function getScheduledPublish(int $versionId): \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry` +- `public function getScheduledVersions([int $page = 0 ][, int $limit = 25 ]): iterable` +- `public function getUserScheduledVersions(int $page, int $limit): iterable` +- `public function getVersionsEntriesForContent(int $contentId[, int $page = 0 ][, int $limit = 25 ]): iterable` +- `public function isScheduledPublish(int $versionId): bool` +- `public function schedulePublish(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \DateTimeInterface $when): \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry` +- `public function unschedulePublish(int $versionId): bool` +- `public function updateScheduledPublish(\Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry $scheduledEntry, \DateTimeInterface $when): \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry` + +## Ibexa\Contracts\Scheduler\ValueObject\NotScheduledEntry extends Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntryList extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Search\Event\BuildSuggestionCollectionEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Search\Model\SuggestionQuery $query)` +- `public function getQuery(): \Ibexa\Search\Model\SuggestionQuery` +- `public function getSuggestionCollection(): \Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Search\Event\Service\BeforeSuggestEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Search\Model\SuggestionQuery $query)` +- `public function getQuery(): \Ibexa\Search\Model\SuggestionQuery` +- `public function getSuggestionCollection(): \Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection|null` +- `public function isPropagationStopped(): bool` +- `public function setQuery(\Ibexa\Search\Model\SuggestionQuery $query): void` +- `public function setSuggestionCollection(\Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection $suggestionCollection): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Search\Event\Service\SuggestEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Search\Model\SuggestionQuery $query, \Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection $suggestionCollection)` +- `public function getQuery(): \Ibexa\Search\Model\SuggestionQuery` +- `public function getSuggestionCollection(): \Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Search\Mapper\PagerSearchDataMapper + +- `public function map(Pagerfanta> $pager): array` + +## Ibexa\Contracts\Search\Mapper\SearchHitToContentSuggestionMapperInterface + +- `public function map(\Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchHit $searchHit): \Ibexa\Contracts\Search\Model\Suggestion\ContentSuggestion|null` + +## Ibexa\Contracts\Search\Model\Suggestion\ContentSuggestion extends Ibexa\Contracts\Search\Model\Suggestion\Suggestion + +- `public function __construct(float $score, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType[, string $pathString = '' ][, array $parentLocations = [] ])` +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` +- `public function getName(): string|null` +- `public function getParentsLocation(): \Ibexa\Contracts\Search\Model\Suggestion\ParentLocationCollection` +- `public function getPathString(): string` +- `public function getScore(): float` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Search\Model\Suggestion\ParentLocationCollection extends Ibexa\Contracts\Core\Collection\MutableArrayList + +- `public function append(mixed $item): void` +- `public function clear(): void` +- `public function contains(mixed $value): bool` +- `public function count(): int` +- `public function exists(\Closure $predicate): bool` +- `public function filter(\Closure $predicate): self` +- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function forAll(\Closure $predicate): bool` +- `public function getIterator(): \Iterator` +- `public function isEmpty(): bool` +- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function map(\Closure $function): self` +- `public function prepend(mixed $value): void` +- `public function remove(mixed $value): void` +- `public function toArray(): array` +- `protected function createFrom(array $items): \Ibexa\Contracts\Core\Collection\MutableArrayList` + +## Ibexa\Contracts\Search\Model\Suggestion\Suggestion extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(float $score[, string|null $name = null ])` +- `public function getName(): string|null` +- `public function getScore(): float` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection extends Ibexa\Contracts\Core\Collection\MutableArrayList + +- `public function append(mixed $item): void` +- `public function clear(): void` +- `public function contains(mixed $value): bool` +- `public function count(): int` +- `public function decreaseTotalCount(int $totalCount): void` +- `public function exists(\Closure $predicate): bool` +- `public function filter(\Closure $predicate): self` +- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function forAll(\Closure $predicate): bool` +- `public function getIterator(): \Iterator` +- `public function getTotalCount(): int` +- `public function increaseTotalCount(int $totalCount): void` +- `public function isEmpty(): bool` +- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` +- `public function map(\Closure $function): self` +- `public function prepend(mixed $value): void` +- `public function remove(mixed $value): void` +- `public function sortByScore(): void` +- `public function toArray(): array` +- `public function truncate(int $count): void` +- `protected function createFrom(array $items): \Ibexa\Contracts\Core\Collection\MutableArrayList` + +## Ibexa\Contracts\Search\Provider\ParentLocationProviderInterface + +- `public function provide(array $parentLocationIds): array` + +## Ibexa\Contracts\Search\Service\Decorator\SuggestionServiceDecorator implements Ibexa\Contracts\Search\Service\SuggestionServiceInterface + +- `public function suggest(\Ibexa\Search\Model\SuggestionQuery $query): \Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection` + +## Ibexa\Contracts\Search\Service\SuggestionServiceInterface + +- `public function suggest(\Ibexa\Search\Model\SuggestionQuery $query): \Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection` + +## Ibexa\Contracts\Search\SortingDefinition\SortingDefinition implements Ibexa\Contracts\Search\SortingDefinition\SortingDefinitionInterface + +- `public function __construct(string $identifier, string $label, array $sortClauses[, int $priority = 0 ])` +- `public function getIdentifier(): string` +- `public function getLabel(): string` +- `public function getPriority(): int` +- `public function getSortClauses(): array` + +## Ibexa\Contracts\Search\SortingDefinition\SortingDefinitionInterface + +- `public function getIdentifier(): string` +- `public function getLabel(): string` +- `public function getPriority(): int` +- `public function getSortClauses(): array` + +## Ibexa\Contracts\Search\SortingDefinition\SortingDefinitionProviderInterface + +- `public function getSortingDefinitions(): array` + +## Ibexa\Contracts\Search\SortingDefinition\SortingDefinitionRegistryInterface + +- `public function getDefaultSortingDefinition(): \Ibexa\Contracts\Search\SortingDefinition\SortingDefinitionInterface|null` +- `public function getSortingDefinitions(): array` + +## Ibexa\Contracts\Segmentation\Event\AssignUserToSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment)` +- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\BeforeAssignUserToSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment)` +- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\BeforeCreateSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Segmentation\Value\SegmentCreateStruct $createStruct[, Segment|null $segmentResult = null ])` +- `public function getCreateStruct(): \Ibexa\Segmentation\Value\SegmentCreateStruct` +- `public function getSegmentResult(): \Ibexa\Segmentation\Value\Segment` +- `public function hasSegmentResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setSegmentResult(Segment|null $segmentResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\BeforeCreateSegmentGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Segmentation\Value\SegmentGroupCreateStruct $createStruct[, SegmentGroup|null $segmentGroupResult = null ])` +- `public function getCreateStruct(): \Ibexa\Segmentation\Value\SegmentGroupCreateStruct` +- `public function getSegmentGroupResult(): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function hasSegmentGroupResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setSegmentGroupResult(SegmentGroup|null $segmentGroupResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\BeforeRemoveSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Segmentation\Value\Segment $segment)` +- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\BeforeRemoveSegmentGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup)` +- `public function getSegmentGroup(): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\BeforeUnassignUserFromSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment)` +- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\BeforeUpdateSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Segmentation\Value\Segment $segment, \Ibexa\Segmentation\Value\SegmentUpdateStruct $updateStruct[, Segment|null $segmentResult = null ])` +- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` +- `public function getSegmentResult(): \Ibexa\Segmentation\Value\Segment` +- `public function getUpdateStruct(): \Ibexa\Segmentation\Value\SegmentUpdateStruct` +- `public function hasSegmentResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setSegmentResult(Segment|null $segmentResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\BeforeUpdateSegmentGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup, \Ibexa\Segmentation\Value\SegmentGroupUpdateStruct $updateStruct[, SegmentGroup|null $segmentGroupResult = null ])` +- `public function getSegmentGroup(): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function getSegmentGroupResult(): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function getUpdateStruct(): \Ibexa\Segmentation\Value\SegmentGroupUpdateStruct` +- `public function hasSegmentGroupResult(): bool` +- `public function isPropagationStopped(): bool` +- `public function setSegmentGroupResult(SegmentGroup|null $segmentGroupResult): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\CreateSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Segmentation\Value\SegmentCreateStruct $createStruct, \Ibexa\Segmentation\Value\Segment $segmentResult)` +- `public function getCreateStruct(): \Ibexa\Segmentation\Value\SegmentCreateStruct` +- `public function getSegmentResult(): \Ibexa\Segmentation\Value\Segment` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\CreateSegmentGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Segmentation\Value\SegmentGroupCreateStruct $createStruct, \Ibexa\Segmentation\Value\SegmentGroup $segmentGroupResult)` +- `public function getCreateStruct(): \Ibexa\Segmentation\Value\SegmentGroupCreateStruct` +- `public function getSegmentGroupResult(): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\RemoveSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Segmentation\Value\Segment $segment)` +- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\RemoveSegmentGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup)` +- `public function getSegmentGroup(): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\UnassignUserFromSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment)` +- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\UpdateSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Segmentation\Value\Segment $segment, \Ibexa\Segmentation\Value\SegmentUpdateStruct $updateStruct, \Ibexa\Segmentation\Value\Segment $segmentResult)` +- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` +- `public function getSegmentResult(): \Ibexa\Segmentation\Value\Segment` +- `public function getUpdateStruct(): \Ibexa\Segmentation\Value\SegmentUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Event\UpdateSegmentGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup, \Ibexa\Segmentation\Value\SegmentGroupUpdateStruct $updateStruct, \Ibexa\Segmentation\Value\SegmentGroup $segmentGroupResult)` +- `public function getSegmentGroup(): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function getSegmentGroupResult(): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function getUpdateStruct(): \Ibexa\Segmentation\Value\SegmentGroupUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Segmentation\Exception\ValidationFailedExceptionInterface extends Throwable + +- `public function getErrors(): \Symfony\Component\Validator\ConstraintViolationListInterface` + +## Ibexa\Contracts\Segmentation\SegmentationServiceDecorator implements Ibexa\Contracts\Segmentation\SegmentationServiceInterface + +- `public function assignUserToSegment(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment): void` +- `public function createSegment(\Ibexa\Segmentation\Value\SegmentCreateStruct $createStruct): \Ibexa\Segmentation\Value\Segment` +- `public function createSegmentGroup(\Ibexa\Segmentation\Value\SegmentGroupCreateStruct $createStruct): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function isUserAssignedToSegment(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment): bool` +- `public function loadSegment(int $segmentId): \Ibexa\Segmentation\Value\Segment` +- `public function loadSegmentByIdentifier(string $identifier): \Ibexa\Segmentation\Value\Segment` +- `public function loadSegmentGroup(int $segmentGroupId): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function loadSegmentGroupByIdentifier(string $identifier): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function loadSegmentGroups(): array` +- `public function loadSegmentsAssignedToCurrentUser(): array` +- `public function loadSegmentsAssignedToGroup(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup): array` +- `public function loadSegmentsAssignedToUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): array` +- `public function removeSegment(\Ibexa\Segmentation\Value\Segment $segment): void` +- `public function removeSegmentGroup(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup): void` +- `public function unassignUserFromSegment(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment): void` +- `public function updateSegment(\Ibexa\Segmentation\Value\Segment $segment, \Ibexa\Segmentation\Value\SegmentUpdateStruct $updateStruct): \Ibexa\Segmentation\Value\Segment` +- `public function updateSegmentGroup(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup, \Ibexa\Segmentation\Value\SegmentGroupUpdateStruct $updateStruct): \Ibexa\Segmentation\Value\SegmentGroup` + +## Ibexa\Contracts\Segmentation\SegmentationServiceInterface + +- `public function assignUserToSegment(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment): void` +- `public function createSegment(\Ibexa\Segmentation\Value\SegmentCreateStruct $createStruct): \Ibexa\Segmentation\Value\Segment` +- `public function createSegmentGroup(\Ibexa\Segmentation\Value\SegmentGroupCreateStruct $createStruct): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function isUserAssignedToSegment(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment): bool` +- `public function loadSegment(int $segmentId): \Ibexa\Segmentation\Value\Segment` +- `public function loadSegmentByIdentifier(string $identifier): \Ibexa\Segmentation\Value\Segment` +- `public function loadSegmentGroup(int $segmentGroupId): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function loadSegmentGroupByIdentifier(string $identifier): \Ibexa\Segmentation\Value\SegmentGroup` +- `public function loadSegmentGroups(): array` +- `public function loadSegmentsAssignedToCurrentUser(): array` +- `public function loadSegmentsAssignedToGroup(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup): array` +- `public function loadSegmentsAssignedToUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): array` +- `public function removeSegment(\Ibexa\Segmentation\Value\Segment $segment): void` +- `public function removeSegmentGroup(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup): void` +- `public function unassignUserFromSegment(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment): void` +- `public function updateSegment(\Ibexa\Segmentation\Value\Segment $segment, \Ibexa\Segmentation\Value\SegmentUpdateStruct $updateStruct): \Ibexa\Segmentation\Value\Segment` +- `public function updateSegmentGroup(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup, \Ibexa\Segmentation\Value\SegmentGroupUpdateStruct $updateStruct): \Ibexa\Segmentation\Value\SegmentGroup` + +## Ibexa\Contracts\Seo\Renderer\TagRendererRegistryInterface + +- `public function render(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $type, string $field, string $value, array $fieldConfig): string` + +## Ibexa\Contracts\Seo\Renderer\Tag\TagRendererInterface + +- `public function render(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $type, string $field, string $value, array $fieldConfig): string` +- `public function support(string $type, string $field): bool` + +## Ibexa\Contracts\Seo\Resolver\FieldReferenceResolverInterface + +- `public function resolve(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $fieldValue): string` + +## Ibexa\Contracts\Seo\Resolver\FieldValueResolverInterface + +- `public function resolve(\Ibexa\Contracts\Core\FieldType\Value $value): string` + +## Ibexa\Contracts\Seo\Value\ValueInterface extends Stringable + +- `public function getSeoTypesValues(): array` + +## Ibexa\Contracts\Share\Collaboration\ContentSession extends Ibexa\Contracts\Collaboration\Session\AbstractSession + +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getId(): int` +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function getParticipants(): \Ibexa\Contracts\Collaboration\Participant\ParticipantCollectionInterface` +- `public function getToken(): string` +- `public function getUpdatedAt(): \DateTimeInterface` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function hasPublicLink(): bool` +- `public function isActive(): bool` +- `public const mixed IDENTIFIER = 'content'` + +## Ibexa\Contracts\Share\Collaboration\ContentSessionCreateStruct extends Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct + +- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` +- `public function getToken(): string|null` +- `public function getType(): string` +- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` +- `public function hasPublicLink(): bool|null` +- `public function isActive(): bool` +- `public function setHasPublicLink(bool $hasPublicLink): void` +- `public function setLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): void` +- `public function setOwner(UserReference|null $owner): void` +- `public function setToken(string|null $token): void` +- `public function setVersionInfo(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Share\Collaboration\ContentSessionScope implements Ibexa\Contracts\Collaboration\Session\SessionScopeInterface + +- `public function getScopes(): array` +- `public function isValidScope(string $scope): bool` +- `public const mixed EDIT = 'edit'` +- `public const mixed VIEW = 'view'` + +## Ibexa\Contracts\Share\Collaboration\ContentSessionUpdateStruct extends Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct + +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` +- `public function getToken(): string|null` +- `public function getType(): string` +- `public function hasPublicLink(): bool|null` +- `public function isActive(): bool|null` +- `public function setHasPublicLink(bool|null $hasPublicLink): void` +- `public function setIsActive(bool|null $isActive): void` +- `public function setOwner(UserReference|null $owner): void` +- `public function setToken(string|null $token): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Share\Event\UsersWithPermissionInfoMappedEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(Result $result, \Ibexa\Contracts\Share\Values\PermissionCheckContext $context, string $module, string $function)` +- `public function getContext(): \Ibexa\Contracts\Share\Values\PermissionCheckContext` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getResult(): \Ibexa\Contracts\Share\Permission\Mapper\Result` +- `public function isPropagationStopped(): bool` +- `public function setResult(Result $result): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Share\Mapper\Action\ShareActionItemsMapperInterface + +- `public function map(array $scopes, bool $isOwner, bool $canShareWithOthers[, ContentType|null $contentType = null ]): array` + +## Ibexa\Contracts\Share\Permission\PermissionCheckContextProviderInterface + +- `public function getPermissionCheckContext(string $module, string $function, \Symfony\Component\HttpFoundation\Request $request): \Ibexa\Contracts\Share\Values\PermissionCheckContext` +- `public function supports(string $module, string $function): bool` + +## Ibexa\Contracts\Share\UI\Component\AbstractShareComponent implements Ibexa\Contracts\TwigComponents\ComponentInterface + +- `public function render([array $parameters = [] ]): string` +- `protected function abstract canManagePublicLink(array $parameters): bool` +- `protected function abstract canShareWithOthers(array $parameters): bool` +- `protected function abstract getActiveSession(array $parameters): \Ibexa\Contracts\Collaboration\Session\SessionInterface|null` +- `protected function abstract getAllowedShareScopes(array $parameters): array` +- `protected function abstract isContextOwner(array $parameters): bool` + +## Ibexa\Contracts\Share\Values\PermissionCheckContext + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ValueObject $subject, array $targets[, CriterionInterface|null $criteria = null ])` +- `public function getCriteria(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface|null` +- `public function getSubject(): \Ibexa\Contracts\Core\Repository\Values\ValueObject` +- `public function getTargets(): array` + +## Ibexa\Contracts\Shipping\Iterator\BatchIteratorAdapter\RegionWithDefinedVatFilter extends FilterIterator + +- `public function __construct(\Iterator $iterator, \Ibexa\Contracts\ProductCatalog\VatServiceInterface $vatService)` +- `public function accept(): bool` + +## Ibexa\Contracts\Shipping\Iterator\BatchIteratorAdapter\Shipment\BatchIteratorAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\Shipping\ShippingMethodServiceInterface $shippingMethodService[, ShippingMethodQuery|null $query = null ])` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\Shipping\Iterator\BatchIteratorAdapter\ShippingMethodListAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter + +- `public function __construct(\Ibexa\Contracts\Shipping\ShippingMethodServiceInterface $shippingMethodService, \Ibexa\Contracts\ProductCatalog\RegionResolverInterface $regionResolver)` +- `public function fetch(int $offset, int $limit): \Iterator` + +## Ibexa\Contracts\Shipping\LocalShippingMethodServiceInterface extends Ibexa\Contracts\Shipping\ShippingMethodServiceInterface + +- `public function createShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct $createStruct): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` +- `public function deleteShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod): void` +- `public function deleteShippingMethodTranslation(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodDeleteTranslationStruct $struct): void` +- `public function findShippingMethods([ShippingMethodQuery|null $query = null ][, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodListInterface` +- `public function getShippingMethod(string $identifier[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` +- `public function getShippingMethodById(int $id[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` +- `public function isShippingMethodUsed(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod): bool` +- `public function newShippingMethodCreateStruct(string $identifier): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct` +- `public function newShippingMethodUpdateStruct(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct` +- `public function updateShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod, \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct $updateStruct): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` + +## Ibexa\Contracts\Shipping\Local\ShippingMethod\OptionsFormMapperInterface + +- `public function createOptionsForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder[, array $context = [] ]): void` + +## Ibexa\Contracts\Shipping\Local\ShippingMethod\OptionsRestMapperInterface + +- `public function mapOption(string $key, mixed $value): string` +- `public function supports(\Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface $shippingMethodType, string $key): bool` + +## Ibexa\Contracts\Shipping\Local\ShippingMethod\OptionsRestMapperRegistryInterface + +- `public function getMapper(\Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface $shippingMethodType, string $optionKey): \Ibexa\Contracts\Shipping\Local\ShippingMethod\OptionsRestMapperInterface` +- `public function hasMapper(\Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface $shippingMethodType, string $optionKey): bool` + +## Ibexa\Contracts\Shipping\Local\ShippingMethod\StorageConverterInterface + +- `public function fromPersistence(\Ibexa\Contracts\Shipping\Local\ShippingMethod\TPersistenceValue $data): \Ibexa\Contracts\Shipping\Local\ShippingMethod\TValue` +- `public function toPersistence(\Ibexa\Contracts\Shipping\Local\ShippingMethod\TValue $value): \Ibexa\Contracts\Shipping\Local\ShippingMethod\TPersistenceValue` + +## Ibexa\Contracts\Shipping\Local\ShippingMethod\StorageDefinitionInterface + +- `public function getColumns(): array` +- `public function getTableName(): non-empty-string` + +## Ibexa\Contracts\Shipping\Notification\ShipmentAwareNotificationInterface + +- `public function getShipment(): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` + +## Ibexa\Contracts\Shipping\Notification\ShipmentStatusChange extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface, Ibexa\Contracts\Shipping\Notification\ShipmentAwareNotificationInterface, Ibexa\Contracts\OrderManagement\Notification\OrderAwareNotificationInterface, Symfony\Component\Notifier\Notification\SmsNotificationInterface + +- `public function __construct(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment, \Symfony\Component\Workflow\WorkflowInterface $workflow, \Symfony\Component\Workflow\Transition $transition, \Symfony\Component\Workflow\Marking $marking, array $context)` +- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` +- `public function asSmsMessage(\Symfony\Component\Notifier\Recipient\SmsRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\SmsMessage|null` +- `public function getContext(): array` +- `public function getMarking(): \Symfony\Component\Workflow\Marking` +- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function getShipment(): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` +- `public function getTransition(): \Symfony\Component\Workflow\Transition` +- `public function getWorkflow(): \Symfony\Component\Workflow\WorkflowInterface` + +## Ibexa\Contracts\Shipping\ShipmentServiceDecorator implements Ibexa\Contracts\Shipping\ShipmentServiceInterface + +- `public function createShipment(\Ibexa\Contracts\Shipping\Shipment\ShipmentCreateStruct $createStruct): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` +- `public function deleteShipment(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment): void` +- `public function findShipments([ShipmentQuery|null $query = null ]): \Ibexa\Contracts\Shipping\Shipment\ShipmentListInterface` +- `public function getShipment(int $id): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` +- `public function getShipmentByIdentifier(string $identifier): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` +- `public function updateShipment(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment, \Ibexa\Contracts\Shipping\Shipment\ShipmentUpdateStruct $updateStruct): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` + +## Ibexa\Contracts\Shipping\ShipmentServiceInterface + +- `public function createShipment(\Ibexa\Contracts\Shipping\Shipment\ShipmentCreateStruct $createStruct): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` +- `public function deleteShipment(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment): void` +- `public function findShipments([ShipmentQuery|null $query = null ]): \Ibexa\Contracts\Shipping\Shipment\ShipmentListInterface` +- `public function getShipment(int $id): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` +- `public function getShipmentByIdentifier(string $identifier): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` +- `public function updateShipment(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment, \Ibexa\Contracts\Shipping\Shipment\ShipmentUpdateStruct $updateStruct): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` + +## Ibexa\Contracts\Shipping\Shipment\Permission\Create implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct(ShipmentCreateStruct|null $createStruct)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Shipping\Shipment\ShipmentCreateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Shipping\Shipment\Permission\Delete implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Shipping\Shipment\Permission\Edit implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment)` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Shipping\Shipment\Permission\View implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct([ShipmentInterface|null $shipment = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\Currency extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\Id extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface + +- `public function __construct(CriterionInterface ...$criteria)` +- `public function add(CriterionInterface ...$criteria): void` +- `public function getCriteria(): array` +- `public function remove(CriterionInterface ...$criteria): void` +- `public function setCriteria(CriterionInterface ...$criteria): void` + +## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\Order extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\Owner extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\ShippingMethod extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\Status extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Shipment\Query\SortClause\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Shipping\Shipment\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Shipping\Shipment\Query\SortClause\Id extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Shipping\Shipment\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Shipping\Shipment\Query\SortClause\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Shipping\Shipment\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Shipping\Shipment\Query\SortClause\Status extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Shipping\Shipment\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Shipping\Shipment\Query\SortClause\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Shipping\Shipment\Query\SortClauseInterface + +- `public function getDirection(): string` +- `public function getField(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Shipping\Shipment\ShipmentCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Shipping\Workflow\WorkflowSubjectInterface + +- `public function __construct(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method, \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order, \Money\Money $amount[, UserReference|null $owner = null ])` +- `public function getAmount(): \Money\Money` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getIdentifier(): string|null` +- `public function getMethod(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` +- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` +- `public function setAmount(\Money\Money $amount): void` +- `public function setContext(MapInterface|null $context): void` +- `public function setIdentifier(string|null $identifier): void` +- `public function setMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method): void` +- `public function setOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order): void` +- `public function setOwner([UserReference|null $owner = null ]): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Shipping\Shipment\ShipmentInterface extends Ibexa\Contracts\Shipping\Workflow\WorkflowSubjectInterface + +- `public function getAmount(): \Money\Money` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getCreatedAt(): \DateTimeInterface` +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getMethod(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` +- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` +- `public function getStatus(): string` +- `public function getUpdatedAt(): \DateTimeInterface` + +## Ibexa\Contracts\Shipping\Shipment\ShipmentListInterface extends IteratorAggregate + +- `public function getShipments(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Shipping\Shipment\ShipmentQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\Shipping\Shipment\ShipmentUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([string|null $transition = null ][, string|null $identifier = null ][, UserReference|null $owner = null ][, MapInterface|null $context = null ])` +- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface|null` +- `public function getIdentifier(): string|null` +- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` +- `public function getTransition(): string|null` +- `public function setContext(MapInterface|null $context): void` +- `public function setIdentifier(string|null $identifier): void` +- `public function setOwner([UserReference|null $owner = null ]): void` +- `public function setTransition(string|null $transition): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Shipping\ShippingMethodServiceDecorator implements Ibexa\Contracts\Shipping\ShippingMethodServiceInterface + +- `public function createShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct $createStruct): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` +- `public function deleteShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod): void` +- `public function deleteShippingMethodTranslation(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodDeleteTranslationStruct $struct): void` +- `public function findShippingMethods([ShippingMethodQuery|null $query = null ][, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodListInterface` +- `public function getShippingMethod(string $identifier[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` +- `public function getShippingMethodById(int $id[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` +- `public function isShippingMethodUsed(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod): bool` +- `public function newShippingMethodCreateStruct(string $identifier): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct` +- `public function newShippingMethodUpdateStruct(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct` +- `public function updateShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod, \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct $updateStruct): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` + +## Ibexa\Contracts\Shipping\ShippingMethodServiceInterface + +- `public function createShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct $createStruct): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` +- `public function deleteShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod): void` +- `public function deleteShippingMethodTranslation(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodDeleteTranslationStruct $struct): void` +- `public function findShippingMethods([ShippingMethodQuery|null $query = null ][, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodListInterface` +- `public function getShippingMethod(string $identifier[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` +- `public function getShippingMethodById(int $id[, array|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` +- `public function isShippingMethodUsed(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod): bool` +- `public function newShippingMethodCreateStruct(string $identifier): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct` +- `public function newShippingMethodUpdateStruct(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct` +- `public function updateShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod, \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct $updateStruct): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` + +## Ibexa\Contracts\Shipping\ShippingMethodTypeServiceInterface + +- `public function getShippingMethodType(string $identifier): \Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface` +- `public function getShippingMethodTypes(): iterable` +- `public function hasShippingMethodType(string $identifier): bool` + +## Ibexa\Contracts\Shipping\ShippingMethod\CostCalculationException extends RuntimeException + +- `public function __construct(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method[, string $message = '' ][, int $code = 0 ][, Throwable|null $previous = null ])` +- `public function getMethod(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` + +## Ibexa\Contracts\Shipping\ShippingMethod\CostCalculatorFactoryInterface + +- `public function createFixedCost(array $costs): \Ibexa\Contracts\Shipping\ShippingMethod\CostCalculatorInterface` + +## Ibexa\Contracts\Shipping\ShippingMethod\CostCalculatorInterface + +- `public function calculate(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): \Money\Money` + +## Ibexa\Contracts\Shipping\ShippingMethod\CostCalculatorRegistryInterface + +- `public function getCalculator(string $identifier): \Ibexa\Contracts\Shipping\ShippingMethod\CostCalculatorInterface` +- `public function hasCalculator(string $identifier): bool` + +## Ibexa\Contracts\Shipping\ShippingMethod\CostFormatterInterface + +- `public function formatCost(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod[, array $parameters = [] ]): string|null` + +## Ibexa\Contracts\Shipping\ShippingMethod\Permission\Create implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct([ShippingMethodCreateStruct|null $createStruct = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Shipping\ShippingMethod\Permission\Delete implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct([ShippingMethodInterface|null $shippingMethod = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Shipping\ShippingMethod\Permission\Edit implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct([ShippingMethodInterface|null $shippingMethod = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Shipping\ShippingMethod\Permission\View implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface + +- `public function __construct([ShippingMethodInterface|null $shippingMethod = null ])` +- `public function getFunction(): string` +- `public function getModule(): string` +- `public function getObject(): object|null` +- `public function getTargets(): array` + +## Ibexa\Contracts\Shipping\ShippingMethod\Type\OptionsValidatorError + +- `public function __construct(string|null $target, string $message[, array $parameters = [] ])` +- `public function getMessage(): string` +- `public function getParameters(): array` +- `public function getTarget(): string|null` + +## Ibexa\Contracts\Shipping\ShippingMethod\Type\OptionsValidatorInterface + +- `public function validateOptions(\Ibexa\Contracts\Core\Options\OptionsBag $options): array` + +## Ibexa\Contracts\Shipping\ShippingMethod\Type\OptionsValidatorRegistryInterface + +- `public function getValidator(string $type): \Ibexa\Contracts\Shipping\ShippingMethod\Type\OptionsValidatorInterface` +- `public function hasValidator(string $type): bool` + +## Ibexa\Contracts\Shipping\ShippingMethod\Voter\AbstractVoter implements Ibexa\Contracts\Shipping\ShippingMethod\Voter\VoterInterface + +- `public function vote(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` +- `protected function abstract getVote(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` + +## Ibexa\Contracts\Shipping\ShippingMethod\Voter\VoterInterface + +- `public function vote(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` + +## Ibexa\Contracts\Shipping\ShippingMethod\Voter\VoterRegistryInterface + +- `public function getVoter(string $identifier): \Ibexa\Contracts\Shipping\ShippingMethod\Voter\VoterInterface` +- `public function hasVoter(string $identifier): bool` + +## Ibexa\Contracts\Shipping\Value\ShippingMethodRegionInterface extends Ibexa\Contracts\ProductCatalog\Values\RegionInterface + +- `public function getIdentifier(): string` +- `public function getVatCategoryIdentifier(): string` + +## Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface + +- `public function getIdentifier(): string` +- `public function getName(): string` + +## Ibexa\Contracts\Shipping\Value\ShippingMethod\Query\Criterion\IsShippingMethodEnabledCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Value\ShippingMethod\Query\Criterion\ShippingMethodIdentifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Value\ShippingMethod\Query\Criterion\ShippingMethodName extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Value\ShippingMethod\Query\Criterion\ShippingMethodRegion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Value\ShippingMethod\Query\Criterion\ShippingMethodType extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion + +- `public function getField(): string` +- `public function getOperator(): string` +- `public function getValue(): mixed` +- `public function setOperator(string $operator): void` +- `public function setValue(mixed $value): void` +- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` +- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` +- `public const mixed COMPARISON_EQ = '='` +- `public const mixed COMPARISON_GT = '>'` +- `public const mixed COMPARISON_GTE = '>='` +- `public const mixed COMPARISON_IN = 'IN'` +- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` +- `public const mixed COMPARISON_NIN = 'NIN'` +- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` + +## Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $identifier)` +- `public function getDescriptions(): array` +- `public function getIdentifier(): string` +- `public function getNames(): array` +- `public function getOptions(): array` +- `public function getRegions(): array` +- `public function getType(): \Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface` +- `public function getVatCategoryIdentifier(): string|null` +- `public function isEnabled(): bool` +- `public function setDescription(string $languageCode, string $description): void` +- `public function setEnabled(bool $enabled): void` +- `public function setIdentifier(string $identifier): void` +- `public function setName(string $languageCode, string $name): void` +- `public function setOptions(array $options): void` +- `public function setRegions(array $regions): void` +- `public function setType(\Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface $type): void` +- `public function setVatCategoryIdentifier(string|null $vatCategoryIdentifier): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodDeleteTranslationStruct + +- `public function __construct(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod, string $languageCode)` +- `public function getLanguageCode(): string` +- `public function getShippingMethod(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` + +## Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface + +- `public function getDescription(): string|null` +- `public function getDescriptions(): array` +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function getNames(): array` +- `public function getOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` +- `public function getRegions(): array` +- `public function getType(): \Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface` +- `public function isEnabled(): bool` + +## Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodListInterface extends IteratorAggregate + +- `public function getShippingMethods(): array` +- `public function getTotalCount(): int` + +## Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery + +- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` +- `public function getLimit(): int|null` +- `public function getOffset(): int` +- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` +- `public function getSortClauses(): array` +- `public function hasQuery(): bool` +- `public function setLimit(int|null $limit): void` +- `public function setOffset(int $offset): void` +- `public function setQuery(CriterionInterface|null $criterion): void` +- `public function setSortClauses(array $sortClauses): void` +- `public const mixed DEFAULT_LIMIT = 25` + +## Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([string|null $identifier = null ][, array $names = [] ][, array $descriptions = [] ][, array|null $options = [] ][, array $regions = [] ][, bool|null $enabled = null ][, string|null $vatCategoryIdentifier = null ])` +- `public function getDescriptions(): array` +- `public function getEnabled(): bool|null` +- `public function getIdentifier(): string|null` +- `public function getNames(): array` +- `public function getOptions(): array|null` +- `public function getRegions(): array|null` +- `public function getVatCategoryIdentifier(): string|null` +- `public function setDescription(string $languageCode, string $description): void` +- `public function setDescriptions(array $descriptions): void` +- `public function setEnabled(bool|null $enabled): void` +- `public function setIdentifier(string|null $identifier): void` +- `public function setName(string $languageCode, string $name): void` +- `public function setNames(array $names): void` +- `public function setOptions(array|null $options): void` +- `public function setRegions(array $regions): void` +- `public function setVatCategoryIdentifier(string|null $vatCategoryIdentifier): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Shipping\Value\ShippingMethod\SortClause extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause + +- `public function getDirection(): string` +- `public function setDirection(string $direction): void` +- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` +- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` + +## Ibexa\Contracts\Shipping\Workflow\WorkflowResolverInterface + +- `public function resolveWorkflow(\Ibexa\Contracts\Shipping\Workflow\WorkflowSubjectInterface $subject): \Symfony\Component\Workflow\WorkflowInterface` + +## Ibexa\Contracts\SiteContext\Event\ResolveLocationPreviewUrlEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, array $context = [] ])` +- `public function getContext(): array` +- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` +- `public function getPreviewUrl(): string|null` +- `public function isPropagationStopped(): bool` +- `public function setPreviewUrl(string|null $previewUrl): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\SiteContext\PreviewUrlResolver\LocationPreviewUrlResolverInterface + +- `public function resolveUrl(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, array $context = [] ]): string` + +## Ibexa\Contracts\SiteContext\SiteContextServiceInterface + +- `public function getCurrentContext(): \Ibexa\Core\MVC\Symfony\SiteAccess|null` +- `public function isFullscreenModeEnabled(): bool` +- `public function resolveContextLanguage(\Ibexa\Core\MVC\Symfony\SiteAccess $siteAccess, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content): string` +- `public function setCurrentContext(SiteAccess|null $siteAccess): void` +- `public function setFullscreenMode(bool $state): void` + +## Ibexa\Contracts\SiteFactory\Events\BeforeCreateSiteEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct $siteCreateStruct)` +- `public function getSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` +- `public function getSiteCreateStruct(): \Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct` +- `public function hasSite(): bool` +- `public function isPropagationStopped(): bool` +- `public function setSite(Site|null $site): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\SiteFactory\Events\BeforeDeleteSiteEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site)` +- `public function getSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\SiteFactory\Events\BeforeUpdateSiteEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site, \Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct $siteUpdateStruct)` +- `public function getSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` +- `public function getSiteUpdateStruct(): \Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct` +- `public function getUpdatedSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` +- `public function hasUpdatedSite(): bool` +- `public function isPropagationStopped(): bool` +- `public function setSite(Site|null $updatedSite): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\SiteFactory\Events\CreateSiteEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site, \Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct $siteCreateStruct)` +- `public function getSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` +- `public function getSiteCreateStruct(): \Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\SiteFactory\Events\DeleteSiteEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site)` +- `public function getSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\SiteFactory\Events\UpdateSiteEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\SiteFactory\Values\Site\Site $updatedSite, \Ibexa\Contracts\SiteFactory\Values\Site\Site $site, \Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct $siteUpdateStruct)` +- `public function getSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` +- `public function getSiteUpdateStruct(): \Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct` +- `public function getUpdatedSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\SiteFactory\ServiceDecorator\SiteServiceDecorator implements Ibexa\Contracts\SiteFactory\Service\SiteServiceInterface + +- `public function countSites([SiteQuery|null $query = null ]): int` +- `public function createSite(\Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct $createStruct): \Ibexa\Contracts\SiteFactory\Values\Site\Site` +- `public function deleteSite(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site): void` +- `public function loadPages([SiteQuery|null $query = null ][, int $offset = 0 ][, int $limit = -1 ]): array{count: int, items: string[]}` +- `public function loadSite(int $id): \Ibexa\Contracts\SiteFactory\Values\Site\Site` +- `public function loadSites([SiteQuery|null $query = null ]): \Ibexa\Contracts\SiteFactory\Values\Site\SiteList` +- `public function updateSite(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site, \Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct $siteUpdateStruct): \Ibexa\Contracts\SiteFactory\Values\Site\Site` + +## Ibexa\Contracts\SiteFactory\Service\PublicAccessServiceInterface + +- `public function loadPublicAccess(string $identifier): \Ibexa\Contracts\SiteFactory\Values\Site\PublicAccess|null` +- `public function loadPublicAccesses([SiteQuery|null $query = null ]): \Ibexa\Contracts\SiteFactory\Values\Site\PublicAccessList` + +## Ibexa\Contracts\SiteFactory\Service\SiteServiceInterface + +- `public function countSites([SiteQuery|null $query = null ]): int` +- `public function createSite(\Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct $createStruct): \Ibexa\Contracts\SiteFactory\Values\Site\Site` +- `public function deleteSite(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site): void` +- `public function loadPages([SiteQuery|null $query = null ][, int $offset = 0 ][, int $limit = -1 ]): array{count: int, items: string[]}` +- `public function loadSite(int $id): \Ibexa\Contracts\SiteFactory\Values\Site\Site` +- `public function loadSites([SiteQuery|null $query = null ]): \Ibexa\Contracts\SiteFactory\Values\Site\SiteList` +- `public function updateSite(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site, \Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct $siteUpdateStruct): \Ibexa\Contracts\SiteFactory\Values\Site\Site` + +## Ibexa\Contracts\SiteFactory\Values\Design\Template extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function static fromConfiguration(\Ibexa\Contracts\SiteFactory\Values\Design\TemplateConfiguration $templateConfiguration): \Ibexa\Contracts\SiteFactory\Values\Design\Template` +- `public function getDesign(): string` +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function getParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` +- `public function getSiteAccessGroup(): string` +- `public function getSiteSkeletonLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` +- `public function getThumbnail(): string` +- `public function getUserGroupSkeletonLocations(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\SiteFactory\Values\Design\TemplateConfiguration extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function static fromTemplate(string $identifier, string $design, array $template, array $userGroupSkeletonLocations[, Location|null $siteSkeleton = null ][, Location|null $parentLocation = null ]): \Ibexa\Contracts\SiteFactory\Values\Design\TemplateConfiguration` +- `public function getDesign(): string` +- `public function getIdentifier(): string` +- `public function getName(): string` +- `public function getParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` +- `public function getSiteAccessGroup(): string` +- `public function getSiteSkeletonLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` +- `public function getThumbnail(): string` +- `public function getUserGroupSkeletonLocations(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\SiteFactory\Values\Site\Page extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getLanguages(): array` +- `public function getName(): string` +- `public function getStatus(): int` +- `public function getTreeRootLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed STATUS_ONLINE = 1` + +## Ibexa\Contracts\SiteFactory\Values\Site\PublicAccess extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getConfigParameter(string $namespace, string $name): mixed` +- `public function getDesign(): string` +- `public function getMainLanguage(): string` +- `public function getMatcherConfiguration(): \Ibexa\Contracts\SiteFactory\Values\Site\SiteAccessMatcherConfiguration` +- `public function getSiteAccessGroup(): string` +- `public function getSiteConfiguration(): \Ibexa\Contracts\SiteFactory\Values\Site\SiteConfiguration` +- `public function getSiteId(): int|null` +- `public function getStatus(): int` +- `public function getTreeRootLocationId(): int` +- `public function hasConfigParameter(string $namespace, string $name): bool` +- `public function setStatus(int $status): void` +- `public function setTreeRootLocationId(int|null $treeRootLocationId): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed STATUS_OFFLINE = 0` +- `public const mixed STATUS_ONLINE = 1` + +## Ibexa\Contracts\SiteFactory\Values\Site\PublicAccessList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function getIterator(): \Traversable` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\SiteFactory\Values\Site\PublicAccessQuery extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\SiteFactory\Values\Site\Site extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getDesignName(): string` +- `public function getFirstSiteAccess(): \Ibexa\Contracts\SiteFactory\Values\Site\PublicAccess` +- `public function getTreeRootLocationId(): int` +- `protected function getProperties([array $dynamicProperties = [] ]): array` +- `public const mixed STATUS_OFFLINE = 0` +- `public const mixed STATUS_ONLINE = 1` + +## Ibexa\Contracts\SiteFactory\Values\Site\SiteAccessMatcherConfiguration extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getUrl(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\SiteFactory\Values\Site\SiteConfiguration implements Stringable + +- `public function __toString(): string` +- `public function getDesign(): string` +- `public function getLanguages(): array` +- `public function getMainLanguage(): string` +- `public function getTreeRootLocationId(): int` +- `public function getValues(): array` +- `public function setTreeRootLocationId(int $treeRootLocationId): void` +- `public const mixed DESIGN = 'ibexa.site_access.config.design'` +- `public const mixed LANGUAGES = 'ibexa.site_access.config.languages'` +- `public const mixed TREE_ROOT_LOCATION_ID = 'ibexa.site_access.config.content.tree_root.location_id'` + +## Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\SiteFactory\Values\Site\SiteList extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function getPages(): array` +- `public function getSites(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\SiteFactory\Values\Site\SiteQuery extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Solr\DocumentMapper + +- `public function generateLocationDocumentId(int $locationId[, string|null $languageCode = null ]): string` +- `public function mapContentBlock(\Ibexa\Contracts\Core\Persistence\Content $content): array` +- `public const mixed DOCUMENT_TYPE_IDENTIFIER_CONTENT = 'content'` +- `public const mixed DOCUMENT_TYPE_IDENTIFIER_LOCATION = 'location'` + +## Ibexa\Contracts\Solr\FieldMapper\ContentFieldMapper + +- `public function abstract accept(\Ibexa\Contracts\Core\Persistence\Content $content): bool` +- `public function abstract mapFields(\Ibexa\Contracts\Core\Persistence\Content $content): array` + +## Ibexa\Contracts\Solr\FieldMapper\ContentTranslationFieldMapper + +- `public function abstract accept(\Ibexa\Contracts\Core\Persistence\Content $content, string $languageCode): bool` +- `public function abstract mapFields(\Ibexa\Contracts\Core\Persistence\Content $content, string $languageCode): array` + +## Ibexa\Contracts\Solr\FieldMapper\LocationFieldMapper + +- `public function abstract accept(\Ibexa\Contracts\Core\Persistence\Content\Location $location): bool` +- `public function abstract mapFields(\Ibexa\Contracts\Core\Persistence\Content\Location $location): array` + +## Ibexa\Contracts\Solr\Query\AggregationVisitor + +- `public function canVisit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, array $languageFilter): bool` +- `public function visit(\Ibexa\Contracts\Solr\Query\AggregationVisitor $dispatcherVisitor, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, array $languageFilter): array` + +## Ibexa\Contracts\Solr\Query\Common\AggregationVisitor\AggregationFieldResolver + +- `public function resolveTargetField(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation): string` + +## Ibexa\Contracts\Solr\Query\CriterionVisitor + +- `public function abstract canVisit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $criterion): mixed` +- `public function abstract visit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $criterion[, self|null $subVisitor = null ]): mixed` +- `protected function escapeExpressions(string $string[, bool $allowWildcard = false ]): string|null` +- `protected function escapeQuote(string $string[, bool $doubleQuote = false ]): string` +- `protected function getRange(string $operator, mixed $start, mixed $end): string` +- `protected function toString(mixed $value): string` + +## Ibexa\Contracts\Solr\Query\EmbeddingVisitor + +- `public function abstract canVisit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding $embedding): bool` +- `public function abstract visit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding $embedding, int $limit): string` + +## Ibexa\Contracts\Solr\Query\SortClauseVisitor + +- `public function abstract canVisit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): bool` +- `public function abstract visit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): string` +- `protected function getDirection(\Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): string` + +## Ibexa\Contracts\Solr\ResultExtractor\AggregationResultExtractor + +- `public function canVisit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, array{languages?: string[], languageCode?: string, useAlwaysAvailable?: bool} $languageFilter): bool` +- `public function extract(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, array{languages?: string[], languageCode?: string, useAlwaysAvailable?: bool} $languageFilter, \stdClass $data): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult` + +## Ibexa\Contracts\Solr\ResultExtractor\AggregationResultExtractor\RangeAggregationKeyMapper + +- `public function map(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, array{languages?: string[], languageCode?: string, useAlwaysAvailable?: bool} $languageFilter, string $key): mixed` + +## Ibexa\Contracts\Solr\ResultExtractor\AggregationResultExtractor\TermAggregationKeyMapper + +- `public function map(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, array{languages?: string[], languageCode?: string, useAlwaysAvailable?: bool} $languageFilter, array $keys): array` + +## Ibexa\Contracts\Storefront\Exception\InvalidArgumentException extends Ibexa\Contracts\Core\Exception\InvalidArgumentException + +- `public function __construct(string $argumentName, string $whatIsWrong[, Exception|null $previous = null ])` + +## Ibexa\Contracts\Storefront\Menu\Event\ConfigureMenuEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Knp\Menu\ItemInterface $menu[, array $options = [] ])` +- `public function getMenu(): \Knp\Menu\ItemInterface` +- `public function getOptions(): array` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Storefront\Menu\ItemFactoryInterface + +- `public function createContentIdItem(int $contentId[, string|null $name = null ][, array $options = [] ]): \Knp\Menu\ItemInterface` +- `public function createContentItem(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content[, string|null $name = null ][, array $options = [] ]): \Knp\Menu\ItemInterface` +- `public function createItem(string $name[, array $options = [] ]): \Knp\Menu\ItemInterface` +- `public function createLocationIdItem(int $locationId[, string|null $name = null ][, array $options = [] ]): \Knp\Menu\ItemInterface` +- `public function createLocationItem(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, string|null $name = null ][, array $options = [] ]): \Knp\Menu\ItemInterface` +- `public function createProductItem(\Ibexa\Contracts\ProductCatalog\Values\ContentAwareProductInterface $product[, string|null $name = null ][, array $options = [] ]): \Knp\Menu\ItemInterface` +- `public function createTaxonomyEntryItem(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry[, string|null $name = null ][, array $options = [] ]): \Knp\Menu\ItemInterface` + +## Ibexa\Contracts\Storefront\Repository\CatalogResolverInterface + +- `public function resolveCatalog([User|null $user = null ]): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface|null` + +## Ibexa\Contracts\Storefront\Repository\CurrencyServiceInterface + +- `public function getAvailableCurrencies(): iterable` +- `public function getCurrencyByCode(string $code): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` +- `public function getDefaultCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` +- `public function getSessionCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` +- `public function isAcceptable(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency): bool` +- `public function setDefaultCurrency(CurrencyInterface|null $currency): void` +- `public function setSessionCurrency(CurrencyInterface|null $currency): void` + +## Ibexa\Contracts\Storefront\Repository\Event\CatalogResolveEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, CatalogInterface|null $catalog)` +- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface|null` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` +- `public function isPropagationStopped(): bool` +- `public function setCatalog(CatalogInterface|null $catalog): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Storefront\Repository\RegionServiceInterface + +- `public function getAvailableRegions(): iterable` +- `public function getSessionRegion(): \Ibexa\Contracts\ProductCatalog\Values\RegionInterface|null` +- `public function isAcceptable(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): bool` +- `public function setSessionRegion(RegionInterface|null $region): void` + +## Ibexa\Contracts\Storefront\Repository\TaxonomyTreeServiceInterface + +- `public function contains(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $needle, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $haystack): bool` +- `public function getAncestor(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry, int $level): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` + +## Ibexa\Contracts\Taxonomy\Embedding\TaxonomyEmbeddingConfigurationInterface + +- `public function getDefaultEmbeddingModel(): array{name: string, dimensions: int, field_suffix: string, embedding_provider: string}` +- `public function getDefaultEmbeddingModelDimensions(): int` +- `public function getDefaultEmbeddingModelFieldSuffix(): string` +- `public function getDefaultEmbeddingModelIdentifier(): string` +- `public function getDefaultEmbeddingModelName(): string` +- `public function getDefaultEmbeddingProvider(): string` +- `public function isIndexEmbeddingsEnabled(): bool` + +## Ibexa\Contracts\Taxonomy\Embedding\TaxonomyEmbeddingFieldProviderInterface + +- `public function accept(\Ibexa\Contracts\Core\Persistence\Content $content): bool` +- `public function generateField(\Ibexa\Contracts\Core\Persistence\Content $content): \Ibexa\Contracts\Core\Search\Field|null` + +## Ibexa\Contracts\Taxonomy\Event\BeforeCreateTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct $createStruct[, TaxonomyEntry|null $taxonomyEntry = null ])` +- `public function getCreateStruct(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct` +- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function hasTaxonomyEntry(): bool` +- `public function isPropagationStopped(): bool` +- `public function setTaxonomyEntry(TaxonomyEntry|null $taxonomyEntry): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Taxonomy\Event\BeforeMoveTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $newParent)` +- `public function getNewParent(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Taxonomy\Event\BeforeMoveTaxonomyEntryRelativeToSiblingEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $sibling, string $position)` +- `public function getPosition(): string` +- `public function getSibling(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Taxonomy\Event\BeforeRemoveTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry[, array $contentIds = [] ])` +- `public function getContentIds(): array` +- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function isPropagationStopped(): bool` +- `public function setContentIds(array $contentIds): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Taxonomy\Event\BeforeUpdateTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent + +- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct $updateStruct[, TaxonomyEntry|null $updatedTaxonomyEntry = null ])` +- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function getUpdatedTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function getUpdateStruct(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct` +- `public function hasUpdatedTaxonomyEntry(): bool` +- `public function isPropagationStopped(): bool` +- `public function setUpdatedTaxonomyEntry(TaxonomyEntry|null $taxonomyEntry): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Taxonomy\Event\CreateTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct $createStruct)` +- `public function getCreateStruct(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct` +- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Taxonomy\Event\MoveTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $newParent)` +- `public function getNewParent(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Taxonomy\Event\MoveTaxonomyEntryRelativeToSiblingEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $sibling, string $position)` +- `public function getPosition(): string` +- `public function getSibling(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Taxonomy\Event\RemoveTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry[, array $contentIds = [] ])` +- `public function getContentIds(): array` +- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Taxonomy\Event\UpdateTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent + +- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $updatedTaxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct $updateStruct)` +- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function getUpdatedTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function getUpdateStruct(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct` +- `public function isPropagationStopped(): bool` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Taxonomy\Search\Query\Aggregation\TaxonomyEntryIdAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation + +- `public function getLimit(): int` +- `public function getMinCount(): int` +- `public function getName(): string` +- `public function getTaxonomyIdentifier(): string` +- `public function setLimit(int $limit): self` +- `public function setMinCount(int $minCount): self` +- `public const mixed DEFAULT_LIMIT = 10` +- `public const mixed DEFAULT_MIN_COUNT = 1` + +## Ibexa\Contracts\Taxonomy\Search\Query\Criterion\TaxonomyEntryId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Taxonomy\Search\Query\Criterion\TaxonomySubtree extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion + +- `public function getSpecifications(): array` + +## Ibexa\Contracts\Taxonomy\Search\Query\Value\TaxonomyEmbedding extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding + +- `public function getValue(): array` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Taxonomy\Service\Decorator\TaxonomyEntryAssignmentServiceDecorator implements Ibexa\Contracts\Taxonomy\Service\TaxonomyEntryAssignmentServiceInterface + +- `public function assignMultipleToContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, array $entries[, int|null $versionNo = null ]): void` +- `public function assignToContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry[, int|null $versionNo = null ]): void` +- `public function loadAssignmentById(int $id): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryAssignment` +- `public function loadAssignments(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content[, int|null $versionNo = null ]): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryAssignmentCollection` +- `public function unassignFromContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry[, int|null $versionNo = null ]): void` +- `public function unassignMultipleFromContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, array $entries[, int|null $versionNo = null ]): void` + +## Ibexa\Contracts\Taxonomy\Service\Decorator\TaxonomyServiceDecorator implements Ibexa\Contracts\Taxonomy\Service\TaxonomyServiceInterface + +- `public function countAllEntries([string|null $taxonomyName = null ]): int` +- `public function countEntryChildren(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $parentEntry): int` +- `public function createEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct $createStruct): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function getPath(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry): iterable` +- `public function loadAllEntries([string|null $taxonomyName = null ][, int|null $limit = 30 ][, int $offset = 0 ]): \Traversable` +- `public function loadEntriesByIds(array $ids): \Traversable` +- `public function loadEntryByContentId(int $contentId): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function loadEntryById(int $id): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function loadEntryByIdentifier(string $identifier[, string|null $taxonomyName = null ]): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function loadEntryChildren(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $parentEntry[, int|null $limit = 30 ][, int $offset = 0 ]): \Traversable` +- `public function loadRootEntry(string $taxonomyName): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function moveEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $newParent): void` +- `public function moveEntryRelativeToSibling(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $sibling, string $position): void` +- `public function removeEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry): void` +- `public function updateEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct $updateStruct): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` + +## Ibexa\Contracts\Taxonomy\Service\TaxonomyEntryAssignmentServiceInterface + +- `public function assignMultipleToContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, array $entries[, int|null $versionNo = null ]): void` +- `public function assignToContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry[, int|null $versionNo = null ]): void` +- `public function loadAssignmentById(int $id): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryAssignment` +- `public function loadAssignments(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content[, int|null $versionNo = null ]): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryAssignmentCollection` +- `public function unassignFromContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry[, int|null $versionNo = null ]): void` +- `public function unassignMultipleFromContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, array $entries[, int|null $versionNo = null ]): void` + +## Ibexa\Contracts\Taxonomy\Service\TaxonomyServiceInterface + +- `public function countEntryChildren(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $parentEntry): int` +- `public function createEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct $createStruct): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function getPath(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry): iterable` +- `public function loadAllEntries([string|null $taxonomyName = null ][, int|null $limit = 30 ][, int $offset = 0 ]): \Traversable` +- `public function loadEntriesByIds(array $ids): \Traversable` +- `public function loadEntryByContentId(int $contentId): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function loadEntryById(int $id): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function loadEntryByIdentifier(string $identifier[, string|null $taxonomyName = null ]): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function loadEntryChildren(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $parentEntry[, int|null $limit = 30 ][, int $offset = 0 ]): \Traversable` +- `public function loadRootEntry(string $taxonomyName): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public function moveEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $newParent): void` +- `public function moveEntryRelativeToSibling(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $sibling, string $position): void` +- `public function removeEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry): void` +- `public function updateEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct $updateStruct): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` +- `public const mixed MOVE_POSITION_NEXT = 'next'` +- `public const mixed MOVE_POSITION_PREV = 'prev'` + +## Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\Content\ContentAwareInterface + +- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` +- `public function getContentId(): int|null` +- `public function getId(): int` +- `public function getIdentifier(): string` +- `public function getLevel(): int` +- `public function getMainLanguageCode(): string` +- `public function getName(): string` +- `public function getNames(): array` +- `public function getParent(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry|null` +- `public function getTaxonomy(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryAssignment extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryAssignmentCollection extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\TwigComponents\ComponentInterface + +- `public function render([array $parameters = [] ]): string` + +## Ibexa\Contracts\TwigComponents\ComponentRegistryInterface + +- `public function addComponent(string $group, string $serviceId, \Ibexa\Contracts\TwigComponents\ComponentInterface $component): void` +- `public function getComponents(string $group): array` +- `public function setComponents(string $group, array $components): void` + +## Ibexa\Contracts\TwigComponents\Event\RenderGroupEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\TwigComponents\ComponentRegistryInterface $registry, string $groupName[, array $parameters = [] ])` +- `public function addParameter(string $key, mixed $value): void` +- `public function addParameters(array $parameters): void` +- `public function getComponents(): array` +- `public function getGroupName(): string` +- `public function getParameters(): array` +- `public function isPropagationStopped(): bool` +- `public function setComponents(array $components): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\TwigComponents\Event\RenderSingleEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Contracts\TwigComponents\ComponentRegistryInterface $registry, string $groupName, string $serviceId[, array $parameters = [] ])` +- `public function addParameter(string $key, mixed $value): void` +- `public function addParameters(array $parameters): void` +- `public function getComponent(): \Ibexa\Contracts\TwigComponents\ComponentInterface` +- `public function getGroupName(): string` +- `public function getName(): string` +- `public function getParameters(): array` +- `public function isPropagationStopped(): bool` +- `public function setComponent(\Ibexa\Contracts\TwigComponents\ComponentInterface $component): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\TwigComponents\Exception\InvalidArgumentException extends Ibexa\Contracts\Core\Exception\InvalidArgumentException + +- `public function __construct(string $argumentName, string $whatIsWrong[, Exception|null $previous = null ])` + +## Ibexa\Contracts\TwigComponents\Renderer\RendererInterface + +- `public function renderGroup(string $groupName[, array $parameters = [] ]): array` +- `public function renderSingle(string $groupName, string $name[, array $parameters = [] ]): string` + +## Ibexa\Contracts\User\Controller\AuthenticatedRememberedCheckTrait + +- `public function performAccessCheck(): void` + +## Ibexa\Contracts\User\Controller\RestrictedControllerInterface + +- `public function performAccessCheck(): void` + +## Ibexa\Contracts\User\Invitation\DomainMapper + +- `public function buildDomainObject(\Ibexa\Contracts\User\Invitation\Invitation $invitation): \Ibexa\Contracts\User\Invitation\Invitation` + +## Ibexa\Contracts\User\Invitation\Invitation extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $email, string $hash, \DateTimeInterface $createdAt, string $siteAccessIdentifier, bool $used[, Role|null $role = null ][, UserGroup|null $userGroup = null ][, RoleLimitation|null $limitation = null ])` +- `public function createdAt(): \DateTimeInterface` +- `public function getEmail(): string` +- `public function getHash(): string` +- `public function getLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role|null` +- `public function getSiteAccessIdentifier(): string` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup|null` +- `public function isUsed(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\User\Invitation\InvitationCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $email, string $siteAccessIdentifier[, UserGroup|null $userGroup = null ][, Role|null $role = null ][, RoleLimitation|null $roleLimitation = null ])` +- `public function getEmail(): string` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role|null` +- `public function getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` +- `public function getSiteAccessIdentifier(): string` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup|null` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\User\Invitation\InvitationSender + +- `public function sendInvitation(\Ibexa\Contracts\User\Invitation\Invitation $invitation): void` + +## Ibexa\Contracts\User\Invitation\InvitationService + +- `public function createInvitation(\Ibexa\Contracts\User\Invitation\InvitationCreateStruct $createStruct): \Ibexa\Contracts\User\Invitation\Invitation` +- `public function findInvitations([InvitationFilter|null $invitationsFilter = null ]): array` +- `public function getInvitation(string $hash): \Ibexa\Contracts\User\Invitation\Invitation` +- `public function getInvitationByEmail(string $email): \Ibexa\Contracts\User\Invitation\Invitation` +- `public function isExpired(\Ibexa\Contracts\User\Invitation\Invitation $invitation): bool` +- `public function isValid(\Ibexa\Contracts\User\Invitation\Invitation $invitation): bool` +- `public function markAsUsed(\Ibexa\Contracts\User\Invitation\Invitation $invitation): void` +- `public function refreshInvitation(\Ibexa\Contracts\User\Invitation\Invitation $invitation): \Ibexa\Contracts\User\Invitation\Invitation` + +## Ibexa\Contracts\User\Invitation\Persistence\Gateway + +- `public function addInvitation(string $email, string $siteAccessName, string $hash[, int|null $roleId = null ][, int|null $userGroupId = null ][, string|null $limitation = null ][, string|null $limitationValue = null ]): array` +- `public function findInvitations([InvitationFilter|null $filter = null ]): array` +- `public function getInvitation(string $hash): array` +- `public function getInvitationByEmail(string $email): mixed` +- `public function invitationExistsForEmail(string $email): bool` +- `public function updateInvitation(string $hash, \Ibexa\Contracts\User\Invitation\Persistence\InvitationUpdateStruct $updateStruct): void` + +## Ibexa\Contracts\User\Invitation\Persistence\Handler + +- `public function createInvitation(string $email, string $siteAccessName, string $hash[, int|null $roleId = null ][, int|null $groupId = null ][, string|null $limitation = null ][, string|null $limitationValue = null ]): \Ibexa\Contracts\User\Invitation\Persistence\Invitation` +- `public function findInvitations([InvitationFilter|null $invitationsFilter = null ]): array` +- `public function getInvitation(string $hash): \Ibexa\Contracts\User\Invitation\Persistence\Invitation` +- `public function getInvitationForEmail(string $email): \Ibexa\Contracts\User\Invitation\Persistence\Invitation` +- `public function invitationExistsForEmail(string $email): bool` +- `public function markAsUsed(string $hash): void` +- `public function refreshInvitation(string $hash, string $newHash): \Ibexa\Contracts\User\Invitation\Persistence\Invitation` + +## Ibexa\Contracts\User\Invitation\Persistence\Invitation extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(string $email, string $hash, string $siteAccessIdentifier, int $createdAtTimestamp, bool $isUsed[, int|null $roleId = null ][, int|null $groupId = null ][, string|null $limitation = null ][, array|null $limitationValue = null ])` +- `public function getCreatedAtTimestamp(): int` +- `public function getEmail(): string` +- `public function getGroupId(): int|null` +- `public function getHash(): string` +- `public function getLimitation(): string|null` +- `public function getLimitationValue(): array|null` +- `public function getRoleId(): int|null` +- `public function getSiteAccessIdentifier(): string` +- `public function isUsed(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\User\Invitation\Persistence\InvitationUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct([int|null $createdAt = null ][, bool|null $isUsed = null ][, string|null $hash = null ])` +- `public function getCreatedAt(): int|null` +- `public function getHash(): string|null` +- `public function getIsUsed(): bool|null` +- `public function setCreatedAt(int|null $createdAt): void` +- `public function setHash(string|null $hash): void` +- `public function setIsUsed(bool|null $isUsed): void` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\User\Invitation\Persistence\Mapper + +- `public function extractInvitationFromRow(array $row): \Ibexa\Contracts\User\Invitation\Persistence\Invitation` + +## Ibexa\Contracts\User\Invitation\Query\InvitationFilter + +- `public function __construct([Role|null $role = null ][, UserGroup|null $userGroup = null ][, bool|null $isUsed = null ])` +- `public function getIsUsed(): bool|null` +- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role|null` +- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup|null` +- `public function setIsUsed(bool|null $isUsed): void` +- `public function setRole(Role|null $role): void` +- `public function setUserGroup(UserGroup|null $userGroup): void` + +## Ibexa\Contracts\User\Notification\UserAwareNotificationInterface + +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` + +## Ibexa\Contracts\User\Notification\UserInvitation extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface + +- `public function __construct(\Ibexa\Contracts\User\Invitation\Invitation $invitation, \Ibexa\Contracts\Core\SiteAccess\ConfigResolverInterface $configResolver, \Twig\Environment $twig)` +- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` + +## Ibexa\Contracts\User\Notification\UserPasswordReset extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface, Ibexa\Contracts\User\Notification\UserAwareNotificationInterface + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $token, \Ibexa\Contracts\Core\SiteAccess\ConfigResolverInterface $configResolver, \Twig\Environment $twig)` +- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` +- `public function getToken(): string` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` + +## Ibexa\Contracts\User\Notification\UserRegister extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface, Ibexa\Contracts\User\Notification\UserAwareNotificationInterface + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user)` +- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` +- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` + +## Ibexa\Contracts\User\PasswordReset\NotifierInterface + +- `public function sendMessage(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $hashKey): void` + +## Ibexa\Contracts\User\UserSetting\FormMapperInterface + +- `public function mapFieldForm(\Symfony\Component\Form\FormBuilderInterface $formBuilder, \Ibexa\Contracts\User\UserSetting\ValueDefinitionInterface $value): \Symfony\Component\Form\FormBuilderInterface` + +## Ibexa\Contracts\User\UserSetting\ValueDefinitionGroupInterface + +- `public function addValueDefinition(string $identifier, \Ibexa\Contracts\User\UserSetting\ValueDefinitionInterface $valueDefinition): void` +- `public function getDescription(): string` +- `public function getName(): string` +- `public function getValueDefinitions(): array` + +## Ibexa\Contracts\User\UserSetting\ValueDefinitionInterface + +- `public function getDefaultValue(): string` +- `public function getDescription(): string` +- `public function getDisplayValue(string $storageValue): string` +- `public function getName(): string` + +## Ibexa\Contracts\VersionComparison\Engine\FieldTypeComparisonEngine + +- `public function compareFieldsTypeValues(\Ibexa\Contracts\VersionComparison\FieldType\FieldTypeComparisonValue $comparisonDataA, \Ibexa\Contracts\VersionComparison\FieldType\FieldTypeComparisonValue $comparisonDataB): \Ibexa\Contracts\VersionComparison\Result\ComparisonResult` +- `public function shouldRunComparison(\Ibexa\Contracts\VersionComparison\FieldType\FieldTypeComparisonValue $comparisonDataA, \Ibexa\Contracts\VersionComparison\FieldType\FieldTypeComparisonValue $comparisonDataB): bool` + +## Ibexa\Contracts\VersionComparison\FieldType\Comparable + +- `public function getDataToCompare(\Ibexa\Contracts\Core\FieldType\Value $value): \Ibexa\Contracts\VersionComparison\FieldType\FieldTypeComparisonValue` + +## Ibexa\Contracts\VersionComparison\FieldType\FieldTypeComparisonValue extends Ibexa\Contracts\Core\Persistence\ValueObject + +- `public function __construct([array $properties = [] ])` +- `public function getType(): string` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\VersionComparison\FieldValueDiff extends Ibexa\Contracts\Core\Repository\Values\ValueObject + +- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, \Ibexa\Contracts\VersionComparison\Result\ComparisonResult $comparisonResult)` +- `public function getComparisonResult(): \Ibexa\Contracts\VersionComparison\Result\ComparisonResult` +- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` +- `public function isChanged(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\VersionComparison\Result\ComparisonResult + +- `public function isChanged(): bool` + +## Ibexa\Contracts\VersionComparison\Service\VersionComparisonServiceInterface + +- `public function compare(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionA, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionB[, string|null $languageCode = null ]): \Ibexa\Contracts\VersionComparison\VersionDiff` + +## Ibexa\Contracts\VersionComparison\VersionDiff extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate + +- `public function __construct([array $fieldValueDiffs = [] ])` +- `public function getFieldValueDiffByIdentifier(string $fieldIdentifier): \Ibexa\Contracts\VersionComparison\FieldValueDiff` +- `public function getFieldValueDiffs(): array` +- `public function getIterator(): \Iterator` +- `public function isChanged(): bool` +- `protected function getProperties([array $dynamicProperties = [] ]): array` + +## Ibexa\Contracts\Workflow\Event\Action\AbstractConditionalWorkflowActionListener implements Ibexa\Contracts\Workflow\Event\Action\WorkflowActionListenerInterface, Ibexa\Contracts\Workflow\Event\Action\ConditionalActionListenerInterface + +- `public function onConditionalWorkflowEvent(\Symfony\Component\Workflow\Event\Event $event): void` +- `public function setResult(\Symfony\Component\Workflow\Event\Event $event, mixed $value): void` + +## Ibexa\Contracts\Workflow\Event\Action\AbstractStageWorkflowActionListener extends Ibexa\Contracts\Workflow\Event\Action\AbstractConditionalWorkflowActionListener + +- `public function getActionMetadata(\Symfony\Component\Workflow\WorkflowInterface $workflow, array $markingPlaces): array|null` +- `public function onConditionalWorkflowEvent(\Symfony\Component\Workflow\Event\Event $event): void` +- `public function abstract onWorkflowEvent(\Symfony\Component\Workflow\Event\EnteredEvent $event): void` +- `public function setResult(\Symfony\Component\Workflow\Event\Event $event, mixed $value): void` + +## Ibexa\Contracts\Workflow\Event\Action\AbstractTransitionWorkflowActionListener extends Ibexa\Contracts\Workflow\Event\Action\AbstractConditionalWorkflowActionListener + +- `public function getActionMetadata(\Symfony\Component\Workflow\WorkflowInterface $workflow, \Symfony\Component\Workflow\Transition $transition): array|null` +- `public function onConditionalWorkflowEvent(\Symfony\Component\Workflow\Event\Event $event): void` +- `public function abstract onWorkflowEvent(\Symfony\Component\Workflow\Event\TransitionEvent $event): void` +- `public function setResult(\Symfony\Component\Workflow\Event\Event $event, mixed $value): void` + +## Ibexa\Contracts\Workflow\Event\Action\ConditionalActionListenerInterface + +- `public function onConditionalWorkflowEvent(\Symfony\Component\Workflow\Event\Event $event): void` + +## Ibexa\Contracts\Workflow\Event\Action\WorkflowActionListenerInterface + +- `public function getIdentifier(): string` +- `public function setResult(\Symfony\Component\Workflow\Event\Event $event, mixed $value): void` + +## Ibexa\Contracts\Workflow\Event\StageChangeEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Workflow\Value\WorkflowMetadata $workflowMetadata, \Ibexa\Workflow\Value\Persistence\TransitionMetadata $transitionMetadata)` +- `public function getTransitionMetadata(): \Ibexa\Workflow\Value\Persistence\TransitionMetadata` +- `public function getWorkflowMetadata(): \Ibexa\Workflow\Value\WorkflowMetadata` +- `public function isPropagationStopped(): bool` +- `public function setTransitionMetadata(\Ibexa\Workflow\Value\Persistence\TransitionMetadata $transitionMetadata): void` +- `public function setWorkflowMetadata(\Ibexa\Workflow\Value\WorkflowMetadata $workflowMetadata): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Workflow\Event\TimelineEntryRenderEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Workflow\Value\WorkflowMetadata $workflowMetadata, \Ibexa\Workflow\WorkflowTimeline\Value\AbstractEntry $entry, \Twig\TemplateWrapper $template, string $blockName[, array $parameters = [] ])` +- `public function getBlockName(): string` +- `public function getEntry(): \Ibexa\Workflow\WorkflowTimeline\Value\AbstractEntry` +- `public function getParameters(): array` +- `public function getTemplate(): \Twig\TemplateWrapper` +- `public function getWorkflowMetadata(): \Ibexa\Workflow\Value\WorkflowMetadata` +- `public function isPropagationStopped(): bool` +- `public function setBlockName(string $blockName): void` +- `public function setParameters(array $parameters): void` +- `public function setTemplate(\Twig\TemplateWrapper $template): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Workflow\Event\TimelineEvent extends Symfony\Contracts\EventDispatcher\Event + +- `public function __construct(\Ibexa\Workflow\Value\WorkflowMetadata $workflowMetadata[, array $entries = [] ])` +- `public function addEntries(array $entries): void` +- `public function addEntry(\Ibexa\Workflow\WorkflowTimeline\Value\AbstractEntry $entry): void` +- `public function getEntries(): array` +- `public function getWorkflowMetadata(): \Ibexa\Workflow\Value\WorkflowMetadata` +- `public function isPropagationStopped(): bool` +- `public function setEntries(array $entries): void` +- `public function stopPropagation(): void` + +## Ibexa\Contracts\Workflow\Event\TimelineEvents + +- `public const mixed COLLECT_ENTRIES = 'workflow.timeline.entries.collect'` +- `public const mixed ENTRY_RENDER = 'workflow.timeline.entry.render'` + +## Ibexa\Contracts\Workflow\Event\WorkflowEvents + +- `public const mixed WORKFLOW_STAGE_CHANGE = 'ibexa.workflow.stage_change'` + +## Ibexa\Contracts\Workflow\Factory\WorkflowDefinitionMetadata\WorkflowDefinitionMetadataFactoryInterface + +- `public function createWorkflowDefinitionMetadata(array $configuration): \Ibexa\Workflow\Value\WorkflowDefinitionMetadata` +- `public function createWorkflowMatcherDefinitionMetadata(array $configuration): \Ibexa\Workflow\Value\WorkflowMatcherDefinitionMetadata` +- `public function createWorkflowStageDefinitionMetadata(array $configuration): \Ibexa\Workflow\Value\WorkflowStageDefinitionMetadata` +- `public function createWorkflowTransitionDefinitionMetadata(array $configuration): \Ibexa\Workflow\Value\WorkflowTransitionDefinitionMetadata` +- `public function createWorkflowTransitionNotificationDefinitionMetadata(array $configuration): \Ibexa\Workflow\Value\WorkflowTransitionNotificationDefinitionMetadata` + +## Ibexa\Contracts\Workflow\Persistence\Handler\HandlerInterface + +- `public function cleanupWorkflowMetadataForContent(int $contentId): void` +- `public function countContentWithOrphanedWorkflowMetadata(): int` +- `public function countWorkflowMetadata(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $filter): int` +- `public function create(\Ibexa\Workflow\Value\Persistence\WorkflowMetadataCreateStruct $createStruct): \Ibexa\Workflow\Value\Persistence\WorkflowMetadata` +- `public function createTransitionMetadata(\Ibexa\Workflow\Value\Persistence\TransitionMetadataCreateStruct $createStruct, int $workflowId): \Ibexa\Workflow\Value\Persistence\TransitionMetadata` +- `public function createVersionLock(int $contentId, int $versionNo, int $userId): void` +- `public function deleteTransitionMetadata(int $transitionId): void` +- `public function deleteTransitionMetadataForWorkflow(int $workflowId): void` +- `public function deleteVersionLock(int $contentId[, int|null $versionNo = null ]): void` +- `public function deleteVersionLocksByUserId(int $userId): void` +- `public function deleteWorkflowMetadata(int $workflowId): void` +- `public function findWorkflowMetadata(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $filter[, int $limit = 10 ][, int $offset = 0 ]): array` +- `public function getVersionLock(int $contentId, int $versionNo): \Ibexa\Workflow\Value\Persistence\VersionLock` +- `public function isVersionLocked(int $contentId, int $versionNo[, int|null $userId = null ]): bool` +- `public function load(int $contentId, int $versionNo[, string|null $workflowName = null ]): \Ibexa\Workflow\Value\Persistence\WorkflowMetadata` +- `public function loadAllWorkflowMetadata(): array` +- `public function loadAllWorkflowMetadataOriginatedByUser(int $userId[, string|null $workflowName = null ]): array` +- `public function loadContentIdsWithOrphanedWorkflowMetadata(): array` +- `public function loadMarkingMetadataByWorkflowId(int $workflowId): array` +- `public function loadTransitionMetadataByWorkflowId(int $workflowId): array` +- `public function loadWorkflowMetadataByContent(int $contentId[, int|null $versionNo = null ]): array` +- `public function loadWorkflowMetadataByStage(string $workflowName, string $stageName): array` +- `public function setMarkingMetadata(\Ibexa\Workflow\Value\Persistence\MarkingMetadataSetStruct $setStruct, int $workflowId): array` +- `public function updateVersionLock(int $contentId, int $versionNo, bool $isLocked[, int|null $userId = null ]): void` + +## Ibexa\Contracts\Workflow\Provider\WorkflowDefinitionMetadataProviderInterface + +- `public function getWorkflowDefinitionsMetadata(): array` + +## Ibexa\Contracts\Workflow\Provider\WorkflowProviderInterface + +- `public function getWorkflows(): array` + +## Ibexa\Contracts\Workflow\Registry\WorkflowActionListenerRegistryInterface + +- `public function addActionListener(\Ibexa\Contracts\Workflow\Event\Action\WorkflowActionListenerInterface $actionListener): void` +- `public function getActionListener(string $identifier): \Ibexa\Contracts\Workflow\Event\Action\WorkflowActionListenerInterface|null` + +## Ibexa\Contracts\Workflow\Registry\WorkflowDefinitionMetadataRegistryInterface + +- `public function getAllWorkflowMetadata(): array` +- `public function getWorkflowMetadata(string $identifier): \Ibexa\Workflow\Value\WorkflowDefinitionMetadata` +- `public function hasWorkflowMetadata(string $identifier): bool` +- `public function setAllWorkflowMetadata(array $allWorkflowMetadata): void` +- `public function setWorkflowMetadata(string $identifier, \Ibexa\Workflow\Value\WorkflowDefinitionMetadata $workflowMetadata): void` + +## Ibexa\Contracts\Workflow\Registry\WorkflowRegistryInterface + +- `public function getSupportedWorkflow(string $identifier, object $subject): \Symfony\Component\Workflow\WorkflowInterface` +- `public function getSupportedWorkflows(object $subject): array` +- `public function getWorkflow(string $identifier): \Symfony\Component\Workflow\WorkflowInterface` +- `public function getWorkflows(): array` +- `public function hasWorkflow(string $identifier): bool` +- `public function setWorkflow(string $identifier, \Symfony\Component\Workflow\WorkflowInterface $workflow): void` +- `public function setWorkflows(array $workflows): void` + +## Ibexa\Contracts\Workflow\Service\WorkflowServiceInterface + +- `public function can(\Ibexa\Workflow\Value\WorkflowMetadata $workflow, string $transitionName): bool` +- `public function deleteContentLocks(int $contentId): void` +- `public function deleteLock(\Ibexa\Workflow\Value\VersionLock $versionLock): void` +- `public function deleteUserLocks(int $userId): void` +- `public function getVersionLock(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo): \Ibexa\Workflow\Value\VersionLock` +- `public function getVersionLockByContentId(int $contentId, int $versionNo): \Ibexa\Workflow\Value\VersionLock` +- `public function isVersionLocked(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, int|null $userId = null ]): bool` +- `public function loadOngoingWorkflowMetadata([int $limit = 10 ][, int $offset = 0 ]): array` +- `public function loadOngoingWorkflowMetadataOriginatedByUser(\Ibexa\Contracts\Core\Repository\Values\User\UserReference $user[, string|null $name = null ][, int $limit = 10 ][, int $offset = 0 ]): array` +- `public function loadWorkflowMetadataByStage(string $workflowName, string $stageName): array` +- `public function loadWorkflowMetadataForContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content[, string|null $name = null ]): \Ibexa\Workflow\Value\WorkflowMetadata` +- `public function loadWorkflowMetadataList(\Ibexa\Workflow\Value\WorkflowMetadataQuery $query): \Ibexa\Workflow\Value\WorkflowMetadataList` +- `public function lockVersion(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, int|null $userId = null ]): void` +- `public function start(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content[, string|null $name = null ]): \Ibexa\Workflow\Value\WorkflowMetadata` +- `public function unlockVersion(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo): void` + +## Ibexa\Contracts\Workflow\SupportStrategy\Matcher\MatcherInterface + +- `public function getIdentifier(): string` +- `public function match(\Ibexa\Contracts\Core\Repository\Values\ValueObject $subject, array $conditions): bool` + diff --git a/plugins.yml b/plugins.yml index 4142f703ba..42194192ad 100644 --- a/plugins.yml +++ b/plugins.yml @@ -689,3 +689,6 @@ plugins: - release_notes/ibexa_dxp_v4.2.md - release_notes/ibexa_dxp_v4.1.md - release_notes/ibexa_dxp_v4.0.md + PHP API Reference - Signatures: + - api/php_api/php_api_reference.md + - api/php_api/php_api_signatures.md diff --git a/tools/README_php_api_converter.md b/tools/README_php_api_converter.md new file mode 100644 index 0000000000..eca3e7d8b7 --- /dev/null +++ b/tools/README_php_api_converter.md @@ -0,0 +1,64 @@ +# PHP API Converter + +This tool extracts method signatures from the generated PHP API HTML documentation and creates a compact Markdown file suitable for LLM consumption. + +## Usage + +1. **Build the documentation** (generates HTML files): + ```bash + ~/python/bin/python3.13 -m mkdocs build --strict + ``` + +2. **Run the converter**: + ```bash + ~/python/bin/python3.13 tools/php_api_converter.py + ``` + +## What it does + +- **Input**: HTML files in `site/api/php_api/php_api_reference/classes/` +- **Output**: `docs/api/php_api/php_api_signatures.md` +- **Filtering**: Only includes `Ibexa\Contracts\*` classes (public API) +- **Extracts**: Public method signatures with parameter and return types + +## Output Format + +```markdown +## Ibexa\Contracts\Core\Repository\ContentService + +- `loadContent(int $contentId[, array $languages = null[, int $versionNo = null]]) : Content` +- `createContent(ContentCreateStruct $contentCreateStruct, array $locationCreateStructs) : Content` +... +``` + +## Statistics + +From the Ibexa DXP v5.0 documentation: +- **2,377 contract classes** +- **14,627 public methods** +- **~1.4 MB** output file +- **~19,000 lines** + +## Integration + +The generated file is included in the llmstxt output via `plugins.yml`: + +```yaml +PHP API Reference (Signatures): +- api/php_api/php_api_reference.md # Proxy/overview file +- api/php_api/php_api_signatures.md # Full signatures +``` + +## Dependencies + +- Python 3.13+ +- No external dependencies (uses only stdlib `re` and `pathlib`) + +## Regeneration + +Re-run the converter after: +- Ibexa DXP version upgrades +- PHP API changes +- Documentation rebuilds + +The tool processes all 2,486 HTML files in ~90 seconds. diff --git a/tools/php_api_converter.py b/tools/php_api_converter.py new file mode 100644 index 0000000000..9395aa0a4b --- /dev/null +++ b/tools/php_api_converter.py @@ -0,0 +1,289 @@ +#!/usr/bin/env python3 +r""" +Convert PHP API Reference HTML files to compact Markdown signatures. + +Extracts: Class name and public method signatures +Filters: Only Ibexa\Contracts\* classes (public API) +Output: Single markdown file with signatures only +""" + +import re +from pathlib import Path +from typing import List, Dict, Optional + + +def parse_class_file(html_path: Path) -> Optional[Dict]: + """Parse a single HTML file and extract class info.""" + # Convert filename format to proper FQCN + # Ibexa-Contracts-Core-Repository-ContentService.html -> Ibexa\Contracts\Core\Repository\ContentService + fqcn = html_path.stem.replace('-', '\\') + + # Only process Ibexa\Contracts\* classes + if not fqcn.startswith('Ibexa\\Contracts\\'): + return None + + with open(html_path, 'r', encoding='utf-8') as f: + html_content = f.read() + + # Extract extends/implements info + extends = None + implements = [] + + # Look for "Extends" in header + extends_match = re.search(r'
\s*Extends\s*.*?]*title="\\([^"]+)"', html_content, re.DOTALL) + if extends_match: + extends = extends_match.group(1) # Keep single backslashes + + # Look for "Implements" in header - may have multiple interfaces + implements_match = re.search(r'
\s*Implements\s*(.*?)
', html_content, re.DOTALL) + if implements_match: + impl_html = implements_match.group(1) + # Extract all abbr title attributes + impl_titles = re.findall(r']*title="\\([^"]+)"', impl_html) + implements = impl_titles # Keep single backslashes + + # Extract all public and protected members (methods, constants, properties) + members = [] + + # Pattern for methods: must have method name followed by ( + method_pattern = r'
(public|protected)\s*(?:static\s*)?(?:abstract\s*)?.*?([^<]+)\s*\((.*?)
' + + # Pattern for constants: has = sign for assignment + const_pattern = r'
(public|protected)\s*mixed\s*([^<]+)\s*=\s*'
+    
+    # Pattern for properties: type followed by variable name (with $)
+    property_pattern = r'
(public|protected)\s*(?:static\s*)?([^<]*?)(?:]*>\s*)?(\$[a-zA-Z_][a-zA-Z0-9_]*)'
+    
+    # Extract methods
+    for match in re.finditer(method_pattern, html_content, re.DOTALL):
+        visibility = match.group(1)
+        signature_html = match.group(0)
+        
+        # Check for static or abstract
+        is_static = 'phpdocumentor-signature__static' in signature_html
+        is_abstract = 'phpdocumentor-signature__abstract' in signature_html
+        
+        clean_sig = clean_signature(signature_html)
+        
+        # Skip if cleanup failed
+        if not clean_sig or len(clean_sig) < 10 or '(' not in clean_sig or ')' not in clean_sig:
+            continue
+        
+        # Build prefix - visibility first, then type, then modifiers
+        prefix = f"{visibility} function"
+        if is_static:
+            prefix += " static"
+        if is_abstract:
+            prefix += " abstract"
+        
+        members.append(f"{prefix} {clean_sig}")
+    
+    # Extract constants
+    for match in re.finditer(const_pattern, html_content, re.DOTALL):
+        visibility = match.group(1)
+        const_name = match.group(2)
+        
+        # Find the full constant definition
+        const_html_match = re.search(
+            rf'
.*?{re.escape(const_name)}.*?
', + html_content[match.start():match.start()+500], + re.DOTALL + ) + + if const_html_match: + clean_sig = clean_signature(const_html_match.group(0)) + if clean_sig and len(clean_sig) > 5: + members.append(f"{visibility} const {clean_sig}") + + if not members: + return None + + return { + 'fqcn': fqcn, + 'extends': extends, + 'implements': implements, + 'members': members + } + + +def clean_signature(signature_html: str) -> str: + """Clean HTML from a signature and return plain text with FQCNs.""" + # First, extract FQCN mappings from abbr tags before cleaning + # Pattern: ShortName + fqcn_map = {} + for match in re.finditer(r']*title="\\([^"]+)">([^<]+)', signature_html): + fqcn = match.group(1) + short_name = match.group(2).strip() + if short_name and fqcn and '::' not in short_name: # Skip constant references + fqcn_map[short_name] = fqcn + + # Remove all and tags but keep their content + clean_sig = re.sub(r']*>', '', signature_html) + clean_sig = re.sub(r'', '', clean_sig) + clean_sig = re.sub(r']*>', '', clean_sig) + clean_sig = re.sub(r'', '', clean_sig) + clean_sig = re.sub(r']*>', '', clean_sig) + clean_sig = re.sub(r'', '', clean_sig) + clean_sig = re.sub(r'
', '', clean_sig)
+    clean_sig = re.sub(r'
', '', clean_sig) + + # Decode HTML entities + clean_sig = clean_sig.replace(' ', ' ') + clean_sig = clean_sig.replace(''', "'") + clean_sig = clean_sig.replace('<', '<') + clean_sig = clean_sig.replace('>', '>') + clean_sig = clean_sig.replace('&', '&') + clean_sig = clean_sig.replace('"', '"') + + # Clean up whitespace + clean_sig = ' '.join(clean_sig.split()) + clean_sig = clean_sig.strip() + + # Filter out garbage + # Allow < and > for generic types, but check for HTML tags like or iterable + clean_sig = re.sub( + rf'<{escaped_short}(,|\||&|\>)', + rf'<\\{escaped_fqcn}\1', + clean_sig + ) + clean_sig = re.sub( + rf',\s*{escaped_short}(,|\>)', + rf', \\{escaped_fqcn}\1', + clean_sig + ) + + # Fix spacing around return type colon - should be ): not ) : + clean_sig = re.sub(r'\)\s+:', '):', clean_sig) + # Ensure space after colon in return type + clean_sig = re.sub(r':\s+', ': ', clean_sig) + + return clean_sig + + +def format_class_markdown(class_data: Dict) -> str: + """Format class data as markdown.""" + lines = [] + + # Class header with inheritance info + header = f"## {class_data['fqcn']}" + if class_data.get('extends'): + header += f" extends {class_data['extends']}" + if class_data.get('implements'): + header += f" implements {', '.join(class_data['implements'])}" + lines.append(header) + lines.append("") + + # Members (methods, constants, properties) + if class_data['members']: + for member in class_data['members']: + lines.append(f"- `{member}`") + else: + lines.append("*(No public members)*") + + # Add extra blank line after each class entry + lines.append("") + lines.append("") + return '\n'.join(lines) + + +def main(): + """Main converter function.""" + script_dir = Path(__file__).parent + repo_root = script_dir.parent + + # Input: generated HTML files + input_dir = repo_root / 'site' / 'api' / 'php_api' / 'php_api_reference' / 'classes' + + # Output: single markdown file + output_file = repo_root / 'docs' / 'api' / 'php_api' / 'php_api_signatures.md' + output_file.parent.mkdir(parents=True, exist_ok=True) + + if not input_dir.exists(): + print(f"Error: Input directory not found: {input_dir}") + print("Please build the documentation first.") + return 1 + + print(f"Scanning {input_dir} for HTML files...") + + # Parse all class files + class_data_list = [] + total_files = 0 + + for html_file in sorted(input_dir.glob('*.html')): + total_files += 1 + class_data = parse_class_file(html_file) + if class_data: + class_data_list.append(class_data) + + print(f"Processed {total_files} files") + print(f"Extracted {len(class_data_list)} contract classes") + + # Sort by FQCN + class_data_list.sort(key=lambda x: x['fqcn']) + + # Generate markdown + with open(output_file, 'w', encoding='utf-8') as f: + f.write("# PHP API Reference - Method Signatures\n\n") + + for class_data in class_data_list: + f.write(format_class_markdown(class_data)) + + # Print statistics + output_size_kb = output_file.stat().st_size / 1024 + total_members = sum(len(c['members']) for c in class_data_list) + + print(f"\n✓ Generated: {output_file}") + print(f" Size: {output_size_kb:.1f} KB") + print(f" Classes: {len(class_data_list)}") + print(f" Members: {total_members}") + print(f" Avg members per class: {total_members / len(class_data_list):.1f}") + + return 0 + + +if __name__ == '__main__': + exit(main()) From 326fd7eb9011b08f32052719c43e86274697bc4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Tue, 23 Dec 2025 19:34:17 +0100 Subject: [PATCH 07/11] Added openapi.yaml --- .../rest_api/rest_api_reference/openapi.yaml | 32865 ++++++++++++++++ 1 file changed, 32865 insertions(+) create mode 100644 docs/api/rest_api/rest_api_reference/openapi.yaml diff --git a/docs/api/rest_api/rest_api_reference/openapi.yaml b/docs/api/rest_api/rest_api_reference/openapi.yaml new file mode 100644 index 0000000000..66e5743b85 --- /dev/null +++ b/docs/api/rest_api/rest_api_reference/openapi.yaml @@ -0,0 +1,32865 @@ +openapi: 3.1.0 +info: + title: 'Ibexa DXP REST API' + description: '' + version: 5.0.2 +servers: + - + url: /api/ibexa/v2 + description: 'Current server' +paths: + /activity-log-group/list: + get: + operationId: api_activity-log-grouplist_get + tags: + - 'Activity Log' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ActivityLogGroupList+xml: + schema: + $ref: '#/components/schemas/ActivityLogGroupList' + example: | + + + + 14 + 1707478796 + + 396 + Ibexa\Contracts\Core\Repository\Values\Content\Content + create + + + + 396 + Ibexa\Contracts\Core\Repository\Values\Content\Content + publish + + + + + 14 + 1707475048 + + 395 + Ibexa\Contracts\Core\Repository\Values\Content\Content + create + + + + 395 + Ibexa\Contracts\Core\Repository\Values\Content\Content + publish + + + + + application/vnd.ibexa.api.ActivityLogGroupList+json: + schema: + $ref: '#/components/schemas/ActivityLogGroupListWrapper' + example: + ActivityLogGroupList: + _media-type: application/vnd.ibexa.api.ActivityLogGroupList+json + _href: /api/ibexa/v2/activity-log-group/list + ActivityLogGroups: [{ _media-type: application/vnd.ibexa.api.ActivityLogGroup+json, user_id: 14, logged_at: 1707478796, ActivityLogEntries: [{ _media-type: application/vnd.ibexa.api.ActivityLog+json, object_id: '396', object_class: Ibexa\Contracts\Core\Repository\Values\Content\Content, action: create, data: [] }, { _media-type: application/vnd.ibexa.api.ActivityLog+json, object_id: '396', object_class: Ibexa\Contracts\Core\Repository\Values\Content\Content, action: publish, data: [] }] }, { _media-type: application/vnd.ibexa.api.ActivityLogGroup+json, user_id: 14, logged_at: 1707475048, ActivityLogEntries: [{ _media-type: application/vnd.ibexa.api.ActivityLog+json, object_id: '395', object_class: Ibexa\Contracts\Core\Repository\Values\Content\Content, action: create, data: [] }, { _media-type: application/vnd.ibexa.api.ActivityLog+json, object_id: '395', object_class: Ibexa\Contracts\Core\Repository\Values\Content\Content, action: publish, data: [] }] }] + '401': + description: 'Error - the user is not authorized to list activities.' + summary: 'List of activity log groups' + description: 'Lists last activity log groups and their entries.' + parameters: + - + name: Accept + in: header + description: 'If set, the list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /bookmark: + get: + operationId: api_bookmark_get + tags: + - Bookmark + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.BookmarkList+xml: + schema: + $ref: '#/components/schemas/BookmarkList' + example: | + + + 3 + + + 65 + 0 + false + false + false + + /1/2/57/65/ + 3 + 0 + aa538e305aea472eb221ce23d1cc4b50 + + + PATH + ASC + + + + + Art3 + Art3 + + +
+ + + 2021-06-28T11:34:17+00:00 + 2021-06-28T11:34:17+00:00 + eng-GB + 1 + false + false + PUBLISHED + + + + + + + + 68 + 0 + false + false + false + + /1/2/58/68/ + 3 + 0 + b8cc4627dbc3ca693c85b6b06a8f7492 + + + PUBLISHED + DESC + + + + + Tip1 + Tip1 + + +
+ + + 2021-06-28T11:36:21+00:00 + 2021-06-28T11:36:21+00:00 + eng-GB + 1 + true + false + PUBLISHED + + + + + + + + 59 + 0 + false + false + false + + /1/2/59/ + 2 + 3 + fd949fc2eed1fff847d73021ff1a6ea9 + + + PATH + ASC + + + + + Dog Breed Catalog + Dog Breed Catalog + + +
+ + + 2021-06-28T11:23:10+00:00 + 2021-06-28T11:23:10+00:00 + eng-GB + 1 + true + false + PUBLISHED + + + + + + + application/vnd.ibexa.api.BookmarkList+json: + schema: + $ref: '#/components/schemas/BookmarkListWrapper' + example: + BookmarkList: + _media-type: application/vnd.ibexa.api.BookmarkList+json + count: 3 + items: [{ _media-type: application/vnd.ibexa.api.Bookmark+json, __href: /api/ibexa/v2/bookmark/65, Location: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2/57/65, id: 65, priority: 0, hidden: false, invisible: false, explicitlyHidden: false, ParentLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2/57 }, pathString: /1/2/57/65/, depth: 3, childCount: 0, remoteId: aa538e305aea472eb221ce23d1cc4b50, Children: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/locations/1/2/57/65/children }, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/63 }, sortField: PATH, sortOrder: ASC, UrlAliases: { _media-type: application/vnd.ibexa.api.UrlAliasRefList+json, _href: /api/ibexa/v2/content/locations/1/2/57/65/urlaliases }, ContentInfo: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/63, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/63, _remoteId: 211e99934c8fef5900e4813b96ec5c87, _id: 63, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2 }, Name: Art3, TranslatedName: Art3, Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/63/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/63/currentversion }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/63/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2021-06-28T11:34:17+00:00', publishedDate: '2021-06-28T11:34:17+00:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: false, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/63/objectstates } } } } }, { _media-type: application/vnd.ibexa.api.Bookmark+json, __href: /api/ibexa/v2/bookmark/68, Location: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2/58/68, id: 68, priority: 0, hidden: false, invisible: false, explicitlyHidden: false, ParentLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2/58 }, pathString: /1/2/58/68/, depth: 3, childCount: 0, remoteId: b8cc4627dbc3ca693c85b6b06a8f7492, Children: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/locations/1/2/58/68/children }, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/67 }, sortField: PUBLISHED, sortOrder: DESC, UrlAliases: { _media-type: application/vnd.ibexa.api.UrlAliasRefList+json, _href: /api/ibexa/v2/content/locations/1/2/58/68/urlaliases }, ContentInfo: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/67, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/67, _remoteId: 180adb876af5755d65c1a362fcd619c8, _id: 67, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/45 }, Name: Tip1, TranslatedName: Tip1, Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/67/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/67/currentversion }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/67/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2021-06-28T11:36:21+00:00', publishedDate: '2021-06-28T11:36:21+00:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/67/objectstates } } } } }, { _media-type: application/vnd.ibexa.api.Bookmark+json, __href: /api/ibexa/v2/bookmark/59, Location: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2/59, id: 59, priority: 0, hidden: false, invisible: false, explicitlyHidden: false, ParentLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2 }, pathString: /1/2/59/, depth: 2, childCount: 3, remoteId: fd949fc2eed1fff847d73021ff1a6ea9, Children: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/locations/1/2/59/children }, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/58 }, sortField: PATH, sortOrder: ASC, UrlAliases: { _media-type: application/vnd.ibexa.api.UrlAliasRefList+json, _href: /api/ibexa/v2/content/locations/1/2/59/urlaliases }, ContentInfo: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/58, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/58, _remoteId: 00b513aae54036a16e00fb3365c4b5f3, _id: 58, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1 }, Name: 'Dog Breed Catalog', TranslatedName: 'Dog Breed Catalog', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/58/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/58/currentversion }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/58/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2021-06-28T11:23:10+00:00', publishedDate: '2021-06-28T11:23:10+00:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/58/objectstates } } } } }] + '401': + description: 'Error - the user is not authorized to list bookmarks.' + summary: 'List of bookmarks' + description: 'Lists bookmarked Locations for the current user.' + parameters: + - + name: Accept + in: header + description: 'If set, the list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/bookmark/{locationId}': + post: + operationId: api_bookmark_locationId_post + tags: + - Bookmark + responses: + '201': + description: Created. + '401': + description: 'Error - the user is not authorized to given Location.' + '404': + description: 'Error - the given Location does not exist.' + '409': + description: 'Error - Location is already bookmarked.' + summary: 'Create bookmark' + description: 'Add given Location to bookmarks of the current user.' + parameters: + - + name: locationId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new BookmarkCreateController resource' + content: { } + required: false + deprecated: false + delete: + operationId: api_bookmark_locationId_delete + tags: + - Bookmark + responses: + '204': + description: 'Deleted - no content.' + '401': + description: 'Error - the user is not authorized for the given Location.' + '404': + description: 'Error - the given Location does not exist / is not bookmarked.' + summary: 'Delete bookmark' + description: 'Deletes the given Location from bookmarks of the current user.' + parameters: + - + name: locationId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + head: + operationId: api_bookmark_locationId_head + tags: + - Bookmark + responses: + '200': + description: 'OK - bookmarked.' + '401': + description: 'Error - the user is not authorized for the given Location.' + '404': + description: 'Error - the given Location does not exist / is not bookmarked.' + summary: 'Check if Location is bookmarked' + description: 'Checks if the given Location is bookmarked by the current user.' + parameters: + - + name: locationId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /calendar/event: + get: + operationId: api_calendarevent_get + tags: + - Calendar + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.EventList+xml: + schema: + $ref: '#/components/schemas/EventList' + example: | + + + 5 + + application/vnd.ibexa.api.EventList+json: + schema: + $ref: '#/components/schemas/EventListWrapper' + example: + EventList: + _media-type: application/vnd.ibexa.api.EventList+json + _currentPage: '/api/ibexa/v2/calendar/event?start=1597104000&end=1598745600&count=10' + totalCount: 5 + events: [] + summary: 'Calendar list' + description: 'Calendar event list.' + parameters: + - + name: Accept + in: header + description: 'If set, the calendar event list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /calendar/event/grouped-by-day: + get: + operationId: api_calendareventgrouped-by-day_get + tags: + - Calendar + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.EventGroupList+xml: + schema: + $ref: '#/components/schemas/EventGroupList' + example: | + + + + + 1597104000 + 1597190400 + + 0 + + + + 1597190400 + 1597276800 + + 0 + + + + 1597276800 + 1597363200 + + 1 + + + + 1597363200 + 1597449600 + + 1 + + + + 1597449600 + 1597536000 + + 1 + + + + 1597536000 + 1597622400 + + 1 + + + + 1597622400 + 1597708800 + + 0 + + + + 1597708800 + 1597795200 + + 0 + + + + 1597795200 + 1597881600 + + 1 + + + + 1597881600 + 1597968000 + + 0 + + + + 1597968000 + 1598054400 + + 0 + + + + 1598054400 + 1598140800 + + 0 + + + + 1598140800 + 1598227200 + + 0 + + + + 1598227200 + 1598313600 + + 0 + + + + 1598313600 + 1598400000 + + 0 + + + + 1598400000 + 1598486400 + + 0 + + + + 1598486400 + 1598572800 + + 0 + + + + 1598572800 + 1598659200 + + 0 + + + + 1598659200 + 1598745600 + + 0 + + + application/vnd.ibexa.api.EventGroupList+json: + schema: + $ref: '#/components/schemas/EventGroupListWrapper' + example: + EventGroupList: + _media-type: application/vnd.ibexa.api.EventGroupList+json + groups: [{ _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1597104000&end=1597190400&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1597104000', endDate: '1597190400' }, totalCount: 0, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1597190400&end=1597276800&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1597190400', endDate: '1597276800' }, totalCount: 0, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1597276800&end=1597363200&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1597276800', endDate: '1597363200' }, totalCount: 1, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1597363200&end=1597449600&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1597363200', endDate: '1597449600' }, totalCount: 1, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1597449600&end=1597536000&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1597449600', endDate: '1597536000' }, totalCount: 1, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1597536000&end=1597622400&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1597536000', endDate: '1597622400' }, totalCount: 1, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1597622400&end=1597708800&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1597622400', endDate: '1597708800' }, totalCount: 0, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1597708800&end=1597795200&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1597708800', endDate: '1597795200' }, totalCount: 0, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1597795200&end=1597881600&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1597795200', endDate: '1597881600' }, totalCount: 1, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1597881600&end=1597968000&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1597881600', endDate: '1597968000' }, totalCount: 0, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1597968000&end=1598054400&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1597968000', endDate: '1598054400' }, totalCount: 0, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1598054400&end=1598140800&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1598054400', endDate: '1598140800' }, totalCount: 0, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1598140800&end=1598227200&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1598140800', endDate: '1598227200' }, totalCount: 0, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1598227200&end=1598313600&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1598227200', endDate: '1598313600' }, totalCount: 0, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1598313600&end=1598400000&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1598313600', endDate: '1598400000' }, totalCount: 0, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1598400000&end=1598486400&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1598400000', endDate: '1598486400' }, totalCount: 0, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1598486400&end=1598572800&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1598486400', endDate: '1598572800' }, totalCount: 0, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1598572800&end=1598659200&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1598572800', endDate: '1598659200' }, totalCount: 0, events: [] }, { _media-type: application/vnd.ibexa.api.EventGroup+json, _currentPage: '/api/ibexa/v2/calendar/event?start=1598659200&end=1598745600&count=10', DateRange: { _media-type: application/vnd.ibexa.api.DateRange+json, startDate: '1598659200', endDate: '1598745600' }, totalCount: 0, events: [] }] + summary: 'Calendar list grouped by day' + description: 'Calendar event list grouped by day.' + parameters: + - + name: Accept + in: header + description: 'If set, the calendar event list grouped by day is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/calendar/event/{eventType}': + post: + operationId: api_calendarevent_eventType_post + tags: + - Calendar + responses: + '204': + description: 'No Content - the action has been unscheduled.' + summary: 'Calendar action' + description: 'A calendar action that e.g. reschedules or unschedules calendar events. The event type should always be copied from an event.' + parameters: + - + name: Content-Type + in: header + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: eventType + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new EventExecuteActionController resource' + content: + application/vnd.ibexa.api.calendar.future_publication.UnscheduleAction+json: + schema: + $ref: '#/components/schemas/UnscheduleActionWrapper' + example: + UnscheduleAction: + events: + - 'future_publication:2' + application/vnd.ibexa.api.calendar.future_hide.UnscheduleAction+json: + schema: + $ref: '#/components/schemas/UnscheduleActionWrapper' + example: + UnscheduleAction: + events: + - 'future_publication:2' + required: false + deprecated: false + /cart: + post: + operationId: api_cart_post + tags: + - Cart + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Cart+xml: + schema: + $ref: '#/components/schemas/Cart' + application/vnd.ibexa.api.Cart+json: + schema: + $ref: '#/components/schemas/CartWrapper' + example: + Cart: + _media-type: application/vnd.ibexa.api.Cart+json + id: 12 + identifier: fafccc4b-cce1-40d7-8d23-29ad41638581 + name: Default + createdAt: '2023-10-12T10:02:51+00:00' + updatedAt: '2023-10-12T10:02:51+00:00' + owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true } + entries: [] + '400': + description: 'Error - The input does not match the input schema definition.' + summary: 'Create Cart' + description: 'Creates Cart from payload.' + parameters: + - + name: Content-Type + in: header + description: 'The CartCreate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Accept + in: header + description: 'If set, the created Cart is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new CartCreateController resource' + content: + application/vnd.ibexa.api.CartCreate+xml: + schema: + $ref: '#/components/schemas/CartCreate' + application/vnd.ibexa.api.CartCreate+json: + schema: + $ref: '#/components/schemas/CartCreateWrapper' + example: + CartCreate: + name: Default + currencyCode: EUR + context: + foo: bar + required: false + deprecated: false + /cart/view: + post: + operationId: api_cartview_post + tags: + - Cart + responses: + '200': + description: 'OK - returns a view and its results' + content: + application/vnd.ibexa.api.CartView+xml: + schema: + $ref: '#/components/schemas/CartView' + application/vnd.ibexa.api.CartView+json: + schema: + $ref: '#/components/schemas/CartViewWrapper' + summary: 'Filter carts' + description: 'Executes a query and returns a View including the results.' + parameters: + - + name: Accept + in: header + description: 'The CartView schema is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The CartViewInput schema is posted in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new CartViewController resource' + content: + application/vnd.ibexa.api.CartViewInput+xml: + schema: + $ref: '#/components/schemas/CartViewInput' + application/vnd.ibexa.api.CartViewInput+json: + schema: + $ref: '#/components/schemas/CartViewInputWrapper' + example: + CartViewInput: + identifier: loadUserCarts + CartQuery: + offset: 0 + limit: 10 + ownerId: 123 + required: false + deprecated: false + '/cart/{identifier}': + get: + operationId: api_cart_identifier_get + tags: + - Cart + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Cart+xml: + schema: + $ref: '#/components/schemas/Cart' + application/vnd.ibexa.api.Cart+json: + schema: + $ref: '#/components/schemas/CartWrapper' + example: + Cart: + _media-type: application/vnd.ibexa.api.Cart+json + id: 12 + identifier: fafccc4b-cce1-40d7-8d23-29ad41638581 + name: Default + createdAt: '2023-10-12T10:02:51+00:00' + updatedAt: '2023-10-12T10:02:51+00:00' + owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true } + entries: [] + '401': + description: 'Error - the user is not authorized to get this cart.' + '404': + description: 'Error - The identifier do not match any Cart.' + summary: 'Get Cart' + description: 'Gets Cart by its identifier.' + parameters: + - + name: Accept + in: header + description: 'The Cart is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_cart_identifier_delete + tags: + - Cart + responses: + '204': + description: 'CartDeleteController resource deleted' + summary: 'Delete Cart' + description: 'Deletes Cart by its identifier.' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_cart_identifier_patch + tags: + - Cart + responses: + '200': + description: 'OK - return the updated cart' + content: + application/vnd.ibexa.api.Cart+xml: + schema: + $ref: '#/components/schemas/Cart' + application/vnd.ibexa.api.Cart+json: + schema: + $ref: '#/components/schemas/CartWrapper' + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update this cart.' + '404': + description: 'Error - The identifier do not match any cart.' + summary: "Update Cart's metadata" + description: "Updates identified Cart's metadata from payload." + parameters: + - + name: Content-Type + in: header + description: 'The CartMetadataUpdate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Accept + in: header + description: 'If set, the updated Cart is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated CartUpdateController resource' + content: + application/vnd.ibexa.api.CartMetadataUpdate+xml: + schema: + $ref: '#/components/schemas/CartMetadataUpdate' + application/vnd.ibexa.api.CartMetadataUpdate+json: + schema: + $ref: '#/components/schemas/CartMetadataUpdateWrapper' + required: false + deprecated: false + '/cart/{identifier}/empty': + post: + operationId: api_cart_identifierempty_post + tags: + - Cart + responses: + '204': + description: 'No Content - Cart emptied.' + '401': + description: 'Error - The user is not authorized to empty this Cart.' + '404': + description: 'Error - Cart not found.' + summary: 'Empty Cart' + description: 'Empties the given Cart.' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new CartEmptyController resource' + content: { } + required: false + deprecated: false + '/cart/{identifier}/entry': + post: + operationId: api_cart_identifierentry_post + tags: + - Cart + responses: + '200': + description: 'OK - return the updated cart' + content: + application/vnd.ibexa.api.Cart+xml: + schema: + $ref: '#/components/schemas/Cart' + application/vnd.ibexa.api.Cart+json: + schema: + $ref: '#/components/schemas/CartWrapper' + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to add an entry to this cart.' + '404': + description: 'Error - The identifier do not match any cart.' + summary: 'Add Entry to Cart' + description: 'Adds an entry to the cart referenced by its identifier' + parameters: + - + name: Content-Type + in: header + description: 'The CartEntryAdd schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Accept + in: header + description: 'If set, the updated Cart is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new CartEntryCreateController resource' + content: + application/vnd.ibexa.api.CartEntryAdd+xml: + schema: + $ref: '#/components/schemas/CartEntryAdd' + application/vnd.ibexa.api.CartEntryAdd+json: + schema: + $ref: '#/components/schemas/CartEntryAddWrapper' + required: false + deprecated: false + '/cart/{identifier}/entry/{entryId}': + delete: + operationId: api_cart_identifierentry_entryId_delete + tags: + - Cart + responses: + '200': + description: 'OK - return the updated cart' + content: + application/vnd.ibexa.api.Cart+xml: + schema: + $ref: '#/components/schemas/Cart' + application/vnd.ibexa.api.Cart+json: + schema: + $ref: '#/components/schemas/CartWrapper' + '401': + description: 'Error - the user is not authorized to remove an entry from this cart.' + '404': + description: "Error - the identifiers don't match any cart or entry." + '204': + description: 'CartEntryRemoveController resource deleted' + summary: 'Remove Entry from Cart' + description: 'Removes the given entry from the given Cart.' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: entryId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Accept + in: header + description: 'If set, the updated Cart is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_cart_identifierentry_entryId_patch + tags: + - Cart + responses: + '200': + description: 'OK - return the updated cart' + content: + application/vnd.ibexa.api.Cart+xml: + schema: + $ref: '#/components/schemas/Cart' + application/vnd.ibexa.api.Cart+json: + schema: + $ref: '#/components/schemas/CartWrapper' + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update an entry of this cart.' + '404': + description: "Error - the identifiers don't match any cart or entry." + summary: 'Update Entry from Cart' + description: 'Updates the given entry from the given Cart.' + parameters: + - + name: Content-Type + in: header + description: 'The CartEntryUpdate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: entryId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Accept + in: header + description: 'If set, the updated Cart is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated CartEntryUpdateController resource' + content: + application/vnd.ibexa.api.CartEntryUpdate+xml: + schema: + $ref: '#/components/schemas/CartEntryUpdate' + application/vnd.ibexa.api.CartEntryUpdate+json: + schema: + $ref: '#/components/schemas/CartEntryUpdateWrapper' + required: false + deprecated: false + '/cart/{identifier}/summary': + get: + operationId: api_cart_identifiersummary_get + tags: + - Cart + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.CartSummary+xml: + schema: + $ref: '#/components/schemas/CartSummary' + application/vnd.ibexa.api.CartSummary+json: + schema: + $ref: '#/components/schemas/CartSummaryWrapper' + example: + CartSummary: + _media-type: application/vnd.ibexa.api.CartSummary+json + _href: /api/ibexa/v2/cart/fdfb2e95-b0b9-4f17-b0cc-08d4d2cfd8f1/summary + id: 1 + identifier: fdfb2e95-b0b9-4f17-b0cc-08d4d2cfd8f1 + name: Updated + createdAt: '2023-01-10T12:48:40+00:00' + updatedAt: '2023-01-10T12:49:10+00:00' + Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + SummaryEntryCollection: { _media-type: application/vnd.ibexa.api.SummaryEntryCollection+json, count: '1', SummaryEntry: [{ _media-type: application/vnd.ibexa.api.CartSummaryEntry+json, identifier: ddf3d7bf-ca17-4eff-8265-2d7e00877a91, id: 1, names: { value: [{ _languageCode: eng-GB, '#text': 'Flipper Zero' }] }, quantity: 2, Price: { _media-type: application/vnd.ibexa.api.Price+json, RestPrice: { _media-type: application/vnd.ibexa.api.RestPrice+json, Price: { _media-type: application/vnd.ibexa.api.Price+json, amount: '100', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true } }, formatted: €1.00 } }, PriceInclVat: { _media-type: application/vnd.ibexa.api.PriceInclVat+json, RestPrice: { _media-type: application/vnd.ibexa.api.RestPrice+json, Price: { _media-type: application/vnd.ibexa.api.Price+json, amount: '12300', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true } }, formatted: €123.00 } }, SubtotalPrice: { _media-type: application/vnd.ibexa.api.SubtotalPrice+json, RestPrice: { _media-type: application/vnd.ibexa.api.RestPrice+json, Price: { _media-type: application/vnd.ibexa.api.Price+json, amount: '20000', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true } }, formatted: €200.00 } }, SubtotalPriceInclVat: { _media-type: application/vnd.ibexa.api.SubtotalPriceInclVat+json, RestPrice: { _media-type: application/vnd.ibexa.api.RestPrice+json, Price: { _media-type: application/vnd.ibexa.api.Price+json, amount: '24600', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true } }, formatted: €246.00 } }, VatCategory: { _media-type: application/vnd.ibexa.api.VatCategory+json, identifier: default, region: poland, vatValue: 23 }, Product: { _media-type: application/vnd.ibexa.api.Product+json, code: '0001', name: 'Flipper Zero', ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: tool, name: Tool, AttributeAssignmentList: [] }, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/67, _remoteId: 3a12e8a3480143ce0159a55e152533b1, _id: 67, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/50 }, Name: 'Flipper Zero', TranslatedName: 'Flipper Zero', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/67/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/67/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/67/versions/1, VersionInfo: { id: 527, versionNo: 1, status: PUBLISHED, modificationDate: '2023-01-10T12:44:41+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-01-10T12:44:41+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Flipper Zero' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/67 } }, Fields: { field: [{ id: 300, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Flipper Zero' }, { id: 301, fieldDefinitionIdentifier: product_specification, languageCode: eng-GB, fieldTypeIdentifier: ibexa_product_specification, fieldValue: { id: 1, code: '0001', attributes: [] } }, { id: 302, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 303, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image_asset, fieldValue: { destinationContentId: null, alternativeText: null, source: null } }, { id: 304, fieldDefinitionIdentifier: category, languageCode: eng-GB, fieldTypeIdentifier: ibexa_taxonomy_entry_assignment, fieldValue: { taxonomy_entries: [3], taxonomy: product_categories } }, { id: 305, fieldDefinitionIdentifier: field_63bd5d67f1817, languageCode: eng-GB, fieldTypeIdentifier: ibexa_seo, fieldValue: '' }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/67/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/67/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-01-10T12:44:41+00:00', publishedDate: '2023-01-10T12:44:41+00:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/67/objectstates } }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml }, created_at: 1673354681, updated_at: 1673354681, AttributesList: [], Availability: { _media-type: application/vnd.ibexa.api.Availability+json, is_available: true, stock: 100, is_infinite: false }, Price: { _media-type: application/vnd.ibexa.api.Price+json, amount: '100.00', base_amount: '100.00', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true }, money: '10000', base_money: '10000' } } }] } + TotalPrice: { _media-type: application/vnd.ibexa.api.Price+json, RestPrice: { _media-type: application/vnd.ibexa.api.RestPrice+json, Price: { _media-type: application/vnd.ibexa.api.Price+json, amount: '20000', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true } }, formatted: €200.00 } } + TotalPriceInclVat: { _media-type: application/vnd.ibexa.api.Price+json, RestPrice: { _media-type: application/vnd.ibexa.api.RestPrice+json, Price: { _media-type: application/vnd.ibexa.api.Price+json, amount: '24600', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true } }, formatted: €246.00 } } + vatCategorySummary: [{ _media-type: application/vnd.ibexa.api.VatCategorySummary+json, VatCategory: { _media-type: application/vnd.ibexa.api.VatCategory+json, identifier: default, region: poland, vatValue: 23 }, RestPrice: { _media-type: application/vnd.ibexa.api.RestPrice+json, Price: { _media-type: application/vnd.ibexa.api.Price+json, amount: '4600', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true } }, formatted: €46.00 } }] + Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true } + '401': + description: 'Error - The user is not authorized to read this Cart.' + '404': + description: 'Error - Cart not found.' + summary: 'Cart Summary' + description: 'Gets a summary of the given Cart.' + parameters: + - + name: Accept + in: header + description: 'If set, the Cart Summary is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /ai/action-types: + get: + operationId: api_aiaction-types_get + tags: + - 'Connector AI' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ai.ActionTypeList+json: + schema: + $ref: '#/components/schemas/ActionTypeList' + example: + ActionTypeList: + _media-type: application/vnd.ibexa.api.ai.ActionTypeList+json + _href: /api/ibexa/v2/ai/action-types + ActionType: [{ _media-type: application/vnd.ibexa.api.ai.ActionType+json, identifier: generate_alt_text, name: 'Generate alternative text', inputIdentifier: image, outputIdentifier: text, options: { width: 512, height: 512, image_quality: 85 } }, { _media-type: application/vnd.ibexa.api.ai.ActionType+json, identifier: refine_text, name: 'Refine text', inputIdentifier: text, outputIdentifier: text, options: [] }] + application/vnd.ibexa.api.ai.ActionTypeList+xml: + schema: + $ref: '#/components/schemas/ActionTypeList' + example: | + + + + generate_alt_text + Generate alternative text + image + text + + 512 + 512 + 85 + + + + refine_text + Refine text + text + text + + + + summary: 'Get action types list.' + description: 'Returns action types list.' + parameters: [] + deprecated: false + '/ai/action-types/{identifier}': + get: + operationId: api_aiaction-types_identifier_get + tags: + - 'Connector AI' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ai.ActionType+json: + schema: + $ref: '#/components/schemas/ActionType' + example: + ActionType: + _media-type: application/vnd.ibexa.api.ai.ActionType+json + identifier: generate_alt_text + name: 'Generate alternative text' + inputIdentifier: image + outputIdentifier: text + options: { width: 512, height: 512, image_quality: 85 } + application/vnd.ibexa.api.ai.ActionType+xml: + schema: + $ref: '#/components/schemas/ActionType' + example: | + + + generate_alt_text + Generate alternative text + image + text + + 512 + 512 + 85 + + + '406': + description: 'Error - an action type of the given unique identifier is not found.' + summary: 'Get an action type by its unique identifier.' + description: 'Returns an action type by its unique string identifier.' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + example: generate_alt_text + deprecated: false + /ai/actions: + get: + operationId: api_aiactions_get + tags: + - 'Connector AI' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ai.ActionConfigurationList+json: + schema: + $ref: '#/components/schemas/ActionConfigurationList' + example: + ActionConfigurationList: + _media-type: application/vnd.ibexa.api.ai.ActionConfigurationList+json + _href: /api/ibexa/v2/ai/actions + ActionConfiguration: [{ _media-type: application/vnd.ibexa.api.ai.ActionConfiguration+json, identifier: rewrite_with_friendly_tone, name: 'Rewrite in friendly tone', description: '', enabled: true, ActionType: { _media-type: application/vnd.ibexa.api.ai.ActionType+json, identifier: refine_text, name: 'Refine text', inputIdentifier: text, outputIdentifier: text, options: [] }, actionTypeOptions: [], actionHandlerIdentifier: openai-text-to-text, actionHandlerOptions: { max_tokens: 4000, temperature: 1, prompt: 'Rewrite text in friendly tone. Preserve meaning and crucial information.', model: gpt-4-turbo }, createdAt: '2025-08-07T13:16:47+02:00', updatedAt: '2025-08-07T13:16:47+02:00' }, { _media-type: application/vnd.ibexa.api.ai.ActionConfiguration+json, identifier: rewrite_with_professional_tone, name: 'Rewrite in professional tone', description: '', enabled: true, ActionType: { _media-type: application/vnd.ibexa.api.ai.ActionType+json, identifier: refine_text, name: 'Refine text', inputIdentifier: text, outputIdentifier: text, options: [] }, actionTypeOptions: [], actionHandlerIdentifier: openai-text-to-text, actionHandlerOptions: { max_tokens: 4000, temperature: 1, prompt: 'Rewrite text in professional tone. Preserve meaning and crucial information.', model: gpt-4-turbo }, createdAt: '2025-08-07T13:16:47+02:00', updatedAt: '2025-08-07T13:16:47+02:00' }, { _media-type: application/vnd.ibexa.api.ai.ActionConfiguration+json, identifier: summarize_text, name: Summarize, description: '', enabled: true, ActionType: { _media-type: application/vnd.ibexa.api.ai.ActionType+json, identifier: refine_text, name: 'Refine text', inputIdentifier: text, outputIdentifier: text, options: [] }, actionTypeOptions: [], actionHandlerIdentifier: openai-text-to-text, actionHandlerOptions: { max_tokens: 4000, temperature: 1, prompt: 'Summarize text into one sentence. Preserve meaning and crucial information.', model: gpt-4-turbo }, createdAt: '2025-08-07T13:16:47+02:00', updatedAt: '2025-08-07T13:16:47+02:00' }, { _media-type: application/vnd.ibexa.api.ai.ActionConfiguration+json, identifier: expand_text, name: 'Expand text', description: '', enabled: true, ActionType: { _media-type: application/vnd.ibexa.api.ai.ActionType+json, identifier: refine_text, name: 'Refine text', inputIdentifier: text, outputIdentifier: text, options: [] }, actionTypeOptions: [], actionHandlerIdentifier: openai-text-to-text, actionHandlerOptions: { max_tokens: 4000, temperature: 1, prompt: 'Expand the given text by 25%. Preserve meaning and crucial information.', model: gpt-4-turbo }, createdAt: '2025-08-07T13:16:47+02:00', updatedAt: '2025-08-07T13:16:47+02:00' }, { _media-type: application/vnd.ibexa.api.ai.ActionConfiguration+json, identifier: shorten_text, name: 'Shorten text', description: '', enabled: true, ActionType: { _media-type: application/vnd.ibexa.api.ai.ActionType+json, identifier: refine_text, name: 'Refine text', inputIdentifier: text, outputIdentifier: text, options: [] }, actionTypeOptions: [], actionHandlerIdentifier: openai-text-to-text, actionHandlerOptions: { max_tokens: 4000, temperature: 1, prompt: 'Shorten the given text by 25%. Preserve meaning and crucial information.', model: gpt-4-turbo }, createdAt: '2025-08-07T13:16:47+02:00', updatedAt: '2025-08-07T13:16:47+02:00' }, { _media-type: application/vnd.ibexa.api.ai.ActionConfiguration+json, identifier: proofread, name: Proofread, description: '', enabled: true, ActionType: { _media-type: application/vnd.ibexa.api.ai.ActionType+json, identifier: refine_text, name: 'Refine text', inputIdentifier: text, outputIdentifier: text, options: [] }, actionTypeOptions: [], actionHandlerIdentifier: openai-text-to-text, actionHandlerOptions: { max_tokens: 4000, temperature: 1, prompt: 'Rewrite given text to identify and fix grammatical and punctuation errors. Preserve meaning and crucial information.', model: gpt-4-turbo }, createdAt: '2025-08-07T13:16:47+02:00', updatedAt: '2025-08-07T13:16:47+02:00' }, { _media-type: application/vnd.ibexa.api.ai.ActionConfiguration+json, identifier: improve_readability, name: 'Improve readability', description: '', enabled: true, ActionType: { _media-type: application/vnd.ibexa.api.ai.ActionType+json, identifier: refine_text, name: 'Refine text', inputIdentifier: text, outputIdentifier: text, options: [] }, actionTypeOptions: [], actionHandlerIdentifier: openai-text-to-text, actionHandlerOptions: { max_tokens: 4000, temperature: 1, prompt: 'Rewrite this content to improve readability. Preserve meaning and crucial information.', model: gpt-4-turbo }, createdAt: '2025-08-07T13:16:47+02:00', updatedAt: '2025-08-07T13:16:47+02:00' }, { _media-type: application/vnd.ibexa.api.ai.ActionConfiguration+json, identifier: gen_alt_text, name: 'Generate alternative text', description: '', enabled: true, ActionType: { _media-type: application/vnd.ibexa.api.ai.ActionType+json, identifier: generate_alt_text, name: 'Generate alternative text', inputIdentifier: image, outputIdentifier: text, options: { width: 512, height: 512, image_quality: 85 } }, actionTypeOptions: { max_length: 140 }, actionHandlerIdentifier: openai-image-to-text, actionHandlerOptions: { max_tokens: 4000, temperature: 1, prompt: '', model: gpt-4-turbo }, createdAt: '2025-08-07T13:16:47+02:00', updatedAt: '2025-08-07T13:16:47+02:00' }] + application/vnd.ibexa.api.ai.ActionConfigurationList+xml: + schema: + $ref: '#/components/schemas/ActionConfigurationList' + example: | + + + + rewrite_with_friendly_tone + Rewrite in friendly tone + + 1 + + refine_text + Refine text + text + text + + + + openai-text-to-text + + 4000 + 1 + Rewrite text in friendly tone. Preserve meaning and crucial information. + gpt-4-turbo + + 2025-08-07T13:16:47+02:00 + 2025-08-07T13:16:47+02:00 + + + rewrite_with_professional_tone + Rewrite in professional tone + + 1 + + refine_text + Refine text + text + text + + + + openai-text-to-text + + 4000 + 1 + Rewrite text in professional tone. Preserve meaning and crucial information. + gpt-4-turbo + + 2025-08-07T13:16:47+02:00 + 2025-08-07T13:16:47+02:00 + + + summarize_text + Summarize + + 1 + + refine_text + Refine text + text + text + + + + openai-text-to-text + + 4000 + 1 + Summarize text into one sentence. Preserve meaning and crucial information. + gpt-4-turbo + + 2025-08-07T13:16:47+02:00 + 2025-08-07T13:16:47+02:00 + + + expand_text + Expand text + + 1 + + refine_text + Refine text + text + text + + + + openai-text-to-text + + 4000 + 1 + Expand the given text by 25%. Preserve meaning and crucial information. + gpt-4-turbo + + 2025-08-07T13:16:47+02:00 + 2025-08-07T13:16:47+02:00 + + + shorten_text + Shorten text + + 1 + + refine_text + Refine text + text + text + + + + openai-text-to-text + + 4000 + 1 + Shorten the given text by 25%. Preserve meaning and crucial information. + gpt-4-turbo + + 2025-08-07T13:16:47+02:00 + 2025-08-07T13:16:47+02:00 + + + proofread + Proofread + + 1 + + refine_text + Refine text + text + text + + + + openai-text-to-text + + 4000 + 1 + Rewrite given text to identify and fix grammatical and punctuation errors. Preserve meaning and crucial information. + gpt-4-turbo + + 2025-08-07T13:16:47+02:00 + 2025-08-07T13:16:47+02:00 + + + improve_readability + Improve readability + + 1 + + refine_text + Refine text + text + text + + + + openai-text-to-text + + 4000 + 1 + Rewrite this content to improve readability. Preserve meaning and crucial information. + gpt-4-turbo + + 2025-08-07T13:16:47+02:00 + 2025-08-07T13:16:47+02:00 + + + gen_alt_text + Generate alternative text + + 1 + + generate_alt_text + Generate alternative text + image + text + + 512 + 512 + 85 + + + + 140 + + openai-image-to-text + + 4000 + 1 + + gpt-4-turbo + + 2025-08-07T13:16:47+02:00 + 2025-08-07T13:16:47+02:00 + + + summary: 'Get action configuration list.' + description: 'Returns action configuration list.' + parameters: [] + deprecated: false + post: + operationId: api_aiactions_post + tags: + - 'Connector AI' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ai.ActionConfigurationList+json: + schema: + $ref: '#/components/schemas/ActionConfigurationList' + example: + ActionConfigurationList: + _media-type: application/vnd.ibexa.api.ai.ActionConfigurationList+json + _href: /api/ibexa/v2/ai/actions + ActionConfiguration: [{ _media-type: application/vnd.ibexa.api.ai.ActionConfiguration+json, identifier: rewrite_with_professional_tone, name: 'Rewrite in professional tone', description: '', enabled: true, ActionType: { _media-type: application/vnd.ibexa.api.ai.ActionType+json, identifier: refine_text, name: 'Refine text', inputIdentifier: text, outputIdentifier: text, options: [] }, actionTypeOptions: [], actionHandlerIdentifier: openai-text-to-text, actionHandlerOptions: { max_tokens: 4000, temperature: 1, prompt: 'Rewrite text in professional tone. Preserve meaning and crucial information.', model: gpt-4-turbo }, createdAt: '2025-08-07T13:16:47+02:00', updatedAt: '2025-08-07T13:16:47+02:00' }, { _media-type: application/vnd.ibexa.api.ai.ActionConfiguration+json, identifier: rewrite_with_friendly_tone, name: 'Rewrite in friendly tone', description: '', enabled: true, ActionType: { _media-type: application/vnd.ibexa.api.ai.ActionType+json, identifier: refine_text, name: 'Refine text', inputIdentifier: text, outputIdentifier: text, options: [] }, actionTypeOptions: [], actionHandlerIdentifier: openai-text-to-text, actionHandlerOptions: { max_tokens: 4000, temperature: 1, prompt: 'Rewrite text in friendly tone. Preserve meaning and crucial information.', model: gpt-4-turbo }, createdAt: '2025-08-07T13:16:47+02:00', updatedAt: '2025-08-07T13:16:47+02:00' }] + application/vnd.ibexa.api.ai.ActionConfigurationList+xml: + schema: + $ref: '#/components/schemas/ActionConfigurationList' + example: | + + + + rewrite_with_professional_tone + Rewrite in professional tone + + 1 + + refine_text + Refine text + text + text + + + + openai-text-to-text + + 4000 + 1 + Rewrite text in professional tone. Preserve meaning and crucial information. + gpt-4-turbo + + 2025-08-07T13:16:47+02:00 + 2025-08-07T13:16:47+02:00 + + + rewrite_with_friendly_tone + Rewrite in friendly tone + + 1 + + refine_text + Refine text + text + text + + + + openai-text-to-text + + 4000 + 1 + Rewrite text in friendly tone. Preserve meaning and crucial information. + gpt-4-turbo + + 2025-08-07T13:16:47+02:00 + 2025-08-07T13:16:47+02:00 + + + summary: 'Query action configuration list.' + description: 'Returns action configuration list based on the given query.' + parameters: + - + name: X-Csrf-Token + in: header + description: 'CSRF token obtained during the authentication.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ActionConfigurationListController resource' + content: + application/vnd.ibexa.api.ai.ActionConfigurationListInput+json: + schema: + $ref: '#/components/schemas/ActionConfigurationListInput' + example: + ActionConfigurationListInput: + query: Rewrite + action_type_identifier: refine_text + enabled: true + limit: 25 + page: 1 + application/vnd.ibexa.api.ai.ActionConfigurationListInput+xml: + schema: + $ref: '#/components/schemas/ActionConfigurationListInput' + example: | + + + Rewrite + refine_text + 1 + 25 + 1 + + required: false + deprecated: false + '/ai/actions/{actionConfigurationIdentifier}/execute': + post: + operationId: api_aiactions_actionConfigurationIdentifierexecute_post + tags: + - 'Connector AI' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ai.Text+json: + schema: + $ref: '#/components/schemas/Text' + example: + Text: + _media-type: application/vnd.ibexa.api.ai.Text+json + text: ['Hello, how have you been spending your day?'] + application/vnd.ibexa.api.ai.Text+xml: + schema: + $ref: '#/components/schemas/Text' + example: | + + + Hello, I hope you are well. How have you been spending your day? + + application/vnd.ibexa.api.ai.AltText+json: + schema: + $ref: '#/components/schemas/AltText' + example: + AltText: + _media-type: application/vnd.ibexa.api.ai.AltText+json + Text: { _media-type: application/vnd.ibexa.api.ai.Text+json, text: ['Blurred image of an open laptop on a desk with paperwork and another laptop in the background.'] } + application/vnd.ibexa.api.ai.AltText+xml: + schema: + $ref: '#/components/schemas/AltText' + example: | + + + + Sunlit home office with an open laptop, papers, and a blurred background. + + + '400': + description: 'Error - if the provided input or action configuration is invalid or the given action cannot be performed for any reason.' + content: + application/vnd.ibexa.api.ai.ErrorMessage+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.ibexa.api.ai.ErrorMessage+xml: + schema: + $ref: '#/components/schemas/ErrorMessage' + summary: 'Execute the given AI action' + description: 'Executes the given AI Action using configured ActionConfiguration or ActionHandler, if passed. Might consume AI agent resources.' + parameters: + - + name: actionConfigurationIdentifier + in: path + description: 'Configured action name (obtain by listing the configured actions via GET `/api/ibexa/v2/ai/actions` endpoint).' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + examples: + rewrite_with_friendly_tone: + value: rewrite_with_friendly_tone + rewrite_with_professional_tone: + value: rewrite_with_professional_tone + summarize_text: + value: summarize_text + expand_text: + value: expand_text + shorten_text: + value: shorten_text + proofread: + value: proofread + improve_readability: + value: improve_readability + gen_alt_text: + value: gen_alt_text + - + name: X-Csrf-Token + in: header + description: 'CSRF token obtained during the authentication.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'Input to execute the action. An Input type must match the action type.' + content: + application/vnd.ibexa.api.ai.RefineText+json: + schema: + $ref: '#/components/schemas/RefineText' + example: + RefineText: + Text: + text: ["Hey, wassup. What you've been doing the whole day?"] + RuntimeContext: [] + application/vnd.ibexa.api.ai.RefineText+xml: + schema: + $ref: '#/components/schemas/RefineText' + example: | + + + + Hey, wassup. What you've been doing the whole day? + + + + application/vnd.ibexa.api.ai.GenerateAltText+json: + schema: + $ref: '#/components/schemas/GenerateAltText' + example: + GenerateAltText: + Image: + base64: 'data:image/jpeg;base64,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' + RuntimeContext: [] + application/vnd.ibexa.api.ai.GenerateAltText+xml: + schema: + $ref: '#/components/schemas/GenerateAltText' + example: | + + + + data:image/jpeg;base64,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 + + + + required: false + deprecated: false + '/ai/actions/{identifier}': + get: + operationId: api_aiactions_identifier_get + tags: + - 'Connector AI' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ai.ActionConfiguration+json: + schema: + $ref: '#/components/schemas/ActionConfiguration' + example: + ActionConfiguration: + _media-type: application/vnd.ibexa.api.ai.ActionConfiguration+json + identifier: rewrite_with_friendly_tone + name: 'Rewrite in friendly tone' + description: '' + enabled: true + ActionType: { _media-type: application/vnd.ibexa.api.ai.ActionType+json, identifier: refine_text, name: 'Refine text', inputIdentifier: text, outputIdentifier: text, options: [] } + actionTypeOptions: [] + actionHandlerIdentifier: openai-text-to-text + actionHandlerOptions: { max_tokens: 4000, temperature: 1, prompt: 'Rewrite text in friendly tone. Preserve meaning and crucial information.', model: gpt-4-turbo } + createdAt: '2025-08-07T13:16:47+02:00' + updatedAt: '2025-08-07T13:18:00+02:00' + application/vnd.ibexa.api.ai.ActionConfiguration+xml: + schema: + $ref: '#/components/schemas/ActionConfiguration' + example: | + + + rewrite_with_friendly_tone + Rewrite in friendly tone + + 1 + + refine_text + Refine text + text + text + + + + openai-text-to-text + + 4000 + 1 + Rewrite text in friendly tone. Preserve meaning and crucial information. + gpt-4-turbo + + 2025-08-07T13:16:47+02:00 + 2025-08-07T13:16:47+02:00 + + '404': + description: 'Error - an action configuration of the given unique identifier is not found.' + '401': + description: "Error – the user doesn't have access to the given action configuration" + summary: 'Get an action configuration by its unique identifier.' + description: 'Returns an action configuration by its unique string identifier.' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + example: rewrite_with_friendly_tone + deprecated: false + /corporate: + get: + operationId: api_corporate_get + tags: + - 'Corporate Account' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.CorporateAccountRoot+xml: + schema: + $ref: '#/components/schemas/CorporateAccountRoot' + example: | + + + + + + + + + + + + application/vnd.ibexa.api.CorporateAccountRoot+json: + schema: + $ref: '#/components/schemas/CorporateAccountRootWrapper' + example: + CorporateAccountRoot: + _media-type: application/vnd.ibexa.api.CorporateAccountRoot+json + links: [{ _media-type: application/vnd.ibexa.api.CompaniesList+json, _rel: ca-companies, _href: /api/ibexa/v2/corporate/companies }, { _media-type: application/vnd.ibexa.api.ContentTypeGroup+json, _rel: ca-types, _href: '/api/ibexa/v2/content/typegroups?identifier=corporate_account' }, { _media-type: application/vnd.ibexa.api.ContentType+json, _rel: ca-types-company, _href: /api/ibexa/v2/content/types/48 }, { _media-type: application/vnd.ibexa.api.ContentType+json, _rel: ca-types-member, _href: /api/ibexa/v2/content/types/47 }, { _media-type: application/vnd.ibexa.api.ContentType+json, _rel: ca-types-address, _href: /api/ibexa/v2/content/types/49 }, { _media-type: application/vnd.ibexa.api.SalesRepresentativesList+json, _rel: ca-sales-representatives, _href: /api/ibexa/v2/corporate/sales-representatives }, { _media-type: application/vnd.ibexa.api.Role+json, _rel: ca-role-admin, _href: /api/ibexa/v2/user/roles/14 }, { _media-type: application/vnd.ibexa.api.Role+json, _rel: ca-role-buyer, _href: /api/ibexa/v2/user/roles/15 }] + summary: 'Root Resource' + description: 'Provides basic information about Corporate Account endpoints and configuration.' + parameters: + - + name: Accept + in: header + description: 'If set, helps to determine response format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /corporate/companies: + get: + operationId: api_corporatecompanies_get + tags: + - 'Corporate Account' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.CompanyList+xml: + schema: + $ref: '#/components/schemas/CompanyList' + example: | + + + + 66 + Ibexa AS + + + Ibexa AS + Ibexa AS + + + + + 593 + 1 + PUBLISHED + 2023-04-03T13:09:40+02:00 + + 2023-04-03T13:09:40+02:00 + eng-GB + eng-GB + + + eng-GB + + + + Ibexa AS + + + + + + 295 + active + eng-GB + ibexa_boolean + true + + + 296 + name + eng-GB + ibexa_string + Ibexa AS + + + 297 + vat + eng-GB + ibexa_string + 123 456 789 + + + 298 + website + eng-GB + ibexa_string + https://ibexa.co + + + 299 + customer_group + eng-GB + ibexa_customer_group + + 1 + + + + 300 + sales_rep + eng-GB + ibexa_object_relation + + 14 + /api/ibexa/v2/content/objects/14 + + + + 301 + contact + eng-GB + ibexa_object_relation + + 74 + /api/ibexa/v2/content/objects/74 + + + + 302 + default_address + eng-GB + ibexa_object_relation + + 69 + /api/ibexa/v2/content/objects/69 + + + + 303 + billing_address + eng-GB + ibexa_address + + HQ + PL + + Silesia + Katowice + Gliwicka 6/5 + 40-079 + company@email.invalid + +48 000 000 000 + + + + + 305 + members + eng-GB + ibexa_object_relation + + 67 + /api/ibexa/v2/content/objects/67 + + + + 304 + address_book + eng-GB + ibexa_object_relation + + 68 + /api/ibexa/v2/content/objects/68 + + + + + + /placeholder + + + image/svg+xml + + + +
+ + + + 2023-04-03T13:09:40+02:00 + 2023-03-31T14:33:36+02:00 + eng-GB + 1 + true + false + PUBLISHED + + + HQ, Poland + 74 + 14 + 69 + 68 + 67 + + + /1/65/67/ + 1 + + + 75 + QNTM Group AB + + + QNTM Group AB + QNTM Group AB + + + + + 546 + 3 + PUBLISHED + 2023-03-31T15:24:49+02:00 + + 2023-03-31T15:24:49+02:00 + eng-GB + eng-GB + + + eng-GB + + + + QNTM Group AB + + + + + + 341 + active + eng-GB + ibexa_boolean + true + + + 342 + name + eng-GB + ibexa_string + QNTM Group AB + + + 343 + vat + eng-GB + ibexa_string + 123 456 789 + + + 344 + website + eng-GB + ibexa_string + https://ibexa.co + + + 345 + customer_group + eng-GB + ibexa_customer_group + + 1 + + + + 346 + sales_rep + eng-GB + ibexa_object_relation + + 14 + /api/ibexa/v2/content/objects/14 + + + + 347 + contact + eng-GB + ibexa_object_relation + + + + + + 348 + default_address + eng-GB + ibexa_object_relation + + + + + + 349 + billing_address + eng-GB + ibexa_address + + + + + + + + 351 + members + eng-GB + ibexa_object_relation + + 76 + /api/ibexa/v2/content/objects/76 + + + + 350 + address_book + eng-GB + ibexa_object_relation + + 77 + /api/ibexa/v2/content/objects/77 + + + + + + /placeholder + + + image/svg+xml + + + +
+ + + + 2023-03-31T15:24:49+02:00 + 2023-03-31T15:24:48+02:00 + eng-GB + 3 + true + false + PUBLISHED + + + + + 14 + + 77 + 76 + + + /1/65/76/ + 1 + + + application/vnd.ibexa.api.CompanyList+json: + schema: + $ref: '#/components/schemas/CompanyListWrapper' + example: + CompanyList: + _media-type: application/vnd.ibexa.api.CompanyList+json + companies: [{ _media-type: application/vnd.ibexa.api.Company+json, id: 66, name: 'Ibexa AS', Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/66, _remoteId: 9f20fb03d0ab0a6aef9930f7e6720377, _id: 66, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/48 }, Name: 'Ibexa AS', TranslatedName: 'Ibexa AS', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/66/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/66/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/66/versions/1, VersionInfo: { id: 593, versionNo: 1, status: PUBLISHED, modificationDate: '2023-04-03T13:09:40+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-03T13:09:40+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Ibexa AS' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/66 } }, Fields: { field: [{ id: 295, fieldDefinitionIdentifier: active, languageCode: eng-GB, fieldTypeIdentifier: ibexa_boolean, fieldValue: true }, { id: 296, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Ibexa AS' }, { id: 297, fieldDefinitionIdentifier: vat, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: '123 456 789' }, { id: 298, fieldDefinitionIdentifier: website, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'https://ibexa.co' }, { id: 299, fieldDefinitionIdentifier: customer_group, languageCode: eng-GB, fieldTypeIdentifier: ibexa_customer_group, fieldValue: { customer_group_id: 1 } }, { id: 300, fieldDefinitionIdentifier: sales_rep, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 14, destinationContentHref: /api/ibexa/v2/content/objects/14 } }, { id: 301, fieldDefinitionIdentifier: contact, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 74, destinationContentHref: /api/ibexa/v2/content/objects/74 } }, { id: 302, fieldDefinitionIdentifier: default_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 69, destinationContentHref: /api/ibexa/v2/content/objects/69 } }, { id: 303, fieldDefinitionIdentifier: billing_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_address, fieldValue: { name: Headquarters, country: 'NO', fields: { region: 'Company HQ location region', locality: 'Company HQ location city', street: 'Company HQ location street and building', postal_code: '00000', email: company@email.invalid, phone_number: '+47 000 000 000' } } }, { id: 305, fieldDefinitionIdentifier: members, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 67, destinationContentHref: /api/ibexa/v2/content/objects/67 } }, { id: 304, fieldDefinitionIdentifier: address_book, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 68, destinationContentHref: /api/ibexa/v2/content/objects/68 } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/66/versions/6/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/67 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/66/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-04-03T13:09:40+02:00', publishedDate: '2023-03-31T14:33:36+02:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/66/objectstates } }, billingAddress: { name: Headquarters, country: 'NO', fields: { region: 'Company HQ location region', locality: 'Company HQ location city', street: 'Company HQ location street and building', postal_code: '00000', email: company@email.invalid, phone_number: '+47 000 000 000' } }, contactId: 74, salesRepresentativeId: 80, defaultAddressId: 69, addressBookId: 68, membersId: 67, MemberList: { _media-type: application/vnd.ibexa.api.MemberList+json, _href: /api/ibexa/v2/corporate/companies/66/members }, Location: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/67 }, locationPath: /1/65/67/, isActive: true }, { _media-type: application/vnd.ibexa.api.Company+json, id: 75, name: 'QNTM Group AB', Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/75, _remoteId: 1d7eaec5b4371f7a35f253d15ecd5258, _id: 75, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/48 }, Name: 'QNTM Group AB', TranslatedName: 'QNTM Group AB', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/75/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/75/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/75/versions/3, VersionInfo: { id: 546, versionNo: 3, status: PUBLISHED, modificationDate: '2023-03-31T15:24:49+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-03-31T15:24:49+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'QNTM Group AB' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/75 } }, Fields: { field: [{ id: 341, fieldDefinitionIdentifier: active, languageCode: eng-GB, fieldTypeIdentifier: ibexa_boolean, fieldValue: true }, { id: 342, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'QNTM Group AB' }, { id: 343, fieldDefinitionIdentifier: vat, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: '123 456 789' }, { id: 344, fieldDefinitionIdentifier: website, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'https://ibexa.co' }, { id: 345, fieldDefinitionIdentifier: customer_group, languageCode: eng-GB, fieldTypeIdentifier: ibexa_customer_group, fieldValue: { customer_group_id: 1 } }, { id: 346, fieldDefinitionIdentifier: sales_rep, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 14, destinationContentHref: /api/ibexa/v2/content/objects/14 } }, { id: 347, fieldDefinitionIdentifier: contact, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: null } }, { id: 348, fieldDefinitionIdentifier: default_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: null } }, { id: 349, fieldDefinitionIdentifier: billing_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_address, fieldValue: { name: null, country: null, fields: [] } }, { id: 351, fieldDefinitionIdentifier: members, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 76, destinationContentHref: /api/ibexa/v2/content/objects/76 } }, { id: 350, fieldDefinitionIdentifier: address_book, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 77, destinationContentHref: /api/ibexa/v2/content/objects/77 } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/75/versions/3/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/76 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/75/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-03-31T15:24:49+02:00', publishedDate: '2023-03-31T15:24:48+02:00', mainLanguageCode: eng-GB, currentVersionNo: 3, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/75/objectstates } }, billingAddress: { name: null, country: null, fields: [] }, contactId: null, salesRepresentativeId: 14, defaultAddressId: null, addressBookId: 77, membersId: 76, MemberList: { _media-type: application/vnd.ibexa.api.MemberList+json, _href: /api/ibexa/v2/corporate/companies/75/members }, Location: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/76 }, locationPath: /1/65/76/, isActive: true }] + '400': + description: 'Returned when invalid Criterion or Sort clause is used' + content: + application/vnd.ibexa.api.ErrorMessage: + schema: + $ref: '#/components/schemas/ErrorMessage' + summary: 'Read list of companies' + description: 'Returns paginated list of available companies.' + parameters: + - + name: Accept + in: header + description: 'If set, helps to determine response format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_corporatecompanies_post + tags: + - 'Corporate Account' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Company+xml: + schema: + $ref: '#/components/schemas/Company' + example: | + + + 66 + Ibexa AS + + + Ibexa AS + Ibexa AS + + + + + 593 + 1 + PUBLISHED + 2023-04-03T13:09:40+02:00 + + 2023-04-03T13:09:40+02:00 + eng-GB + eng-GB + + + eng-GB + + + + Ibexa AS + + + + + + 295 + active + eng-GB + ibexa_boolean + true + + + 296 + name + eng-GB + ibexa_string + Ibexa AS + + + 297 + vat + eng-GB + ibexa_string + 123 456 789 + + + 298 + website + eng-GB + ibexa_string + https://ibexa.co + + + 299 + customer_group + eng-GB + ibexa_customer_group + + 1 + + + + 300 + sales_rep + eng-GB + ibexa_object_relation + + 14 + /api/ibexa/v2/content/objects/14 + + + + 301 + contact + eng-GB + ibexa_object_relation + + 74 + /api/ibexa/v2/content/objects/74 + + + + 302 + default_address + eng-GB + ibexa_object_relation + + 69 + /api/ibexa/v2/content/objects/69 + + + + 303 + billing_address + eng-GB + ibexa_address + + HQ + PL + + Silesia + Katowice + Gliwicka 6/5 + 40-079 + company@email.invalid + +48 000 000 000 + + + + + 305 + members + eng-GB + ibexa_object_relation + + 67 + /api/ibexa/v2/content/objects/67 + + + + 304 + address_book + eng-GB + ibexa_object_relation + + 68 + /api/ibexa/v2/content/objects/68 + + + + + + /placeholder + + + image/svg+xml + + + +
+ + + + 2023-04-03T13:09:40+02:00 + 2023-03-31T14:33:36+02:00 + eng-GB + 1 + true + false + PUBLISHED + + + HQ, Poland + 74 + 80 + 69 + 68 + 67 + + + /1/65/67/ + 1 + + application/vnd.ibexa.api.Company+json: + schema: + $ref: '#/components/schemas/CompanyWrapper' + example: + Company: + _media-type: application/vnd.ibexa.api.Company+json + id: 66 + name: 'Ibexa AS' + Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/66, _remoteId: 9f20fb03d0ab0a6aef9930f7e6720377, _id: 66, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/48 }, Name: 'Ibexa AS', TranslatedName: 'Ibexa AS', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/66/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/66/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/66/versions/1, VersionInfo: { id: 593, versionNo: 1, status: PUBLISHED, modificationDate: '2023-04-03T13:09:40+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-03T13:09:40+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Ibexa AS' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/66 } }, Fields: { field: [{ id: 295, fieldDefinitionIdentifier: active, languageCode: eng-GB, fieldTypeIdentifier: ibexa_boolean, fieldValue: true }, { id: 296, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Ibexa AS' }, { id: 297, fieldDefinitionIdentifier: vat, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: '123 456 789' }, { id: 298, fieldDefinitionIdentifier: website, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'https://ibexa.co' }, { id: 299, fieldDefinitionIdentifier: customer_group, languageCode: eng-GB, fieldTypeIdentifier: ibexa_customer_group, fieldValue: { customer_group_id: 1 } }, { id: 300, fieldDefinitionIdentifier: sales_rep, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 14, destinationContentHref: /api/ibexa/v2/content/objects/14 } }, { id: 301, fieldDefinitionIdentifier: contact, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 74, destinationContentHref: /api/ibexa/v2/content/objects/74 } }, { id: 302, fieldDefinitionIdentifier: default_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 69, destinationContentHref: /api/ibexa/v2/content/objects/69 } }, { id: 303, fieldDefinitionIdentifier: billing_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_address, fieldValue: { name: Headquarters, country: 'NO', fields: { region: 'Company HQ location region', locality: 'Company HQ location city', street: 'Company HQ location street and building', postal_code: '00000', email: company@email.invalid, phone_number: '+47 000 000 000' } } }, { id: 305, fieldDefinitionIdentifier: members, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 67, destinationContentHref: /api/ibexa/v2/content/objects/67 } }, { id: 304, fieldDefinitionIdentifier: address_book, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 68, destinationContentHref: /api/ibexa/v2/content/objects/68 } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/66/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/67 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/66/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-04-03T13:09:40+02:00', publishedDate: '2023-03-31T14:33:36+02:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/66/objectstates } } + billingAddress: { name: Headquarters, country: 'NO', fields: { region: 'Company HQ location region', locality: 'Company HQ location city', street: 'Company HQ location street and building', postal_code: '00000', email: company@email.invalid, phone_number: '+47 000 000 000' } } + contactId: 74 + salesRepresentativeId: 80 + defaultAddressId: 69 + addressBookId: 68 + membersId: 67 + MemberList: { _media-type: application/vnd.ibexa.api.MemberList+json, _href: /api/ibexa/v2/corporate/companies/66/members } + Location: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/67 } + locationPath: /1/65/67/ + isActive: true + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this Company.' + summary: 'Create a company' + description: 'Creates a CompanyCreateController resource.' + parameters: + - + name: Accept + in: header + description: 'If set, the new company is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The CompanyCreate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new CompanyCreateController resource' + content: + application/vnd.ibexa.api.CompanyCreate+xml: + schema: + $ref: '#/components/schemas/CompanyCreate' + example: | + + + + + + active + true + + + name + Ibexa Sp. z o. o. + + + vat + 123 456 789 + + + website + https://ibexa.co + + + customer_group + + 1 + + + + sales_rep + + 14 + + + + billing_address + + HQ + PL + + Silesia + Katowice + Gliwicka 6/5 + 40-079 + company@email.invalid + +48 000 000 000 + + + + + + application/vnd.ibexa.api.CompanyCreate+json: + schema: + $ref: '#/components/schemas/CompanyCreateWrapper' + example: + CompanyCreate: + fields: + field: [{ fieldDefinitionIdentifier: active, fieldValue: true }, { fieldDefinitionIdentifier: name, fieldValue: 'Ibexa Sp. z o. o.' }, { fieldDefinitionIdentifier: vat, fieldValue: '123 456 789' }, { fieldDefinitionIdentifier: website, fieldValue: 'https://ibexa.co' }, { fieldDefinitionIdentifier: customer_group, fieldValue: { customer_group_id: 1 } }, { fieldDefinitionIdentifier: sales_rep, fieldValue: { destinationContentId: 14 } }, { fieldDefinitionIdentifier: billing_address, fieldValue: { name: HQ, country: PL, fields: { region: Silesia, locality: Katowice, street: 'Gliwicka 6/5', postal_code: 40-079, email: company@email.invalid, phone_number: '+48 000 000 000' } } }] + required: false + deprecated: false + '/corporate/companies/{companyId}': + get: + operationId: api_corporatecompanies_companyId_get + tags: + - 'Corporate Account' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Company+json: + schema: + $ref: '#/components/schemas/CompanyWrapper' + example: + Company: + _media-type: application/vnd.ibexa.api.Company+json + id: 66 + name: 'Ibexa AS' + Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/66, _remoteId: 9f20fb03d0ab0a6aef9930f7e6720377, _id: 66, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/48 }, Name: 'Ibexa AS', TranslatedName: 'Ibexa AS', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/66/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/66/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/66/versions/1, VersionInfo: { id: 593, versionNo: 1, status: PUBLISHED, modificationDate: '2023-04-03T13:09:40+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-03T13:09:40+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Ibexa AS' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/66 } }, Fields: { field: [{ id: 295, fieldDefinitionIdentifier: active, languageCode: eng-GB, fieldTypeIdentifier: ibexa_boolean, fieldValue: true }, { id: 296, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Ibexa AS' }, { id: 297, fieldDefinitionIdentifier: vat, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: '123 456 789' }, { id: 298, fieldDefinitionIdentifier: website, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'https://ibexa.co' }, { id: 299, fieldDefinitionIdentifier: customer_group, languageCode: eng-GB, fieldTypeIdentifier: ibexa_customer_group, fieldValue: { customer_group_id: 1 } }, { id: 300, fieldDefinitionIdentifier: sales_rep, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 14, destinationContentHref: /api/ibexa/v2/content/objects/14 } }, { id: 301, fieldDefinitionIdentifier: contact, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 74, destinationContentHref: /api/ibexa/v2/content/objects/74 } }, { id: 302, fieldDefinitionIdentifier: default_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 69, destinationContentHref: /api/ibexa/v2/content/objects/69 } }, { id: 303, fieldDefinitionIdentifier: billing_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_address, fieldValue: { name: Headquarters, country: 'NO', fields: { region: 'Company HQ location region', locality: 'Company HQ location city', street: 'Company HQ location street and building', postal_code: '00000', email: company@email.invalid, phone_number: '+47 000 000 000' } } }, { id: 305, fieldDefinitionIdentifier: members, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 67, destinationContentHref: /api/ibexa/v2/content/objects/67 } }, { id: 304, fieldDefinitionIdentifier: address_book, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 68, destinationContentHref: /api/ibexa/v2/content/objects/68 } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/66/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/67 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/66/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-04-03T13:09:40+02:00', publishedDate: '2023-03-31T14:33:36+02:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/66/objectstates } } + billingAddress: { name: Headquarters, country: 'NO', fields: { region: 'Company HQ location region', locality: 'Company HQ location city', street: 'Company HQ location street and building', postal_code: '00000', email: company@email.invalid, phone_number: '+47 000 000 000' } } + contactId: 74 + salesRepresentativeId: 80 + defaultAddressId: 69 + addressBookId: 68 + membersId: 67 + MemberList: { _media-type: application/vnd.ibexa.api.MemberList+json, _href: /api/ibexa/v2/corporate/companies/66/members } + Location: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/67 } + locationPath: /1/65/67/ + isActive: true + application/vnd.ibexa.api.Company+xml: + schema: + $ref: '#/components/schemas/Company' + example: | + + + 66 + Ibexa AS + + + Ibexa AS + Ibexa AS + + + + + 593 + 1 + PUBLISHED + 2023-04-03T13:09:40+02:00 + + 2023-04-03T13:09:40+02:00 + eng-GB + eng-GB + + + eng-GB + + + + Ibexa AS + + + + + + 295 + active + eng-GB + ibexa_boolean + true + + + 296 + name + eng-GB + ibexa_string + Ibexa AS + + + 297 + vat + eng-GB + ibexa_string + 123 456 789 + + + 298 + website + eng-GB + ibexa_string + https://ibexa.co + + + 299 + customer_group + eng-GB + ibexa_customer_group + + 1 + + + + 300 + sales_rep + eng-GB + ibexa_object_relation + + 14 + /api/ibexa/v2/content/objects/14 + + + + 301 + contact + eng-GB + ibexa_object_relation + + 74 + /api/ibexa/v2/content/objects/74 + + + + 302 + default_address + eng-GB + ibexa_object_relation + + 69 + /api/ibexa/v2/content/objects/69 + + + + 303 + billing_address + eng-GB + ibexa_address + + HQ + PL + + Silesia + Katowice + Gliwicka 6/5 + 40-079 + company@email.invalid + +48 000 000 000 + + + + + 305 + members + eng-GB + ibexa_object_relation + + 67 + /api/ibexa/v2/content/objects/67 + + + + 304 + address_book + eng-GB + ibexa_object_relation + + 68 + /api/ibexa/v2/content/objects/68 + + + + + + /placeholder + + + image/svg+xml + + + +
+ + + + 2023-04-03T13:09:40+02:00 + 2023-03-31T14:33:36+02:00 + eng-GB + 1 + true + false + PUBLISHED + + + HQ, Poland + 74 + 80 + 69 + 68 + 67 + + + /1/65/67/ + 1 + + '401': + description: 'Error - The user is not authorized to read this company.' + '404': + description: 'Error - The company does not exist.' + summary: 'Get company' + description: 'Returns the company by given company ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the company is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: companyId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_corporatecompanies_companyId_delete + tags: + - 'Corporate Account' + responses: + '204': + description: 'No Content - given company is deleted.' + '401': + description: 'Error - the user is not authorized to delete this company.' + '404': + description: 'Error - the company does not exist.' + summary: 'Delete company' + description: 'The given company is deleted.' + parameters: + - + name: Accept + in: header + description: 'If set, in the case of an error the error message is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: X-CSRF-Token + in: header + description: "Only needed for session's checking. The {csrfToken} needed on all unsafe HTTP methods with session." + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: companyId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_corporatecompanies_companyId_patch + tags: + - 'Corporate Account' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Company+xml: + schema: + $ref: '#/components/schemas/Company' + example: | + + + 66 + Ibexa AS + + + Ibexa AS + Ibexa AS + + + + + 593 + 1 + PUBLISHED + 2023-04-03T13:09:40+02:00 + + 2023-04-03T13:09:40+02:00 + eng-GB + eng-GB + + + eng-GB + + + + Ibexa AS + + + + + + 295 + active + eng-GB + ibexa_boolean + true + + + 296 + name + eng-GB + ibexa_string + Ibexa AS + + + 297 + vat + eng-GB + ibexa_string + 123 456 789 + + + 298 + website + eng-GB + ibexa_string + https://ibexa.co + + + 299 + customer_group + eng-GB + ibexa_customer_group + + 1 + + + + 300 + sales_rep + eng-GB + ibexa_object_relation + + 14 + /api/ibexa/v2/content/objects/14 + + + + 301 + contact + eng-GB + ibexa_object_relation + + 74 + /api/ibexa/v2/content/objects/74 + + + + 302 + default_address + eng-GB + ibexa_object_relation + + 69 + /api/ibexa/v2/content/objects/69 + + + + 303 + billing_address + eng-GB + ibexa_address + + HQ + PL + + Silesia + Katowice + Gliwicka 6/5 + 40-079 + company@email.invalid + +48 000 000 000 + + + + + 305 + members + eng-GB + ibexa_object_relation + + 67 + /api/ibexa/v2/content/objects/67 + + + + 304 + address_book + eng-GB + ibexa_object_relation + + 68 + /api/ibexa/v2/content/objects/68 + + + + + + /placeholder + + + image/svg+xml + + + +
+ + + + 2023-04-03T13:09:40+02:00 + 2023-03-31T14:33:36+02:00 + eng-GB + 1 + true + false + PUBLISHED + + + HQ, Poland + 74 + 80 + 69 + 68 + 67 + + + /1/65/67/ + 1 + + application/vnd.ibexa.api.Company+json: + schema: + $ref: '#/components/schemas/CompanyWrapper' + example: + Company: + _media-type: application/vnd.ibexa.api.Company+json + id: 66 + name: 'Ibexa AS' + Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/66, _remoteId: 9f20fb03d0ab0a6aef9930f7e6720377, _id: 66, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/48 }, Name: 'Ibexa AS', TranslatedName: 'Ibexa AS', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/66/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/66/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/66/versions/1, VersionInfo: { id: 593, versionNo: 1, status: PUBLISHED, modificationDate: '2023-04-03T13:09:40+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-03T13:09:40+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Ibexa AS' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/66 } }, Fields: { field: [{ id: 295, fieldDefinitionIdentifier: active, languageCode: eng-GB, fieldTypeIdentifier: ibexa_boolean, fieldValue: true }, { id: 296, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Ibexa AS' }, { id: 297, fieldDefinitionIdentifier: vat, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: '123 456 789' }, { id: 298, fieldDefinitionIdentifier: website, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'https://ibexa.co' }, { id: 299, fieldDefinitionIdentifier: customer_group, languageCode: eng-GB, fieldTypeIdentifier: ibexa_customer_group, fieldValue: { customer_group_id: 1 } }, { id: 300, fieldDefinitionIdentifier: sales_rep, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 14, destinationContentHref: /api/ibexa/v2/content/objects/14 } }, { id: 301, fieldDefinitionIdentifier: contact, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 74, destinationContentHref: /api/ibexa/v2/content/objects/74 } }, { id: 302, fieldDefinitionIdentifier: default_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 69, destinationContentHref: /api/ibexa/v2/content/objects/69 } }, { id: 303, fieldDefinitionIdentifier: billing_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_address, fieldValue: { name: Headquarters, country: 'NO', fields: { region: 'Company HQ location region', locality: 'Company HQ location city', street: 'Company HQ location street and building', postal_code: '00000', email: company@email.invalid, phone_number: '+47 000 000 000' } } }, { id: 305, fieldDefinitionIdentifier: members, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 67, destinationContentHref: /api/ibexa/v2/content/objects/67 } }, { id: 304, fieldDefinitionIdentifier: address_book, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 68, destinationContentHref: /api/ibexa/v2/content/objects/68 } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/66/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/67 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/66/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-04-03T13:09:40+02:00', publishedDate: '2023-03-31T14:33:36+02:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/66/objectstates } } + billingAddress: { name: Headquarters, country: 'NO', fields: { region: 'Company HQ location region', locality: 'Company HQ location city', street: 'Company HQ location street and building', postal_code: '00000', email: company@email.invalid, phone_number: '+47 000 000 000' } } + contactId: 74 + salesRepresentativeId: 80 + defaultAddressId: 69 + addressBookId: 68 + membersId: 67 + MemberList: { _media-type: application/vnd.ibexa.api.MemberList+json, _href: /api/ibexa/v2/corporate/companies/66/members } + Location: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/67 } + locationPath: /1/65/67/ + isActive: true + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this company.' + summary: 'Update a company' + description: 'Updates a company. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated company is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The company input schema encoded in XML or JSON.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: companyId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated CompanyUpdateController resource' + content: + application/vnd.ibexa.api.CompanyUpdate+xml: + schema: + $ref: '#/components/schemas/CompanyUpdate' + example: | + + + + + contact + + 144 + + + + + application/vnd.ibexa.api.CompanyUpdate+json: + schema: + $ref: '#/components/schemas/CompanyUpdateWrapper' + example: + CompanyUpdate: + fields: + field: [{ fieldDefinitionIdentifier: contact, fieldValue: { destinationContentId: 144 } }] + required: false + deprecated: false + '/corporate/companies/{companyId}/members': + get: + operationId: api_corporatecompanies_companyIdmembers_get + tags: + - 'Corporate Account' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.MemberList+xml: + schema: + $ref: '#/components/schemas/MemberList' + example: | + + + + 144 + Jay Kowalski + + 139 + Ibexa Sp. z o. o. + + + Ibexa Sp. z o. o. + Ibexa Sp. z o. o. + + + + + 677 + 6 + PUBLISHED + 2023-04-28T16:10:13+02:00 + + 2023-04-28T16:10:13+02:00 + eng-GB + eng-GB + + + eng-GB + + + + Ibexa Sp. z o. o. + + + + + + 673 + active + eng-GB + ibexa_boolean + true + + + 674 + name + eng-GB + ibexa_string + Ibexa Sp. z o. o. + + + 675 + vat + eng-GB + ibexa_string + 123 456 789 + + + 676 + website + eng-GB + ibexa_string + https://ibexa.co + + + 677 + customer_group + eng-GB + ibexa_customer_group + + 1 + + + + 678 + sales_rep + eng-GB + ibexa_object_relation + + 14 + /api/ibexa/v2/content/objects/14 + + + + 679 + contact + eng-GB + ibexa_object_relation + + 144 + /api/ibexa/v2/content/objects/144 + + + + 680 + default_address + eng-GB + ibexa_object_relation + + 142 + /api/ibexa/v2/content/objects/142 + + + + 681 + billing_address + eng-GB + ibexa_address + + HQ + PL + + Silesia + Katowice + Gliwicka 6/5 + 40-079 + company@email.invalid + +48 000 000 000 + + + + + 683 + members + eng-GB + ibexa_object_relation + + 140 + /api/ibexa/v2/content/objects/140 + + + + 682 + address_book + eng-GB + ibexa_object_relation + + 141 + /api/ibexa/v2/content/objects/141 + + + + + + /placeholder + + + image/svg+xml + + + +
+ + + + 2023-04-28T16:10:13+02:00 + 2023-04-28T15:44:55+02:00 + eng-GB + 6 + true + false + PUBLISHED + + + HQ, Poland + 144 + 14 + 142 + 141 + 140 + + + /1/65/140/ + 1 + + + + Jay Kowalski + +
+ + + + + 2023-04-28T16:10:03+02:00 + 2023-04-28T16:17:07+02:00 + eng-GB + true + + + 683 + 6 + PUBLISHED + 2023-04-28T16:17:07+02:00 + + 2023-04-28T16:17:06+02:00 + eng-GB + eng-GB + + + eng-GB + + + + Jay Kowalski + + + + + + 698 + first_name + eng-GB + ibexa_string + Jay + + + 699 + last_name + eng-GB + ibexa_string + Kowalski + + + 700 + phone_number + eng-GB + ibexa_string + +48 123 123 456 + + + 701 + user + eng-GB + ibexa_user + + true + 144 + jay.kowalski + jay.kowalski@email.invalid + 1682691427 + false + 5 + + + + + + + /user/default_profile_image/initials.svg?initials=JK#profile_image + + + image/svg+xml + + + jay.kowalski + jay.kowalski@email.invalid + false + + + + + Company Buyer + + + + + application/vnd.ibexa.api.MemberList+json: + schema: + $ref: '#/components/schemas/MemberListWrapper' + example: + MemberList: + _media-type: application/vnd.ibexa.api.MemberList+json + _href: /api/ibexa/v2/corporate/companies/139/members + members: [{ _media-type: application/vnd.ibexa.api.Member+json, _href: /api/ibexa/v2/corporate/companies/139/members/144, id: 144, name: 'Jay Kowalski', Company: { _media-type: application/vnd.ibexa.api.Company+json, id: 139, name: 'Ibexa Sp. z o. o.', Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/139, _remoteId: b16d06d4c5ba7c37b26fa167b551dfc2, _id: 139, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/48 }, Name: 'Ibexa Sp. z o. o.', TranslatedName: 'Ibexa Sp. z o. o.', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/139/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/139/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/139/versions/6, VersionInfo: { id: 677, versionNo: 6, status: PUBLISHED, modificationDate: '2023-04-28T16:10:13+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-28T16:10:13+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Ibexa Sp. z o. o.' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/139 } }, Fields: { field: [{ id: 673, fieldDefinitionIdentifier: active, languageCode: eng-GB, fieldTypeIdentifier: ibexa_boolean, fieldValue: true }, { id: 674, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Ibexa Sp. z o. o.' }, { id: 675, fieldDefinitionIdentifier: vat, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: '123 456 789' }, { id: 676, fieldDefinitionIdentifier: website, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'https://ibexa.co' }, { id: 677, fieldDefinitionIdentifier: customer_group, languageCode: eng-GB, fieldTypeIdentifier: ibexa_customer_group, fieldValue: { customer_group_id: 1 } }, { id: 678, fieldDefinitionIdentifier: sales_rep, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 14, destinationContentHref: /api/ibexa/v2/content/objects/14 } }, { id: 679, fieldDefinitionIdentifier: contact, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 144, destinationContentHref: /api/ibexa/v2/content/objects/144 } }, { id: 680, fieldDefinitionIdentifier: default_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 142, destinationContentHref: /api/ibexa/v2/content/objects/142 } }, { id: 681, fieldDefinitionIdentifier: billing_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_address, fieldValue: { name: HQ, country: PL, fields: { region: Silesia, locality: Katowice, street: 'Gliwicka 6/5', postal_code: 40-079, email: company@email.invalid, phone_number: '+48 000 000 000' } } }, { id: 683, fieldDefinitionIdentifier: members, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 140, destinationContentHref: /api/ibexa/v2/content/objects/140 } }, { id: 682, fieldDefinitionIdentifier: address_book, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 141, destinationContentHref: /api/ibexa/v2/content/objects/141 } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/139/versions/6/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/140 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/139/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-04-28T16:10:13+02:00', publishedDate: '2023-04-28T15:44:55+02:00', mainLanguageCode: eng-GB, currentVersionNo: 6, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/139/objectstates } }, billingAddress: { name: HQ, country: PL, fields: { region: Silesia, locality: Katowice, street: 'Gliwicka 6/5', postal_code: 40-079, email: company@email.invalid, phone_number: '+48 000 000 000' } }, contactId: 144, salesRepresentativeId: 14, defaultAddressId: 142, addressBookId: 141, membersId: 140, MemberList: { _media-type: application/vnd.ibexa.api.MemberList+json, _href: /api/ibexa/v2/corporate/companies/139/members }, Location: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/140 }, locationPath: /1/65/140/, isActive: true }, User: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/144, _id: 144, _remoteId: 1b3938c16adfa29996f3afff0b4a0032, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/47 }, name: 'Jay Kowalski', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/144/versions }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/140/141/145 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/144/locations }, Groups: { _media-type: application/vnd.ibexa.api.UserGroupRefList+json, _href: /api/ibexa/v2/user/users/144/groups }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, publishDate: '2023-04-28T16:10:03+02:00', lastModificationDate: '2023-04-28T16:17:07+02:00', mainLanguageCode: eng-GB, alwaysAvailable: true, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/144/versions/6, VersionInfo: { id: 683, versionNo: 6, status: PUBLISHED, modificationDate: '2023-04-28T16:17:07+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-28T16:17:06+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Jay Kowalski' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/144 } }, Fields: { field: [{ id: 698, fieldDefinitionIdentifier: first_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Jay }, { id: 699, fieldDefinitionIdentifier: last_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Kowalski }, { id: 700, fieldDefinitionIdentifier: phone_number, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: '+48 123 123 456' }, { id: 701, fieldDefinitionIdentifier: user, languageCode: eng-GB, fieldTypeIdentifier: ibexa_user, fieldValue: { hasStoredLogin: true, contentId: 144, login: jay.kowalski, email: jay.kowalski@email.invalid, passwordUpdatedAt: 1682691427, enabled: false, maxLogin: 5, plainPassword: null } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/144/versions/6/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/user/default_profile_image/initials.svg?initials=JK#profile_image', width: null, height: null, mimeType: image/svg+xml } }, login: jay.kowalski, email: jay.kowalski@email.invalid, enabled: false, UserGroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/users/144/groups }, Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/users/144/roles } }, Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/15, identifier: 'Company Buyer', Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/15/policies } } }] + '400': + description: 'Returned when invalid Criterion or Sort clause is used.' + content: + application/vnd.ibexa.api.ErrorMessage: + schema: + $ref: '#/components/schemas/ErrorMessage' + '404': + description: 'Error - The identifier do not match any company.' + summary: 'Read list of company members' + description: 'Returns paginated list of a given company members.' + parameters: + - + name: Accept + in: header + description: 'If set, helps to determine response format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + enum: + - application/vnd.ibexa.api.MemberList+xml + - application/vnd.ibexa.api.MemberList+json + style: simple + explode: false + allowReserved: false + - + name: companyId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: 'filter[DateMetadataCriterion][Target]' + in: query + description: '' + required: false + deprecated: false + allowEmptyValue: false + schema: + type: string + enum: + - created + - modified + - published + style: form + explode: false + allowReserved: false + - + name: 'filter[DateMetadataCriterion][Operator]' + in: query + description: '' + required: false + deprecated: false + allowEmptyValue: false + schema: + type: string + enum: + - eq + - gt + - gte + - lt + - lte + style: form + explode: false + allowReserved: false + - + name: 'filter[DateMetadataCriterion][Value]' + in: query + description: 'DateTime as a UNIX timestamp' + required: false + deprecated: false + allowEmptyValue: false + schema: + type: integer + style: form + explode: false + allowReserved: false + - + name: 'sort[ContentName]' + in: query + description: '' + required: false + deprecated: false + allowEmptyValue: false + schema: + type: string + enum: + - ascending + - descending + style: form + explode: false + allowReserved: false + - + name: 'sort[DatePublished]' + in: query + description: '' + required: false + deprecated: false + allowEmptyValue: false + schema: + type: string + enum: + - ascending + - descending + style: form + explode: false + allowReserved: false + - + name: 'sort[DateModified]' + in: query + description: '' + required: false + deprecated: false + allowEmptyValue: false + schema: + type: string + enum: + - ascending + - descending + style: form + explode: false + allowReserved: false + - + name: offset + in: query + description: '' + required: false + deprecated: false + allowEmptyValue: false + schema: + type: integer + style: form + explode: false + allowReserved: false + - + name: limit + in: query + description: '' + required: false + deprecated: false + allowEmptyValue: false + schema: + type: integer + style: form + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_corporatecompanies_companyIdmembers_post + tags: + - 'Corporate Account' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Member+xml: + schema: + $ref: '#/components/schemas/Member' + example: | + + + 144 + Jay Kowalski + + 139 + Ibexa Sp. z o. o. + + + Ibexa Sp. z o. o. + Ibexa Sp. z o. o. + + + + + 677 + 6 + PUBLISHED + 2023-04-28T16:10:13+02:00 + + 2023-04-28T16:10:13+02:00 + eng-GB + eng-GB + + + eng-GB + + + + Ibexa Sp. z o. o. + + + + + + 673 + active + eng-GB + ibexa_boolean + true + + + 674 + name + eng-GB + ibexa_string + Ibexa Sp. z o. o. + + + 675 + vat + eng-GB + ibexa_string + 123 456 789 + + + 676 + website + eng-GB + ibexa_string + https://ibexa.co + + + 677 + customer_group + eng-GB + ibexa_customer_group + + 1 + + + + 678 + sales_rep + eng-GB + ibexa_object_relation + + 14 + /api/ibexa/v2/content/objects/14 + + + + 679 + contact + eng-GB + ibexa_object_relation + + 144 + /api/ibexa/v2/content/objects/144 + + + + 680 + default_address + eng-GB + ibexa_object_relation + + 142 + /api/ibexa/v2/content/objects/142 + + + + 681 + billing_address + eng-GB + ibexa_address + + HQ + PL + + Silesia + Katowice + Gliwicka 6/5 + 40-079 + company@email.invalid + +48 000 000 000 + + + + + 683 + members + eng-GB + ibexa_object_relation + + 140 + /api/ibexa/v2/content/objects/140 + + + + 682 + address_book + eng-GB + ibexa_object_relation + + 141 + /api/ibexa/v2/content/objects/141 + + + + + + /placeholder + + + image/svg+xml + + + +
+ + + + 2023-04-28T16:10:13+02:00 + 2023-04-28T15:44:55+02:00 + eng-GB + 6 + true + false + PUBLISHED + + + HQ, Poland + 144 + 14 + 142 + 141 + 140 + + + /1/65/140/ + 1 + + + + Jay Kowalski + +
+ + + + + 2023-04-28T16:10:03+02:00 + 2023-04-28T16:10:03+02:00 + eng-GB + true + + + 676 + 1 + PUBLISHED + 2023-04-28T16:10:03+02:00 + + 2023-04-28T16:10:03+02:00 + eng-GB + eng-GB + + + eng-GB + + + + Jay Kowalski + + + + + + 698 + first_name + eng-GB + ibexa_string + Jay + + + 699 + last_name + eng-GB + ibexa_string + Kowalski + + + 700 + phone_number + eng-GB + ibexa_string + +48 123 123 456 + + + 701 + user + eng-GB + ibexa_user + + true + 144 + jay.kowalski + jay.kowalski@email.invalid + 1682691003 + true + 0 + + + + + + + /user/default_profile_image/initials.svg?initials=JK#profile_image + + + image/svg+xml + + + jay.kowalski + jay.kowalski@email.invalid + true + + + + + Company Admin + + + + application/vnd.ibexa.api.Member+json: + schema: + $ref: '#/components/schemas/MemberWrapper' + example: + Member: + _media-type: application/vnd.ibexa.api.Member+json + _href: /api/ibexa/v2/corporate/companies/139/members/144 + id: 144 + name: 'Jay Kowalski' + Company: { _media-type: application/vnd.ibexa.api.Company+json, id: 139, name: 'Ibexa Sp. z o. o.', Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/139, _remoteId: b16d06d4c5ba7c37b26fa167b551dfc2, _id: 139, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/48 }, Name: 'Ibexa Sp. z o. o.', TranslatedName: 'Ibexa Sp. z o. o.', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/139/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/139/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/139/versions/6, VersionInfo: { id: 677, versionNo: 6, status: PUBLISHED, modificationDate: '2023-04-28T16:10:13+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-28T16:10:13+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Ibexa Sp. z o. o.' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/139 } }, Fields: { field: [{ id: 673, fieldDefinitionIdentifier: active, languageCode: eng-GB, fieldTypeIdentifier: ibexa_boolean, fieldValue: true }, { id: 674, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Ibexa Sp. z o. o.' }, { id: 675, fieldDefinitionIdentifier: vat, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: '123 456 789' }, { id: 676, fieldDefinitionIdentifier: website, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'https://ibexa.co' }, { id: 677, fieldDefinitionIdentifier: customer_group, languageCode: eng-GB, fieldTypeIdentifier: ibexa_customer_group, fieldValue: { customer_group_id: 1 } }, { id: 678, fieldDefinitionIdentifier: sales_rep, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 14, destinationContentHref: /api/ibexa/v2/content/objects/14 } }, { id: 679, fieldDefinitionIdentifier: contact, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 144, destinationContentHref: /api/ibexa/v2/content/objects/144 } }, { id: 680, fieldDefinitionIdentifier: default_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 142, destinationContentHref: /api/ibexa/v2/content/objects/142 } }, { id: 681, fieldDefinitionIdentifier: billing_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_address, fieldValue: { name: HQ, country: PL, fields: { region: Silesia, locality: Katowice, street: 'Gliwicka 6/5', postal_code: 40-079, email: company@email.invalid, phone_number: '+48 000 000 000' } } }, { id: 683, fieldDefinitionIdentifier: members, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 140, destinationContentHref: /api/ibexa/v2/content/objects/140 } }, { id: 682, fieldDefinitionIdentifier: address_book, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 141, destinationContentHref: /api/ibexa/v2/content/objects/141 } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/139/versions/6/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/140 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/139/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-04-28T16:10:13+02:00', publishedDate: '2023-04-28T15:44:55+02:00', mainLanguageCode: eng-GB, currentVersionNo: 6, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/139/objectstates } }, billingAddress: { name: HQ, country: PL, fields: { region: Silesia, locality: Katowice, street: 'Gliwicka 6/5', postal_code: 40-079, email: company@email.invalid, phone_number: '+48 000 000 000' } }, contactId: 144, salesRepresentativeId: 14, defaultAddressId: 142, addressBookId: 141, membersId: 140, MemberList: { _media-type: application/vnd.ibexa.api.MemberList+json, _href: /api/ibexa/v2/corporate/companies/139/members }, Location: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/140 }, locationPath: /1/65/140/, isActive: true } + User: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/144, _id: 144, _remoteId: 1b3938c16adfa29996f3afff0b4a0032, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/47 }, name: 'Jay Kowalski', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/144/versions }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/140/141/145 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/144/locations }, Groups: { _media-type: application/vnd.ibexa.api.UserGroupRefList+json, _href: /api/ibexa/v2/user/users/144/groups }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, publishDate: '2023-04-28T16:10:03+02:00', lastModificationDate: '2023-04-28T16:17:07+02:00', mainLanguageCode: eng-GB, alwaysAvailable: true, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/144/versions/6, VersionInfo: { id: 683, versionNo: 6, status: PUBLISHED, modificationDate: '2023-04-28T16:17:07+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-28T16:17:06+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Jay Kowalski' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/144 } }, Fields: { field: [{ id: 698, fieldDefinitionIdentifier: first_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Jay }, { id: 699, fieldDefinitionIdentifier: last_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Kowalski }, { id: 700, fieldDefinitionIdentifier: phone_number, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: '+48 123 123 456' }, { id: 701, fieldDefinitionIdentifier: user, languageCode: eng-GB, fieldTypeIdentifier: ibexa_user, fieldValue: { hasStoredLogin: true, contentId: 144, login: jay.kowalski, email: jay.kowalski@email.invalid, passwordUpdatedAt: 1682691427, enabled: false, maxLogin: 5, plainPassword: null } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/144/versions/6/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/user/default_profile_image/initials.svg?initials=JK#profile_image', width: null, height: null, mimeType: image/svg+xml } }, login: jay.kowalski, email: jay.kowalski@email.invalid, enabled: false, UserGroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/users/144/groups }, Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/users/144/roles } } + Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/15, identifier: 'Company Buyer', Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/15/policies } } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create a company member.' + summary: 'Create a company member' + description: 'Creates a company member.' + parameters: + - + name: Accept + in: header + description: 'If set, the new member is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The CompanyCreate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: companyId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new MemberCreateController resource' + content: + application/vnd.ibexa.api.MemberCreate+xml: + schema: + $ref: '#/components/schemas/MemberCreate' + example: | + + + jay.kowalski + jay.kowalski@email.invalid + Ibexa123# + + + + first_name + Jay + + + last_name + Kowalski + + + phone_number + +48 123 123 456 + + + + application/vnd.ibexa.api.MemberCreate+json: + schema: + $ref: '#/components/schemas/MemberCreateWrapper' + example: + MemberCreate: + login: jay.kowalski + email: jay.kowalski@email.invalid + password: 'Ibexa123#' + Role: + _media-type: application/vnd.ibexa.api.Role+json + _href: /api/ibexa/v2/user/roles/12 + fields: + field: [{ fieldDefinitionIdentifier: first_name, fieldValue: Jay }, { fieldDefinitionIdentifier: last_name, fieldValue: Kowalski }, { fieldDefinitionIdentifier: phone_number, fieldValue: '+48 123 123 456' }] + required: false + deprecated: false + '/corporate/companies/{companyId}/members/{memberId}': + get: + operationId: api_corporatecompanies_companyIdmembers_memberId_get + tags: + - 'Corporate Account' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Member+xml: + schema: + $ref: '#/components/schemas/Member' + example: | + + + 144 + Jay Kowalski + + 139 + Ibexa Sp. z o. o. + + + Ibexa Sp. z o. o. + Ibexa Sp. z o. o. + + + + + 677 + 6 + PUBLISHED + 2023-04-28T16:10:13+02:00 + + 2023-04-28T16:10:13+02:00 + eng-GB + eng-GB + + + eng-GB + + + + Ibexa Sp. z o. o. + + + + + + 673 + active + eng-GB + ibexa_boolean + true + + + 674 + name + eng-GB + ibexa_string + Ibexa Sp. z o. o. + + + 675 + vat + eng-GB + ibexa_string + 123 456 789 + + + 676 + website + eng-GB + ibexa_string + https://ibexa.co + + + 677 + customer_group + eng-GB + ibexa_customer_group + + 1 + + + + 678 + sales_rep + eng-GB + ibexa_object_relation + + 14 + /api/ibexa/v2/content/objects/14 + + + + 679 + contact + eng-GB + ibexa_object_relation + + 144 + /api/ibexa/v2/content/objects/144 + + + + 680 + default_address + eng-GB + ibexa_object_relation + + 142 + /api/ibexa/v2/content/objects/142 + + + + 681 + billing_address + eng-GB + ibexa_address + + HQ + PL + + Silesia + Katowice + Gliwicka 6/5 + 40-079 + company@email.invalid + +48 000 000 000 + + + + + 683 + members + eng-GB + ibexa_object_relation + + 140 + /api/ibexa/v2/content/objects/140 + + + + 682 + address_book + eng-GB + ibexa_object_relation + + 141 + /api/ibexa/v2/content/objects/141 + + + + + + /placeholder + + + image/svg+xml + + + +
+ + + + 2023-04-28T16:10:13+02:00 + 2023-04-28T15:44:55+02:00 + eng-GB + 6 + true + false + PUBLISHED + + + HQ, Poland + 144 + 14 + 142 + 141 + 140 + + + /1/65/140/ + 1 + + + + Jay Kowalski + +
+ + + + + 2023-04-28T16:10:03+02:00 + 2023-04-28T16:10:03+02:00 + eng-GB + true + + + 676 + 1 + PUBLISHED + 2023-04-28T16:10:03+02:00 + + 2023-04-28T16:10:03+02:00 + eng-GB + eng-GB + + + eng-GB + + + + Jay Kowalski + + + + + + 698 + first_name + eng-GB + ibexa_string + Jay + + + 699 + last_name + eng-GB + ibexa_string + Kowalski + + + 700 + phone_number + eng-GB + ibexa_string + +48 123 123 456 + + + 701 + user + eng-GB + ibexa_user + + true + 144 + jay.kowalski + jay.kowalski@email.invalid + 1682691003 + true + 0 + + + + + + + /user/default_profile_image/initials.svg?initials=JK#profile_image + + + image/svg+xml + + + jay.kowalski + jay.kowalski@email.invalid + true + + + + + Company Admin + + + + application/vnd.ibexa.api.Member+json: + schema: + $ref: '#/components/schemas/MemberWrapper' + example: + Member: + _media-type: application/vnd.ibexa.api.Member+json + _href: /api/ibexa/v2/corporate/companies/139/members/144 + id: 144 + name: 'Jay Kowalski' + Company: { _media-type: application/vnd.ibexa.api.Company+json, id: 139, name: 'Ibexa Sp. z o. o.', Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/139, _remoteId: b16d06d4c5ba7c37b26fa167b551dfc2, _id: 139, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/48 }, Name: 'Ibexa Sp. z o. o.', TranslatedName: 'Ibexa Sp. z o. o.', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/139/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/139/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/139/versions/6, VersionInfo: { id: 677, versionNo: 6, status: PUBLISHED, modificationDate: '2023-04-28T16:10:13+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-28T16:10:13+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Ibexa Sp. z o. o.' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/139 } }, Fields: { field: [{ id: 673, fieldDefinitionIdentifier: active, languageCode: eng-GB, fieldTypeIdentifier: ibexa_boolean, fieldValue: true }, { id: 674, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Ibexa Sp. z o. o.' }, { id: 675, fieldDefinitionIdentifier: vat, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: '123 456 789' }, { id: 676, fieldDefinitionIdentifier: website, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'https://ibexa.co' }, { id: 677, fieldDefinitionIdentifier: customer_group, languageCode: eng-GB, fieldTypeIdentifier: ibexa_customer_group, fieldValue: { customer_group_id: 1 } }, { id: 678, fieldDefinitionIdentifier: sales_rep, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 14, destinationContentHref: /api/ibexa/v2/content/objects/14 } }, { id: 679, fieldDefinitionIdentifier: contact, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 144, destinationContentHref: /api/ibexa/v2/content/objects/144 } }, { id: 680, fieldDefinitionIdentifier: default_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 142, destinationContentHref: /api/ibexa/v2/content/objects/142 } }, { id: 681, fieldDefinitionIdentifier: billing_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_address, fieldValue: { name: HQ, country: PL, fields: { region: Silesia, locality: Katowice, street: 'Gliwicka 6/5', postal_code: 40-079, email: company@email.invalid, phone_number: '+48 000 000 000' } } }, { id: 683, fieldDefinitionIdentifier: members, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 140, destinationContentHref: /api/ibexa/v2/content/objects/140 } }, { id: 682, fieldDefinitionIdentifier: address_book, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 141, destinationContentHref: /api/ibexa/v2/content/objects/141 } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/139/versions/6/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/140 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/139/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-04-28T16:10:13+02:00', publishedDate: '2023-04-28T15:44:55+02:00', mainLanguageCode: eng-GB, currentVersionNo: 6, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/139/objectstates } }, billingAddress: { name: HQ, country: PL, fields: { region: Silesia, locality: Katowice, street: 'Gliwicka 6/5', postal_code: 40-079, email: company@email.invalid, phone_number: '+48 000 000 000' } }, contactId: 144, salesRepresentativeId: 14, defaultAddressId: 142, addressBookId: 141, membersId: 140, MemberList: { _media-type: application/vnd.ibexa.api.MemberList+json, _href: /api/ibexa/v2/corporate/companies/139/members }, Location: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/140 }, locationPath: /1/65/140/, isActive: true } + User: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/144, _id: 144, _remoteId: 1b3938c16adfa29996f3afff0b4a0032, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/47 }, name: 'Jay Kowalski', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/144/versions }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/140/141/145 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/144/locations }, Groups: { _media-type: application/vnd.ibexa.api.UserGroupRefList+json, _href: /api/ibexa/v2/user/users/144/groups }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, publishDate: '2023-04-28T16:10:03+02:00', lastModificationDate: '2023-04-28T16:17:07+02:00', mainLanguageCode: eng-GB, alwaysAvailable: true, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/144/versions/6, VersionInfo: { id: 683, versionNo: 6, status: PUBLISHED, modificationDate: '2023-04-28T16:17:07+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-28T16:17:06+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Jay Kowalski' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/144 } }, Fields: { field: [{ id: 698, fieldDefinitionIdentifier: first_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Jay }, { id: 699, fieldDefinitionIdentifier: last_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Kowalski }, { id: 700, fieldDefinitionIdentifier: phone_number, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: '+48 123 123 456' }, { id: 701, fieldDefinitionIdentifier: user, languageCode: eng-GB, fieldTypeIdentifier: ibexa_user, fieldValue: { hasStoredLogin: true, contentId: 144, login: jay.kowalski, email: jay.kowalski@email.invalid, passwordUpdatedAt: 1682691427, enabled: false, maxLogin: 5, plainPassword: null } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/144/versions/6/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/user/default_profile_image/initials.svg?initials=JK#profile_image', width: null, height: null, mimeType: image/svg+xml } }, login: jay.kowalski, email: jay.kowalski@email.invalid, enabled: false, UserGroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/users/144/groups }, Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/users/144/roles } } + Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/15, identifier: 'Company Buyer', Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/15/policies } } + '401': + description: 'Error - The user is not authorized to read this company.' + '404': + description: 'Error - The company does not exist.' + summary: 'Get company member' + description: 'Returns the company member by given member ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the company member is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: companyId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: memberId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_corporatecompanies_companyIdmembers_memberId_delete + tags: + - 'Corporate Account' + responses: + '204': + description: 'No Content - given company member is deleted.' + '401': + description: 'Error - the user is not authorized to delete this company member.' + '404': + description: 'Error - the company member does not exist.' + summary: 'Delete company member' + description: 'The given company member is deleted.' + parameters: + - + name: Accept + in: header + description: 'If set, in the case of an error the error message is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: X-CSRF-Token + in: header + description: "Only needed for session's checking. The {csrfToken} needed on all unsafe HTTP methods with session." + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: companyId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: memberId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_corporatecompanies_companyIdmembers_memberId_patch + tags: + - 'Corporate Account' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Member+xml: + schema: + $ref: '#/components/schemas/Member' + example: | + + + 144 + Jay Kowalski + + 139 + Ibexa Sp. z o. o. + + + Ibexa Sp. z o. o. + Ibexa Sp. z o. o. + + + + + 677 + 6 + PUBLISHED + 2023-04-28T16:10:13+02:00 + + 2023-04-28T16:10:13+02:00 + eng-GB + eng-GB + + + eng-GB + + + + Ibexa Sp. z o. o. + + + + + + 673 + active + eng-GB + ibexa_boolean + true + + + 674 + name + eng-GB + ibexa_string + Ibexa Sp. z o. o. + + + 675 + vat + eng-GB + ibexa_string + 123 456 789 + + + 676 + website + eng-GB + ibexa_string + https://ibexa.co + + + 677 + customer_group + eng-GB + ibexa_customer_group + + 1 + + + + 678 + sales_rep + eng-GB + ibexa_object_relation + + 14 + /api/ibexa/v2/content/objects/14 + + + + 679 + contact + eng-GB + ibexa_object_relation + + 144 + /api/ibexa/v2/content/objects/144 + + + + 680 + default_address + eng-GB + ibexa_object_relation + + 142 + /api/ibexa/v2/content/objects/142 + + + + 681 + billing_address + eng-GB + ibexa_address + + HQ + PL + + Silesia + Katowice + Gliwicka 6/5 + 40-079 + company@email.invalid + +48 000 000 000 + + + + + 683 + members + eng-GB + ibexa_object_relation + + 140 + /api/ibexa/v2/content/objects/140 + + + + 682 + address_book + eng-GB + ibexa_object_relation + + 141 + /api/ibexa/v2/content/objects/141 + + + + + + /placeholder + + + image/svg+xml + + + +
+ + + + 2023-04-28T16:10:13+02:00 + 2023-04-28T15:44:55+02:00 + eng-GB + 6 + true + false + PUBLISHED + + + HQ, Poland + 144 + 14 + 142 + 141 + 140 + + + /1/65/140/ + 1 + + + + Jay Kowalski + +
+ + + + + 2023-04-28T16:10:03+02:00 + 2023-04-28T16:10:03+02:00 + eng-GB + true + + + 676 + 1 + PUBLISHED + 2023-04-28T16:10:03+02:00 + + 2023-04-28T16:10:03+02:00 + eng-GB + eng-GB + + + eng-GB + + + + Jay Kowalski + + + + + + 698 + first_name + eng-GB + ibexa_string + Jay + + + 699 + last_name + eng-GB + ibexa_string + Kowalski + + + 700 + phone_number + eng-GB + ibexa_string + +48 123 123 456 + + + 701 + user + eng-GB + ibexa_user + + true + 144 + jay.kowalski + jay.kowalski@email.invalid + 1682691003 + true + 0 + + + + + + + /user/default_profile_image/initials.svg?initials=JK#profile_image + + + image/svg+xml + + + jay.kowalski + jay.kowalski@email.invalid + true + + + + + Company Admin + + + + application/vnd.ibexa.api.Member+json: + schema: + $ref: '#/components/schemas/MemberWrapper' + example: + Member: + _media-type: application/vnd.ibexa.api.Member+json + _href: /api/ibexa/v2/corporate/companies/139/members/144 + id: 144 + name: 'Jay Kowalski' + Company: { _media-type: application/vnd.ibexa.api.Company+json, id: 139, name: 'Ibexa Sp. z o. o.', Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/139, _remoteId: b16d06d4c5ba7c37b26fa167b551dfc2, _id: 139, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/48 }, Name: 'Ibexa Sp. z o. o.', TranslatedName: 'Ibexa Sp. z o. o.', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/139/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/139/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/139/versions/6, VersionInfo: { id: 677, versionNo: 6, status: PUBLISHED, modificationDate: '2023-04-28T16:10:13+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-28T16:10:13+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Ibexa Sp. z o. o.' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/139 } }, Fields: { field: [{ id: 673, fieldDefinitionIdentifier: active, languageCode: eng-GB, fieldTypeIdentifier: ibexa_boolean, fieldValue: true }, { id: 674, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Ibexa Sp. z o. o.' }, { id: 675, fieldDefinitionIdentifier: vat, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: '123 456 789' }, { id: 676, fieldDefinitionIdentifier: website, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'https://ibexa.co' }, { id: 677, fieldDefinitionIdentifier: customer_group, languageCode: eng-GB, fieldTypeIdentifier: ibexa_customer_group, fieldValue: { customer_group_id: 1 } }, { id: 678, fieldDefinitionIdentifier: sales_rep, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 14, destinationContentHref: /api/ibexa/v2/content/objects/14 } }, { id: 679, fieldDefinitionIdentifier: contact, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 144, destinationContentHref: /api/ibexa/v2/content/objects/144 } }, { id: 680, fieldDefinitionIdentifier: default_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 142, destinationContentHref: /api/ibexa/v2/content/objects/142 } }, { id: 681, fieldDefinitionIdentifier: billing_address, languageCode: eng-GB, fieldTypeIdentifier: ibexa_address, fieldValue: { name: HQ, country: PL, fields: { region: Silesia, locality: Katowice, street: 'Gliwicka 6/5', postal_code: 40-079, email: company@email.invalid, phone_number: '+48 000 000 000' } } }, { id: 683, fieldDefinitionIdentifier: members, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 140, destinationContentHref: /api/ibexa/v2/content/objects/140 } }, { id: 682, fieldDefinitionIdentifier: address_book, languageCode: eng-GB, fieldTypeIdentifier: ibexa_object_relation, fieldValue: { destinationContentId: 141, destinationContentHref: /api/ibexa/v2/content/objects/141 } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/139/versions/6/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/140 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/139/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-04-28T16:10:13+02:00', publishedDate: '2023-04-28T15:44:55+02:00', mainLanguageCode: eng-GB, currentVersionNo: 6, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/139/objectstates } }, billingAddress: { name: HQ, country: PL, fields: { region: Silesia, locality: Katowice, street: 'Gliwicka 6/5', postal_code: 40-079, email: company@email.invalid, phone_number: '+48 000 000 000' } }, contactId: 144, salesRepresentativeId: 14, defaultAddressId: 142, addressBookId: 141, membersId: 140, MemberList: { _media-type: application/vnd.ibexa.api.MemberList+json, _href: /api/ibexa/v2/corporate/companies/139/members }, Location: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/140 }, locationPath: /1/65/140/, isActive: true } + User: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/144, _id: 144, _remoteId: 1b3938c16adfa29996f3afff0b4a0032, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/47 }, name: 'Jay Kowalski', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/144/versions }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/65/140/141/145 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/144/locations }, Groups: { _media-type: application/vnd.ibexa.api.UserGroupRefList+json, _href: /api/ibexa/v2/user/users/144/groups }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, publishDate: '2023-04-28T16:10:03+02:00', lastModificationDate: '2023-04-28T16:17:07+02:00', mainLanguageCode: eng-GB, alwaysAvailable: true, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/144/versions/6, VersionInfo: { id: 683, versionNo: 6, status: PUBLISHED, modificationDate: '2023-04-28T16:17:07+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-28T16:17:06+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Jay Kowalski' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/144 } }, Fields: { field: [{ id: 698, fieldDefinitionIdentifier: first_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Jay }, { id: 699, fieldDefinitionIdentifier: last_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Kowalski }, { id: 700, fieldDefinitionIdentifier: phone_number, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: '+48 123 123 456' }, { id: 701, fieldDefinitionIdentifier: user, languageCode: eng-GB, fieldTypeIdentifier: ibexa_user, fieldValue: { hasStoredLogin: true, contentId: 144, login: jay.kowalski, email: jay.kowalski@email.invalid, passwordUpdatedAt: 1682691427, enabled: false, maxLogin: 5, plainPassword: null } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/144/versions/6/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/user/default_profile_image/initials.svg?initials=JK#profile_image', width: null, height: null, mimeType: image/svg+xml } }, login: jay.kowalski, email: jay.kowalski@email.invalid, enabled: false, UserGroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/users/144/groups }, Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/users/144/roles } } + Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/15, identifier: 'Company Buyer', Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/15/policies } } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this company member.' + summary: 'Update a company member' + description: 'Updates a company member. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated company member is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The company input schema encoded in XML or JSON.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: companyId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: memberId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated MemberUpdateController resource' + content: + application/vnd.ibexa.api.MemberUpdate+xml: + schema: + $ref: '#/components/schemas/MemberUpdate' + example: | + + + jay.kowalski@updated.email + Publish123# + false + 5 + + + + first_name + Jay + + + last_name + Kowalski + + + phone_number + +48 123 123 456 + + + + application/vnd.ibexa.api.MemberUpdate+json: + schema: + $ref: '#/components/schemas/MemberUpdateWrapper' + example: + MemberUpdate: + login: jay.kowalski + email: jay.kowalski@email.invalid + password: 'Ibexa123#' + maxLogin: 5 + enabled: false + Role: + _media-type: application/vnd.ibexa.api.Role+json + _href: /api/ibexa/v2/user/roles/15 + fields: + field: [{ fieldDefinitionIdentifier: first_name, fieldValue: Jay }, { fieldDefinitionIdentifier: last_name, fieldValue: Kowalski }, { fieldDefinitionIdentifier: phone_number, fieldValue: '+48 123 123 456' }] + required: false + deprecated: false + /corporate/sales-representatives: + get: + operationId: api_corporatesales-representatives_get + tags: + - 'Corporate Account' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.SalesRepresentativesList+xml: + schema: + $ref: '#/components/schemas/SalesRepresentativesList' + example: | + + + + + John Black + +
+ + + + + 2023-06-20T07:33:17+00:00 + 2023-06-20T07:33:17+00:00 + eng-GB + true + + + 536 + 1 + PUBLISHED + 2023-06-20T07:33:17+00:00 + + 2023-06-20T07:33:17+00:00 + eng-GB + eng-GB + + + eng-GB + + + + John Black + + + + + + 339 + first_name + eng-GB + ibexa_string + John + + + 340 + last_name + eng-GB + ibexa_string + Black + + + 341 + user_account + eng-GB + ibexa_user + + true + 75 + John Black + j.black@ibexa.co + 1687246397 + true + 0 + + + + + 342 + signature + eng-GB + ibexa_text + + + + 343 + image + eng-GB + ibexa_image + + + + + + /user/default_profile_image/initials.svg?initials=JB#profile_image + + + image/svg+xml + + + John Black + j.black@ibexa.co + true + + + + + application/vnd.ibexa.api.SalesRepresentativesList+json: + schema: + $ref: '#/components/schemas/SalesRepresentativesListWrapper' + example: + SalesRepresentativesList: + _media-type: application/vnd.ibexa.api.SalesRepresentativesList+json + users: [{ _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/75, _id: 75, _remoteId: f262e2fa12ae105b78a1b654e87a0874, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/4 }, name: 'John Black', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/75/versions }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/10 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/5/64/76 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/75/locations }, Groups: { _media-type: application/vnd.ibexa.api.UserGroupRefList+json, _href: /api/ibexa/v2/user/users/75/groups }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, publishDate: '2023-06-20T07:33:17+00:00', lastModificationDate: '2023-06-20T07:33:17+00:00', mainLanguageCode: eng-GB, alwaysAvailable: true, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/75/versions/1, VersionInfo: { id: 536, versionNo: 1, status: PUBLISHED, modificationDate: '2023-06-20T07:33:17+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-06-20T07:33:17+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'John Black' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/75 } }, Fields: { field: [{ id: 339, fieldDefinitionIdentifier: first_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: John }, { id: 340, fieldDefinitionIdentifier: last_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Black }, { id: 341, fieldDefinitionIdentifier: user_account, languageCode: eng-GB, fieldTypeIdentifier: ibexa_user, fieldValue: { hasStoredLogin: true, contentId: 75, login: 'John Black', email: j.black@ibexa.co, passwordUpdatedAt: 1687246397, enabled: true, maxLogin: 0, plainPassword: null } }, { id: 342, fieldDefinitionIdentifier: signature, languageCode: eng-GB, fieldTypeIdentifier: ibexa_text, fieldValue: null }, { id: 343, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image, fieldValue: null }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/75/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/user/default_profile_image/initials.svg?initials=JB#profile_image', width: null, height: null, mimeType: image/svg+xml } }, login: 'John Black', email: j.black@ibexa.co, enabled: true, UserGroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/users/75/groups }, Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/users/75/roles } }] + '401': + description: 'Error - the user is not authorized to read Sales Representatives List.' + content: + application/vnd.ibexa.api.ErrorMessage: + schema: + $ref: '#/components/schemas/ErrorMessage' + summary: 'Read list of sales representatives' + description: 'Returns paginated list of available sales representatives.' + parameters: + - + name: Accept + in: header + description: 'If set, helps to determine response format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /discounts: + get: + operationId: api_discounts_get + tags: + - Discounts + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.DiscountList+json: + schema: + $ref: '#/components/schemas/DiscountList' + example: + DiscountList: + _media-type: application/vnd.ibexa.api.DiscountList+json + Discount: [{ _media-type: application/vnd.ibexa.api.Discount+json, id: 2, identifier: my_discount_identifier, name: 'My Discount', type: cart, label: 'My Discount label', labelDescription: 'My Discount description', priority: 1, isEnabled: true, createdAt: '2025-08-18T11:28:43+02:00', updatedAt: '2025-08-18T11:28:43+02:00', startDate: '2025-08-01T00:00:00+02:00', endDate: '2025-08-31T23:59:59+02:00', DiscountRule: { _media-type: application/vnd.ibexa.api.DiscountRule.FixedAmount+json, type: fixed_amount, expressionValues: { discount_amount: '12' } }, DiscountConditions: [{ _media-type: application/vnd.ibexa.api.DiscountCondition.IsInCurrency+json, identifier: is_in_currency, expressionValues: { currency_code: PLN } }], DiscountTranslations: [{ _media-type: application/vnd.ibexa.api.DiscountTranslation+json, languageCode: eng-GB, name: 'My Discount', description: 'My Discount description', label: 'My Discount label', labelDescription: 'My Discount description' }] }, { _media-type: application/vnd.ibexa.api.Discount+json, id: 3, identifier: my_another_discount, name: 'My Another Discount', type: catalog, label: 'Catalog discount label', labelDescription: 'Catalog discount description', priority: 1, isEnabled: true, createdAt: '2025-08-18T11:58:37+02:00', updatedAt: '2025-08-18T11:58:37+02:00', startDate: '2025-08-18T09:57:14+02:00', DiscountRule: { _media-type: application/vnd.ibexa.api.DiscountRule.Percentage+json, type: percentage, expressionValues: { discount_percentage: '10' } }, DiscountConditions: [{ _media-type: application/vnd.ibexa.api.DiscountCondition.IsInCurrency+json, identifier: is_in_currency, expressionValues: { currency_code: PLN } }], DiscountTranslations: [{ _media-type: application/vnd.ibexa.api.DiscountTranslation+json, languageCode: eng-GB, name: 'My Another Discount', description: 'My Another Discount Description', label: 'Catalog discount label', labelDescription: 'Catalog discount description' }] }] + summary: 'Get discounts' + description: 'Returns a list of all defined discounts' + parameters: + - + name: offset + in: query + description: '' + required: false + deprecated: false + allowEmptyValue: false + schema: + type: integer + style: form + explode: false + allowReserved: false + example: 0 + - + name: limit + in: query + description: '' + required: false + deprecated: false + allowEmptyValue: false + schema: + type: integer + style: form + explode: false + allowReserved: false + example: 25 + deprecated: false + post: + operationId: api_discounts_post + tags: + - Discounts + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Discount+json: + schema: + $ref: '#/components/schemas/Discount' + example: + Discount: + _media-type: application/vnd.ibexa.api.Discount+json + id: 2 + identifier: my_discount_identifier + name: 'My Discount' + type: cart + label: 'My Discount label' + labelDescription: 'My Discount description' + priority: 1 + isEnabled: true + createdAt: '2025-08-18T11:28:43+02:00' + updatedAt: '2025-08-18T11:28:43+02:00' + startDate: '2025-08-01T00:00:00+02:00' + endDate: '2025-08-31T23:59:59+02:00' + DiscountRule: { _media-type: application/vnd.ibexa.api.DiscountRule.FixedAmount+json, type: fixed_amount, expressionValues: { discount_amount: '12' } } + DiscountConditions: [{ _media-type: application/vnd.ibexa.api.DiscountCondition.IsInCurrency+json, identifier: is_in_currency, expressionValues: { currency_code: PLN } }] + DiscountTranslations: [{ _media-type: application/vnd.ibexa.api.DiscountTranslation+json, languageCode: eng-GB, name: 'My Discount', description: 'My Discount description', label: 'My Discount label', labelDescription: 'My Discount description' }] + '401': + description: 'Error - the user is not authorized to create a discount item.' + '406': + description: 'Error - the input data is not valid.' + summary: 'Create a discount' + description: 'Creates a new discount' + parameters: + - + name: X-Csrf-Token + in: header + description: 'CSRF token obtained during the authentication.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new DiscountCreateController resource' + content: + application/vnd.ibexa.api.DiscountCreate+json: + schema: + $ref: '#/components/schemas/DiscountCreate' + example: + DiscountCreate: + identifier: my_discount_identifier + type: cart + priority: 1 + isEnabled: true + userId: 14 + rule: + type: fixed_amount + amount: '12' + conditions: + - { class: \Ibexa\Discounts\Value\DiscountCondition\IsInCurrency, parameters: [PLN] } + startDate: '2025-08-01 00:00:00' + endDate: '2025-08-31 23:59:59' + createdAt: '2025-07-31 12:00:00' + updatedAt: '2025-07-31 12:10:02' + translations: + - { languageCode: eng-GB, name: 'My Discount', description: 'My Discount description', label: 'My Discount label', labelDescription: 'My Discount description' } + context: + arbitrary_foo_key: arbitrary_foo_value + arbitrary_bar_key: [arbitrary_bar_value1, arbitrary_bar_value2] + required: false + deprecated: false + '/discounts/{identifier}': + get: + operationId: api_discounts_identifier_get + tags: + - Discounts + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Discount+json: + schema: + $ref: '#/components/schemas/Discount' + example: + Discount: + _media-type: application/vnd.ibexa.api.Discount+json + id: 2 + identifier: my_discount_identifier + name: 'My Discount' + type: cart + label: 'My Discount label' + labelDescription: 'My Discount description' + priority: 1 + isEnabled: true + createdAt: '2025-08-18T11:28:43+02:00' + updatedAt: '2025-08-18T11:28:43+02:00' + startDate: '2025-08-01T00:00:00+02:00' + endDate: '2025-08-31T23:59:59+02:00' + DiscountRule: { _media-type: application/vnd.ibexa.api.DiscountRule.FixedAmount+json, type: fixed_amount, expressionValues: { discount_amount: '12' } } + DiscountConditions: [{ _media-type: application/vnd.ibexa.api.DiscountCondition.IsInCurrency+json, identifier: is_in_currency, expressionValues: { currency_code: PLN } }] + DiscountTranslations: [{ _media-type: application/vnd.ibexa.api.DiscountTranslation+json, languageCode: eng-GB, name: 'My Discount', description: 'My Discount description', label: 'My Discount label', labelDescription: 'My Discount description' }] + '404': + description: 'Error - a discount of the given unique identifier is not found.' + '401': + description: 'Error - the user is not authorized to read this discount item.' + summary: 'Get a discount item by its unique identifier.' + description: 'Returns a discount item by its unique string identifier.' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + example: my_discount_identifier + deprecated: false + delete: + operationId: api_discounts_identifier_delete + tags: + - Discounts + responses: + '204': + description: 'The discount is deleted.' + '404': + description: 'Error - a discount of the given unique identifier is not found.' + '401': + description: 'Error - the user is not authorized to delete a discount item.' + summary: 'Delete a discount item' + description: 'Deletes an existing discount item by its unique identifier' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + example: my_discount_identifier + - + name: X-Csrf-Token + in: header + description: 'CSRF token obtained during the authentication.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_discounts_identifier_patch + tags: + - Discounts + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Discount+json: + schema: + $ref: '#/components/schemas/Discount' + example: + Discount: + _media-type: application/vnd.ibexa.api.Discount+json + id: 2 + identifier: my_discount_identifier + name: 'My Discount' + type: cart + label: 'My Discount label' + labelDescription: 'My Discount description' + priority: 1 + isEnabled: true + createdAt: '2025-08-18T11:28:43+02:00' + updatedAt: '2025-08-18T11:28:43+02:00' + startDate: '2025-08-01T00:00:00+02:00' + endDate: '2025-08-31T23:59:59+02:00' + DiscountRule: { _media-type: application/vnd.ibexa.api.DiscountRule.FixedAmount+json, type: fixed_amount, expressionValues: { discount_amount: '12' } } + DiscountConditions: [{ _media-type: application/vnd.ibexa.api.DiscountCondition.IsInCurrency+json, identifier: is_in_currency, expressionValues: { currency_code: PLN } }] + DiscountTranslations: [{ _media-type: application/vnd.ibexa.api.DiscountTranslation+json, languageCode: eng-GB, name: 'My Discount', description: 'My Discount description', label: 'My Discount label', labelDescription: 'My Discount description' }] + '404': + description: 'Error - a discount of the given unique identifier is not found.' + '401': + description: 'Error - the user is not authorized to update a discount item.' + '406': + description: 'Error - the input data is not valid.' + summary: 'Update a discount' + description: 'Updates a new discount' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + example: my_discount_identifier + - + name: X-Csrf-Token + in: header + description: 'CSRF token obtained during the authentication.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated DiscountUpdateController resource' + content: + application/vnd.ibexa.api.DiscountUpdate+json: + schema: + $ref: '#/components/schemas/DiscountUpdate' + example: + DiscountUpdate: + identifier: my_discount_identifier + priority: 1 + isEnabled: true + userId: 14 + lastContributorId: 14 + rule: + type: fixed_amount + amount: '20' + conditions: + - { class: \Ibexa\Discounts\Value\DiscountCondition\IsInCurrency, parameters: [PLN] } + startDate: '2025-08-01 00:00:00' + endDate: '2025-08-31 23:59:59' + createdAt: '2025-07-31 12:00:00' + updatedAt: '2025-07-31 12:10:02' + translations: + - { languageCode: eng-GB, name: 'My Discount', description: 'My Discount description', label: 'My Discount label', labelDescription: 'My Discount description' } + context: + arbitrary_foo_key: arbitrary_foo_value + arbitrary_bar_key: [arbitrary_bar_value1, arbitrary_bar_value2] + required: false + deprecated: false + '/discounts/{identifier}/disable': + post: + operationId: api_discounts_identifierdisable_post + tags: + - Discounts + responses: + '204': + description: 'The discount is disabled.' + '404': + description: 'Error - a discount of the given unique identifier is not found.' + '401': + description: 'Error - the user is not authorized to disable a discount item.' + summary: 'Disables a discount' + description: 'Disables a discount item by its unique identifier' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + example: my_discount_identifier + - + name: X-Csrf-Token + in: header + description: 'CSRF token obtained during the authentication.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new DiscountDisableController resource' + content: { } + required: false + deprecated: false + '/discounts/{identifier}/enable': + post: + operationId: api_discounts_identifierenable_post + tags: + - Discounts + responses: + '204': + description: 'The discount is enabled.' + '404': + description: 'Error - a discount of the given unique identifier is not found.' + '401': + description: 'Error - the user is not authorized to enable a discount item.' + summary: 'Enables a discount' + description: 'Enables a discount item by its unique identifier' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + example: my_discount_identifier + - + name: X-Csrf-Token + in: header + description: 'CSRF token obtained during the authentication.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new DiscountEnableController resource' + content: { } + required: false + deprecated: false + '/discounts/{id}': + get: + operationId: api_discounts_id_get + tags: + - Discounts + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Discount+json: + schema: + $ref: '#/components/schemas/Discount' + example: + Discount: + _media-type: application/vnd.ibexa.api.Discount+json + id: 2 + identifier: my_discount_identifier + name: 'My Discount' + type: cart + label: 'My Discount label' + labelDescription: 'My Discount description' + priority: 1 + isEnabled: true + createdAt: '2025-08-18T11:28:43+02:00' + updatedAt: '2025-08-18T11:28:43+02:00' + startDate: '2025-08-01T00:00:00+02:00' + endDate: '2025-08-31T23:59:59+02:00' + DiscountRule: { _media-type: application/vnd.ibexa.api.DiscountRule.FixedAmount+json, type: fixed_amount, expressionValues: { discount_amount: '12' } } + DiscountConditions: [{ _media-type: application/vnd.ibexa.api.DiscountCondition.IsInCurrency+json, identifier: is_in_currency, expressionValues: { currency_code: PLN } }] + DiscountTranslations: [{ _media-type: application/vnd.ibexa.api.DiscountTranslation+json, languageCode: eng-GB, name: 'My Discount', description: 'My Discount description', label: 'My Discount label', labelDescription: 'My Discount description' }] + '404': + description: 'Error - a discount of the given ID is not found.' + '401': + description: 'Error - the user is not authorized to read this discount item.' + summary: 'Get a discount item' + description: 'Returns a discount item by its ID.' + parameters: + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: integer + style: simple + explode: false + allowReserved: false + example: 1 + deprecated: false + /languages: + get: + operationId: api_languages_get + tags: + - Language + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.LanguageList+xml: + schema: + $ref: '#/components/schemas/LanguageList' + example: | + + + + 2 + eng-GB + English (United Kingdom) + + + 4 + pol-PL + Polish (polski) + + + application/vnd.ibexa.api.LanguageList+json: + schema: + $ref: '#/components/schemas/LanguageListWrapper' + example: + LanguageList: + _media-type: application/vnd.ibexa.api.LanguageList+json + _href: /api/ibexa/v2/languages + Language: [{ _media-type: application/vnd.ibexa.api.Language+json, _href: /api/ibexa/v2/languages/eng-GB, languageId: 2, languageCode: eng-GB, name: 'English (United Kingdom)' }, { _href: /api/ibexa/v2/languages/pol-PL, _media-type: application/vnd.ibexa.api.Language+json, languageCode: pol-PL, languageId: 4, name: 'Polish (polski)' }] + summary: 'Language list' + description: 'Lists languages' + parameters: + - + name: Accept + in: header + description: 'If set, the list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/languages/{code}': + get: + operationId: api_languages_code_get + tags: + - Language + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Language+xml: + schema: + $ref: '#/components/schemas/Language' + example: | + + + 2 + eng-GB + English (United Kingdom) + + application/vnd.ibexa.api.Language+json: + schema: + $ref: '#/components/schemas/LanguageWrapper' + example: + Language: + _media-type: application/vnd.ibexa.api.Language+json + _href: /api/ibexa/v2/languages/eng-GB + languageId: 2 + languageCode: eng-GB + name: 'English (United Kingdom)' + summary: 'Get language' + description: 'Retrieves a LanguageLoadByIdController resource.' + parameters: + - + name: Accept + in: header + description: 'If set, the language is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: code + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /content/locations: + get: + operationId: api_contentlocations_get + tags: + - Location + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.LocationList+xml: + schema: + $ref: '#/components/schemas/Location' + example: | + + + 96 + 0 + false + true + false + + /1/2/42/96/ + 3 + 0 + 58133c8c75230e5debe362a28b92d27a + + + PATH + ASC + + + + + Art3 + Art3 + + +
+ + + 2021-06-28T11:34:17+00:00 + 2021-06-28T11:34:17+00:00 + eng-GB + 1 + false + false + PUBLISHED + + + + + application/vnd.ibexa.api.LocationList+json: + schema: + $ref: '#/components/schemas/LocationWrapper' + example: + Location: + _media-type: application/vnd.ibexa.api.Location+json + _href: /api/ibexa/v2/content/locations/1/2/59/114 + id: 114 + priority: 0 + hidden: false + invisible: false + explicitlyHidden: false + ParentLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2/59 } + pathString: /1/2/59/114/ + depth: 3 + childCount: 0 + remoteId: 47a1e4ee082fb64e93a822dcfe3a5614 + Children: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/locations/1/2/59/114/children } + Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/59 } + sortField: PATH + sortOrder: ASC + UrlAliases: { _media-type: application/vnd.ibexa.api.UrlAliasRefList+json, _href: /api/ibexa/v2/content/locations/1/2/59/114/urlaliases } + ContentInfo: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/59, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/59, _remoteId: 0fe1b1543f886b0becd4d9b2c7c517d0, _id: 59, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2 }, Name: Art1, TranslatedName: Art1, Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/59/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/59/currentversion }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/59/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2021-06-28T11:33:01+00:00', publishedDate: '2021-06-28T11:33:01+00:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: false, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/59/objectstates } } } + '307': + description: 'Temporary redirect to the main resource URL.' + '404': + description: 'Error - the Location with the given ID (remote ID or URL Alias) does not exist.' + summary: 'Load Locations by id/remoteId/urlAlias' + description: 'Loads the Location for a given ID (x), remote ID or URL alias.' + parameters: + - + name: Accept + in: header + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/content/locations/{path}': + get: + operationId: api_contentlocations_path_get + tags: + - Location + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Location+xml: + schema: + $ref: '#/components/schemas/Location' + example: | + + + 96 + 0 + false + true + false + + /1/2/42/96/ + 3 + 0 + 58133c8c75230e5debe362a28b92d27a + + + PATH + ASC + + + + + Art3 + Art3 + + +
+ + + 2021-06-28T11:34:17+00:00 + 2021-06-28T11:34:17+00:00 + eng-GB + 1 + false + false + PUBLISHED + + + + + application/vnd.ibexa.api.Location+json: + schema: + $ref: '#/components/schemas/LocationWrapper' + example: + Location: + _media-type: application/vnd.ibexa.api.Location+json + _href: /api/ibexa/v2/content/locations/1/2/59/114 + id: 114 + priority: 0 + hidden: false + invisible: false + explicitlyHidden: false + ParentLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2/59 } + pathString: /1/2/59/114/ + depth: 3 + childCount: 0 + remoteId: 47a1e4ee082fb64e93a822dcfe3a5614 + Children: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/locations/1/2/59/114/children } + Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/59 } + sortField: PATH + sortOrder: ASC + UrlAliases: { _media-type: application/vnd.ibexa.api.UrlAliasRefList+json, _href: /api/ibexa/v2/content/locations/1/2/59/114/urlaliases } + ContentInfo: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/59, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/59, _remoteId: 0fe1b1543f886b0becd4d9b2c7c517d0, _id: 59, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2 }, Name: Art1, TranslatedName: Art1, Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/59/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/59/currentversion }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/59/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2021-06-28T11:33:01+00:00', publishedDate: '2021-06-28T11:33:01+00:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: false, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/59/objectstates } } } + '401': + description: 'Error - the user is not authorized to read this Location.' + '404': + description: 'Error - the Location with the given path does not exist.' + summary: 'Load Location' + description: "Loads the Location for the given path e.g. '/content/locations/1/2/61'." + parameters: + - + name: Accept + in: header + description: 'If set, the new Location is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_contentlocations_path_delete + tags: + - Location + responses: + '204': + description: 'No Content - deleted.' + '401': + description: 'Error - the user is not authorized to delete this subtree.' + '404': + description: 'Error - the Location with the given ID does not exist.' + summary: 'Delete subtree' + description: 'Deletes the complete subtree for the given path. Every content item which does not have any other Location is deleted. Otherwise the deleted Location is removed from the content item. The children are recursively deleted.' + parameters: + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_contentlocations_path_patch + tags: + - Location + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Location+xml: + schema: + $ref: '#/components/schemas/Location' + example: | + + + 96 + 0 + false + true + false + + /1/2/42/96/ + 3 + 0 + 58133c8c75230e5debe362a28b92d27a + + + PATH + ASC + + + + + Art3 + Art3 + + +
+ + + 2021-06-28T11:34:17+00:00 + 2021-06-28T11:34:17+00:00 + eng-GB + 1 + false + false + PUBLISHED + + + + + application/vnd.ibexa.api.Location+json: + schema: + $ref: '#/components/schemas/LocationWrapper' + example: + Location: + _media-type: application/vnd.ibexa.api.Location+json + _href: /api/ibexa/v2/content/locations/1/2/59/114 + id: 114 + priority: 0 + hidden: false + invisible: false + explicitlyHidden: false + ParentLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2/59 } + pathString: /1/2/59/114/ + depth: 3 + childCount: 0 + remoteId: 47a1e4ee082fb64e93a822dcfe3a5614 + Children: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/locations/1/2/59/114/children } + Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/59 } + sortField: PATH + sortOrder: ASC + UrlAliases: { _media-type: application/vnd.ibexa.api.UrlAliasRefList+json, _href: /api/ibexa/v2/content/locations/1/2/59/114/urlaliases } + ContentInfo: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/59, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/59, _remoteId: 0fe1b1543f886b0becd4d9b2c7c517d0, _id: 59, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2 }, Name: Art1, TranslatedName: Art1, Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/59/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/59/currentversion }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/59/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2021-06-28T11:33:01+00:00', publishedDate: '2021-06-28T11:33:01+00:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: false, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/59/objectstates } } } + '401': + description: 'Error - the user is not authorized to update this Location.' + '404': + description: 'Error - the Location with the given ID does not exist.' + summary: 'Update Location' + description: 'Updates the Location. This method can also be used to hide/reveal a Location via the hidden field in the LocationUpdate. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, the Location is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The LocationUpdate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated LocationUpdateController resource' + content: + application/vnd.ibexa.api.LocationUpdate+xml: + schema: + $ref: '#/components/schemas/LocationUpdateStruct' + example: | + + + 3 + true + remoteId-qwert999 + CLASS + DESC + + application/vnd.ibexa.api.LocationUpdate+json: + schema: + $ref: '#/components/schemas/LocationUpdateStructWrapper' + example: + LocationUpdate: + priority: '3' + hidden: true + remoteId: remoteId-qwert999 + sortField: NAME + sortOrder: DESC + required: false + deprecated: false + '/content/locations/{path}/children': + get: + operationId: api_contentlocations_pathchildren_get + tags: + - Location + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.LocationList+xml: + schema: + $ref: '#/components/schemas/LocationList' + example: | + + + + + application/vnd.ibexa.api.LocationList+json: + schema: + $ref: '#/components/schemas/LocationListWrapper' + '401': + description: 'Error - the user is not authorized to read this content item.' + '404': + description: 'Error - the content item with the given ID does not exist.' + summary: 'Get child Locations.' + description: 'Loads all child Locations for the given parent Location.' + parameters: + - + name: Accept + in: header + description: 'If set, the new Location list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/content/locations/{path}/urlaliases': + get: + operationId: api_contentlocations_pathurlaliases_get + tags: + - Location + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UrlAliasRefList+xml: + schema: + $ref: '#/components/schemas/UrlAliasRefList' + example: | + + + + + application/vnd.ibexa.api.UrlAliasRefList+json: + schema: + $ref: '#/components/schemas/UrlAliasRefListWrapper' + '400': + description: 'Error - The user has no permission to read URL aliases.' + '401': + description: 'Error - The Location was not found.' + summary: 'List URL aliases for Location' + description: 'Returns the list of URL aliases for a Location.' + parameters: + - + name: Accept + in: header + description: 'If set, the URL alias list contains only references and is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /content/objectstategroups: + get: + operationId: api_contentobjectstategroups_get + tags: + - 'Object State Groups' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ObjectStateGroupList+xml: + schema: + $ref: '#/components/schemas/ObjectStateGroupList' + example: | + + + + 2 + ibexa_lock + eng-GB + eng-GB + + + Lock + + + + + + + 3 + accessibility + eng-GB + eng-GB + + + Accessibility + + + + + + + 6 + custom-states + eng-GB + eng-GB + + + Custom State + + + Custom Object state + + + + application/vnd.ibexa.api.ObjectStateGroupList+json: + schema: + $ref: '#/components/schemas/ObjectStateGroupListWrapper' + example: + ObjectStateGroupList: + _media-type: application/vnd.ibexa.api.ObjectStateGroupList+json + _href: /api/ibexa/v2/content/objectstategroups + ObjectStateGroup: [{ _media-type: application/vnd.ibexa.api.ObjectStateGroup+json, _href: /api/ibexa/v2/content/objectstategroups/2, id: 2, identifier: ibexa_lock, defaultLanguageCode: eng-GB, languageCodes: eng-GB, ObjectStates: { _media-type: application/vnd.ibexa.api.ObjectStateList+json, _href: /api/ibexa/v2/content/objectstategroups/2/objectstates }, names: { value: [{ _languageCode: eng-GB, '#text': Lock }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': '' }] } }, { _media-type: application/vnd.ibexa.api.ObjectStateGroup+json, _href: /api/ibexa/v2/content/objectstategroups/3, id: 3, identifier: accessibility, defaultLanguageCode: eng-GB, languageCodes: eng-GB, ObjectStates: { _media-type: application/vnd.ibexa.api.ObjectStateList+json, _href: /api/ibexa/v2/content/objectstategroups/3/objectstates }, names: { value: [{ _languageCode: eng-GB, '#text': Accessibility }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': '' }] } }, { _media-type: application/vnd.ibexa.api.ObjectStateGroup+json, _href: /api/ibexa/v2/content/objectstategroups/6, id: 6, identifier: custom-states, defaultLanguageCode: eng-GB, languageCodes: eng-GB, ObjectStates: { _media-type: application/vnd.ibexa.api.ObjectStateList+json, _href: /api/ibexa/v2/content/objectstategroups/6/objectstates }, names: { value: [{ _languageCode: eng-GB, '#text': 'Custom State' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Custom Object state' }] } }] + '401': + description: 'Error - The user has no permission to read Object state groups.' + summary: 'List Object state groups' + description: 'Returns a list of all Object state groups.' + parameters: + - + name: Accept + in: header + description: 'If set, the Object state group list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contentobjectstategroups_post + tags: + - 'Object State Groups' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.ObjectStateGroup+xml: + schema: + $ref: '#/components/schemas/ObjectStateGroup' + example: | + + + 7 + custom-states + eng-GB + eng-GB + + + New Custom State name + + + Custom Object state + + + application/vnd.ibexa.api.ObjectStateGroup+json: + schema: + $ref: '#/components/schemas/ObjectStateGroupWrapper' + example: + ObjectStateGroup: + _media-type: application/vnd.ibexa.api.ObjectStateGroup+json + _href: /api/ibexa/v2/content/objectstategroups/7 + id: 7 + identifier: custom-states + defaultLanguageCode: eng-GB + languageCodes: eng-GB + ObjectStates: { _media-type: application/vnd.ibexa.api.ObjectStateList+json, _href: /api/ibexa/v2/content/objectstategroups/7/objectstates } + names: { value: [{ _languageCode: eng-GB, '#text': 'New Custom State name' }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Custom Object state' }] } + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to create an Object state group.' + '403': + description: 'Error - An Object state group with the same identifier already exists.' + summary: 'Create Object state group' + description: 'Creates a new Object state group.' + parameters: + - + name: Accept + in: header + description: 'If set, the new Object state group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The Object state group input schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ObjectStateGroupCreateController resource' + content: + application/vnd.ibexa.api.ObjectStateGroupCreate+xml: + schema: + $ref: '#/components/schemas/ObjectStateGroupCreate' + example: |- + + + custom + eng-GB + + Custom State + + + Custom Object state + + + application/vnd.ibexa.api.ObjectStateGroupCreate+json: + schema: + $ref: '#/components/schemas/ObjectStateGroupCreateWrapper' + example: + ObjectStateGroupCreate: + identifier: custom-states + defaultLanguageCode: eng-GB + names: + value: [{ _languageCode: eng-GB, '#text': 'Custom State' }] + descriptions: + value: [{ _languageCode: eng-GB, '#text': 'Custom Object state' }] + required: false + deprecated: false + '/content/objectstategroups/{objectStateGroupId}': + get: + operationId: api_contentobjectstategroups_objectStateGroupId_get + tags: + - 'Object State Groups' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ObjectStateGroup+xml: + schema: + $ref: '#/components/schemas/ObjectStateGroup' + example: | + + + 7 + custom-states + eng-GB + eng-GB + + + New Custom State name + + + Custom Object state + + + application/vnd.ibexa.api.ObjectStateGroup+json: + schema: + $ref: '#/components/schemas/ObjectStateGroupWrapper' + example: + ObjectStateGroup: + _media-type: application/vnd.ibexa.api.ObjectStateGroup+json + _href: /api/ibexa/v2/content/objectstategroups/7 + id: 7 + identifier: custom-states + defaultLanguageCode: eng-GB + languageCodes: eng-GB + ObjectStates: { _media-type: application/vnd.ibexa.api.ObjectStateList+json, _href: /api/ibexa/v2/content/objectstategroups/7/objectstates } + names: { value: [{ _languageCode: eng-GB, '#text': 'New Custom State name' }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Custom Object state' }] } + '401': + description: 'Error - The user is not authorized to read this Object state group.' + '404': + description: 'Error - The Object state group does not exist.' + summary: 'Get Object state group' + description: 'Returns the Object state group with the provided ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the Object state group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: objectStateGroupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_contentobjectstategroups_objectStateGroupId_delete + tags: + - 'Object State Groups' + responses: + '204': + description: 'No Content - Object state group deleted.' + '401': + description: 'Error - The user is not authorized to delete an Object state group.' + '404': + description: 'Error - The Object state group does not exist.' + summary: 'Delete Object state group' + description: 'Deletes the given Object state group including Object states.' + parameters: + - + name: objectStateGroupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_contentobjectstategroups_objectStateGroupId_patch + tags: + - 'Object State Groups' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ObjectStateGroup+xml: + schema: + $ref: '#/components/schemas/ObjectStateGroup' + example: | + + + 7 + custom-states + eng-GB + eng-GB + + + New Custom State name + + + Custom Object state + + + application/vnd.ibexa.api.ObjectStateGroup+json: + schema: + $ref: '#/components/schemas/ObjectStateGroupWrapper' + example: + ObjectStateGroup: + _media-type: application/vnd.ibexa.api.ObjectStateGroup+json + _href: /api/ibexa/v2/content/objectstategroups/7 + id: 7 + identifier: custom-states + defaultLanguageCode: eng-GB + languageCodes: eng-GB + ObjectStates: { _media-type: application/vnd.ibexa.api.ObjectStateList+json, _href: /api/ibexa/v2/content/objectstategroups/7/objectstates } + names: { value: [{ _languageCode: eng-GB, '#text': 'New Custom State name' }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Custom Object state' }] } + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to update an Object state group.' + '403': + description: 'Error - An Object state group with the provided identifier already exists.' + '412': + description: 'Error - The current ETag does not match the one provided in the If-Match header.' + summary: 'Update Object state group' + description: 'Updates an Object state group. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated Object state group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The Object state group input schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: objectStateGroupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated ObjectStateGroupUpdateController resource' + content: + application/vnd.ibexa.api.ObjectStateGroupUpdate+xml: + schema: + $ref: '#/components/schemas/ObjectStateGroupUpdate' + example: | + + + + New Custom State name + + + application/vnd.ibexa.api.ObjectStateGroupUpdate+json: + schema: + $ref: '#/components/schemas/ObjectStateGroupUpdateWrapper' + example: + ObjectStateGroupUpdate: + names: + value: [{ _languageCode: eng-GB, '#text': 'New Custom State name' }] + required: false + deprecated: false + '/content/objectstategroups/{objectStateGroupId}/objectstates': + get: + operationId: api_contentobjectstategroups_objectStateGroupIdobjectstates_get + tags: + - 'Object State Groups' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ObjectStateList+xml: + schema: + $ref: '#/components/schemas/ObjectStateList' + example: | + + + + 1 + not_locked + 0 + + eng-GB + eng-GB + + Not locked + + + + + + + 2 + locked + 1 + + eng-GB + eng-GB + + Locked + + + + + + + application/vnd.ibexa.api.ObjectStateList+json: + schema: + $ref: '#/components/schemas/ObjectStateListWrapper' + example: + ObjectStateList: + _media-type: application/vnd.ibexa.api.ObjectStateList+json + _href: /api/ibexa/v2/content/objectstategroups/2/objectstates + ObjectState: [{ _media-type: application/vnd.ibexa.api.ObjectState+json, _href: /api/ibexa/v2/content/objectstategroups/2/objectstates/1, id: 1, identifier: not_locked, priority: 0, ObjectStateGroup: { _media-type: application/vnd.ibexa.api.ObjectStateGroup+json, _href: /api/ibexa/v2/content/objectstategroups/2 }, defaultLanguageCode: eng-GB, languageCodes: eng-GB, names: { value: [{ _languageCode: eng-GB, '#text': 'Not locked' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': '' }] } }, { _media-type: application/vnd.ibexa.api.ObjectState+json, _href: /api/ibexa/v2/content/objectstategroups/2/objectstates/2, id: 2, identifier: locked, priority: 1, ObjectStateGroup: { _media-type: application/vnd.ibexa.api.ObjectStateGroup+json, _href: /api/ibexa/v2/content/objectstategroups/2 }, defaultLanguageCode: eng-GB, languageCodes: eng-GB, names: { value: [{ _languageCode: eng-GB, '#text': Locked }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': '' }] } }] + '401': + description: 'Error - The user has no permission to read Object states.' + summary: 'List Object states' + description: 'Returns a list of all Object states of the given group.' + parameters: + - + name: Accept + in: header + description: 'If set, the Object state list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: objectStateGroupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contentobjectstategroups_objectStateGroupIdobjectstates_post + tags: + - 'Object State Groups' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.ObjectState+xml: + schema: + $ref: '#/components/schemas/ObjectState' + example: | + + + 2 + locked + 1 + + eng-GB + eng-GB + + New Object State name + + + + + + application/vnd.ibexa.api.ObjectState+json: + schema: + $ref: '#/components/schemas/ObjectStateWrapper' + example: + ObjectState: + _media-type: application/vnd.ibexa.api.ObjectState+json + _href: /api/ibexa/v2/content/objectstategroups/6/objectstates/9 + id: 9 + identifier: closed + priority: 1 + ObjectStateGroup: { _media-type: application/vnd.ibexa.api.ObjectStateGroup+json, _href: /api/ibexa/v2/content/objectstategroups/6 } + defaultLanguageCode: eng-GB + languageCodes: eng-GB + names: { value: [{ _languageCode: eng-GB, '#text': 'New Object State name' }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': '' }] } + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to create an Object state.' + '403': + description: 'Error - An Object state with the same identifier already exists in the given group.' + summary: 'Create Object state' + description: 'Creates a new Object state.' + parameters: + - + name: Accept + in: header + description: 'If set, the new Object state is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The Object state input schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: objectStateGroupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ObjectStateCreateController resource' + content: + application/vnd.ibexa.api.ObjectStateCreate+xml: + schema: + $ref: '#/components/schemas/ObjectStateCreate' + example: | + + + new-state + 1 + eng-GB + + New State + + + New Object State + + + application/vnd.ibexa.api.ObjectStateCreate+json: + schema: + $ref: '#/components/schemas/ObjectStateCreateWrapper' + example: + ObjectStateCreate: + identifier: new-state + priority: '1' + defaultLanguageCode: eng-GB + languageCodes: eng-GB + names: + value: [{ _languageCode: eng-GB, '#text': 'New State' }] + descriptions: + value: [{ _languageCode: eng-GB, '#text': 'New Object State' }] + required: false + deprecated: false + '/content/objectstategroups/{objectStateGroupId}/objectstates/{objectStateId}': + get: + operationId: api_contentobjectstategroups_objectStateGroupIdobjectstates_objectStateId_get + tags: + - 'Object State Groups' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ObjectState+xml: + schema: + $ref: '#/components/schemas/ObjectState' + example: | + + + 2 + locked + 1 + + eng-GB + eng-GB + + New Object State name + + + + + + application/vnd.ibexa.api.ObjectState+json: + schema: + $ref: '#/components/schemas/ObjectStateWrapper' + example: + ObjectState: + _media-type: application/vnd.ibexa.api.ObjectState+json + _href: /api/ibexa/v2/content/objectstategroups/6/objectstates/9 + id: 9 + identifier: closed + priority: 1 + ObjectStateGroup: { _media-type: application/vnd.ibexa.api.ObjectStateGroup+json, _href: /api/ibexa/v2/content/objectstategroups/6 } + defaultLanguageCode: eng-GB + languageCodes: eng-GB + names: { value: [{ _languageCode: eng-GB, '#text': 'New Object State name' }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': '' }] } + '401': + description: 'Error - The user is not authorized to read this Object state.' + '404': + description: 'Error - The Object state does not exist.' + summary: 'Get Object state' + description: 'Returns the Object state.' + parameters: + - + name: Accept + in: header + description: 'If set, the Object State is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: objectStateGroupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: objectStateId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_contentobjectstategroups_objectStateGroupIdobjectstates_objectStateId_delete + tags: + - 'Object State Groups' + responses: + '204': + description: 'No Content - Object state deleted.' + '401': + description: 'Error - The user is not authorized to delete an Object state.' + '404': + description: 'Error - The Object state does not exist.' + summary: 'Delete Object state' + description: 'Deletes provided Object state.' + parameters: + - + name: objectStateGroupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: objectStateId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_contentobjectstategroups_objectStateGroupIdobjectstates_objectStateId_patch + tags: + - 'Object State Groups' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ObjectState+xml: + schema: + $ref: '#/components/schemas/ObjectState' + example: | + + + 2 + locked + 1 + + eng-GB + eng-GB + + New Object State name + + + + + + application/vnd.ibexa.api.ObjectState+json: + schema: + $ref: '#/components/schemas/ObjectStateWrapper' + example: + ObjectState: + _media-type: application/vnd.ibexa.api.ObjectState+json + _href: /api/ibexa/v2/content/objectstategroups/6/objectstates/9 + id: 9 + identifier: closed + priority: 1 + ObjectStateGroup: { _media-type: application/vnd.ibexa.api.ObjectStateGroup+json, _href: /api/ibexa/v2/content/objectstategroups/6 } + defaultLanguageCode: eng-GB + languageCodes: eng-GB + names: { value: [{ _languageCode: eng-GB, '#text': 'New Object State name' }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': '' }] } + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to update the Object state.' + '403': + description: 'Error - An Object state with the provided identifier already exists in this group.' + '412': + description: 'Error - The current ETag does not match the one provided in the If-Match header.' + summary: 'Update Object state' + description: 'Updates an Object state. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated Object state is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The Object state input schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: objectStateGroupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: objectStateId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated ObjectStateUpdateController resource' + content: + application/vnd.ibexa.api.ObjectStateUpdate+xml: + schema: + $ref: '#/components/schemas/ObjectStateUpdate' + example: | + + + 3 + eng-GB + + New Object State name + + + application/vnd.ibexa.api.ObjectStateUpdate+json: + schema: + $ref: '#/components/schemas/ObjectStateUpdateWrapper' + example: + ObjectStateUpdate: + names: + value: [{ _languageCode: eng-GB, '#text': 'New Object State name' }] + required: false + deprecated: false + /content/objects: + get: + operationId: api_contentobjects_get + tags: + - Objects + responses: + '307': + description: 'Temporary redirect to `GET /content/objects/{contentId}` equivalent.' + headers: + Location: + description: 'Contains the prefixed `/content/objects/{contentId}` absolute path of the content item.' + schema: + type: string + '400': + description: 'Error - the required `remoteId` query parameter is missing.' + '404': + description: 'Error - the content with the given remote ID does not exist.' + summary: 'Load content by remote ID' + description: 'Loads content item for a given remote ID.' + parameters: + - + name: remoteId + in: query + description: 'Remote ID of the content item.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: form + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contentobjects_post + tags: + - Objects + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Content+xml: + schema: + $ref: '#/components/schemas/Content' + example: | + + + + Forms + Forms + + + + + 514 + 1 + PUBLISHED + 2018-09-17T06:48:13+00:00 + + 2018-09-17T06:48:13+00:00 + eng-GB + eng-GB + + + eng-GB + + + + Forms + + + + + + 249 + name + eng-GB + ibexa_string + Forms + + + 250 + short_name + eng-GB + ibexa_string + + + + 251 + short_description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + 252 + description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + + + /bundles/ezplatformadminui/img/ez-icons.svg#folder + + + image/svg+xml + + + +
+ + + + 2018-09-17T06:48:13+00:00 + 2018-09-17T06:48:13+00:00 + eng-GB + 1 + false + false + PUBLISHED + + + application/vnd.ibexa.api.Content+json: + schema: + $ref: '#/components/schemas/ContentWrapper' + example: + Content: + _media-type: application/vnd.ibexa.api.Content+json + _href: /api/ibexa/v2/content/objects/54 + _remoteId: 9e863fbb0fb835ce050032b4f00de61d + _id: 54 + ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1 } + Name: Forms + TranslatedName: Forms + Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/54/versions } + CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/54/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/54/versions/1, VersionInfo: { id: 514, versionNo: 1, status: PUBLISHED, modificationDate: '2018-09-17T06:48:13+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2018-09-17T06:48:13+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': Forms }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/54 } }, Fields: { field: [{ id: 249, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Forms }, { id: 250, fieldDefinitionIdentifier: short_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: null }, { id: 251, fieldDefinitionIdentifier: short_description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 252, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/54/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ezplatformadminui/img/ez-icons.svg#folder', width: null, height: null, mimeType: image/svg+xml } } } + Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/6 } + MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/55 } + Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/54/locations } + Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + lastModificationDate: '2018-09-17T06:48:13+00:00' + publishedDate: '2018-09-17T06:48:13+00:00' + mainLanguageCode: eng-GB + currentVersionNo: 1 + alwaysAvailable: false + isHidden: false + status: PUBLISHED + ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/54/objectstates } + application/vnd.ibexa.api.ContentInfo+xml: + schema: + $ref: '#/components/schemas/ContentInfoWrapper' + example: | + + + + article1 + + +
+ + + + 2019-02-19T15:00:34+01:00 + 2019-02-19T15:00:34+01:00 + eng-GB + 1 + false + + + '400': + description: 'Error - the input does not match the input schema definition or the validation on a field fails.' + '401': + description: 'Error - the user is not authorized to create this Object in this Location.' + '404': + description: 'Error - the parent Location specified in the request body does not exist.' + summary: 'Create content item' + description: 'Creates a draft assigned to the authenticated user. If a different user ID is given in the input, the draft is assigned to the given user but this action requires special permissions for the authenticated user (this is useful for content staging where the transfer process does not have to authenticate with the user who created the content item in the source server). The user needs to publish the content item if it should be visible.' + parameters: + - + name: Accept + in: header + description: 'Content - If set, all information for the content item including the embedded current version is returned in XML or JSON format. ContentInfo - If set, all information for the content item (excluding the current version) is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The ContentCreate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ContentCreateController resource' + content: + application/vnd.ibexa.api.ContentCreate+xml: + schema: + $ref: '#/components/schemas/ContentCreate' + example: | + + + + eng-GB + + + 0 + false + PATH + ASC + +
+ true + + + + title + eng-GB + draft article + + + intro + eng-GB + +

draft draft

]]> + + + + body + eng-GB + +

draft draft draft

]]> + + + + + application/vnd.ibexa.api.ContentCreate+json: + schema: + $ref: '#/components/schemas/ContentCreateWrapper' + example: + ContentCreate: + ContentType: + _href: /api/ibexa/v2/content/types/2 + mainLanguageCode: eng-GB + LocationCreate: + _media-type: application/vnd.ibexa.api.LocationCreate + ParentLocation: { _href: /api/ibexa/v2/content/locations/1/2 } + priority: '0' + hidden: 'false' + sortField: PATH + sortOrder: ASC + Section: + _href: /api/ibexa/v2/content/sections/1 + alwaysAvailable: 'true' + fields: + field: [{ fieldDefinitionIdentifier: title, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'draft article' }, { fieldDefinitionIdentifier: intro, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: '

draft draft

' } }, { fieldDefinitionIdentifier: body, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: '

draft draft draft

' } }] + required: false + deprecated: false + '/content/objects/{contentId}': + get: + operationId: api_contentobjects_contentId_get + tags: + - Objects + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Content+xml: + schema: + $ref: '#/components/schemas/Content' + example: | + + + + Forms + Forms + + + + + 514 + 1 + PUBLISHED + 2018-09-17T06:48:13+00:00 + + 2018-09-17T06:48:13+00:00 + eng-GB + eng-GB + + + eng-GB + + + + Forms + + + + + + 249 + name + eng-GB + ibexa_string + Forms + + + 250 + short_name + eng-GB + ibexa_string + + + + 251 + short_description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + 252 + description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + + + /bundles/ezplatformadminui/img/ez-icons.svg#folder + + + image/svg+xml + + + +
+ + + + 2018-09-17T06:48:13+00:00 + 2018-09-17T06:48:13+00:00 + eng-GB + 1 + false + false + PUBLISHED + + + application/vnd.ibexa.api.Content+json: + schema: + $ref: '#/components/schemas/ContentWrapper' + example: + Content: + _media-type: application/vnd.ibexa.api.Content+json + _href: /api/ibexa/v2/content/objects/54 + _remoteId: 9e863fbb0fb835ce050032b4f00de61d + _id: 54 + ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1 } + Name: Forms + TranslatedName: Forms + Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/54/versions } + CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/54/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/54/versions/1, VersionInfo: { id: 514, versionNo: 1, status: PUBLISHED, modificationDate: '2018-09-17T06:48:13+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2018-09-17T06:48:13+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': Forms }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/54 } }, Fields: { field: [{ id: 249, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Forms }, { id: 250, fieldDefinitionIdentifier: short_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: null }, { id: 251, fieldDefinitionIdentifier: short_description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 252, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/54/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ezplatformadminui/img/ez-icons.svg#folder', width: null, height: null, mimeType: image/svg+xml } } } + Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/6 } + MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/55 } + Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/54/locations } + Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + lastModificationDate: '2018-09-17T06:48:13+00:00' + publishedDate: '2018-09-17T06:48:13+00:00' + mainLanguageCode: eng-GB + currentVersionNo: 1 + alwaysAvailable: false + isHidden: false + status: PUBLISHED + ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/54/objectstates } + application/vnd.ibexa.api.ContentInfo+xml: + schema: + $ref: '#/components/schemas/ContentInfo' + application/vnd.ibexa.api.ContentInfo+json: + schema: + $ref: '#/components/schemas/ContentInfoWrapper' + example: | + + + + article1 + + +
+ + + + 2019-02-19T15:00:34+01:00 + 2019-02-19T15:00:34+01:00 + eng-GB + 1 + false + + + '401': + description: 'Error - the user is not authorized to read this object. This could also happen if there is no published version yet and another user owns a draft of this content item.' + '404': + description: 'Error - the ID is not found.' + summary: 'Load content' + description: 'Loads the content item for the given ID. Depending on the Accept header the current version is embedded (i.e. the current published version or if it does not exist, the draft of the authenticated user).' + parameters: + - + name: Accept + in: header + description: |- + + * Content - If set, all information for the content item including the embedded current version is returned in XML or JSON format. + * ContentInfo - If set, all information for the content item (excluding the current version) is returned in XML or JSON format. + + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + enum: + - application/vnd.ibexa.api.Content+xml + - application/vnd.ibexa.api.Content+json + - application/vnd.ibexa.api.ContentInfo+xml + - application/vnd.ibexa.api.ContentInfo+json + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: 'If the provided ETag matches the current ETag then a "304 Not Modified" is returned. The ETag changes if the meta data has changed, this happens also if there is a new published version.' + required: false + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: integer + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_contentobjects_contentId_delete + tags: + - Objects + responses: + '204': + description: 'The content item is deleted.' + '404': + description: 'Error - content item was not found.' + '401': + description: 'Error - the user is not authorized to delete this content item.' + summary: 'Delete Content' + description: 'Deletes content item. If content item has multiple Locations, all of them will be deleted via delete a subtree.' + parameters: + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_contentobjects_contentId_patch + tags: + - Objects + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ContentInfo+xml: + schema: + $ref: '#/components/schemas/ContentInfo' + application/vnd.ibexa.api.ContentInfo+json: + schema: + $ref: '#/components/schemas/ContentInfoWrapper' + example: | + + + + article1 + + +
+ + + + 2019-02-19T15:00:34+01:00 + 2019-02-19T15:00:34+01:00 + eng-GB + 1 + false + + + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update this object.' + '404': + description: 'Error - the content ID does not exist.' + '412': + description: 'Error - the current ETag does not match with the one provided in the If-Match header.' + '415': + description: 'Error - the media-type is not one of those specified in headers.' + summary: 'Update content' + description: 'This method updates the content metadata which is independent from a version. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, all information for the content item (excluding the current version) is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-match + in: header + description: 'Causes to patch only if the specified ETag is the current one. Otherwise a 412 is returned.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The ContentUpdate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated ContentMetadataUpdateController resource' + content: + application/vnd.ibexa.api.ContentUpdate+xml: + schema: + $ref: '#/components/schemas/ContentInfo' + application/vnd.ibexa.api.ContentUpdate+json: + schema: + $ref: '#/components/schemas/ContentInfoWrapper' + example: | + + + + article1 + + +
+ + + + 2019-02-19T15:00:34+01:00 + 2019-02-19T15:00:34+01:00 + eng-GB + 1 + false + + + required: false + deprecated: false + '/content/objects/{contentId}/currentversion': + get: + operationId: api_contentobjects_contentIdcurrentversion_get + tags: + - Objects + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Version+xml: + schema: + $ref: '#/components/schemas/Version' + example: | + + + + 581 + 5 + ARCHIVED + 2023-05-24T06:11:50+00:00 + + 2023-05-24T06:09:49+00:00 + eng-GB + eng-GB + + + eng-GB + + + + Features + + + + + + 477 + name + eng-GB + ibexa_string + Features + + + 478 + short_name + eng-GB + ibexa_string + + + + 479 + short_description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + 480 + description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + + + /placeholder + + + image/svg+xml + + + application/vnd.ibexa.api.Version+json: + schema: + $ref: '#/components/schemas/VersionWrapper' + example: + Version: + _media-type: application/vnd.ibexa.api.Version+json + _href: /api/ibexa/v2/content/objects/107/versions/5 + VersionInfo: { id: 581, versionNo: 5, status: ARCHIVED, modificationDate: '2023-05-24T06:11:50+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-05-24T06:09:49+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': Features }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/107 } } + Fields: { field: [{ id: 477, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Features }, { id: 478, fieldDefinitionIdentifier: short_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: null }, { id: 479, fieldDefinitionIdentifier: short_description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 480, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }] } + Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/107/versions/5/relations, Relation: [] } + Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } + '307': + description: 'Temporary redirect.' + '404': + description: 'Error - the resource does not exist.' + summary: 'Get current version' + description: 'Redirects to the current version of the content item.' + parameters: + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contentobjects_contentIdcurrentversion_post + tags: + - Objects + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Version+xml: + schema: + $ref: '#/components/schemas/Version' + example: | + + + + 581 + 5 + ARCHIVED + 2023-05-24T06:11:50+00:00 + + 2023-05-24T06:09:49+00:00 + eng-GB + eng-GB + + + eng-GB + + + + Features + + + + + + 477 + name + eng-GB + ibexa_string + Features + + + 478 + short_name + eng-GB + ibexa_string + + + + 479 + short_description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + 480 + description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + + + /placeholder + + + image/svg+xml + + + application/vnd.ibexa.api.Version+json: + schema: + $ref: '#/components/schemas/VersionWrapper' + example: + Version: + _media-type: application/vnd.ibexa.api.Version+json + _href: /api/ibexa/v2/content/objects/107/versions/5 + VersionInfo: { id: 581, versionNo: 5, status: ARCHIVED, modificationDate: '2023-05-24T06:11:50+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-05-24T06:09:49+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': Features }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/107 } } + Fields: { field: [{ id: 477, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Features }, { id: 478, fieldDefinitionIdentifier: short_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: null }, { id: 479, fieldDefinitionIdentifier: short_description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 480, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }] } + Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/107/versions/5/relations, Relation: [] } + Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } + '401': + description: 'Error - the user is not authorized to update this content item.' + '403': + description: 'Error - the current version is already a draft.' + '404': + description: 'Error - the content item was not found.' + summary: 'Create a draft from current version' + description: 'The system creates a new draft as a copy of the current version. COPY or POST with header X-HTTP-Method-Override COPY.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated version is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ContentDraftCreateFromCurrentVersionController resource' + content: { } + required: false + deprecated: false + '/content/objects/{contentId}/hide': + post: + operationId: api_contentobjects_contentIdhide_post + tags: + - Objects + responses: + '204': + description: 'OK - Object item is hidden.' + '401': + description: 'Error - The user has no permission to change Object item visibility.' + '404': + description: 'Error - The content item was not found.' + summary: 'Hide content item' + description: 'Makes or keep the content item invisible' + parameters: + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ContentHideController resource' + content: { } + required: false + deprecated: false + '/content/objects/{contentId}/locations': + get: + operationId: api_contentobjects_contentIdlocations_get + tags: + - Objects + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.LocationList+xml: + schema: + $ref: '#/components/schemas/LocationList' + example: | + + + + + application/vnd.ibexa.api.LocationList+json: + schema: + $ref: '#/components/schemas/LocationListWrapper' + example: + LocationList: + _media-type: application/vnd.ibexa.api.LocationList+json + _href: /api/ibexa/v2/content/objects/63/locations + Location: [{ _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2/57/65 }] + '401': + description: 'Error - the user is not authorized to read this content item.' + '404': + description: 'Error - the content item with the given ID does not exist.' + summary: 'Get Locations for content item' + description: 'Loads all Locations for the given content item.' + parameters: + - + name: Accept + in: header + description: 'If set, the Location list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contentobjects_contentIdlocations_post + tags: + - Objects + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Location+xml: + schema: + $ref: '#/components/schemas/Location' + example: | + + + 96 + 0 + false + true + false + + /1/2/42/96/ + 3 + 0 + 58133c8c75230e5debe362a28b92d27a + + + PATH + ASC + + + + + Art3 + Art3 + + +
+ + + 2021-06-28T11:34:17+00:00 + 2021-06-28T11:34:17+00:00 + eng-GB + 1 + false + false + PUBLISHED + + + + + application/vnd.ibexa.api.Location+json: + schema: + $ref: '#/components/schemas/LocationWrapper' + example: + Location: + _media-type: application/vnd.ibexa.api.Location+json + _href: /api/ibexa/v2/content/locations/1/2/59/114 + id: 114 + priority: 0 + hidden: false + invisible: false + explicitlyHidden: false + ParentLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2/59 } + pathString: /1/2/59/114/ + depth: 3 + childCount: 0 + remoteId: 47a1e4ee082fb64e93a822dcfe3a5614 + Children: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/locations/1/2/59/114/children } + Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/59 } + sortField: PATH + sortOrder: ASC + UrlAliases: { _media-type: application/vnd.ibexa.api.UrlAliasRefList+json, _href: /api/ibexa/v2/content/locations/1/2/59/114/urlaliases } + ContentInfo: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/59, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/59, _remoteId: 0fe1b1543f886b0becd4d9b2c7c517d0, _id: 59, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2 }, Name: Art1, TranslatedName: Art1, Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/59/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/59/currentversion }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/59/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2021-06-28T11:33:01+00:00', publishedDate: '2021-06-28T11:33:01+00:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: false, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/59/objectstates } } } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this Location.' + '403': + description: 'Error - a Location under the given parent ID already exists.' + summary: 'Create new Location for content item' + description: 'Creates a new Location for the given content item.' + parameters: + - + name: Accept + in: header + description: 'If set, the new Location is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The LocationCreate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new LocationCreateController resource' + content: + application/vnd.ibexa.api.LocationCreate+xml: + schema: + $ref: '#/components/schemas/LocationCreate' + example: | + + + + 0 + false + PATH + ASC + + application/vnd.ibexa.api.LocationCreate+json: + schema: + $ref: '#/components/schemas/LocationCreateWrapper' + example: + LocationCreate: + _media-type: application/vnd.ibexa.api.LocationCreate + ParentLocation: + _href: /api/ibexa/v2/content/locations/1/59 + priority: '0' + hidden: false + sortField: PATH + sortOrder: ASC + required: false + deprecated: false + '/content/objects/{contentId}/objectstates': + get: + operationId: api_contentobjects_contentIdobjectstates_get + tags: + - Objects + responses: + '200': + description: 'OK - returns the Object state.' + content: + application/vnd.ibexa.api.ContentObjectStates+xml: + schema: + $ref: '#/components/schemas/ContentObjectStates' + application/vnd.ibexa.api.ContentObjectStates+json: + schema: + $ref: '#/components/schemas/ContentObjectStates' + '404': + description: 'Error - The content item does not exist.' + summary: 'Get Object states of content item' + description: 'Returns the Object states of a content item' + parameters: + - + name: Accept + in: header + description: 'If set, the Object states are returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_contentobjects_contentIdobjectstates_patch + tags: + - Objects + responses: + '204': + description: '204' + content: + application/vnd.ibexa.api.ContentObjectStates+xml: + schema: + $ref: '#/components/schemas/ContentObjectStates' + example: | + + + + + application/vnd.ibexa.api.ContentObjectStates+json: + schema: + $ref: '#/components/schemas/ContentObjectStatesWrapper' + example: + ContentObjectStates: + _media-type: application/vnd.ibexa.api.ContentObjectStates+json + ObjectState: [{ _media-type: application/vnd.ibexa.api.ObjectState+json, _href: /api/ibexa/v2/content/objectstategroups/2/objectstates/1 }, { _media-type: application/vnd.ibexa.api.ObjectState+json, _href: /api/ibexa/v2/content/objectstategroups/3/objectstates/3 }, { _media-type: application/vnd.ibexa.api.ObjectState+json, _href: /api/ibexa/v2/content/objectstategroups/7/objectstates/7 }, { _media-type: application/vnd.ibexa.api.ObjectState+json, _href: /api/ibexa/v2/content/objectstategroups/8/objectstates/8 }] + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to set an Object state.' + '403': + description: 'Error - The input contains multiple Object states of the same Object state group.' + '412': + description: 'Error - The current ETag does not match the one provided in the If-Match header.' + summary: 'Set Object states of content item' + description: 'Updates Object states of a content item. An Object state in the input overrides the state of the Object state group. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated Object state is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The content item Object states input schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated ObjectStatesForContentUpdateController resource' + content: + application/vnd.ibexa.api.ContentObjectStates+xml: + schema: + $ref: '#/components/schemas/ContentObjectStates' + example: | + + + + + application/vnd.ibexa.api.ContentObjectStates+json: + schema: + $ref: '#/components/schemas/ContentObjectStatesWrapper' + example: + ContentObjectStates: + _media-type: application/vnd.ibexa.api.ContentObjectStates+json + ObjectState: + - { _media-type: application/vnd.ibexa.api.ObjectState+json, _href: /api/ibexa/v2/content/objectstategroups/2/objectstates/1 } + - { _media-type: application/vnd.ibexa.api.ObjectState+json, _href: /api/ibexa/v2/content/objectstategroups/3/objectstates/3 } + - { _media-type: application/vnd.ibexa.api.ObjectState+json, _href: /api/ibexa/v2/content/objectstategroups/7/objectstates/7 } + - { _media-type: application/vnd.ibexa.api.ObjectState+json, _href: /api/ibexa/v2/content/objectstategroups/8/objectstates/8 } + required: false + deprecated: false + '/content/objects/{contentId}/relations': + get: + operationId: api_contentobjects_contentIdrelations_get + tags: + - Objects + responses: + '307': + description: 'Temporary redirect.' + '401': + description: 'Error - the user is not authorized to read this content item.' + '404': + description: 'Error - the content item was not found.' + summary: 'Load Relations of content item' + description: 'Redirects to the Relations of the current version.' + parameters: + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/content/objects/{contentId}/reveal': + post: + operationId: api_contentobjects_contentIdreveal_post + tags: + - Objects + responses: + '204': + description: 'OK - Object item is revealed.' + '401': + description: 'Error - The user has no permission to change Object item visibility.' + '404': + description: 'Error - The content item was not found.' + summary: 'Reveal content item' + description: 'Makes or keep the content item visible' + parameters: + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ContentRevealController resource' + content: { } + required: false + deprecated: false + '/content/objects/{contentId}/translations/{languageCode}': + delete: + operationId: api_contentobjects_contentIdtranslations_languageCode_delete + tags: + - Objects + responses: + '204': + description: 'No Content' + '401': + description: 'Error - the user is not authorized to delete content item (content/remove policy).' + '404': + description: 'Error - the content item was not found.' + '406': + description: 'Error - the given translation does not exist for the content item.' + '409': + description: 'Error - the specified translation is the only one any version has or is the main translation.' + summary: 'Delete translation (permanently)' + description: 'Permanently deletes a translation from all versions of a content item.' + parameters: + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: languageCode + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/content/objects/{contentId}/versions': + get: + operationId: api_contentobjects_contentIdversions_get + tags: + - Objects + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.VersionList+xml: + schema: + $ref: '#/components/schemas/VersionList' + example: | + + + + + + 521 + 1 + PUBLISHED + 2021-06-28T11:33:49+00:00 + + 2021-06-28T11:33:31+00:00 + eng-GB + eng-GB + + + eng-GB + + + + Art1 + + + + + + + + 580 + 2 + DRAFT + 2021-07-26T08:10:02+00:00 + + 2021-07-26T08:10:02+00:00 + eng-GB + eng-GB + + + eng-GB + + + + Art1 + + + + + + + + 581 + 3 + DRAFT + 2021-07-26T08:16:50+00:00 + + 2021-07-26T08:16:50+00:00 + eng-GB + eng-GB + + + eng-GB + + + + Art1 + + + + + + application/vnd.ibexa.api.VersionList+json: + schema: + $ref: '#/components/schemas/VersionListWrapper' + example: + VersionList: + _media-type: application/vnd.ibexa.api.VersionList+json + _href: /api/ibexa/v2/content/objects/61/versions + VersionItem: [{ Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/61/versions/1 }, VersionInfo: { id: 521, versionNo: 1, status: PUBLISHED, modificationDate: '2021-06-28T11:33:49+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2021-06-28T11:33:31+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': Art1 }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/61 } } }, { Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/61/versions/2 }, VersionInfo: { id: 580, versionNo: 2, status: DRAFT, modificationDate: '2021-07-26T08:10:02+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2021-07-26T08:10:02+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': Art1 }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/61 } } }, { Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/61/versions/3 }, VersionInfo: { id: 581, versionNo: 3, status: DRAFT, modificationDate: '2021-07-26T08:16:50+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2021-07-26T08:16:50+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': Art1 }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/61 } } }] + '401': + description: 'Error - the user has no permission to read the versions.' + summary: 'List versions' + description: 'Returns a list of all versions of the content item. This method does not include fields and relations in the version elements of the response.' + parameters: + - + name: Accept + in: header + description: 'If set, the version list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/content/objects/{contentId}/versions/{versionNo}': + get: + operationId: api_contentobjects_contentIdversions_versionNo_get + tags: + - Objects + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Version+xml: + schema: + $ref: '#/components/schemas/Version' + example: | + + + + 581 + 5 + ARCHIVED + 2023-05-24T06:11:50+00:00 + + 2023-05-24T06:09:49+00:00 + eng-GB + eng-GB + + + eng-GB + + + + Features + + + + + + 477 + name + eng-GB + ibexa_string + Features + + + 478 + short_name + eng-GB + ibexa_string + + + + 479 + short_description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + 480 + description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + + + /placeholder + + + image/svg+xml + + + application/vnd.ibexa.api.Version+json: + schema: + $ref: '#/components/schemas/VersionWrapper' + example: + Version: + _media-type: application/vnd.ibexa.api.Version+json + _href: /api/ibexa/v2/content/objects/107/versions/5 + VersionInfo: { id: 581, versionNo: 5, status: ARCHIVED, modificationDate: '2023-05-24T06:11:50+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-05-24T06:09:49+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': Features }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/107 } } + Fields: { field: [{ id: 477, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Features }, { id: 478, fieldDefinitionIdentifier: short_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: null }, { id: 479, fieldDefinitionIdentifier: short_description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 480, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }] } + Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/107/versions/5/relations, Relation: [] } + Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } + '304': + description: 'Error - the ETag does not match the current one.' + '401': + description: 'Error - the user is not authorized to read this content item.' + '404': + description: 'Error - the ID or version is not found.' + summary: 'Load version' + description: 'Loads a specific version of a content item. This method returns Fields and relations.' + parameters: + - + name: If-None-Match + in: header + description: 'Only return the version if the given ETag is the not current one, otherwise a 304 is returned.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Accept + in: header + description: 'If set, the version list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: versionNo + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contentobjects_contentIdversions_versionNo_post + tags: + - Objects + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Version+xml: + schema: + $ref: '#/components/schemas/Version' + example: | + + + + 581 + 5 + ARCHIVED + 2023-05-24T06:11:50+00:00 + + 2023-05-24T06:09:49+00:00 + eng-GB + eng-GB + + + eng-GB + + + + Features + + + + + + 477 + name + eng-GB + ibexa_string + Features + + + 478 + short_name + eng-GB + ibexa_string + + + + 479 + short_description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + 480 + description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + + + /placeholder + + + image/svg+xml + + + application/vnd.ibexa.api.Version+json: + schema: + $ref: '#/components/schemas/VersionWrapper' + example: + Version: + _media-type: application/vnd.ibexa.api.Version+json + _href: /api/ibexa/v2/content/objects/107/versions/5 + VersionInfo: { id: 581, versionNo: 5, status: ARCHIVED, modificationDate: '2023-05-24T06:11:50+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-05-24T06:09:49+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': Features }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/107 } } + Fields: { field: [{ id: 477, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Features }, { id: 478, fieldDefinitionIdentifier: short_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: null }, { id: 479, fieldDefinitionIdentifier: short_description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 480, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }] } + Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/107/versions/5/relations, Relation: [] } + Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } + '401': + description: 'Error - the user is not authorized to update this content item.' + '404': + description: 'Error - the content item was not found.' + summary: 'Create a draft from a version' + description: 'The system creates a new draft as a copy of the given version. COPY or POST with header X-HTTP-Method-Override COPY.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated version is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: versionNo + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ContentDraftCreateFromVersionController resource' + content: { } + required: false + deprecated: false + delete: + operationId: api_contentobjects_contentIdversions_versionNo_delete + tags: + - Objects + responses: + '204': + description: 'No Content - the version is deleted.' + '404': + description: 'Error - the content item or version were not found.' + '401': + description: 'Error - the user is not authorized to delete this version.' + '403': + description: 'Error - the version is in published state.' + summary: 'Delete content version' + description: 'Deletes the content version.' + parameters: + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: versionNo + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_contentobjects_contentIdversions_versionNo_patch + tags: + - Objects + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Version+xml: + schema: + $ref: '#/components/schemas/Version' + example: | + + + + 581 + 5 + ARCHIVED + 2023-05-24T06:11:50+00:00 + + 2023-05-24T06:09:49+00:00 + eng-GB + eng-GB + + + eng-GB + + + + Features + + + + + + 477 + name + eng-GB + ibexa_string + Features + + + 478 + short_name + eng-GB + ibexa_string + + + + 479 + short_description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + 480 + description + eng-GB + ibexa_richtext + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + + + + + /placeholder + + + image/svg+xml + + + application/vnd.ibexa.api.Version+json: + schema: + $ref: '#/components/schemas/VersionWrapper' + example: + Version: + _media-type: application/vnd.ibexa.api.Version+json + _href: /api/ibexa/v2/content/objects/107/versions/5 + VersionInfo: { id: 581, versionNo: 5, status: ARCHIVED, modificationDate: '2023-05-24T06:11:50+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-05-24T06:09:49+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': Features }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/107 } } + Fields: { field: [{ id: 477, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Features }, { id: 478, fieldDefinitionIdentifier: short_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: null }, { id: 479, fieldDefinitionIdentifier: short_description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 480, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }] } + Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/107/versions/5/relations, Relation: [] } + Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update this version.' + '403': + description: 'Error - the version is not allowed to change - i.e. version is not a DRAFT.' + '404': + description: 'Error - the content ID or version ID does not exist.' + '412': + description: 'Error - the current ETag does not match with the one provided in the If-Match header.' + summary: 'Update version' + description: 'A specific draft is updated. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated version is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-match + in: header + description: 'Performs the patch only if the specified ETag is the current one.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The VersionUpdate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: versionNo + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated ContentVersionUpdateController resource' + content: + application/vnd.ibexa.api.VersionUpdate+xml: + schema: + $ref: '#/components/schemas/VersionUpdate' + example: | + + + 2012-02-20T12:00:00 + ger-DE + + + 1234 + title + ger-DE + Neuer Titel + + + 1235 + summary + ger-DE + Dies ist eine neuse Zusammenfassungy + + + + application/vnd.ibexa.api.VersionUpdate+json: + schema: + $ref: '#/components/schemas/VersionUpdateWrapper' + required: false + deprecated: false + '/content/objects/{contentId}/versions/{versionNo}/relations': + get: + operationId: api_contentobjects_contentIdversions_versionNorelations_get + tags: + - Objects + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.RelationList+xml: + schema: + $ref: '#/components/schemas/RelationList' + example: | + + + + + + LINK + + + application/vnd.ibexa.api.RelationList+json: + schema: + $ref: '#/components/schemas/RelationListWrapper' + example: + Relations: + _media-type: application/vnd.ibexa.api.RelationList+json + _href: /api/ibexa/v2/content/objects/107/versions/9/relations + Relation: [{ _media-type: application/vnd.ibexa.api.Relation+json, _href: /api/ibexa/v2/content/objects/107/versions/9/relations/7, SourceContent: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/107 }, DestinationContent: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/52 }, RelationType: LINK }] + '401': + description: 'Error - the user is not authorized to read this content item.' + '404': + description: 'Error - the content item was not found.' + summary: 'Load Relations of content item version' + description: 'Loads the Relations of the given version.' + parameters: + - + name: Accept + in: header + description: 'If set, the Relation is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: versionNo + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contentobjects_contentIdversions_versionNorelations_post + tags: + - Objects + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Relation+xml: + schema: + $ref: '#/components/schemas/Relation' + example: | + + + + + COMMON + + application/vnd.ibexa.api.Relation+json: + schema: + $ref: '#/components/schemas/RelationWrapper' + example: + Relation: + _media-type: application/vnd.ibexa.api.Relation+json + _href: /api/ibexa/v2/content/objects/59/versions/2/relations/38 + SourceContent: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/59 } + DestinationContent: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/59 } + RelationType: COMMON + summary: 'Create new Relation' + description: 'Creates a new Relation of type COMMON for the given draft.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated version is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The RelationCreate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: versionNo + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ContentRelationCreateController resource' + content: + application/vnd.ibexa.api.RelationCreate+xml: + schema: + $ref: '#/components/schemas/RelationCreate' + example: | + + + + + application/vnd.ibexa.api.RelationCreate+json: + schema: + $ref: '#/components/schemas/RelationCreateWrapper' + example: + RelationCreate: + Destination: + _href: /api/ibexa/v2/content/objects/59 + required: false + deprecated: false + '/content/objects/{contentId}/versions/{versionNo}/relations/{relationId}': + get: + operationId: api_contentobjects_contentIdversions_versionNorelations_relationId_get + tags: + - Objects + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Relation+xml: + schema: + $ref: '#/components/schemas/Relation' + example: | + + + + + COMMON + + application/vnd.ibexa.api.Relation+json: + schema: + $ref: '#/components/schemas/RelationWrapper' + example: + Relation: + _media-type: application/vnd.ibexa.api.Relation+json + _href: /api/ibexa/v2/content/objects/59/versions/2/relations/38 + SourceContent: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/59 } + DestinationContent: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/59 } + RelationType: COMMON + '401': + description: 'Error - the user is not authorized to read this content item.' + '404': + description: 'Error - the content item with the given ID or the Relation does not exist.' + summary: 'Load Relation' + description: 'Loads a Relation for the given content item.' + parameters: + - + name: Accept + in: header + description: 'If set, the Relation is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: versionNo + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: relationId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_contentobjects_contentIdversions_versionNorelations_relationId_delete + tags: + - Objects + responses: + '204': + description: 'No Content - deleted a Relation of the given draft.' + '401': + description: 'Error - the user is not authorized to delete this Relation.' + '403': + description: 'Error - the Relation is not of type COMMON or the given version is not a draft.' + '404': + description: 'Error - content item or the Relation were not found in the given version.' + summary: 'Delete Relation' + description: 'Deletes a Relation of the given draft.' + parameters: + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: versionNo + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: relationId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/content/objects/{contentId}/versions/{versionNo}/translations/{languageCode}': + delete: + operationId: api_contentobjects_contentIdversions_versionNotranslations_languageCode_delete + tags: + - Objects + responses: + '204': + description: 'No Content - removes a translation from a version draft.' + '401': + description: 'Error - the user is not authorized to delete this translation.' + '403': + description: 'Error - the version is not in draft state.' + '404': + description: 'Error - the content item or version number were not found.' + '406': + description: 'Error - the given translation does not exist for the version.' + '409': + description: 'Error - the specified translation is the only one the version has or is the main translation.' + summary: 'Delete translation from version draft' + description: 'Removes a translation from a version draft.' + parameters: + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: versionNo + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: languageCode + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/orders/order/cancel/{id}': + post: + operationId: api_ordersordercancel_id_post + tags: + - Orders + responses: + '204': + description: 'No content - the given order is cancelled.' + '401': + description: 'Error - the user is not authorized to delete this order.' + '404': + description: 'Error - the order with the given ID does not exist.' + '406': + description: 'Error - the order cannot be cancelled due to not-allowed workflow transition' + summary: 'Cancel order' + description: 'Cancels the given order.' + parameters: + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new OrderCancelController resource' + content: { } + required: false + deprecated: false + '/orders/order/{identifier}': + get: + operationId: api_ordersorder_identifier_get + tags: + - Orders + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Order+xml: + schema: + $ref: '#/components/schemas/Order' + application/vnd.ibexa.api.Order+json: + schema: + $ref: '#/components/schemas/OrderWrapper' + example: + Order: + _media-type: application/vnd.ibexa.api.Order+json + id: 2 + identifier: 2d9c73cd-ea10-4459-b20e-96710c8d3898 + created: { date: '2023-04-18 09:06:02.000000', timezone_type: 3, timezone: UTC } + modified: { date: '2023-04-18 09:06:02.000000', timezone_type: 3, timezone: UTC } + status: pending + OrderUser: { _media-type: application/vnd.ibexa.api.OrderUser+json, id: 14, name: Administrator, email: aa@aa.aa } + OrderCurrency: { _media-type: application/vnd.ibexa.api.OrderCurrency+json, id: 1, code: EUR } + OrderValue: { _media-type: application/vnd.ibexa.api.OrderValue+json, vat: { amount: '10', currency: EUR }, total_gross: { amount: '10', currency: EUR }, total_net: { amount: '10', currency: EUR } } + OrderCompany: { _media-type: application/vnd.ibexa.api.OrderCompany+json, id: 68, name: Apple } + OrderItemsList: [{ _media-type: application/vnd.ibexa.api.OrderItem+json, quantity: 10, OrderItemValue: { _media-type: application/vnd.ibexa.api.OrderItemValue+json, unit_price_gross: { amount: '110', currency: EUR }, unit_price_net: { amount: '100', currency: EUR }, vat_rate: '10.00', subtotal_price_gross: { amount: '1100', currency: EUR }, subtotal_price_net: { amount: '1000', currency: EUR } }, OrderItemProduct: { _media-type: application/vnd.ibexa.api.OrderItemProduct+json, id: 1, code: test, name: Test }, context: { foo: bar, baz: true } }] + context: { foo: bar, baz: 123 } + '401': + description: 'Error - the user has no permission to read orders.' + '404': + description: 'Error - the order does not exist.' + summary: 'Load order by identifier' + description: 'Loads an order by its identifier (UUID).' + parameters: + - + name: Accept + in: header + description: 'Order - If set, the order returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/orders/order/{id}': + get: + operationId: api_ordersorder_id_get + tags: + - Orders + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Order+xml: + schema: + $ref: '#/components/schemas/Order' + application/vnd.ibexa.api.Order+json: + schema: + $ref: '#/components/schemas/OrderWrapper' + example: + Order: + _media-type: application/vnd.ibexa.api.Order+json + id: 2 + identifier: 2d9c73cd-ea10-4459-b20e-96710c8d3898 + created: { date: '2023-04-18 09:06:02.000000', timezone_type: 3, timezone: UTC } + modified: { date: '2023-04-18 09:06:02.000000', timezone_type: 3, timezone: UTC } + status: pending + OrderUser: { _media-type: application/vnd.ibexa.api.OrderUser+json, id: 14, name: Administrator, email: aa@aa.aa } + OrderCurrency: { _media-type: application/vnd.ibexa.api.OrderCurrency+json, id: 1, code: EUR } + OrderValue: { _media-type: application/vnd.ibexa.api.OrderValue+json, vat: { amount: '10', currency: EUR }, total_gross: { amount: '10', currency: EUR }, total_net: { amount: '10', currency: EUR } } + OrderCompany: { _media-type: application/vnd.ibexa.api.OrderCompany+json, id: 68, name: Apple } + OrderItemsList: [{ _media-type: application/vnd.ibexa.api.OrderItem+json, quantity: 10, OrderItemValue: { _media-type: application/vnd.ibexa.api.OrderItemValue+json, unit_price_gross: { amount: '110', currency: EUR }, unit_price_net: { amount: '100', currency: EUR }, vat_rate: '10.00', subtotal_price_gross: { amount: '1100', currency: EUR }, subtotal_price_net: { amount: '1000', currency: EUR } }, OrderItemProduct: { _media-type: application/vnd.ibexa.api.OrderItemProduct+json, id: 1, code: test, name: Test }, context: { foo: bar, baz: true } }] + context: { foo: bar, baz: 123 } + '401': + description: 'Error - the user has no permission to read orders.' + '404': + description: 'Error - the order does not exist.' + summary: 'Load order by ID' + description: 'Loads an order by its numerical ID.' + parameters: + - + name: Accept + in: header + description: 'Order - If set, the order returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_ordersorder_id_patch + tags: + - Orders + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Order+json: + schema: + $ref: '#/components/schemas/OrderWrapper' + example: + Order: + _media-type: application/vnd.ibexa.api.Order+json + id: 2 + identifier: 2d9c73cd-ea10-4459-b20e-96710c8d3898 + created: { date: '2023-04-18 09:06:02.000000', timezone_type: 3, timezone: UTC } + modified: { date: '2023-04-18 09:06:02.000000', timezone_type: 3, timezone: UTC } + status: pending + OrderUser: { _media-type: application/vnd.ibexa.api.OrderUser+json, id: 14, name: Administrator, email: aa@aa.aa } + OrderCurrency: { _media-type: application/vnd.ibexa.api.OrderCurrency+json, id: 1, code: EUR } + OrderValue: { _media-type: application/vnd.ibexa.api.OrderValue+json, vat: { amount: '10', currency: EUR }, total_gross: { amount: '10', currency: EUR }, total_net: { amount: '10', currency: EUR } } + OrderCompany: { _media-type: application/vnd.ibexa.api.OrderCompany+json, id: 68, name: Apple } + OrderItemsList: [{ _media-type: application/vnd.ibexa.api.OrderItem+json, quantity: 10, OrderItemValue: { _media-type: application/vnd.ibexa.api.OrderItemValue+json, unit_price_gross: { amount: '110', currency: EUR }, unit_price_net: { amount: '100', currency: EUR }, vat_rate: '10.00', subtotal_price_gross: { amount: '1100', currency: EUR }, subtotal_price_net: { amount: '1000', currency: EUR } }, OrderItemProduct: { _media-type: application/vnd.ibexa.api.OrderItemProduct+json, id: 1, code: test, name: Test }, context: { foo: bar, baz: true } }] + context: { foo: bar, baz: 123 } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update this order.' + '404': + description: 'Error - the order with the given ID does not exist.' + '406': + description: 'Error - the order cannot be cancelled due to not-allowed workflow transition' + summary: 'Update order' + description: 'Updates an order.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated order is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The OrderUpdate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated OrderUpdateController resource' + content: + application/vnd.ibexa.api.OrderUpdate+json: + schema: + $ref: '#/components/schemas/OrderUpdateWrapper' + example: + OrderUpdate: + status: cancelled + transition: cancel + required: false + deprecated: false + /orders/orders: + get: + operationId: api_ordersorders_get + tags: + - Orders + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.OrderList+xml: + schema: + $ref: '#/components/schemas/OrderList' + application/vnd.ibexa.api.OrderList+json: + schema: + $ref: '#/components/schemas/OrderListWrapper' + example: + OrderList: + _media-type: application/vnd.ibexa.api.OrderList+json + Order: [{ _media-type: application/vnd.ibexa.api.Order+json, id: 2, identifier: 2d9c73cd-ea10-4459-b20e-96710c8d3898, created: { date: '2023-04-18 09:06:02.000000', timezone_type: 3, timezone: UTC }, modified: { date: '2023-04-18 09:06:02.000000', timezone_type: 3, timezone: UTC }, status: pending, OrderUser: { _media-type: application/vnd.ibexa.api.OrderUser+json, id: 14, name: Administrator, email: aa@aa.aa }, OrderCurrency: { _media-type: application/vnd.ibexa.api.OrderCurrency+json, id: 1, code: EUR }, OrderValue: { _media-type: application/vnd.ibexa.api.OrderValue+json, vat: { amount: '10', currency: EUR }, total_gross: { amount: '10', currency: EUR }, total_net: { amount: '10', currency: EUR } }, OrderCompany: { _media-type: application/vnd.ibexa.api.OrderCompany+json, id: 68, name: Apple }, OrderItemsList: [{ _media-type: application/vnd.ibexa.api.OrderItem+json, quantity: 10, OrderItemValue: { _media-type: application/vnd.ibexa.api.OrderItemValue+json, unit_price_gross: { amount: '110', currency: EUR }, unit_price_net: { amount: '100', currency: EUR }, vat_rate: '10.00', subtotal_price_gross: { amount: '1100', currency: EUR }, subtotal_price_net: { amount: '1000', currency: EUR } }, OrderItemProduct: { _media-type: application/vnd.ibexa.api.OrderItemProduct+json, id: 1, code: test, name: Test }, context: { foo: bar, baz: true } }], context: { foo: bar, baz: 123 } }, { _media-type: application/vnd.ibexa.api.Order+json, id: 3, identifier: 79b20ac4-fe23-4566-a9c2-b81966431026, created: { date: '2023-04-18 09:44:34.000000', timezone_type: 3, timezone: UTC }, modified: { date: '2023-04-18 09:44:34.000000', timezone_type: 3, timezone: UTC }, status: pending, OrderUser: { _media-type: application/vnd.ibexa.api.OrderUser+json, id: 14, name: Administrator, email: aa@aa.aa }, OrderCurrency: { _media-type: application/vnd.ibexa.api.OrderCurrency+json, id: 1, code: EUR }, OrderValue: { _media-type: application/vnd.ibexa.api.OrderValue+json, vat: { amount: '10', currency: EUR }, total_gross: { amount: '10', currency: EUR }, total_net: { amount: '10', currency: EUR } }, OrderCompany: { _media-type: application/vnd.ibexa.api.OrderCompany+json, id: 68, name: Apple }, OrderItemsList: [{ _media-type: application/vnd.ibexa.api.OrderItem+json, quantity: 10, OrderItemValue: { _media-type: application/vnd.ibexa.api.OrderItemValue+json, unit_price_gross: { amount: '110', currency: EUR }, unit_price_net: { amount: '100', currency: EUR }, vat_rate: '10.00', subtotal_price_gross: { amount: '1100', currency: EUR }, subtotal_price_net: { amount: '1000', currency: EUR } }, OrderItemProduct: { _media-type: application/vnd.ibexa.api.OrderItemProduct+json, id: 1, code: test, name: Test }, context: { foo: bar, baz: true } }], context: { foo: bar, baz: 123 } }] + '401': + description: 'Error - the user has no permission to read orders.' + summary: 'Load orders' + description: 'Loads a list of orders.' + parameters: + - + name: Accept + in: header + description: 'OrderList - If set, the orders list returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_ordersorders_post + tags: + - Orders + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Order+json: + schema: + $ref: '#/components/schemas/OrderWrapper' + example: + Order: + _media-type: application/vnd.ibexa.api.Order+json + id: 2 + identifier: 2d9c73cd-ea10-4459-b20e-96710c8d3898 + created: { date: '2023-04-18 09:06:02.000000', timezone_type: 3, timezone: UTC } + modified: { date: '2023-04-18 09:06:02.000000', timezone_type: 3, timezone: UTC } + status: pending + OrderUser: { _media-type: application/vnd.ibexa.api.OrderUser+json, id: 14, name: Administrator, email: aa@aa.aa } + OrderCurrency: { _media-type: application/vnd.ibexa.api.OrderCurrency+json, id: 1, code: EUR } + OrderValue: { _media-type: application/vnd.ibexa.api.OrderValue+json, vat: { amount: '10', currency: EUR }, total_gross: { amount: '10', currency: EUR }, total_net: { amount: '10', currency: EUR } } + OrderCompany: { _media-type: application/vnd.ibexa.api.OrderCompany+json, id: 68, name: Apple } + OrderItemsList: [{ _media-type: application/vnd.ibexa.api.OrderItem+json, quantity: 10, OrderItemValue: { _media-type: application/vnd.ibexa.api.OrderItemValue+json, unit_price_gross: { amount: '110', currency: EUR }, unit_price_net: { amount: '100', currency: EUR }, vat_rate: '10.00', subtotal_price_gross: { amount: '1100', currency: EUR }, subtotal_price_net: { amount: '1000', currency: EUR } }, OrderItemProduct: { _media-type: application/vnd.ibexa.api.OrderItemProduct+json, id: 1, code: test, name: Test }, context: { foo: bar, baz: true } }] + context: { foo: bar, baz: 123 } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this order.' + '406': + description: 'Error - a order with this identifier already exists.' + summary: 'Create order' + description: 'Creates a new order.' + parameters: + - + name: Accept + in: header + description: 'If set, the new order is returned in JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The Order schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new OrderCreateController resource' + content: + application/vnd.ibexa.api.OrderCreate+json: + schema: + $ref: '#/components/schemas/OrderCreateWrapper' + example: + OrderCreate: + OrderUser: + id: 14 + name: Administrator + email: test@ibexa.co + OrderCurrency: + id: 1 + code: EUR + OrderValue: + vat: '10' + total_gross: '11' + total_net: '10' + OrderCompany: + id: 68 + name: Apple + source: local + items: + - { OrderItem: { OrderItemValue: { unit_price_gross: '110', unit_price_net: '100', vat_rate: '10', subtotal_price_gross: '1100', subtotal_price_net: '1000' }, OrderItemProduct: { id: 1, code: test, name: Test }, quantity: 10, context: { foo: bar, baz: true } } } + context: + foo: bar + baz: 123 + required: false + deprecated: false + /payment-method: + post: + operationId: api_payment-method_post + tags: + - Payments + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.PaymentMethod+xml: + schema: + $ref: '#/components/schemas/PaymentMethod' + application/vnd.ibexa.api.PaymentMethod+json: + schema: + $ref: '#/components/schemas/PaymentMethodWrapper' + example: + PaymentMethod: + _media-type: application/vnd.ibexa.api.PaymentMethod+json + identifier: bank_transfer + id: 1 + enabled: true + name: 'Bank transfer' + description: 'Bank transfer' + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create Payment Method.' + '404': + description: 'Error - the payment methods does not exist.' + summary: 'Create payment method' + description: 'Creates a PaymentMethodCreateController resource.' + parameters: + - + name: Accept + in: header + description: 'If set, the created Payment Method is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The Payment Method input schema encoded in XML or JSON.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new PaymentMethodCreateController resource' + content: + application/vnd.ibexa.api.PaymentMethodCreateStruct+xml: + schema: + $ref: '#/components/schemas/PaymentMethodCreateStruct' + example: |- + + bank_transfer + offline + + Bank transfer + + + application/vnd.ibexa.api.PaymentMethodCreateStruct+json: + schema: + $ref: '#/components/schemas/PaymentMethodCreateStructWrapper' + example: + PaymentMethodCreateStruct: + identifier: bank_transfer + type: offline + names: + eng-GB: 'Bank Transfer' + required: false + deprecated: false + /payment-method/view: + post: + operationId: api_payment-methodview_post + tags: + - Payments + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.PaymentMethodView+xml: + schema: + $ref: '#/components/schemas/PaymentMethodView' + application/vnd.ibexa.api.PaymentMethodView+json: + schema: + $ref: '#/components/schemas/PaymentMethodViewWrapper' + example: + PaymentMethodView: + _media-type: application/vnd.ibexa.api.PaymentMethodView+json + identifier: example + Result: { _media-type: application/vnd.ibexa.api.ViewResult+json, count: 4, PaymentMethodList: [{ _media-type: application/vnd.ibexa.api.PaymentMethod+json, identifier: bank_transfer, id: 1, enabled: true, name: 'Bank transfer', description: 'Bank transfer' }, { _media-type: application/vnd.ibexa.api.PaymentMethod+json, identifier: cash_on_delivery, id: 2, enabled: true, name: 'Cash on delivery', description: 'Cash on delivery' }, { _media-type: application/vnd.ibexa.api.PaymentMethod+json, identifier: invoice, id: 3, enabled: true, name: Invoice, description: Invoice }, { _media-type: application/vnd.ibexa.api.PaymentMethod+json, identifier: paypal, id: 4, enabled: true, name: PayPal, description: PayPal }] } + '400': + description: 'Error - the input does not match the input schema definition.' + summary: 'List payment methods' + description: 'Executes a query and returns a View including the results. The View input reflects the criteria model of the public PHP API.' + parameters: + - + name: Accept + in: header + description: 'The view in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The view input in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new PaymentMethodFindController resource' + content: + application/vnd.ibexa.api.PaymentMethodViewInput+xml: + schema: + $ref: '#/components/schemas/PaymentMethodViewInput' + application/vnd.ibexa.api.PaymentMethodViewInput+json: + schema: + $ref: '#/components/schemas/PaymentMethodViewInputWrapper' + example: + PaymentMethodViewInput: + identifier: example + PaymentMethodQuery: + offset: 0 + limit: 10 + required: false + deprecated: false + '/payment-method/{identifier}': + get: + operationId: api_payment-method_identifier_get + tags: + - Payments + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.PaymentMethod+xml: + schema: + $ref: '#/components/schemas/PaymentMethod' + application/vnd.ibexa.api.PaymentMethod+json: + schema: + $ref: '#/components/schemas/PaymentMethodWrapper' + example: + PaymentMethod: + _media-type: application/vnd.ibexa.api.PaymentMethod+json + identifier: bank_transfer + id: 1 + enabled: true + name: 'Bank transfer' + description: 'Bank transfer' + '401': + description: 'Error - the user has no permission to read payment methods.' + '404': + description: 'Error - the payment methods does not exist.' + summary: 'Load payment method by identifier' + description: 'Loads an payment method by its identifier.' + parameters: + - + name: Accept + in: header + description: 'Payment Method - If set, the payment method returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_payment-method_identifier_delete + tags: + - Payments + responses: + '204': + description: 'No Content' + '401': + description: 'Error - the user has no permission to delete payment methods.' + '404': + description: 'Error - the payment methods does not exist.' + summary: 'Delete payment method' + description: 'Removes the PaymentMethodDeleteController resource.' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_payment-method_identifier_patch + tags: + - Payments + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.PaymentMethod+xml: + schema: + $ref: '#/components/schemas/PaymentMethod' + application/vnd.ibexa.api.PaymentMethod+json: + schema: + $ref: '#/components/schemas/PaymentMethodWrapper' + example: + PaymentMethod: + _media-type: application/vnd.ibexa.api.PaymentMethod+json + identifier: bank_transfer + id: 1 + enabled: true + name: 'Bank transfer' + description: 'Bank transfer' + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update Payment Method.' + '404': + description: 'Error - the payment methods does not exist.' + summary: 'Update payment method' + description: 'Updates the PaymentMethodUpdateController resource.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated Payment Method is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The Payment Method input schema encoded in XML or JSON.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated PaymentMethodUpdateController resource' + content: + application/vnd.ibexa.api.PaymentMethodUpdateStruct+xml: + schema: + $ref: '#/components/schemas/PaymentMethodUpdateStruct' + example: |- + + + + Bank transfer (updated) + + + application/vnd.ibexa.api.PaymentMethodUpdateStruct+json: + schema: + $ref: '#/components/schemas/PaymentMethodUpdateStructWrapper' + example: + PaymentMethodUpdateStructParser: + names: + eng-GB: 'Bank transfer (updated)' + required: false + deprecated: false + '/payment-method/{id}': + get: + operationId: api_payment-method_id_get + tags: + - Payments + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.PaymentMethod+json: + schema: + $ref: '#/components/schemas/PaymentMethodWrapper' + example: + PaymentMethod: + _media-type: application/vnd.ibexa.api.PaymentMethod+json + identifier: bank_transfer + id: 1 + enabled: true + name: 'Bank transfer' + description: 'Bank transfer' + '401': + description: 'Error - the user has no permission to read payment methods.' + '404': + description: 'Error - the payment methods does not exist.' + summary: 'Load payment method by id' + description: 'Loads an payment method by its id.' + parameters: + - + name: Accept + in: header + description: 'Payment Method - If set, the payment method returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /product/catalog/products: + get: + operationId: api_productcatalogproducts_get + tags: + - Product + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ProductList+json: + schema: + $ref: '#/components/schemas/ProductListWrapper' + example: + ProductList: + _media-type: application/vnd.ibexa.api.ProductList+json + Product: [{ _media-type: application/vnd.ibexa.api.Product+json, code: wsk_98845, name: 'HUMMINGBIRD PRO DRY 9,2MM', ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: d_rope, name: 'Dynamic ropes', AttributeAssignmentList: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml }, created_at: 1645787815, updated_at: 1645787815, AttributesList: [] }, { _media-type: application/vnd.ibexa.api.Product+json, code: wsst_34456, name: 'Simond XC 60m', ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: s_rope, name: 'Static ropes', AttributeAssignmentList: [] }, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/141, _remoteId: 86fdab24802923a9c30994858165ba9b, _id: 141, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/54 }, Name: 'HUMMINGBIRD PRO DRY 9,2MM', TranslatedName: 'HUMMINGBIRD PRO DRY 9,2MM', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/141/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/141/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/141/versions/2, VersionInfo: { id: 618, versionNo: 2, status: PUBLISHED, modificationDate: '2022-05-27T09:29:33+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2022-05-27T09:29:33+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'HUMMINGBIRD PRO DRY 9,2MM' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/141 } }, Fields: { field: [{ id: 612, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'HUMMINGBIRD PRO DRY 9,2MM' }, { id: 613, fieldDefinitionIdentifier: product_specification, languageCode: eng-GB, fieldTypeIdentifier: ibexa_product_specification, fieldValue: { id: 25, code: wsk_98845, attributes: [10] } }, { id: 614, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 615, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image_asset, fieldValue: { destinationContentId: null, alternativeText: null, source: null } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/141/versions/2/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/141/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2022-05-27T09:29:33+00:00', publishedDate: '2022-05-27T06:51:36+00:00', mainLanguageCode: eng-GB, currentVersionNo: 2, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/141/objectstates } }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml }, created_at: 1645787893, updated_at: 1645787893, AttributesList: [] }] + '401': + description: 'Error - the user has no permission to read product.' + summary: 'Load products list (deprecated)' + description: 'Returns a list of products. Deprecated as of Ibexa DXP 4.3, use POST /product/catalog/products/view instead.' + parameters: + - + name: Accept + in: header + description: 'If set, the products are returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The product list schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + content: + application/vnd.ibexa.api.ProductListGet+json: + schema: + $ref: '#/components/schemas/ProductListGetWrapper' + example: + ProductListGet: + offset: 0 + limit: 10 + languages: + - eng-GB + required: false + deprecated: false + /product/catalog/products/view: + post: + operationId: api_productcatalogproductsview_post + tags: + - Product + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ProductView+xml: + schema: + $ref: '#/components/schemas/ProductView' + application/vnd.ibexa.api.ProductView+json: + schema: + $ref: '#/components/schemas/ProductViewWrapper' + example: + ProductView: + _media-type: application/vnd.ibexa.api.ProductView+json + identifier: TitleView + ProductQuery: { _media-type: application/vnd.ibexa.api.ProductQuery+json } + Result: { _media-type: application/vnd.ibexa.api.ViewResult+json, count: 2, ProductList: { _media-type: application/vnd.ibexa.api.ProductList+json, Product: [{ _media-type: application/vnd.ibexa.api.Product+json, code: OTHER, isBaseProduct: false, isVariant: false, name: 'Other Office Desk', ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: desk, name: Desk, AttributeAssignmentList: [{ _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: false, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: color, name: Color, description: '', type: Selection, type_identifier: selection, group: Desk, position: 0, options: { choices: [{ label: { eng-GB: Black }, value: black }, { label: { eng-GB: White }, value: white }] }, value: null } }, { _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: false, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: width, name: Width, description: '', type: 'Measurement (single)', type_identifier: measurement_single, group: Desk, position: 0, options: { sign: none, type: length, unit: centimeter, defaultValue: null }, value: null } }] }, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/67, _remoteId: c5c22c68912af81992b74851f158db4a, _id: 67, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/53 }, Name: 'Other Office Desk', TranslatedName: 'Other Office Desk', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/67/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/67/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/67/versions/2, VersionInfo: { id: 529, versionNo: 2, status: PUBLISHED, modificationDate: '2023-04-12T14:06:25+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-12T14:06:25+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Other Office Desk' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/67 } }, Fields: { field: [{ id: 301, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Other Office Desk' }, { id: 302, fieldDefinitionIdentifier: product_specification, languageCode: eng-GB, fieldTypeIdentifier: ibexa_product_specification, fieldValue: { id: 4, code: OTHER, attributes: [white, []] } }, { id: 303, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 304, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image_asset, fieldValue: { destinationContentId: null, alternativeText: null, source: null } }, { id: 305, fieldDefinitionIdentifier: category, languageCode: eng-GB, fieldTypeIdentifier: ibexa_taxonomy_entry_assignment, fieldValue: { taxonomy_entries: [], taxonomy: product_categories } }, { id: 306, fieldDefinitionIdentifier: field_64369cb9130a7, languageCode: eng-GB, fieldTypeIdentifier: ibexa_seo, fieldValue: '' }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/67/versions/2/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/67/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-04-12T14:06:25+00:00', publishedDate: '2023-04-12T11:59:17+00:00', mainLanguageCode: eng-GB, currentVersionNo: 2, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/67/objectstates } }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml }, created_at: 1681308385, updated_at: 1681308385, AttributesList: [{ _media-type: application/vnd.ibexa.api.Attribute+json, identifier: color, name: Color, description: '', type: Selection, type_identifier: selection, group: Desk, position: 0, options: { choices: [{ label: { eng-GB: Black }, value: black }, { label: { eng-GB: White }, value: white }] }, value: white }, { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: width, name: Width, description: '', type: 'Measurement (single)', type_identifier: measurement_single, group: Desk, position: 0, options: { sign: none, type: length, unit: centimeter, defaultValue: null }, value: null }], Price: { _media-type: application/vnd.ibexa.api.Price+json, amount: '160.00', base_amount: '160.00', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true }, money: '16000', base_money: '16000' } }, { _media-type: application/vnd.ibexa.api.Product+json, code: ERGO, isBaseProduct: false, isVariant: false, name: 'Ergo Office Desk', ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: desk, name: Desk, AttributeAssignmentList: [{ _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: false, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: color, name: Color, description: '', type: Selection, type_identifier: selection, group: Desk, position: 0, options: { choices: [{ label: { eng-GB: Black }, value: black }, { label: { eng-GB: White }, value: white }] }, value: null } }, { _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: false, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: width, name: Width, description: '', type: 'Measurement (single)', type_identifier: measurement_single, group: Desk, position: 0, options: { sign: none, type: length, unit: centimeter, defaultValue: null }, value: null } }] }, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/66, _remoteId: 1e7449c13671b56ed3907929a2af3ad9, _id: 66, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/53 }, Name: 'Ergo Office Desk', TranslatedName: 'Ergo Office Desk', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/66/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/66/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/66/versions/2, VersionInfo: { id: 528, versionNo: 2, status: PUBLISHED, modificationDate: '2023-04-12T14:06:14+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-12T14:06:14+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Ergo Office Desk' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/66 } }, Fields: { field: [{ id: 295, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Ergo Office Desk' }, { id: 296, fieldDefinitionIdentifier: product_specification, languageCode: eng-GB, fieldTypeIdentifier: ibexa_product_specification, fieldValue: { id: 3, code: ERGO, attributes: [black, []] } }, { id: 297, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 298, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image_asset, fieldValue: { destinationContentId: null, alternativeText: null, source: null } }, { id: 299, fieldDefinitionIdentifier: category, languageCode: eng-GB, fieldTypeIdentifier: ibexa_taxonomy_entry_assignment, fieldValue: { taxonomy_entries: [], taxonomy: product_categories } }, { id: 300, fieldDefinitionIdentifier: field_64369cb9130a7, languageCode: eng-GB, fieldTypeIdentifier: ibexa_seo, fieldValue: '' }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/66/versions/2/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/66/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-04-12T14:06:14+00:00', publishedDate: '2023-04-12T11:58:00+00:00', mainLanguageCode: eng-GB, currentVersionNo: 2, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/66/objectstates } }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml }, created_at: 1681308374, updated_at: 1681308374, AttributesList: [{ _media-type: application/vnd.ibexa.api.Attribute+json, identifier: color, name: Color, description: '', type: Selection, type_identifier: selection, group: Desk, position: 0, options: { choices: [{ label: { eng-GB: Black }, value: black }, { label: { eng-GB: White }, value: white }] }, value: black }, { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: width, name: Width, description: '', type: 'Measurement (single)', type_identifier: measurement_single, group: Desk, position: 0, options: { sign: none, type: length, unit: centimeter, defaultValue: null }, value: null }], Price: { _media-type: application/vnd.ibexa.api.Price+json, amount: '99.00', base_amount: '99.00', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true }, money: '9900', base_money: '9900' } }] }, aggregations: [{ _media-type: application/vnd.ibexa.api.RangeAggregationResult+json, name: price, entries: [{ _media-type: application/vnd.ibexa.api.RangeAggregationResultEntry+json, key: { Range: { _media-type: application/vnd.ibexa.api.Range+json, from: 0, to: 10000 } }, count: 1 }] }] } + '400': + description: 'Error - the input does not match the input schema definition.' + summary: 'Filter products' + description: 'Executes a query and returns a View including the results. The View input reflects the criteria model of the public PHP API.' + parameters: + - + name: Accept + in: header + description: 'The view in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The view input in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ProductViewController resource' + content: + application/vnd.ibexa.api.ProductViewInput+xml: + schema: + $ref: '#/components/schemas/ProductViewInput' + application/vnd.ibexa.api.ProductViewInput+json: + schema: + $ref: '#/components/schemas/ProductViewInputWrapper' + example: + ViewInput: + identifier: TitleView + ProductQuery: + limit: '10' + offset: '0' + Filter: { ProductTypeCriterion: desk, ProductAvailabilityCriterion: false } + SortClauses: { ProductName: descending } + Aggregations: [{ ProductPriceRange: { name: price, currencyCode: EUR, ranges: [{ from: 0, to: 10000 }, { from: 10000, to: null }] } }] + required: false + deprecated: false + '/product/catalog/products/{code}': + get: + operationId: api_productcatalogproducts_code_get + tags: + - Product + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Product+json: + schema: + $ref: '#/components/schemas/ProductWrapper' + example: + Product: + _media-type: application/vnd.ibexa.api.Product+json + code: wsk_98845 + name: 'HUMMINGBIRD PRO DRY 9,2MM' + ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: d_rope, name: 'Dynamic ropes', AttributeAssignmentList: [] } + Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/141, _remoteId: 86fdab24802923a9c30994858165ba9b, _id: 141, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/54 }, Name: 'HUMMINGBIRD PRO DRY 9,2MM', TranslatedName: 'HUMMINGBIRD PRO DRY 9,2MM', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/141/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/141/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/141/versions/2, VersionInfo: { id: 618, versionNo: 2, status: PUBLISHED, modificationDate: '2022-05-27T09:29:33+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2022-05-27T09:29:33+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'HUMMINGBIRD PRO DRY 9,2MM' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/141 } }, Fields: { field: [{ id: 612, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'HUMMINGBIRD PRO DRY 9,2MM' }, { id: 613, fieldDefinitionIdentifier: product_specification, languageCode: eng-GB, fieldTypeIdentifier: ibexa_product_specification, fieldValue: { id: 25, code: wsk_98845, attributes: [10] } }, { id: 614, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 615, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image_asset, fieldValue: { destinationContentId: null, alternativeText: null, source: null } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/141/versions/2/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/141/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2022-05-27T09:29:33+00:00', publishedDate: '2022-05-27T06:51:36+00:00', mainLanguageCode: eng-GB, currentVersionNo: 2, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/141/objectstates } } + Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml } + created_at: 1645787815 + updated_at: 1645787815 + AttributesList: [] + '401': + description: 'Error - the user is not authorized to view this product.' + '404': + description: 'Error - no product with the given code exists.' + summary: 'Load the given product' + description: 'Loads the given product.' + parameters: + - + name: Accept + in: header + description: 'If set, the products are returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'An optional product schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: code + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + content: + application/vnd.ibexa.api.ProductGet+json: + schema: + $ref: '#/components/schemas/ProductGetWrapper' + example: + ProductGet: + languages: + - eng-GB + required: false + deprecated: false + patch: + operationId: api_productcatalogproducts_code_patch + tags: + - Product + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Product+json: + schema: + $ref: '#/components/schemas/ProductWrapper' + example: + Product: + _media-type: application/vnd.ibexa.api.Product+json + code: wsk_98845 + name: 'HUMMINGBIRD PRO DRY 9,2MM' + ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: d_rope, name: 'Dynamic ropes', AttributeAssignmentList: [] } + Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/141, _remoteId: 86fdab24802923a9c30994858165ba9b, _id: 141, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/54 }, Name: 'HUMMINGBIRD PRO DRY 9,2MM', TranslatedName: 'HUMMINGBIRD PRO DRY 9,2MM', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/141/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/141/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/141/versions/2, VersionInfo: { id: 618, versionNo: 2, status: PUBLISHED, modificationDate: '2022-05-27T09:29:33+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2022-05-27T09:29:33+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'HUMMINGBIRD PRO DRY 9,2MM' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/141 } }, Fields: { field: [{ id: 612, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'HUMMINGBIRD PRO DRY 9,2MM' }, { id: 613, fieldDefinitionIdentifier: product_specification, languageCode: eng-GB, fieldTypeIdentifier: ibexa_product_specification, fieldValue: { id: 25, code: wsk_98845, attributes: [10] } }, { id: 614, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 615, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image_asset, fieldValue: { destinationContentId: null, alternativeText: null, source: null } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/141/versions/2/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/141/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2022-05-27T09:29:33+00:00', publishedDate: '2022-05-27T06:51:36+00:00', mainLanguageCode: eng-GB, currentVersionNo: 2, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/141/objectstates } } + Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml } + created_at: 1645787815 + updated_at: 1645787815 + AttributesList: [] + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update this product.' + '403': + description: 'Error - a product with the same code already exists.' + '404': + description: 'Error - no product with the given code exists.' + summary: 'Update product' + description: 'Updates product.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated product is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'If set, the updated product is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: code + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated ProductUpdateController resource' + content: + application/vnd.ibexa.api.ProductUpdate+json: + schema: + $ref: '#/components/schemas/ProductUpdateWrapper' + example: + ProductUpdate: + ContentUpdate: + __url: /api/ibexa/v2/content/objects/67 + fields: { field: [{ fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: IN6.1200tze205 }] } + code: NEWCODE + required: false + deprecated: false + '/product/catalog/products/{code}/prices': + get: + operationId: api_productcatalogproducts_codeprices_get + tags: + - Product + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.PriceList+json: + schema: + $ref: '#/components/schemas/PriceListWrapper' + example: + PriceList: + _media-type: application/vnd.ibexa.api.PriceList+json + prices: [{ _media-type: application/vnd.ibexa.api.Price+json, id: 1, amount: '12.00', base_amount: '12.00', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true }, money: '1200', base_money: '1200' }, { _media-type: application/vnd.ibexa.api.Price+json, id: 2, amount: '12.00', base_amount: '12.00', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 5, code: USD, subunits: 2, enabled: true }, money: '1200', base_money: '1200' }] + totalCount: 2 + '401': + description: 'Error - the user has no permission to read prices.' + summary: 'Load the list of product prices' + description: 'Loads the list of product prices.' + parameters: + - + name: Accept + in: header + description: 'PriceList - if set, the product price list is returned in JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: code + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_productcatalogproducts_codeprices_post + tags: + - Product + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Price+json: + schema: + $ref: '#/components/schemas/PriceWrapper' + example: + Price: + _media-type: application/vnd.ibexa.api.Price+json + id: 4 + amount: '0.09' + base_amount: '0.09' + Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 94, code: CHF, subunits: 2, enabled: true } + money: '9' + base_money: '9' + application/vnd.ibexa.api.CustomPrice+json: + schema: + $ref: '#/components/schemas/CustomPriceWrapper' + example: + CustomPrice: + _media-type: application/vnd.ibexa.api.CustomPrice+json + id: 3 + amount: '17.00' + base_amount: '35.00' + Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 5, code: USD, subunits: 2, enabled: true } + money: '1700' + base_money: '3500' + custom_money: '1700' + custom_amount: '17.00' + custom_rule: null + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this price.' + summary: 'Create product price or custom price' + description: 'Create product price or custom price.' + parameters: + - + name: Accept + in: header + description: 'The product price schema encoded in JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'If set, the new price is returned in JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: code + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new PriceCreateController resource' + content: + application/vnd.ibexa.api.PriceCreateStruct+json: + schema: + $ref: '#/components/schemas/PriceCreateStructWrapper' + example: + PriceCreateStruct: + amount: 9 + currency: CHF + application/vnd.ibexa.api.CustomPriceCreateStruct+json: + schema: + $ref: '#/components/schemas/CustomPriceCreateStructWrapper' + example: + CustomPriceCreateStruct: + customerGroup: test + amount: 2500 + customAmount: 1500 + currency: EUR + required: false + deprecated: false + '/product/catalog/products/{code}/prices/{currencyCode}': + get: + operationId: api_productcatalogproducts_codeprices_currencyCode_get + tags: + - Product + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Price+json: + schema: + $ref: '#/components/schemas/PriceWrapper' + example: + Price: + _media-type: application/vnd.ibexa.api.Price+json + id: 4 + amount: '0.09' + base_amount: '0.09' + Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 94, code: CHF, subunits: 2, enabled: true } + money: '9' + base_money: '9' + '401': + description: 'Error - the user has no permission to read prices.' + '404': + description: 'Error - the price does not exist.' + summary: 'Get price in given currency' + description: 'Get price in given currency.' + parameters: + - + name: Accept + in: header + description: 'If set, gets price in given currency in JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: code + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: currencyCode + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/product/catalog/products/{code}/prices/{currencyCode}/customer-group/{customerGroupIdentifier}': + get: + operationId: api_productcatalogproducts_codeprices_currencyCodecustomer-group_customerGroupIdentifier_get + tags: + - Product + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.CustomPrice+json: + schema: + $ref: '#/components/schemas/CustomPriceWrapper' + example: + CustomPrice: + _media-type: application/vnd.ibexa.api.CustomPrice+json + id: 3 + amount: '17.00' + base_amount: '35.00' + Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 5, code: USD, subunits: 2, enabled: true } + money: '1700' + base_money: '3500' + custom_money: '1700' + custom_amount: '17.00' + custom_rule: null + '401': + description: 'Error - the user has no permission to read prices.' + '404': + description: 'Error - the price does not exist.' + summary: 'Get price in given currency and customer group' + description: 'Get price in given currency and customer group.' + parameters: + - + name: Accept + in: header + description: 'If set, gets price in given currency and customer group in JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: code + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: currencyCode + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: customerGroupIdentifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/product/catalog/products/{code}/prices/{id}': + delete: + operationId: api_productcatalogproducts_codeprices_id_delete + tags: + - Product + responses: + '200': + description: 'No content - the given price is deleted.' + '401': + description: 'Error - the user is not authorized to delete this price.' + summary: 'Delete product price' + description: 'Deletes product price.' + parameters: + - + name: Accept + in: header + description: 'If set, deletes price of given id.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'Delete product price.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: code + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_productcatalogproducts_codeprices_id_patch + tags: + - Product + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Price+json: + schema: + $ref: '#/components/schemas/PriceWrapper' + example: + Price: + _media-type: application/vnd.ibexa.api.Price+json + id: 4 + amount: '0.09' + base_amount: '0.09' + Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 94, code: CHF, subunits: 2, enabled: true } + money: '9' + base_money: '9' + application/vnd.ibexa.api.CustomPrice+json: + schema: + $ref: '#/components/schemas/CustomPriceWrapper' + example: + CustomPrice: + _media-type: application/vnd.ibexa.api.CustomPrice+json + id: 3 + amount: '17.00' + base_amount: '35.00' + Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 5, code: USD, subunits: 2, enabled: true } + money: '1700' + base_money: '3500' + custom_money: '1700' + custom_amount: '17.00' + custom_rule: null + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update this price.' + summary: 'Update product price' + description: 'Updates product price.' + parameters: + - + name: Accept + in: header + description: 'If set, updates product price.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'Update price or custom price for given currency.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: code + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated PriceUpdateController resource' + content: + application/vnd.ibexa.api.PriceUpdateStruct+json: + schema: + $ref: '#/components/schemas/PriceUpdateStructWrapper' + example: + PriceUpdateStruct: + amount: 3500 + currency: USD + application/vnd.ibexa.api.CustomPriceUpdateStruct+json: + schema: + $ref: '#/components/schemas/CustomPriceUpdateStructWrapper' + example: + CustomPriceUpdateStruct: + amount: 2500 + customAmount: 1700 + currency: USD + required: false + deprecated: false + '/product/catalog/products/{identifier}': + delete: + operationId: api_productcatalogproducts_identifier_delete + tags: + - Product + responses: + '204': + description: 'No content - the given product is deleted.' + '401': + description: 'Error - the user is not authorized to delete this product.' + summary: 'Delete product' + description: 'Deletes the given product.' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/product/catalog/products/{productTypeIdentifier}': + post: + operationId: api_productcatalogproducts_productTypeIdentifier_post + tags: + - Product + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.ProductCreate+json: + schema: + $ref: '#/components/schemas/ProductWrapper' + example: + Product: + _media-type: application/vnd.ibexa.api.Product+json + code: wsk_98845 + name: 'HUMMINGBIRD PRO DRY 9,2MM' + ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: d_rope, name: 'Dynamic ropes', AttributeAssignmentList: [] } + Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/141, _remoteId: 86fdab24802923a9c30994858165ba9b, _id: 141, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/54 }, Name: 'HUMMINGBIRD PRO DRY 9,2MM', TranslatedName: 'HUMMINGBIRD PRO DRY 9,2MM', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/141/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/141/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/141/versions/2, VersionInfo: { id: 618, versionNo: 2, status: PUBLISHED, modificationDate: '2022-05-27T09:29:33+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2022-05-27T09:29:33+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'HUMMINGBIRD PRO DRY 9,2MM' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/141 } }, Fields: { field: [{ id: 612, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'HUMMINGBIRD PRO DRY 9,2MM' }, { id: 613, fieldDefinitionIdentifier: product_specification, languageCode: eng-GB, fieldTypeIdentifier: ibexa_product_specification, fieldValue: { id: 25, code: wsk_98845, attributes: [10] } }, { id: 614, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 615, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image_asset, fieldValue: { destinationContentId: null, alternativeText: null, source: null } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/141/versions/2/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/141/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2022-05-27T09:29:33+00:00', publishedDate: '2022-05-27T06:51:36+00:00', mainLanguageCode: eng-GB, currentVersionNo: 2, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/141/objectstates } } + Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml } + created_at: 1645787815 + updated_at: 1645787815 + AttributesList: [] + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update this product.' + '403': + description: 'Error - a product with the same name already exists.' + '404': + description: 'Error - no product with the given code exists.' + summary: 'Create product' + description: 'Creates a new product.' + parameters: + - + name: Accept + in: header + description: 'If set, the new product is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The product schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: productTypeIdentifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ProductCreateController resource' + content: + application/vnd.ibexa.api.ProductCreate+json: + schema: + $ref: '#/components/schemas/ProductCreateWrapper' + example: + ProductCreate: + ContentCreate: + ContentType: { _href: /api/ibexa/v2/content/types/46, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/260/fieldDefinitions, FieldDefinition: [] } } + LocationCreate: { _media-type: application/vnd.ibexa.api.LocationCreate, ParentLocation: { _href: /api/ibexa/v2/content/locations/1/2 }, priority: '0', hidden: 'false', sortField: PATH, sortOrder: ASC } + alwaysAvailable: 'true' + fields: { field: [{ fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'new PT' }] } + mainLanguageCode: eng-GB + code: ggg + attributes: + attr1: fffffff + required: false + deprecated: false + /product/catalog/attributes: + get: + operationId: api_productcatalogattributes_get + tags: + - 'Product Attribute' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.AttributeList+xml: + schema: + $ref: '#/components/schemas/AttributeList' + application/vnd.ibexa.api.AttributeList+json: + schema: + $ref: '#/components/schemas/AttributeListWrapper' + example: + AttributeList: + _media-type: application/vnd.ibexa.api.AttributeList+json + Attribute: [{ _media-type: application/vnd.ibexa.api.Attribute+json, identifier: attrib1, name: Attrib1, description: '', type: Checkbox, type_identifier: checkbox, value: true, group: 'Attribute Group Test', position: 0, options: [] }, { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: attrib2, name: Attrib2, description: '', type: Checkbox, type_identifier: checkbox, value: true, group: 'Attribute Group Test', position: 0, options: [] }, { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: attrib3, name: Attrib3, description: '', type: Checkbox, type_identifier: checkbox, value: true, group: 'Attribute Group Test', position: 0, options: [] }] + '401': + description: 'Error - the user has no permission to read user groups.' + summary: 'Load attributes (deprecated)' + description: 'Loads list of all attributes. Deprecated as of Ibexa DXP 4.3, use POST /product/catalog/attributes/view instead.' + parameters: + - + name: Accept + in: header + description: 'AttributeList - If set, the attributes list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_productcatalogattributes_post + tags: + - 'Product Attribute' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Attribute+json: + schema: + $ref: '#/components/schemas/AttributeWrapper' + example: + Attribute: + _media-type: application/vnd.ibexa.api.Attribute+json + identifier: attr_group + name: 'Attribute Group' + description: description + type: Checkbox + type_identifier: checkbox + value: true + group: 'Attribute Group' + position: 0 + options: [] + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this attribute.' + '403': + description: 'Error - an attribute with the same name already exists.' + summary: 'Create attribute' + description: 'Creates a new attribute.' + parameters: + - + name: Accept + in: header + description: 'If set, the new attribute is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The attribute schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new AttributeCreateController resource' + content: + application/vnd.ibexa.api.AttributeCreate+json: + schema: + $ref: '#/components/schemas/AttributeCreateWrapper' + example: + AttributeCreate: + identifier: foo + type: checkbox + group: attr_group_test + names: + eng-GB: Attribute + descriptions: + eng-GB: description + position: 0 + options: + foo: bar + required: false + deprecated: false + '/product/catalog/attributes/translation/{id}/{languageCode}': + delete: + operationId: api_productcatalogattributestranslation_id_languageCode_delete + tags: + - 'Product Attribute' + responses: + '200': + description: 'No Content.' + '401': + description: 'Error - the user is not authorized to delete this translation.' + summary: 'Delete attribute translation' + description: 'The given translation is removed from the attribute.' + parameters: + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: languageCode + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /product/catalog/attributes/view: + post: + operationId: api_productcatalogattributesview_post + tags: + - 'Product Attribute' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.AttributeView+xml: + schema: + $ref: '#/components/schemas/AttributeView' + application/vnd.ibexa.api.AttributeView+json: + schema: + $ref: '#/components/schemas/AttributeViewWrapper' + example: + AttributeView: + _media-type: application/vnd.ibexa.api.AttributeView+json + identifier: TitleView + AttributeQuery: { _media-type: application/vnd.ibexa.api.AttributeQuery+json } + Result: { _media-type: application/vnd.ibexa.api.ViewResult+json, count: 1, AttributeList: { _media-type: application/vnd.ibexa.api.AttributeList+json, Attribute: [{ _media-type: application/vnd.ibexa.api.Attribute+json, identifier: measure, name: measure, description: '', type: Measurement, type_identifier: measurement, group: 'Test Attribute group', position: 0, options: { type: length, unit: centimeter, measurementRange: { minimum: 12, maximum: 15 }, measurementDefaultRange: { defaultRangeMinimumValue: null, defaultRangeMaximumValue: null } } }] } } + '400': + description: 'Error - the input does not match the input schema definition.' + summary: 'Filter attributes' + description: 'Executes a query and returns a View including the results. The View input reflects the criteria model of the public PHP API.' + parameters: + - + name: Accept + in: header + description: 'The view in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The view input in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new AttributeViewController resource' + content: + application/vnd.ibexa.api.AttributeViewInput+xml: + schema: + $ref: '#/components/schemas/AttributeViewInput' + application/vnd.ibexa.api.AttributeViewInput+json: + schema: + $ref: '#/components/schemas/AttributeViewInputWrapper' + example: + ViewInput: + identifier: TitleView + AttributeQuery: + limit: '10' + offset: '0' + Query: { AttributeNameCriterion: measure, AttributeGroupIdentifierCriterion: test_attribute_group } + required: false + deprecated: false + '/product/catalog/attributes/{id}': + get: + operationId: api_productcatalogattributes_id_get + tags: + - 'Product Attribute' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Attribute+xml: + schema: + $ref: '#/components/schemas/Attribute' + application/vnd.ibexa.api.Attribute+json: + schema: + $ref: '#/components/schemas/AttributeWrapper' + example: + Attribute: + _media-type: application/vnd.ibexa.api.Attribute+json + identifier: attr_group + name: 'Attribute Group' + description: description + type: Checkbox + type_identifier: checkbox + value: true + group: 'Attribute Group' + position: 0 + options: [] + '401': + description: 'Error - the user has no permission to read the attribute.' + summary: 'Load attribute' + description: 'Loads given attribute.' + parameters: + - + name: Accept + in: header + description: 'Attribute - If set, the given attribute is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_productcatalogattributes_id_delete + tags: + - 'Product Attribute' + responses: + '200': + description: 'No Content.' + '401': + description: 'Error - the user is not authorized to delete this attribute.' + summary: 'Delete attribute' + description: 'The given attribute is removed from the attribute group.' + parameters: + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/product/catalog/attributes/{id}/{group_id}': + patch: + operationId: api_productcatalogattributes_id_group_id_patch + tags: + - 'Product Attribute' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Attribute+json: + schema: + $ref: '#/components/schemas/AttributeWrapper' + example: + Attribute: + _media-type: application/vnd.ibexa.api.Attribute+json + identifier: attr_group + name: 'Attribute Group' + description: description + type: Checkbox + type_identifier: checkbox + value: true + group: 'Attribute Group' + position: 0 + options: [] + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this attribute.' + '403': + description: 'Error - an attribute with the same name already exists.' + '404': + description: 'Error - the attribute with the given ID does not exist.' + summary: 'Update attribute' + description: 'Updates an attribute.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated attribute is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'If set, the updated attribute group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: group_id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated AttributeUpdateController resource' + content: + application/vnd.ibexa.api.AttributeUpdate+json: + schema: + $ref: '#/components/schemas/AttributeUpdateWrapper' + example: + AttributeUpdate: + identifier: attr_group + names: + eng-GB: 'Attribute Group' + descriptions: + eng-GB: description + position: 0 + options: + foo: bar + required: false + deprecated: false + /product/catalog/attribute_groups: + get: + operationId: api_productcatalogattribute_groups_get + tags: + - 'Product Attribute Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.AttributeGroupList+xml: + schema: + $ref: '#/components/schemas/AttributeGroupList' + application/vnd.ibexa.api.AttributeGroupList+json: + schema: + $ref: '#/components/schemas/AttributeGroupListWrapper' + example: + AttributeGroupList: + _media-type: application/vnd.ibexa.api.AttributeGroupList+json + AttributeGroup: [{ _media-type: application/vnd.ibexa.api.AttributeGroup+json, name: 'Attribute Group Test', identifier: attr_group_test, position: 0 }, { _media-type: application/vnd.ibexa.api.AttributeGroup+json, name: Dimensions, identifier: ag_dimensions, position: 0 }] + '401': + description: 'Error - the user has no permission to read attribute groups.' + summary: 'Load attribute groups (deprecated)' + description: 'Returns a list of attribute groups. Deprecated as of Ibexa DXP 4.3, use POST /product/catalog/attribute_groups/view instead.' + parameters: + - + name: Accept + in: header + description: 'AttributeGroupList - If set, the attribute group list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The AttributeGroupListGet schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + content: + application/vnd.ibexa.api.AttributeGroupListGet+json: + schema: + $ref: '#/components/schemas/AttributeGroupListGetWrapper' + example: + AttributeGroupListGet: + prefix: s + offset: 0 + limit: 10 + required: false + deprecated: false + post: + operationId: api_productcatalogattribute_groups_post + tags: + - 'Product Attribute Group' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.AttributeGroup+json: + schema: + $ref: '#/components/schemas/AttributeGroupWrapper' + example: + AttributeGroup: + _media-type: application/vnd.ibexa.api.AttributeGroup+json + name: 'Colors Group' + identifier: ag_colors + position: 0 + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this attribute group.' + '403': + description: 'Error - an attribute group with the same identifier already exists.' + summary: 'Create attribute group' + description: 'Creates a new attribute group.' + parameters: + - + name: Accept + in: header + description: 'If set, the new attribute group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The AttributeGroup schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new AttributeGroupCreateController resource' + content: + application/vnd.ibexa.api.AttributeGroupCreate+json: + schema: + $ref: '#/components/schemas/AttributeGroupCreateWrapper' + example: + AttributeGroupCreate: + identifier: attr_group_test + names: + eng-GB: 'Attribute Group Test' + position: 0 + required: false + deprecated: false + '/product/catalog/attribute_groups/translation/{id}/{languageCode}': + delete: + operationId: api_productcatalogattribute_groupstranslation_id_languageCode_delete + tags: + - 'Product Attribute Group' + responses: + '200': + description: 'No content - the given attribute group translation is deleted.' + '401': + description: 'Error - the user is not authorized to delete this attribute group translation assignment.' + summary: 'Delete attribute group translation' + description: 'Deletes given translation from attribute group.' + parameters: + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: languageCode + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /product/catalog/attribute_groups/view: + post: + operationId: api_productcatalogattribute_groupsview_post + tags: + - 'Product Attribute Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.AttributeGroupView+xml: + schema: + $ref: '#/components/schemas/AttributeGroupView' + application/vnd.ibexa.api.AttributeGroupView+json: + schema: + $ref: '#/components/schemas/AttributeGroupViewWrapper' + example: + AttributeGroupView: + _media-type: application/vnd.ibexa.api.AttributeGroupView+json + identifier: TitleView + AttributeGroupQuery: { _media-type: application/vnd.ibexa.api.AttributeGroupQuery+json } + Result: { _media-type: application/vnd.ibexa.api.ViewResult+json, count: 1, AttributeGroupList: { _media-type: application/vnd.ibexa.api.AttributeGroupList+json, AttributeGroup: [{ _media-type: application/vnd.ibexa.api.AttributeGroup+json, name: 'Test Attribute group', identifier: test_attribute_group, position: 0 }] } } + '400': + description: 'Error - the input does not match the input schema definition.' + summary: 'Filter attribute groups' + description: 'Executes a query and returns a View including the results. The View input reflects the criteria model of the public PHP API.' + parameters: + - + name: Accept + in: header + description: 'The view in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The view input in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new AttributeGroupViewController resource' + content: + application/vnd.ibexa.api.AttributeGroupViewInput+xml: + schema: + $ref: '#/components/schemas/AttributeGroupViewInput' + application/vnd.ibexa.api.AttributeGroupViewInput+json: + schema: + $ref: '#/components/schemas/AttributeGroupViewInputWrapper' + example: + ViewInput: + identifier: TitleView + AttributeGroupQuery: + limit: '10' + offset: '0' + name_prefix: test + required: false + deprecated: false + '/product/catalog/attribute_groups/{id}': + get: + operationId: api_productcatalogattribute_groups_id_get + tags: + - 'Product Attribute Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.AttributeGroup+xml: + schema: + $ref: '#/components/schemas/AttributeGroup' + application/vnd.ibexa.api.AttributeGroup+json: + schema: + $ref: '#/components/schemas/AttributeGroupWrapper' + example: + AttributeGroup: + _media-type: application/vnd.ibexa.api.AttributeGroup+json + name: 'Colors Group' + identifier: ag_colors + position: 0 + '401': + description: 'Error - the user has no permission to read attribute groups.' + summary: 'Load attribute group' + description: 'Returns the given attribute group.' + parameters: + - + name: Accept + in: header + description: 'AttributeGroupGet - If set, the attribute group List is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'An optional AttributeGroupGet schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + content: + application/vnd.ibexa.api.AttributeGroupGet+xml: + schema: + $ref: '#/components/schemas/AttributeGroupGet' + application/vnd.ibexa.api.AttributeGroupGet+json: + schema: + $ref: '#/components/schemas/AttributeGroupGetWrapper' + example: + AttributeGroupGet: + languages: + - eng-GB + required: false + deprecated: false + delete: + operationId: api_productcatalogattribute_groups_id_delete + tags: + - 'Product Attribute Group' + responses: + '204': + description: 'No content - the given attribute group is deleted.' + '401': + description: 'Error - the user is not authorized to delete this attribute group.' + summary: 'Delete attribute group' + description: 'Deletes an attribute group.' + parameters: + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_productcatalogattribute_groups_id_patch + tags: + - 'Product Attribute Group' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.AttributeGroup+xml: + schema: + $ref: '#/components/schemas/AttributeGroup' + application/vnd.ibexa.api.AttributeGroup+json: + schema: + $ref: '#/components/schemas/AttributeGroupWrapper' + example: + AttributeGroup: + _media-type: application/vnd.ibexa.api.AttributeGroup+json + name: 'Colors Group' + identifier: ag_colors + position: 0 + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this attribute group.' + '403': + description: 'Error - an attribute group with the same identifier already exists.' + '404': + description: 'Error - the group with the given ID does not exist.' + summary: 'Update attribute group' + description: 'Updates an attribute group.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated attribute group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The attribute group update schema is sent in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated AttributeGroupUpdateController resource' + content: + application/vnd.ibexa.api.AttributeGroupUpdate+xml: + schema: + $ref: '#/components/schemas/AttributeGroupUpdate' + application/vnd.ibexa.api.AttributeGroupUpdate+json: + schema: + $ref: '#/components/schemas/AttributeGroupUpdateWrapper' + example: + AttributeGroupUpdate: + identifier: ag_colors + names: + eng-GB: 'Colors Group' + position: 0 + required: false + deprecated: false + /product/catalog/attribute_types: + get: + operationId: api_productcatalogattribute_types_get + tags: + - 'Product Attribute Type' + responses: + '200': + description: 'OK - returns a list of Attribute Types' + content: + application/vnd.ibexa.api.AttributeTypeList+xml: + schema: + $ref: '#/components/schemas/AttributeTypeList' + application/vnd.ibexa.api.AttributeTypeList+json: + schema: + $ref: '#/components/schemas/AttributeTypeListWrapper' + summary: 'List Attribute Types' + description: 'Lists all Attribute Types.' + parameters: + - + name: Accept + in: header + description: 'If set, the list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/product/catalog/attribute_types/{identifier}': + get: + operationId: api_productcatalogattribute_types_identifier_get + tags: + - 'Product Attribute Type' + responses: + '200': + description: 'OK - returns the Attribute Type' + content: + application/vnd.ibexa.api.AttributeType+xml: + schema: + $ref: '#/components/schemas/AttributeType' + application/vnd.ibexa.api.AttributeType+json: + schema: + $ref: '#/components/schemas/AttributeTypeWrapper' + '404': + description: 'Error - The Attribute Type does not exist.' + summary: 'Get Attribute Type' + description: 'Gets an Attribute Type by its identifier.' + parameters: + - + name: Accept + in: header + description: 'If set, the Attribute Type is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /product/catalog/catalogs: + post: + operationId: api_productcatalogcatalogs_post + tags: + - 'Product Catalog' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.CatalogCreate+json: + schema: + $ref: '#/components/schemas/CatalogWrapper' + example: + Catalog: + _media-type: application/vnd.ibexa.api.Catalog+json + identifier: test_catalog_copied + name: 'Snow Equipment updated' + description: 'Snow Equipment catalog for 2022' + User: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + created: 1666091820 + modified: 1666091820 + status: draft + Criteria: [{ _media-type: application/vnd.ibexa.api.ProductCode+json, ProductCodeCriterion: { _media-type: application/vnd.ibexa.api.ProductCodeCriterion+json, codes: [ski] } }, { _media-type: application/vnd.ibexa.api.ProductAvailability+json, ProductAvailabilityCriterion: { _media-type: application/vnd.ibexa.api.ProductAvailabilityCriterion+json, is_available: false } }, { _media-type: application/vnd.ibexa.api.CreatedAt+json, CreatedAtCriterion: { _media-type: application/vnd.ibexa.api.CreatedAtCriterion+json, created_at: { date: '2022-12-12 00:00:00.000000', timezone_type: 3, timezone: Europe/Warsaw }, operator: '>=' } }] + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update this catalog.' + '403': + description: 'Error - a catalog with the same name already exists.' + '404': + description: 'Error - no catalog with the given code exists.' + summary: 'Create catalog' + description: 'Creates a new catalog.' + parameters: + - + name: Accept + in: header + description: 'If set, the new catalog is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The catalog schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new CatalogCreateController resource' + content: + application/vnd.ibexa.api.CatalogCreate+json: + schema: + $ref: '#/components/schemas/CatalogCreateWrapper' + example: + CatalogCreate: + identifier: test_catalog + criteria: + ProductCodeCriterion: [ski, snowboard] + ProductAvailabilityCriterion: true + ColorAttributeCriterion: { identifier: color, value: ['#000000', '#FFFFFF'] } + CreatedAtCriterion: { operator: '>=', created_at: 12-09-2022 } + FloatAttributeCriterion: { identifier: width, value: 16.6 } + IntegerAttributeRangeCriterion: { identifier: length, min: 180, max: 230 } + names: + eng-GB: 'Snow Equipment' + status: draft + required: false + deprecated: false + '/product/catalog/catalogs/copy/{identifier}': + post: + operationId: api_productcatalogcatalogscopy_identifier_post + tags: + - 'Product Catalog' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Catalog+json: + schema: + $ref: '#/components/schemas/CatalogWrapper' + example: + Catalog: + _media-type: application/vnd.ibexa.api.Catalog+json + identifier: test_catalog_copied + name: 'Snow Equipment updated' + description: 'Snow Equipment catalog for 2022' + User: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + created: 1666091820 + modified: 1666091820 + status: draft + Criteria: [{ _media-type: application/vnd.ibexa.api.ProductCode+json, ProductCodeCriterion: { _media-type: application/vnd.ibexa.api.ProductCodeCriterion+json, codes: [ski] } }, { _media-type: application/vnd.ibexa.api.ProductAvailability+json, ProductAvailabilityCriterion: { _media-type: application/vnd.ibexa.api.ProductAvailabilityCriterion+json, is_available: false } }, { _media-type: application/vnd.ibexa.api.CreatedAt+json, CreatedAtCriterion: { _media-type: application/vnd.ibexa.api.CreatedAtCriterion+json, created_at: { date: '2022-12-12 00:00:00.000000', timezone_type: 3, timezone: Europe/Warsaw }, operator: '>=' } }] + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to copy this catalog.' + '403': + description: 'Error - a catalog with the same identifier already exists.' + '404': + description: 'Error - no catalog with the given identifier exists.' + summary: 'Copy catalog' + description: 'Copies a catalog.' + parameters: + - + name: Accept + in: header + description: 'If set, the copied catalog is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'If set, the copied catalog is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new CatalogCopyController resource' + content: + application/vnd.ibexa.api.CatalogCopy+json: + schema: + $ref: '#/components/schemas/CatalogCopyWrapper' + example: + CatalogCopy: + identifier: test_catalog_copied + creator_id: 14 + required: false + deprecated: false + /product/catalog/catalogs/filters: + get: + operationId: api_productcatalogcatalogsfilters_get + tags: + - 'Product Catalog' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ProductFilterList+xml: + schema: + $ref: '#/components/schemas/ProductFilterList' + application/vnd.ibexa.api.ProductFilterList+json: + schema: + $ref: '#/components/schemas/ProductFilterListWrapper' + example: + ProductFilterList: + _media-type: application/vnd.ibexa.api.ProductFilterList+json + ProductFilter: [{ _media-type: application/vnd.ibexa.api.ProductFilter+json, name: CreatedAtCriterion }, { _media-type: application/vnd.ibexa.api.ProductFilter+json, name: CreatedAtRangeCriterion }, { _media-type: application/vnd.ibexa.api.ProductFilter+json, name: ProductCategoryCriterion }, { _media-type: application/vnd.ibexa.api.ProductFilter+json, name: ColorAttributeCriterion }, { _media-type: application/vnd.ibexa.api.ProductFilter+json, name: FloatAttributeCriterion }, { _media-type: application/vnd.ibexa.api.ProductFilter+json, name: FloatAttributeRangeCriterion }, { _media-type: application/vnd.ibexa.api.ProductFilter+json, name: IntegerAttributeCriterion }, { _media-type: application/vnd.ibexa.api.ProductFilter+json, name: IntegerAttributeRangeCriterion }, { _media-type: application/vnd.ibexa.api.ProductFilter+json, name: SelectionAttributeCriterion }, { _media-type: application/vnd.ibexa.api.ProductFilter+json, name: ProductCodeCriterion }, { _media-type: application/vnd.ibexa.api.ProductFilter+json, name: ProductNameCriterion }, { _media-type: application/vnd.ibexa.api.ProductFilter+json, name: ProductAvailabilityCriterion }] + summary: 'Load catalog filters' + description: 'Loads product filters available for catalogs.' + parameters: + - + name: Accept + in: header + description: 'If set, the filters are returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /product/catalog/catalogs/sort_clauses: + get: + operationId: api_productcatalogcatalogssort_clauses_get + tags: + - 'Product Catalog' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ProductSortClauseList+xml: + schema: + $ref: '#/components/schemas/ProductSortClauseList' + application/vnd.ibexa.api.ProductSortClauseList+json: + schema: + $ref: '#/components/schemas/ProductSortClauseListWrapper' + example: + ProductSortClauseList: + _media-type: application/vnd.ibexa.api.ProductSortClauseList+json + ProductSortClause: [{ _media-type: application/vnd.ibexa.api.ProductSortClause+json, name: ProductName }, { _media-type: application/vnd.ibexa.api.ProductSortClause+json, name: ProductCode }, { _media-type: application/vnd.ibexa.api.ProductSortClause+json, name: ProductAvailability }, { _media-type: application/vnd.ibexa.api.ProductSortClause+json, name: CreatedAt }] + summary: 'Load catalog sort clauses' + description: 'Loads product sort clauses available for catalogs.' + parameters: + - + name: Accept + in: header + description: 'If set, the clauses are returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /product/catalog/catalogs/view: + post: + operationId: api_productcatalogcatalogsview_post + tags: + - 'Product Catalog' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.CatalogView+xml: + schema: + $ref: '#/components/schemas/CatalogView' + application/vnd.ibexa.api.CatalogView+json: + schema: + $ref: '#/components/schemas/CatalogViewWrapper' + example: + CatalogView: + _media-type: application/vnd.ibexa.api.CatalogView+json + identifier: TitleView + CatalogQuery: { _media-type: application/vnd.ibexa.api.CatalogQuery+json } + Result: { _media-type: application/vnd.ibexa.api.ViewResult+json, count: 1, CatalogList: { _media-type: application/vnd.ibexa.api.CatalogList+json, Catalog: [{ _media-type: application/vnd.ibexa.api.Catalog+json, identifier: test, name: test, description: '', User: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, created: 1665479475, modified: 1665479475, status: draft, Criteria: [{ _media-type: application/vnd.ibexa.api.ProductCode+json, ProductCodeCriterion: { _media-type: application/vnd.ibexa.api.ProductCodeCriterion+json, codes: [test] } }] }] } } + '400': + description: 'Error - the input does not match the input schema definition.' + summary: 'Filter catalogs' + description: 'Executes a query and returns a View including the results. The View input reflects the criteria model of the public PHP API.' + parameters: + - + name: Accept + in: header + description: 'The view in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The view input in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new CatalogViewController resource' + content: + application/vnd.ibexa.api.CatalogViewInput+xml: + schema: + $ref: '#/components/schemas/CatalogViewInput' + application/vnd.ibexa.api.CatalogViewInput+json: + schema: + $ref: '#/components/schemas/CatalogViewInputWrapper' + example: + ViewInput: + identifier: TitleView + CatalogQuery: + Query: { CatalogIdentifierCriterion: test, CatalogNameCriterion: test } + required: false + deprecated: false + '/product/catalog/catalogs/{identifier}': + get: + operationId: api_productcatalogcatalogs_identifier_get + tags: + - 'Product Catalog' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Catalog+xml: + schema: + $ref: '#/components/schemas/Catalog' + application/vnd.ibexa.api.Catalog+json: + schema: + $ref: '#/components/schemas/CatalogWrapper' + example: + Catalog: + _media-type: application/vnd.ibexa.api.Catalog+json + identifier: test_catalog_copied + name: 'Snow Equipment updated' + description: 'Snow Equipment catalog for 2022' + User: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + created: 1666091820 + modified: 1666091820 + status: draft + Criteria: [{ _media-type: application/vnd.ibexa.api.ProductCode+json, ProductCodeCriterion: { _media-type: application/vnd.ibexa.api.ProductCodeCriterion+json, codes: [ski] } }, { _media-type: application/vnd.ibexa.api.ProductAvailability+json, ProductAvailabilityCriterion: { _media-type: application/vnd.ibexa.api.ProductAvailabilityCriterion+json, is_available: false } }, { _media-type: application/vnd.ibexa.api.CreatedAt+json, CreatedAtCriterion: { _media-type: application/vnd.ibexa.api.CreatedAtCriterion+json, created_at: { date: '2022-12-12 00:00:00.000000', timezone_type: 3, timezone: Europe/Warsaw }, operator: '>=' } }] + '401': + description: 'Error - the user is not authorized to view this catalog.' + '404': + description: 'Error - no catalog with the given identifier exists.' + summary: 'Load catalog' + description: 'Loads the given catalog.' + parameters: + - + name: Accept + in: header + description: 'If set, the catalog is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_productcatalogcatalogs_identifier_delete + tags: + - 'Product Catalog' + responses: + '204': + description: 'No content - the given catalog is deleted.' + '401': + description: 'Error - the user is not authorized to delete this catalog.' + summary: 'Delete catalog' + description: 'Deletes the given catalog.' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_productcatalogcatalogs_identifier_patch + tags: + - 'Product Catalog' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Catalog+json: + schema: + $ref: '#/components/schemas/CatalogWrapper' + example: + Catalog: + _media-type: application/vnd.ibexa.api.Catalog+json + identifier: test_catalog_copied + name: 'Snow Equipment updated' + description: 'Snow Equipment catalog for 2022' + User: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + created: 1666091820 + modified: 1666091820 + status: draft + Criteria: [{ _media-type: application/vnd.ibexa.api.ProductCode+json, ProductCodeCriterion: { _media-type: application/vnd.ibexa.api.ProductCodeCriterion+json, codes: [ski] } }, { _media-type: application/vnd.ibexa.api.ProductAvailability+json, ProductAvailabilityCriterion: { _media-type: application/vnd.ibexa.api.ProductAvailabilityCriterion+json, is_available: false } }, { _media-type: application/vnd.ibexa.api.CreatedAt+json, CreatedAtCriterion: { _media-type: application/vnd.ibexa.api.CreatedAtCriterion+json, created_at: { date: '2022-12-12 00:00:00.000000', timezone_type: 3, timezone: Europe/Warsaw }, operator: '>=' } }] + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update this catalog.' + '403': + description: 'Error - a catalog with the same identifier already exists.' + '404': + description: 'Error - no catalog with the given identifier exists.' + summary: 'Update catalog' + description: 'Updates a catalog.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated catalog is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'If set, the updated catalog is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated CatalogUpdateController resource' + content: + application/vnd.ibexa.api.CatalogUpdate+json: + schema: + $ref: '#/components/schemas/CatalogUpdateWrapper' + example: + CatalogUpdate: + identifier: test_catalog_updated + criteria: + ProductCodeCriterion: [ski] + ProductAvailabilityCriterion: false + CreatedAtCriterion: { operator: '>=', created_at: 12-12-2022 } + names: + eng-GB: 'Snow Equipment updated' + descriptions: + eng-GB: 'Snow Equipment catalog for 2022' + transition: publish + required: false + deprecated: false + '/product/catalog/catalogs/{identifier}/products/view': + post: + operationId: api_productcatalogcatalogs_identifierproductsview_post + tags: + - 'Product Catalog' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ProductView+xml: + schema: + $ref: '#/components/schemas/ProductView' + application/vnd.ibexa.api.ProductView+json: + schema: + $ref: '#/components/schemas/ProductViewWrapper' + example: + ProductView: + _media-type: application/vnd.ibexa.api.ProductView+json + identifier: TitleView + ProductQuery: { _media-type: application/vnd.ibexa.api.ProductQuery+json } + Result: { _media-type: application/vnd.ibexa.api.ViewResult+json, count: 2, ProductList: { _media-type: application/vnd.ibexa.api.ProductList+json, Product: [{ _media-type: application/vnd.ibexa.api.Product+json, code: OTHER, isBaseProduct: false, isVariant: false, name: 'Other Office Desk', ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: desk, name: Desk, AttributeAssignmentList: [{ _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: false, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: color, name: Color, description: '', type: Selection, type_identifier: selection, group: Desk, position: 0, options: { choices: [{ label: { eng-GB: Black }, value: black }, { label: { eng-GB: White }, value: white }] }, value: null } }, { _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: false, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: width, name: Width, description: '', type: 'Measurement (single)', type_identifier: measurement_single, group: Desk, position: 0, options: { sign: none, type: length, unit: centimeter, defaultValue: null }, value: null } }] }, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/67, _remoteId: c5c22c68912af81992b74851f158db4a, _id: 67, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/53 }, Name: 'Other Office Desk', TranslatedName: 'Other Office Desk', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/67/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/67/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/67/versions/2, VersionInfo: { id: 529, versionNo: 2, status: PUBLISHED, modificationDate: '2023-04-12T14:06:25+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-12T14:06:25+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Other Office Desk' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/67 } }, Fields: { field: [{ id: 301, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Other Office Desk' }, { id: 302, fieldDefinitionIdentifier: product_specification, languageCode: eng-GB, fieldTypeIdentifier: ibexa_product_specification, fieldValue: { id: 4, code: OTHER, attributes: [white, []] } }, { id: 303, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 304, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image_asset, fieldValue: { destinationContentId: null, alternativeText: null, source: null } }, { id: 305, fieldDefinitionIdentifier: category, languageCode: eng-GB, fieldTypeIdentifier: ibexa_taxonomy_entry_assignment, fieldValue: { taxonomy_entries: [], taxonomy: product_categories } }, { id: 306, fieldDefinitionIdentifier: field_64369cb9130a7, languageCode: eng-GB, fieldTypeIdentifier: ibexa_seo, fieldValue: '' }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/67/versions/2/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/67/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-04-12T14:06:25+00:00', publishedDate: '2023-04-12T11:59:17+00:00', mainLanguageCode: eng-GB, currentVersionNo: 2, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/67/objectstates } }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml }, created_at: 1681308385, updated_at: 1681308385, AttributesList: [{ _media-type: application/vnd.ibexa.api.Attribute+json, identifier: color, name: Color, description: '', type: Selection, type_identifier: selection, group: Desk, position: 0, options: { choices: [{ label: { eng-GB: Black }, value: black }, { label: { eng-GB: White }, value: white }] }, value: white }, { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: width, name: Width, description: '', type: 'Measurement (single)', type_identifier: measurement_single, group: Desk, position: 0, options: { sign: none, type: length, unit: centimeter, defaultValue: null }, value: null }], Price: { _media-type: application/vnd.ibexa.api.Price+json, amount: '160.00', base_amount: '160.00', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true }, money: '16000', base_money: '16000' } }, { _media-type: application/vnd.ibexa.api.Product+json, code: ERGO, isBaseProduct: false, isVariant: false, name: 'Ergo Office Desk', ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: desk, name: Desk, AttributeAssignmentList: [{ _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: false, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: color, name: Color, description: '', type: Selection, type_identifier: selection, group: Desk, position: 0, options: { choices: [{ label: { eng-GB: Black }, value: black }, { label: { eng-GB: White }, value: white }] }, value: null } }, { _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: false, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: width, name: Width, description: '', type: 'Measurement (single)', type_identifier: measurement_single, group: Desk, position: 0, options: { sign: none, type: length, unit: centimeter, defaultValue: null }, value: null } }] }, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/66, _remoteId: 1e7449c13671b56ed3907929a2af3ad9, _id: 66, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/53 }, Name: 'Ergo Office Desk', TranslatedName: 'Ergo Office Desk', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/66/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/66/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/66/versions/2, VersionInfo: { id: 528, versionNo: 2, status: PUBLISHED, modificationDate: '2023-04-12T14:06:14+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2023-04-12T14:06:14+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Ergo Office Desk' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/66 } }, Fields: { field: [{ id: 295, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Ergo Office Desk' }, { id: 296, fieldDefinitionIdentifier: product_specification, languageCode: eng-GB, fieldTypeIdentifier: ibexa_product_specification, fieldValue: { id: 3, code: ERGO, attributes: [black, []] } }, { id: 297, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
\n", xhtml5edit: "\n
\n" } }, { id: 298, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image_asset, fieldValue: { destinationContentId: null, alternativeText: null, source: null } }, { id: 299, fieldDefinitionIdentifier: category, languageCode: eng-GB, fieldTypeIdentifier: ibexa_taxonomy_entry_assignment, fieldValue: { taxonomy_entries: [], taxonomy: product_categories } }, { id: 300, fieldDefinitionIdentifier: field_64369cb9130a7, languageCode: eng-GB, fieldTypeIdentifier: ibexa_seo, fieldValue: '' }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/66/versions/2/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/66/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-04-12T14:06:14+00:00', publishedDate: '2023-04-12T11:58:00+00:00', mainLanguageCode: eng-GB, currentVersionNo: 2, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/66/objectstates } }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: /placeholder, width: null, height: null, mimeType: image/svg+xml }, created_at: 1681308374, updated_at: 1681308374, AttributesList: [{ _media-type: application/vnd.ibexa.api.Attribute+json, identifier: color, name: Color, description: '', type: Selection, type_identifier: selection, group: Desk, position: 0, options: { choices: [{ label: { eng-GB: Black }, value: black }, { label: { eng-GB: White }, value: white }] }, value: black }, { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: width, name: Width, description: '', type: 'Measurement (single)', type_identifier: measurement_single, group: Desk, position: 0, options: { sign: none, type: length, unit: centimeter, defaultValue: null }, value: null }], Price: { _media-type: application/vnd.ibexa.api.Price+json, amount: '99.00', base_amount: '99.00', Currency: { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: true }, money: '9900', base_money: '9900' } }] }, aggregations: [{ _media-type: application/vnd.ibexa.api.RangeAggregationResult+json, name: price, entries: [{ _media-type: application/vnd.ibexa.api.RangeAggregationResultEntry+json, key: { Range: { _media-type: application/vnd.ibexa.api.Range+json, from: 0, to: 10000 } }, count: 1 }] }] } + '400': + description: 'Error - the input does not match the input schema definition.' + summary: 'Filter catalog products' + description: 'Executes a query and returns a View including the results. The View input reflects the criteria model of the public PHP API.' + parameters: + - + name: Accept + in: header + description: 'The view in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The view input in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new CatalogProductsViewController resource' + content: + application/vnd.ibexa.api.ProductViewInput+xml: + schema: + $ref: '#/components/schemas/ProductViewInput' + application/vnd.ibexa.api.ProductViewInput+json: + schema: + $ref: '#/components/schemas/ProductViewInputWrapper' + example: + ViewInput: + identifier: TitleView + ProductQuery: + Query: { ProductCodeCriterion: test, ProductAvailabilityCriterion: true } + required: false + deprecated: false + /product/catalog/currencies: + get: + operationId: api_productcatalogcurrencies_get + tags: + - 'Product Currency' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.CurrencyList+json: + schema: + $ref: '#/components/schemas/CurrencyListWrapper' + example: + CurrencyList: + _media-type: application/vnd.ibexa.api.CurrencyList+json + Currency: [{ _media-type: application/vnd.ibexa.api.Currency+json, id: 1, code: AFN, subunits: 1, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 3, code: ALL, subunits: 2, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 4, code: DZD, subunits: 2, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 5, code: USD, subunits: 2, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 6, code: AOA, subunits: 2, enabled: false }] + '401': + description: 'Error - the user has no permission to read currencies.' + summary: 'Load currencies' + description: 'Loads the list of currencies.' + parameters: + - + name: Accept + in: header + description: 'CurrencyList - If set, the currency list returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_productcatalogcurrencies_post + tags: + - 'Product Currency' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Currency+json: + schema: + $ref: '#/components/schemas/CurrencyWrapper' + example: + Currency: + _media-type: application/vnd.ibexa.api.Currency+json + id: 1 + code: AFN + subunits: 1 + enabled: false + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this currency.' + '406': + description: 'Error - a currency with this code already exists.' + summary: 'Create currency' + description: 'Creates a new currency.' + parameters: + - + name: Accept + in: header + description: 'If set, the new currency is returned in JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The Currency schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new CurrencyCreateController resource' + content: + application/vnd.ibexa.api.CurrencyCreate+json: + schema: + $ref: '#/components/schemas/CurrencyCreateWrapper' + example: + CurrencyCreate: + code: cur + subunits: 1 + enabled: true + required: false + deprecated: false + /product/catalog/currencies/view: + post: + operationId: api_productcatalogcurrenciesview_post + tags: + - 'Product Currency' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.CurrencyView+xml: + schema: + $ref: '#/components/schemas/CurrencyView' + application/vnd.ibexa.api.CurrencyView+json: + schema: + $ref: '#/components/schemas/CurrencyViewWrapper' + example: + CurrencyView: + _media-type: application/vnd.ibexa.api.CurrencyView+json + identifier: TitleView + CurrencyQuery: { _media-type: application/vnd.ibexa.api.CurrencyQuery+json } + Result: { _media-type: application/vnd.ibexa.api.ViewResult+json, count: 179, CurrencyList: { _media-type: application/vnd.ibexa.api.CurrencyList+json, Currency: [{ _media-type: application/vnd.ibexa.api.Currency+json, id: 1, code: AFN, subunits: 2, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 2, code: EUR, subunits: 2, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 3, code: ALL, subunits: 2, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 4, code: DZD, subunits: 2, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 5, code: USD, subunits: 2, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 6, code: AOA, subunits: 2, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 7, code: XCD, subunits: 2, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 8, code: ARS, subunits: 2, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 9, code: AMD, subunits: 2, enabled: false }, { _media-type: application/vnd.ibexa.api.Currency+json, id: 10, code: AWG, subunits: 2, enabled: false }] } } + '400': + description: 'Error - the input does not match the input schema definition.' + summary: 'Filter currencies' + description: 'Executes a query and returns a View including the results. The View input reflects the criteria model of the public PHP API.' + parameters: + - + name: Accept + in: header + description: 'The view in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The view input in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new CurrencyViewController resource' + content: + application/vnd.ibexa.api.CurrencyViewInput+xml: + schema: + $ref: '#/components/schemas/CurrencyViewInput' + application/vnd.ibexa.api.CurrencyViewInput+json: + schema: + $ref: '#/components/schemas/CurrencyViewInputWrapper' + example: + ViewInput: + identifier: TitleView + CurrencyQuery: + limit: '10' + offset: '0' + required: false + deprecated: false + '/product/catalog/currencies/{id}': + get: + operationId: api_productcatalogcurrencies_id_get + tags: + - 'Product Currency' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Currency+json: + schema: + $ref: '#/components/schemas/CurrencyWrapper' + example: + Currency: + _media-type: application/vnd.ibexa.api.Currency+json + id: 1 + code: AFN + subunits: 1 + enabled: false + '401': + description: 'Error - the user has no permission to read currencies.' + '404': + description: 'Error - the currency does not exist.' + summary: 'Load currency' + description: 'Loads a currency.' + parameters: + - + name: Accept + in: header + description: 'Currency - If set, the currency returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_productcatalogcurrencies_id_delete + tags: + - 'Product Currency' + responses: + '200': + description: 'No content - the given currency is deleted.' + '401': + description: 'Error - the user is not authorized to delete this currency.' + summary: 'Delete currency' + description: 'Deletes the given currency.' + parameters: + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_productcatalogcurrencies_id_patch + tags: + - 'Product Currency' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Currency+json: + schema: + $ref: '#/components/schemas/CurrencyWrapper' + example: + Currency: + _media-type: application/vnd.ibexa.api.Currency+json + id: 1 + code: AFN + subunits: 1 + enabled: false + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this User.' + '403': + description: 'Error - a currency with the same ID already exists.' + '404': + description: 'Error - the currency with the given ID does not exist.' + summary: 'Update currency' + description: 'Updates a currency.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated currency is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The CurrencyUpdate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated CurrencyUpdateController resource' + content: + application/vnd.ibexa.api.CurrencyUpdate+json: + schema: + $ref: '#/components/schemas/CurrencyUpdateWrapper' + example: + CurrencyUpdate: + subunits: 1 + enabled: false + required: false + deprecated: false + /product/catalog/customer_groups: + get: + operationId: api_productcatalogcustomer_groups_get + tags: + - 'Product Customer Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.CustomerGroupList+json: + schema: + $ref: '#/components/schemas/CustomerGroupListWrapper' + example: + CustomerGroupList: + _media-type: application/vnd.ibexa.api.CustomerGroupList+json + CustomerGroup: [{ _media-type: application/vnd.ibexa.api.CustomerGroup+json, id: 1, name: Resellers, identifier: resellers, description: '', users: [], global_price_rate: '0.00' }, { _media-type: application/vnd.ibexa.api.CustomerGroup+json, id: 2, name: Contractors, identifier: contractors, description: '', users: [], global_price_rate: '-20.00' }] + '401': + description: 'Error - the user has no permission to read customer groups.' + summary: 'Load customer groups' + description: 'Returns a list of customer groups' + parameters: + - + name: Accept + in: header + description: 'If set, the customer groups list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_productcatalogcustomer_groups_post + tags: + - 'Product Customer Group' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.CustomerGroup+json: + schema: + $ref: '#/components/schemas/CustomerGroupWrapper' + example: + CustomerGroup: + _media-type: application/vnd.ibexa.api.CustomerGroup+json + id: 1 + name: 'Customer Group' + identifier: customer_group + description: '' + users: [] + global_price_rate: '1.00' + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this Customer Group.' + '403': + description: 'Error - a customer group with the same name already exists.' + summary: 'Create customer group' + description: 'Creates a new customer group.' + parameters: + - + name: Accept + in: header + description: 'If set, the new customer group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The CustomerGroupCreate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new CustomerGroupCreateController resource' + content: + application/vnd.ibexa.api.CustomerGroupCreate+json: + schema: + $ref: '#/components/schemas/CustomerGroupCreateWrapper' + example: + CustomerGroupCreate: + identifier: customer_group + names: + eng-GB: 'Customer Group' + descriptions: + eng-GB: 'Customer Group description' + global_price_rate: '1' + required: false + deprecated: false + /product/catalog/customer_groups/view: + post: + operationId: api_productcatalogcustomer_groupsview_post + tags: + - 'Product Customer Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.CustomerGroupView+xml: + schema: + $ref: '#/components/schemas/CustomerGroupView' + application/vnd.ibexa.api.CustomerGroupView+json: + schema: + $ref: '#/components/schemas/CustomerGroupViewWrapper' + example: + CustomerGroupView: + _media-type: application/vnd.ibexa.api.CustomerGroupView+json + identifier: TitleView + CustomerGroupQuery: { _media-type: application/vnd.ibexa.api.CustomerGroupQuery+json } + Result: { _media-type: application/vnd.ibexa.api.ViewResult+json, count: 1, CustomerGroupList: { _media-type: application/vnd.ibexa.api.CustomerGroupList+json, CustomerGroup: [{ _media-type: application/vnd.ibexa.api.CustomerGroup+json, id: 1, name: Business, identifier: business, description: 'Most trusted business customers, being our partners for at least 5 years.', users: [], global_price_rate: '15.00' }] } } + '400': + description: 'Error - the input does not match the input schema definition.' + summary: 'Filter customer groups' + description: 'Executes a query and returns a View including the results. The View input reflects the criteria model of the public PHP API.' + parameters: + - + name: Accept + in: header + description: 'The view in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The view input in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new CustomerGroupViewController resource' + content: + application/vnd.ibexa.api.CustomerGroupViewInput+xml: + schema: + $ref: '#/components/schemas/CustomerGroupViewInput' + application/vnd.ibexa.api.CustomerGroupViewInput+json: + schema: + $ref: '#/components/schemas/CustomerGroupViewInputWrapper' + example: + ViewInput: + identifier: TitleView + CustomerGroupQuery: + limit: '10' + offset: '0' + required: false + deprecated: false + '/product/catalog/customer_groups/{identifier}': + get: + operationId: api_productcatalogcustomer_groups_identifier_get + tags: + - 'Product Customer Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.CustomerGroup+json: + schema: + $ref: '#/components/schemas/CustomerGroupWrapper' + example: + CustomerGroup: + _media-type: application/vnd.ibexa.api.CustomerGroup+json + id: 1 + name: 'Customer Group' + identifier: customer_group + description: '' + users: [] + global_price_rate: '1.00' + '401': + description: 'Error - the user has no permission to read customer groups.' + summary: 'Load customer group' + description: 'Returns a customer group' + parameters: + - + name: Accept + in: header + description: 'If set, the customer group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_productcatalogcustomer_groups_identifier_delete + tags: + - 'Product Customer Group' + responses: + '204': + description: 'No content - the given customer group is deleted.' + '401': + description: 'Error - the user is not authorized to delete this customer group.' + summary: 'Delete customer group' + description: 'Deletes the given customer group.' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_productcatalogcustomer_groups_identifier_patch + tags: + - 'Product Customer Group' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.CustomerGroup+json: + schema: + $ref: '#/components/schemas/CustomerGroupWrapper' + example: + CustomerGroup: + _media-type: application/vnd.ibexa.api.CustomerGroup+json + id: 1 + name: 'Customer Group' + identifier: customer_group + description: '' + users: [] + global_price_rate: '1.00' + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update a customer group.' + summary: 'Update customer group' + description: 'Updates the given customer group.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated customer group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The CustomerGroupUpdate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated CustomerGroupUpdateController resource' + content: + application/vnd.ibexa.api.CustomerGroupUpdate+json: + schema: + $ref: '#/components/schemas/CustomerGroupUpdateWrapper' + example: + CustomerGroupUpdate: + identifier: customer_group + names: + eng-GB: 'Customer Group' + global_price_rate: '1' + required: false + deprecated: false + '/product/catalog/customer_groups/{id}': + get: + operationId: api_productcatalogcustomer_groups_id_get + tags: + - 'Product Customer Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.CustomerGroup+json: + schema: + $ref: '#/components/schemas/CustomerGroupWrapper' + example: + CustomerGroup: + _media-type: application/vnd.ibexa.api.CustomerGroup+json + id: 1 + name: 'Customer Group' + identifier: customer_group + description: '' + users: [] + global_price_rate: '1.00' + '401': + description: 'Error - the user has no permission to read customer groups.' + summary: 'Load customer group' + description: 'Returns a customer group' + parameters: + - + name: Accept + in: header + description: 'If set, the customer group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: integer + style: simple + explode: false + allowReserved: false + deprecated: false + /product/catalog/regions: + get: + operationId: api_productcatalogregions_get + tags: + - 'Product Region' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.RegionList+xml: + schema: + $ref: '#/components/schemas/RegionList' + application/vnd.ibexa.api.RegionList+json: + schema: + $ref: '#/components/schemas/RegionListWrapper' + example: + RegionList: + _media-type: application/vnd.ibexa.api.RegionList+json + Region: [{ _media-type: application/vnd.ibexa.api.Region+json, identifier: france }, { _media-type: application/vnd.ibexa.api.Region+json, identifier: __REGION_2__ }, { _media-type: application/vnd.ibexa.api.Region+json, identifier: __REGION_1__ }, { _media-type: application/vnd.ibexa.api.Region+json, identifier: foo }, { _media-type: application/vnd.ibexa.api.Region+json, identifier: bar }] + '401': + description: 'Error - the user has no permission to read regions.' + summary: 'Load regions' + description: 'Loads the list of regions.' + parameters: + - + name: Accept + in: header + description: 'RegionList - If set, the regions list returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /product/catalog/regions/view: + post: + operationId: api_productcatalogregionsview_post + tags: + - 'Product Region' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.RegionView+xml: + schema: + $ref: '#/components/schemas/RegionView' + application/vnd.ibexa.api.RegionView+json: + schema: + $ref: '#/components/schemas/RegionViewWrapper' + example: + RegionView: + _media-type: application/vnd.ibexa.api.RegionView+json + identifier: TitleView + RegionQuery: { _media-type: application/vnd.ibexa.api.RegionQuery+json } + Result: { _media-type: application/vnd.ibexa.api.ViewResult+json, count: 2, RegionList: { _media-type: application/vnd.ibexa.api.RegionList+json, Region: [{ _media-type: application/vnd.ibexa.api.Region+json, identifier: region_1 }, { _media-type: application/vnd.ibexa.api.Region+json, identifier: region_2 }] } } + '400': + description: 'Error - the input does not match the input schema definition.' + summary: 'Filter regions' + description: 'Executes a query and returns a View including the results. The View input reflects the criteria model of the public PHP API.' + parameters: + - + name: Accept + in: header + description: 'The view in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The view input in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new RegionViewController resource' + content: + application/vnd.ibexa.api.RegionViewInput+xml: + schema: + $ref: '#/components/schemas/RegionViewInput' + application/vnd.ibexa.api.RegionViewInput+json: + schema: + $ref: '#/components/schemas/RegionViewInputWrapper' + example: + ViewInput: + identifier: TitleView + RegionQuery: + limit: '10' + offset: '0' + required: false + deprecated: false + '/product/catalog/regions/{identifier}': + get: + operationId: api_productcatalogregions_identifier_get + tags: + - 'Product Region' + responses: + '200': + description: 'OK - loads region.' + content: + application/vnd.ibexa.api.Region+xml: + schema: + $ref: '#/components/schemas/Region' + application/vnd.ibexa.api.Region+json: + schema: + $ref: '#/components/schemas/RegionWrapper' + '404': + description: 'Error - the region does not exist.' + summary: 'Load region' + description: 'Loads a region by its identifier' + parameters: + - + name: Accept + in: header + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /product/catalog/product_types: + get: + operationId: api_productcatalogproduct_types_get + tags: + - 'Product Type' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ProductTypeList+xml: + schema: + $ref: '#/components/schemas/ProductTypeList' + application/vnd.ibexa.api.ProductTypeList+json: + schema: + $ref: '#/components/schemas/ProductTypeListWrapper' + example: + ProductTypeList: + _media-type: application/vnd.ibexa.api.ProductTypeList+json + ProductType: [{ _media-type: application/vnd.ibexa.api.ProductType+json, identifier: s_rope, name: 'Static ropes', AttributeAssignmentList: [] }] + '401': + description: 'Error - the user has no permission to read product type.' + summary: 'Load product types (deprecated)' + description: 'Returns a list of product types. Deprecated as of Ibexa DXP 4.3, use POST /product/catalog/product_types/view instead.' + parameters: + - + name: Accept + in: header + description: 'ProductTypeList - If set, the product type list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The ProductTypeList schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + content: + application/vnd.ibexa.api.ProductTypeListGet+xml: + schema: + $ref: '#/components/schemas/ProductTypeListGet' + application/vnd.ibexa.api.ProductTypeListGet+json: + schema: + $ref: '#/components/schemas/ProductTypeListGetWrapper' + example: + ProductTypeListGet: + name_prefix: s + offset: 0 + limit: 10 + required: false + deprecated: false + post: + operationId: api_productcatalogproduct_types_post + tags: + - 'Product Type' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.ProductType+json: + schema: + $ref: '#/components/schemas/ProductTypeWrapper' + example: + ProductType: + _media-type: application/vnd.ibexa.api.ProductType+json + identifier: NEW + name: pt_1_updated + AttributeAssignmentList: [{ _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: true, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: size, name: Size, description: '', type: Integer, type_identifier: integer, value: 5, group: Hat, position: 0, options: [] } }] + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this product type.' + '403': + description: 'Error - a product type with the same name already exists.' + '404': + description: 'Error - the product type with the given ID does not exist.' + summary: 'Create product type' + description: 'Creates a new product type.' + parameters: + - + name: Accept + in: header + description: 'If set, the new product type is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The ProductType schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ProductTypeCreateController resource' + content: + application/vnd.ibexa.api.ProductTypeCreate+json: + schema: + $ref: '#/components/schemas/ProductTypeCreateWrapper' + example: + ProductTypeCreate: + ContentTypeCreateStruct: + _media-type: application/vnd.ibexa.api.ContentType+json + _href: /api/ibexa/v2/content/types/2 + id: 2 + status: DEFINED + identifier: test_pt321 + names: { value: [{ _languageCode: eng-GB, '#text': Article }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] } + creationDate: '2002-06-18T09:21:38+00:00' + modificationDate: '2021-06-28T11:31:22+00:00' + remoteId: c15b600eb9198b1924063b5a68758232 + urlAliasSchema: '' + nameSchema: '' + isContainer: true + mainLanguageCode: eng-GB + defaultAlwaysAvailable: false + defaultSortField: PATH + defaultSortOrder: ASC + FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/1, id: 1, identifier: title, fieldType: ibexa_string, fieldGroup: '', position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: 'New article', isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }] } + main_language_code: eng-GB + assigned_attributes: + - { identifier: testAttr, is_required: false, is_discriminator: true } + required: false + deprecated: false + '/product/catalog/product_types/is_used/{identifier}': + get: + operationId: api_productcatalogproduct_typesis_used_identifier_get + tags: + - 'Product Type' + responses: + '200': + description: 'OK - product type usage is returned.' + content: + application/vnd.ibexa.api.ProductTypeUsage+xml: + schema: + $ref: '#/components/schemas/ProductTypeUsage' + application/vnd.ibexa.api.ProductTypeUsage+json: + schema: + $ref: '#/components/schemas/ProductTypeUsageWrapper' + '404': + description: 'Error - product type not found.' + summary: 'Check product type usage' + description: 'Checks whether the product type is in use.' + parameters: + - + name: Accept + in: header + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /product/catalog/product_types/view: + post: + operationId: api_productcatalogproduct_typesview_post + tags: + - 'Product Type' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ProductTypeView+xml: + schema: + $ref: '#/components/schemas/ProductTypeView' + application/vnd.ibexa.api.ProductTypeView+json: + schema: + $ref: '#/components/schemas/ProductTypeViewWrapper' + example: + ProductTypeView: + _media-type: application/vnd.ibexa.api.ProductTypeView+json + identifier: TitleView + ProductTypeQuery: { _media-type: application/vnd.ibexa.api.ProductTypeQuery+json } + Result: { _media-type: application/vnd.ibexa.api.ViewResult+json, count: 1, ProductTypeList: { _media-type: application/vnd.ibexa.api.ProductTypeList+json, ProductType: [{ _media-type: application/vnd.ibexa.api.ProductType+json, identifier: climbing_shoe, name: 'New Product Type', AttributeAssignmentList: [{ _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: false, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: measure, name: measure, description: '', type: Measurement, type_identifier: measurement, group: 'Test Attribute group', position: 0, options: { type: length, unit: centimeter, measurementRange: { minimum: 12, maximum: 15 }, measurementDefaultRange: { defaultRangeMinimumValue: null, defaultRangeMaximumValue: null } } } }, { _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: false, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: leather_color, name: 'leather color', description: '', type: Color, type_identifier: color, value: '#000000', group: 'Test Attribute group', position: 0, options: [] } }] }] } } + '400': + description: 'Error - the input does not match the input schema definition.' + summary: 'Filter product types' + description: 'Executes a query and returns a View including the results. The View input reflects the criteria model of the public PHP API.' + parameters: + - + name: Accept + in: header + description: 'The view in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The view input in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ProductTypeViewController resource' + content: + application/vnd.ibexa.api.ProductTypeViewInput+xml: + schema: + $ref: '#/components/schemas/ProductTypeViewInput' + application/vnd.ibexa.api.ProductTypeViewInput+json: + schema: + $ref: '#/components/schemas/ProductTypeViewInputWrapper' + example: + ViewInput: + identifier: TitleView + ProductTypeQuery: + limit: '10' + offset: '0' + name_prefix: new + required: false + deprecated: false + '/product/catalog/product_types/{identifier}': + get: + operationId: api_productcatalogproduct_types_identifier_get + tags: + - 'Product Type' + responses: + '200': + description: 'OK - load the product type' + content: + application/vnd.ibexa.api.ProductTypeUsage+xml: + schema: + $ref: '#/components/schemas/ProductTypeUsage' + application/vnd.ibexa.api.ProductTypeUsage+json: + schema: + $ref: '#/components/schemas/ProductTypeUsageWrapper' + '401': + description: 'Error - the user has no permission to read product type.' + '404': + description: 'Error - product type not found.' + summary: 'Load product type' + description: 'Returns the given product type.' + parameters: + - + name: Accept + in: header + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/product/catalog/product_types/{id}': + delete: + operationId: api_productcatalogproduct_types_id_delete + tags: + - 'Product Type' + responses: + '204': + description: 'No content - the given product type is deleted.' + '401': + description: 'Error - the user is not authorized to delete this product type.' + summary: 'Delete product type' + description: 'Deletes the given product type.' + parameters: + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_productcatalogproduct_types_id_patch + tags: + - 'Product Type' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.ProductType+json: + schema: + $ref: '#/components/schemas/ProductTypeWrapper' + example: + ProductType: + _media-type: application/vnd.ibexa.api.ProductType+json + identifier: NEW + name: pt_1_updated + AttributeAssignmentList: [{ _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: true, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: size, name: Size, description: '', type: Integer, type_identifier: integer, value: 5, group: Hat, position: 0, options: [] } }] + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this product type.' + '404': + description: 'Error - the product type with the given ID does not exist.' + summary: 'Update product type' + description: 'Updates product type.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated product type is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'If set, the updated product type is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated ProductTypeUpdateController resource' + content: + application/vnd.ibexa.api.ProductTypeUpdate+json: + schema: + $ref: '#/components/schemas/ProductTypeUpdateWrapper' + example: + ProductTypeUpdate: + ContentTypeUpdateStruct: + names: { value: [{ _languageCode: eng-GB, '#text': pt_1_updated }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': updated }] } + assigned_attributes: + - { identifier: size, is_required: false, is_discriminator: true } + required: false + deprecated: false + '/product/catalog/product_variant/{code}': + get: + operationId: api_productcatalogproduct_variant_code_get + tags: + - 'Product Variant' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ProductVariant+json: + schema: + $ref: '#/components/schemas/ProductVariantWrapper' + example: + ProductVariant: + _media-type: application/vnd.ibexa.api.ProductVariant+json + code: test + name: 'Macbook Air ' + Product: { _media-type: application/vnd.ibexa.api.Product+json, code: mac_air, name: 'Macbook Air', ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: laptop, name: Laptop, AttributeAssignmentList: [{ _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: true, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: number, name: number, description: '', type: Float, type_identifier: float, value: 1.5, group: test, position: 0, options: { min: 4, max: 5 } } }, { _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: true, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: testattr, name: testAttr, description: '', type: Integer, type_identifier: integer, value: 5, group: test, position: 0, options: { min: 4, max: 5 } } }] }, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/152, _remoteId: 2d61ff8d0043eb299ca8c29c74f25441, _id: 152, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/56 }, Name: 'Macbook Air', TranslatedName: 'Macbook Air', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/152/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/152/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/152/versions/1, VersionInfo: { id: 635, versionNo: 1, status: PUBLISHED, modificationDate: '2022-07-21T15:17:18+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2022-07-21T15:17:18+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Macbook Air' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/152 } }, Fields: { field: [{ id: 716, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Macbook Air' }, { id: 717, fieldDefinitionIdentifier: product_specification, languageCode: eng-GB, fieldTypeIdentifier: ibexa_product_specification, fieldValue: { id: 89, code: mac_air, attributes: [] } }, { id: 718, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
test
\n", xhtml5edit: "\n

test

\n" } }, { id: 719, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image_asset, fieldValue: { destinationContentId: null, alternativeText: null, source: null } }, { id: 720, fieldDefinitionIdentifier: category, languageCode: eng-GB, fieldTypeIdentifier: ibexa_taxonomy_entry_assignment, fieldValue: { taxonomy_entries: [], taxonomy: null } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/152/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/152/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2022-07-21T15:17:18+02:00', publishedDate: '2022-07-21T15:17:18+02:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/152/objectstates } }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml }, created_at: 1658409438, updated_at: 1658409438, AttributesList: [] } + DiscriminatorAttributesList: [] + '401': + description: 'Error - the user is not authorized to view this product variant.' + '404': + description: 'Error - no product variant with the given code exists.' + summary: 'Load product variant' + description: 'Loads the given product variant.' + parameters: + - + name: Accept + in: header + description: 'If set, the product variant is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: code + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/product/catalog/product_variants/generate/{baseProductCode}': + post: + operationId: api_productcatalogproduct_variantsgenerate_baseProductCode_post + tags: + - 'Product Variant' + responses: + '201': + description: 'No content - product variants are generated.' + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this product variant.' + '403': + description: 'Error - a product variant with the same name already exists.' + '404': + description: 'Error - no base product with the given code exists.' + summary: 'Generate product variants' + description: 'Generates new product variants based on selected (discriminator) attributes.' + parameters: + - + name: Accept + in: header + description: 'If set, the new product variant is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The product variant schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: baseProductCode + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ProductVariantGenereateController resource' + content: + application/vnd.ibexa.api.ProductVariantGenerate+json: + schema: + $ref: '#/components/schemas/ProductVariantGenerateWrapper' + example: + ProductVariantGenerate: + attributes: + width: [123] + colors: ['#000000', '#ffffff', '#d4d400', '#ff0000'] + required: false + deprecated: false + '/product/catalog/product_variants/view/{baseProductCode}': + post: + operationId: api_productcatalogproduct_variantsview_baseProductCode_post + tags: + - 'Product Variant' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ProductVariantView+xml: + schema: + $ref: '#/components/schemas/ProductVariantView' + application/vnd.ibexa.api.ProductVariantView+json: + schema: + $ref: '#/components/schemas/ProductVariantViewWrapper' + example: + ProductVariantView: + _media-type: application/vnd.ibexa.api.ProductVariantView+json + identifier: TitleView + ProductVariantQuery: { _media-type: application/vnd.ibexa.api.ProductVariantQuery+json } + Result: { _media-type: application/vnd.ibexa.api.ViewResult+json, count: 2, ProductVariantList: { _media-type: application/vnd.ibexa.api.ProductVariantList+json, ProductVariant: [{ _media-type: application/vnd.ibexa.api.ProductVariant+json, code: test, name: 'Macbook Air 2/10', Product: { _media-type: application/vnd.ibexa.api.Product+json, code: mac_air, name: 'Macbook Air', ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: laptop, name: Laptop, AttributeAssignmentList: [{ _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: true, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: number, name: number, description: '', type: Float, type_identifier: float, value: 1.5, group: test, position: 0, options: { min: 4, max: 5 } } }, { _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: true, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: testattr, name: testAttr, description: '', type: Integer, type_identifier: integer, value: 5, group: test, position: 0, options: { min: 4, max: 5 } } }] }, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/152, _remoteId: 2d61ff8d0043eb299ca8c29c74f25441, _id: 152, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/56 }, Name: 'Macbook Air', TranslatedName: 'Macbook Air', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/152/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/152/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/152/versions/1, VersionInfo: { id: 635, versionNo: 1, status: PUBLISHED, modificationDate: '2022-07-21T15:17:18+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2022-07-21T15:17:18+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Macbook Air' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/152 } }, Fields: { field: [{ id: 716, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Macbook Air' }, { id: 717, fieldDefinitionIdentifier: product_specification, languageCode: eng-GB, fieldTypeIdentifier: ibexa_product_specification, fieldValue: { id: 89, code: mac_air, attributes: [] } }, { id: 718, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
test
\n", xhtml5edit: "\n

test

\n" } }, { id: 719, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image_asset, fieldValue: { destinationContentId: null, alternativeText: null, source: null } }, { id: 720, fieldDefinitionIdentifier: category, languageCode: eng-GB, fieldTypeIdentifier: ibexa_taxonomy_entry_assignment, fieldValue: { taxonomy_entries: [], taxonomy: null } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/152/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/152/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2022-07-21T15:17:18+02:00', publishedDate: '2022-07-21T15:17:18+02:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/152/objectstates } }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml }, created_at: 1658409438, updated_at: 1658409438, AttributesList: [] }, DiscriminatorAttributesList: [{ _media-type: application/vnd.ibexa.api.Attribute+json, identifier: number, name: number, description: '', type: Float, type_identifier: float, value: 1.5, group: test, position: 0, options: { min: 4, max: 5 } }, { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: testattr, name: testAttr, description: '', type: Integer, type_identifier: integer, value: 5, group: test, position: 0, options: { min: 4, max: 5 } }] }, { _media-type: application/vnd.ibexa.api.ProductVariant+json, code: fdsfds, name: 'Macbook Air 32/232', Product: { _media-type: application/vnd.ibexa.api.Product+json, code: mac_air, name: 'Macbook Air', ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: laptop, name: Laptop, AttributeAssignmentList: [{ _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: true, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: number, name: number, description: '', type: Float, type_identifier: float, value: 1.5, group: test, position: 0, options: { min: 4, max: 5 } } }, { _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: true, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: testattr, name: testAttr, description: '', type: Integer, type_identifier: integer, value: 5, group: test, position: 0, options: { min: 4, max: 5 } } }] }, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/152, _remoteId: 2d61ff8d0043eb299ca8c29c74f25441, _id: 152, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/56 }, Name: 'Macbook Air', TranslatedName: 'Macbook Air', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/152/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/152/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/152/versions/1, VersionInfo: { id: 635, versionNo: 1, status: PUBLISHED, modificationDate: '2022-07-21T15:17:18+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2022-07-21T15:17:18+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Macbook Air' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/152 } }, Fields: { field: [{ id: 716, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Macbook Air' }, { id: 717, fieldDefinitionIdentifier: product_specification, languageCode: eng-GB, fieldTypeIdentifier: ibexa_product_specification, fieldValue: { id: 89, code: mac_air, attributes: [] } }, { id: 718, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
test
\n", xhtml5edit: "\n

test

\n" } }, { id: 719, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image_asset, fieldValue: { destinationContentId: null, alternativeText: null, source: null } }, { id: 720, fieldDefinitionIdentifier: category, languageCode: eng-GB, fieldTypeIdentifier: ibexa_taxonomy_entry_assignment, fieldValue: { taxonomy_entries: [], taxonomy: null } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/152/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/152/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2022-07-21T15:17:18+02:00', publishedDate: '2022-07-21T15:17:18+02:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/152/objectstates } }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml }, created_at: 1658409438, updated_at: 1658409438, AttributesList: [] }, DiscriminatorAttributesList: [{ _media-type: application/vnd.ibexa.api.Attribute+json, identifier: number, name: number, description: '', type: Float, type_identifier: float, value: 1.5, group: test, position: 0, options: { min: 4, max: 5 } }, { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: testattr, name: testAttr, description: '', type: Integer, type_identifier: integer, value: 5, group: test, position: 0, options: { min: 4, max: 5 } }] }] } } + '400': + description: 'Error - the input does not match the input schema definition.' + '404': + description: 'Error - the base product does not exist.' + summary: 'Filter product variants' + description: 'Executes a query and returns a View including the results. The View input reflects the criteria model of the public PHP API.' + parameters: + - + name: Accept + in: header + description: 'The view in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The view input in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: baseProductCode + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ProductVariantViewController resource' + content: + application/vnd.ibexa.api.ProductVariantViewInput+xml: + schema: + $ref: '#/components/schemas/ProductVariantViewInput' + application/vnd.ibexa.api.ProductVariantViewInput+json: + schema: + $ref: '#/components/schemas/ProductVariantViewInputWrapper' + example: + ViewInput: + identifier: TitleView + ProductVariantQuery: + offset: '0' + limit: '10' + required: false + deprecated: false + '/product/catalog/product_variants/{baseProductCode}': + post: + operationId: api_productcatalogproduct_variants_baseProductCode_post + tags: + - 'Product Variant' + responses: + '201': + description: 'No content - product variant is created.' + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this product variant.' + '403': + description: 'Error - a product variant with the same name already exists.' + '404': + description: 'Error - no base product with the given code exists.' + summary: 'Create product variant' + description: 'Creates a new product variant.' + parameters: + - + name: Accept + in: header + description: 'If set, the new product variant is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The product variant schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: baseProductCode + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ProductVariantCreateController resource' + content: + application/vnd.ibexa.api.ProductVariantCreate+json: + schema: + $ref: '#/components/schemas/ProductVariantCreateWrapper' + example: + ProductVariantCreate: + attributes: + width: 100 + height: 50 + color: '#000000' + code: macbook_pro + required: false + deprecated: false + '/product/catalog/product_variants/{code}': + delete: + operationId: api_productcatalogproduct_variants_code_delete + tags: + - 'Product Variant' + responses: + '204': + description: 'No content - product variant is deleted.' + '401': + description: 'Error - the user is not authorized to delete this product variant.' + summary: 'Delete product variant' + description: 'Deletes the given product variant.' + parameters: + - + name: code + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_productcatalogproduct_variants_code_patch + tags: + - 'Product Variant' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.ProductVariant+json: + schema: + $ref: '#/components/schemas/ProductVariantWrapper' + example: + ProductVariant: + _media-type: application/vnd.ibexa.api.ProductVariant+json + code: test + name: 'Macbook Air ' + Product: { _media-type: application/vnd.ibexa.api.Product+json, code: mac_air, name: 'Macbook Air', ProductType: { _media-type: application/vnd.ibexa.api.ProductType+json, identifier: laptop, name: Laptop, AttributeAssignmentList: [{ _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: true, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: number, name: number, description: '', type: Float, type_identifier: float, value: 1.5, group: test, position: 0, options: { min: 4, max: 5 } } }, { _media-type: application/vnd.ibexa.api.AttributeAssignment+json, is_required: false, is_discriminator: true, Attribute: { _media-type: application/vnd.ibexa.api.Attribute+json, identifier: testattr, name: testAttr, description: '', type: Integer, type_identifier: integer, value: 5, group: test, position: 0, options: { min: 4, max: 5 } } }] }, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/152, _remoteId: 2d61ff8d0043eb299ca8c29c74f25441, _id: 152, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/56 }, Name: 'Macbook Air', TranslatedName: 'Macbook Air', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/152/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/152/currentversion, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/152/versions/1, VersionInfo: { id: 635, versionNo: 1, status: PUBLISHED, modificationDate: '2022-07-21T15:17:18+02:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2022-07-21T15:17:18+02:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Macbook Air' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/152 } }, Fields: { field: [{ id: 716, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'Macbook Air' }, { id: 717, fieldDefinitionIdentifier: product_specification, languageCode: eng-GB, fieldTypeIdentifier: ibexa_product_specification, fieldValue: { id: 89, code: mac_air, attributes: [] } }, { id: 718, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_richtext, fieldValue: { xml: "\n
test
\n", xhtml5edit: "\n

test

\n" } }, { id: 719, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image_asset, fieldValue: { destinationContentId: null, alternativeText: null, source: null } }, { id: 720, fieldDefinitionIdentifier: category, languageCode: eng-GB, fieldTypeIdentifier: ibexa_taxonomy_entry_assignment, fieldValue: { taxonomy_entries: [], taxonomy: null } }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/152/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml } } }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/152/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2022-07-21T15:17:18+02:00', publishedDate: '2022-07-21T15:17:18+02:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/152/objectstates } }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ibexaadminui/img/ibexa-icons.svg#file', width: null, height: null, mimeType: image/svg+xml }, created_at: 1658409438, updated_at: 1658409438, AttributesList: [] } + DiscriminatorAttributesList: [] + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update this product variant.' + '403': + description: 'Error - a product variant with the same code already exists.' + '404': + description: 'Error - no product variant with the given code exists.' + summary: 'Update product variant' + description: 'Updates product variant.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated product variant is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The product variant update schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: code + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated ProductVariantUpdateController resource' + content: + application/vnd.ibexa.api.ProductVariantUpdate+json: + schema: + $ref: '#/components/schemas/ProductVariantUpdateWrapper' + example: + ProductVariantUpdate: + code: test + attributes: + number: 2.0 + testattr: 10 + required: false + deprecated: false + '/product/catalog/vat/{region}': + get: + operationId: api_productcatalogvat_region_get + tags: + - 'Product Vat' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.VatCategoryList+json: + schema: + $ref: '#/components/schemas/VatCategoryListWrapper' + example: + VatCategoryList: + _media-type: application/vnd.ibexa.api.VatCategoryList+json + VatCategory: [{ _media-type: application/vnd.ibexa.api.VatCategory+json, identifier: standard, region: region_1, vatValue: 18 }, { _media-type: application/vnd.ibexa.api.VatCategory+json, identifier: reduced, region: region_1, vatValue: 6 }, { _media-type: application/vnd.ibexa.api.VatCategory+json, identifier: none, region: region_1, vatValue: null }] + '401': + description: 'Error - the user is not authorized to read this object.' + '404': + description: 'Error - the VAT category region does not exist.' + summary: 'Load VAT region' + description: 'Loads a VAT category for the given region.' + parameters: + - + name: Accept + in: header + description: 'If set, the VAT category list returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: region + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/product/catalog/vat/{region}/{identifier}': + get: + operationId: api_productcatalogvat_region_identifier_get + tags: + - 'Product Vat' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.VatCategory+json: + schema: + $ref: '#/components/schemas/VatCategoryWrapper' + example: + VatCategory: + _media-type: application/vnd.ibexa.api.VatCategory+json + identifier: standard + region: region_1 + vatValue: 18 + '401': + description: 'Error - the user is not authorized to read this object.' + '404': + description: 'Error - the VAT category for the given identifier not exists.' + summary: 'Load VAT specific region' + description: 'Loads a VAT category for the given identifier.' + parameters: + - + name: Accept + in: header + description: 'If set, the VAT category list returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: region + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /content/sections: + get: + operationId: api_contentsections_get + tags: + - Section + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.SectionList+xml: + schema: + $ref: '#/components/schemas/SectionList' + example: | + + +
+ 1 + standard + Standard +
+
+ 2 + users + Users +
+
+ 3 + media + Media +
+
+ 6 + form + Form +
+
+ 7 + template + Template +
+
+ 8 + restricted + Restricted +
+
+ application/vnd.ibexa.api.SectionList+json: + schema: + $ref: '#/components/schemas/SectionListWrapper' + example: + SectionList: + _media-type: application/vnd.ibexa.api.SectionList+json + _href: /api/ibexa/v2/content/sections + Section: [{ _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1, sectionId: 1, identifier: standard, name: Standard }, { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/2, sectionId: 2, identifier: users, name: Users }, { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/3, sectionId: 3, identifier: media, name: Media }, { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/6, sectionId: 6, identifier: form, name: Form }, { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/7, sectionId: 7, identifier: template, name: Template }, { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/8, sectionId: 8, identifier: restricted, name: Restricted }] + '401': + description: 'Error - The user has no permission to read the Section.' + summary: 'Get Sections' + description: 'Returns a list of all Sections.' + parameters: + - + name: Accept + in: header + description: 'If set, the Section list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contentsections_post + tags: + - Section + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Section+xml: + schema: + $ref: '#/components/schemas/Section' + example: | + +
+ 7 + template + Template +
+ application/vnd.ibexa.api.Section+json: + schema: + $ref: '#/components/schemas/SectionWrapper' + example: + Section: + _media-type: application/vnd.ibexa.api.Section+json + _href: /api/ibexa/v2/content/sections/7 + sectionId: 7 + identifier: template + name: Template + summary: 'Create new Section' + description: 'Creates a new Section.' + parameters: + - + name: Accept + in: header + description: 'If set, the new Section is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The Section input schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new SectionCreateController resource' + content: + application/vnd.ibexa.api.SectionInput+xml: + schema: + $ref: '#/components/schemas/SectionInput' + example: |- + + + restricted + Restricted + + application/vnd.ibexa.api.SectionInput+json: + schema: + $ref: '#/components/schemas/SectionInputWrapper' + example: + SectionInput: + identifier: restricted + name: Restricted + required: false + deprecated: false + '/content/sections/{sectionId}': + get: + operationId: api_contentsections_sectionId_get + tags: + - Section + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Section+xml: + schema: + $ref: '#/components/schemas/Section' + example: | + +
+ 7 + template + Template +
+ application/vnd.ibexa.api.Section+json: + schema: + $ref: '#/components/schemas/SectionWrapper' + example: + Section: + _media-type: application/vnd.ibexa.api.Section+json + _href: /api/ibexa/v2/content/sections/7 + sectionId: 7 + identifier: template + name: Template + '401': + description: 'Error - The user is not authorized to read this Section.' + '404': + description: 'Error - The Section does not exist.' + summary: 'Get Section' + description: 'Returns the Section by given Section ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the Section is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: sectionId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_contentsections_sectionId_delete + tags: + - Section + responses: + '204': + description: 'No Content - given Section is deleted.' + '401': + description: 'Error - the user is not authorized to delete this Section.' + '404': + description: 'Error - the Section does not exist.' + summary: 'Delete Section' + description: 'The given Section is deleted.' + parameters: + - + name: sectionId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_contentsections_sectionId_patch + tags: + - Section + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Section+xml: + schema: + $ref: '#/components/schemas/Section' + example: | + +
+ 7 + template + Template +
+ application/vnd.ibexa.api.Section+json: + schema: + $ref: '#/components/schemas/SectionWrapper' + example: + Section: + _media-type: application/vnd.ibexa.api.Section+json + _href: /api/ibexa/v2/content/sections/7 + sectionId: 7 + identifier: template + name: Template + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this Section.' + '403': + description: 'Error - a Section with the given identifier already exists.' + '412': + description: 'Error - the current ETag does not match with the one provided in the If-Match header.' + summary: 'Update a Section' + description: 'Updates a Section. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated Section is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The Section input schema encoded in XML or JSON.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: sectionId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated SectionUpdateController resource' + content: + application/vnd.ibexa.api.SectionInput+xml: + schema: + $ref: '#/components/schemas/SectionInput' + example: |- + + + restricted + Restricted + + application/vnd.ibexa.api.SectionInput+json: + schema: + $ref: '#/components/schemas/SectionInputWrapper' + example: + SectionInput: + identifier: restricted + name: Restricted + required: false + deprecated: false + /segment_groups: + get: + operationId: api_segment_groups_get + tags: + - Segmentation + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.SegmentGroupList+xml: + schema: + $ref: '#/components/schemas/SegmentGroupList' + example: | + + + + 1 + corporate_accounts + Corporate Accounts + + + application/vnd.ibexa.api.SegmentGroupList+json: + schema: + $ref: '#/components/schemas/SegmentGroupListWrapper' + example: + SegmentGroupList: + _media-type: application/vnd.ibexa.api.SegmentGroupList+json + _href: /api/ibexa/v2/segment_groups + SegmentGroup: [{ _media-type: application/vnd.ibexa.api.SegmentGroup+json, _href: /api/ibexa/v2/segment_groups/corporate_accounts, id: 1, identifier: corporate_accounts, name: 'Corporate Accounts' }] + '401': + description: 'Error - the user is not authorized to list segment groups.' + content: + application/vnd.ibexa.api.ErrorMessage+xml: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.ibexa.api.ErrorMessage+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + summary: 'List segment groups' + description: 'Lists segment groups.' + parameters: + - + name: Accept + in: header + description: 'If set, the list of segment groups is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/segment_groups/{identifier}': + get: + operationId: api_segment_groups_identifier_get + tags: + - Segmentation + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.SegmentGroup+xml: + schema: + $ref: '#/components/schemas/SegmentGroup' + example: | + + + 1 + corporate_accounts + Corporate Accounts + + application/vnd.ibexa.api.SegmentGroup+json: + schema: + $ref: '#/components/schemas/SegmentGroupWrapper' + example: + SegmentGroup: + _media-type: application/vnd.ibexa.api.SegmentGroup+json + _href: /api/ibexa/v2/segment_groups/corporate_accounts + id: 1 + identifier: corporate_accounts + name: 'Corporate Accounts' + '401': + description: 'Error - the user is not authorized to load this segment group.' + '404': + description: "Error - the identifier doesn't match any segment group." + summary: 'Load segment group' + description: 'Loads segment group.' + parameters: + - + name: Accept + in: header + description: 'If set, the segment group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/segment_groups/{identifier}/segments': + get: + operationId: api_segment_groups_identifiersegments_get + tags: + - Segmentation + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.SegmentList+xml: + schema: + $ref: '#/components/schemas/SegmentList' + example: | + + + application/vnd.ibexa.api.SegmentList+json: + schema: + $ref: '#/components/schemas/SegmentListWrapper' + example: + SegmentList: + _media-type: application/vnd.ibexa.api.SegmentList+json + _href: /api/ibexa/v2/segment_groups/corporate_accounts/segments + Segment: [] + '401': + description: "Error - the user is not authorized to load this group's segments." + '404': + description: "Error - the identifier doesn't match any segment group." + summary: "List segment group's segments" + description: "Lists segment group's segments." + parameters: + - + name: Accept + in: header + description: 'If set, the segment group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/segments/{identifier}': + get: + operationId: api_segments_identifier_get + tags: + - Segmentation + responses: + '200': + description: 'OK - Return the segment.' + content: + application/vnd.ibexa.api.Segment+xml: + schema: + $ref: '#/components/schemas/Segment' + application/vnd.ibexa.api.Segment+json: + schema: + $ref: '#/components/schemas/SegmentWrapper' + '401': + description: "Error - the user is not authorized to load this group's segments." + '404': + description: "Error - the identifier doesn't match any segment group." + summary: 'Load segment' + description: 'Loads the identified segment.' + parameters: + - + name: Accept + in: header + description: 'If set, the segment is returned in XML or JSON' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /shipments: + get: + operationId: api_shipments_get + tags: + - Shipping + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ShipmentRefList+xml: + schema: + $ref: '#/components/schemas/ShipmentRefList' + example: | + + + + + + + + application/vnd.ibexa.api.ShipmentRefList+json: + schema: + $ref: '#/components/schemas/ShipmentRefListWrapper' + example: + ShipmentRefList: + _media-type: application/vnd.ibexa.api.ShipmentRefList+json + _href: /api/ibexa/v2/shipments + shipmentRefList: [{ _media-type: application/vnd.ibexa.api.Shipment+json, _href: /api/ibexa/v2/shipments/foo }, { _media-type: application/vnd.ibexa.api.Shipment+json, _href: /api/ibexa/v2/shipments/bar }, { _media-type: application/vnd.ibexa.api.Shipment+json, _href: /api/ibexa/v2/shipments/baz }, { _media-type: application/vnd.ibexa.api.Shipment+json, _href: /api/ibexa/v2/shipments/qux }] + '401': + description: 'Error - the user has no permission to read shipment lists.' + '404': + description: 'Error - the shipment does not exist.' + summary: 'Load shipments' + description: 'Loads a list of shipments.' + parameters: + - + name: Accept + in: header + description: 'If set, the shipments are returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/shipments/{identifier}': + get: + operationId: api_shipments_identifier_get + tags: + - Shipping + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Shipment+xml: + schema: + $ref: '#/components/schemas/Shipment' + example: | + + + 1 + new_identifier + prepared + + send-to-carrier + cancel + + + + 2257 + EUR + + 2023-06-26T15:40:28+02:00 + 2023-06-26T15:40:28+02:00 + + + + application/vnd.ibexa.api.Shipment+json: + schema: + $ref: '#/components/schemas/ShipmentWrapper' + example: + Shipment: + _media-type: application/vnd.ibexa.api.Shipment+json + _href: /api/ibexa/v2/shipments/new_identifier + id: 1 + identifier: new_identifier + status: prepared + transitions: { transitionList: [send-to-carrier, cancel] } + Order: { _media-type: application/vnd.ibexa.api.Order+json, _href: /api/ibexa/v2/orders/order/33f6db52-478f-41f1-afbe-6d38f6a4704f } + Amount: { value: '2257', currency: EUR } + createdAt: '2023-06-26T15:40:28+02:00' + updatedAt: '2023-06-26T15:40:28+02:00' + Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Method: { _media-type: application/vnd.ibexa.api.ShippingMethod+json, _href: /api/ibexa/v2/shipping/methods/parcel_locker_delivery } + '401': + description: 'Error - the user has no permission to read shipments.' + '404': + description: 'Error - the shipment does not exist.' + summary: 'Load a single shipment based on its identifier' + description: 'Loads a single shipment based on its identifier.' + parameters: + - + name: Accept + in: header + description: 'If set, the shipment is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_shipments_identifier_delete + tags: + - Shipping + responses: + '204': + description: 'No content - shipment is deleted.' + '401': + description: 'Error - the user is not authorized to delete this shipment.' + '404': + description: 'Error - the shipment with the given ID does not exist.' + summary: 'Delete shipment' + description: 'Deletes a shipment.' + parameters: + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_shipments_identifier_patch + tags: + - Shipping + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Shipment+xml: + schema: + $ref: '#/components/schemas/Shipment' + example: | + + + 1 + new_identifier + prepared + + send-to-carrier + cancel + + + + 2257 + EUR + + 2023-06-26T15:40:28+02:00 + 2023-06-26T15:40:28+02:00 + + + + application/vnd.ibexa.api.Shipment+json: + schema: + $ref: '#/components/schemas/ShipmentWrapper' + example: + Shipment: + _media-type: application/vnd.ibexa.api.Shipment+json + _href: /api/ibexa/v2/shipments/new_identifier + id: 1 + identifier: new_identifier + status: prepared + transitions: { transitionList: [send-to-carrier, cancel] } + Order: { _media-type: application/vnd.ibexa.api.Order+json, _href: /api/ibexa/v2/orders/order/33f6db52-478f-41f1-afbe-6d38f6a4704f } + Amount: { value: '2257', currency: EUR } + createdAt: '2023-06-26T15:40:28+02:00' + updatedAt: '2023-06-26T15:40:28+02:00' + Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Method: { _media-type: application/vnd.ibexa.api.ShippingMethod+json, _href: /api/ibexa/v2/shipping/methods/parcel_locker_delivery } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update this shipment.' + '404': + description: 'Error - the shipment with the given ID does not exist.' + '406': + description: 'Error - the shipment cannot be cancelled due to not-allowed workflow transition' + summary: 'Update shipment' + description: 'Updates a shipment.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated shipment is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The ShipmentUpdate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated ShipmentUpdateController resource' + content: + application/vnd.ibexa.api.ShipmentUpdate+xml: + schema: + $ref: '#/components/schemas/ShipmentUpdate' + example: | + + + new_identifier + prepare + + + value1 + value2 + + + application/vnd.ibexa.api.ShipmentUpdate+json: + schema: + $ref: '#/components/schemas/ShipmentUpdateWrapper' + example: + ShipmentUpdate: + identifier: new_identifier + transition: prepare + Owner: + _media-type: application/vnd.ibexa.api.User+json + _href: /api/ibexa/v2/user/users/14 + Context: + item1: value1 + item2: value2 + required: false + deprecated: false + /shipping/method-types: + get: + operationId: api_shippingmethod-types_get + tags: + - Shipping + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ShippingMethodTypesList+xml: + schema: + $ref: '#/components/schemas/ShippingMethodTypesList' + example: | + + + + flat_rate + Flat rate + + + free + Free shipping + + + application/vnd.ibexa.api.ShippingMethodTypesList+json: + schema: + $ref: '#/components/schemas/ShippingMethodTypesListWrapper' + example: + ShippingMethodTypesList: + _media-type: application/vnd.ibexa.api.ShippingMethodTypesList+json + _href: /api/ibexa/v2/shipping/method-types + ShippingMethodTypes: [{ _media-type: application/vnd.ibexa.api.ShippingMethodType+json, _href: /api/ibexa/v2/shipping/method-types/flat_rate, identifier: flat_rate, name: 'Flat rate' }, { _media-type: application/vnd.ibexa.api.ShippingMethodType+json, _href: /api/ibexa/v2/shipping/method-types/free, identifier: free, name: 'Free shipping' }] + '401': + description: 'Error - the user has no permission to read shipping methods types.' + '404': + description: 'Error - the shipping method type does not exist.' + summary: 'Load shipping methods types' + description: 'Loads shipping methods types.' + parameters: + - + name: Accept + in: header + description: 'Shipping method type reference - if set, the shipping method is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/shipping/method-types/{identifier}': + get: + operationId: api_shippingmethod-types_identifier_get + tags: + - Shipping + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ShippingMethodType+xml: + schema: + $ref: '#/components/schemas/ShippingMethodType' + example: | + + + flat_rate + Flat rate + + application/vnd.ibexa.api.ShippingMethodType+json: + schema: + $ref: '#/components/schemas/ShippingMethodTypeWrapper' + example: + ShippingMethodType: + _media-type: application/vnd.ibexa.api.ShippingMethodType+json + _href: /api/ibexa/v2/shipping/method-types/flat_rate + identifier: flat_rate + name: 'Flat rate' + '401': + description: 'Error - the user has no permission to read shipping methods.' + '404': + description: 'Error - the shipping method type does not exist.' + summary: 'Load shipping method type based on its identifier' + description: 'Loads shipping methods type based on their identifiers.' + parameters: + - + name: Accept + in: header + description: 'Shipping method type - if set, the shipping method is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /shipping/methods: + get: + operationId: api_shippingmethods_get + tags: + - Shipping + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ShippingMethodRefList+xml: + schema: + $ref: '#/components/schemas/ShippingMethodRefList' + example: | + + + + + + application/vnd.ibexa.api.ShippingMethodRefList+json: + schema: + $ref: '#/components/schemas/ShippingMethodRefListWrapper' + example: + ShippingMethodRefList: + _media-type: application/vnd.ibexa.api.ShippingMethodRefList+json + _href: /api/ibexa/v2/shipping/methods + ShippingMethodRefs: [{ _media-type: application/vnd.ibexa.api.ShippingMethod+json, _href: /api/ibexa/v2/shipping/methods/parcel_delivery }, { _media-type: application/vnd.ibexa.api.ShippingMethod+json, _href: /api/ibexa/v2/shipping/methods/parcel_locker_delivery }] + '401': + description: 'Error - the user has no permission to read shipping methods.' + summary: 'Load shipping methods' + description: 'Loads shipping methods.' + parameters: + - + name: Accept + in: header + description: 'Shipping method reference - if set, the shipping method is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/shipping/methods/{identifier}': + get: + operationId: api_shippingmethods_identifier_get + tags: + - Shipping + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ShippingMethod+xml: + schema: + $ref: '#/components/schemas/ShippingMethod' + example: | + + + method1 + AmE Method 1 + + AmE Method 1 + BrE Method 1 + + AmE Description of Method 1 + + AmE Description of Method 1 + BrE Description of Method 1 + + true + + 20.0000 + EUR + + + + + + + application/vnd.ibexa.api.ShippingMethod+json: + schema: + $ref: '#/components/schemas/ShippingMethodWrapper' + example: + ShippingMethod: + _media-type: application/vnd.ibexa.api.ShippingMethod+json + _href: /api/ibexa/v2/shipping/methods/method1 + identifier: method1 + name: 'AmE Method 1' + names: { value: [{ _languageCode: eng-US, '#text': 'AmE Method 1' }, { _languageCode: eng-GB, '#text': 'BrE Method 1' }] } + description: 'AmE Description of Method 1' + descriptions: { value: [{ _languageCode: eng-US, '#text': 'AmE Description of Method 1' }, { _languageCode: eng-GB, '#text': 'BrE Description of Method 1' }] } + enabled: true + options: { option: [{ _key: price, '#text': '20.0000' }, { _key: currency, '#text': EUR }] } + regions: { RegionRefList: [{ _media-type: application/vnd.ibexa.api.Region+json, _href: /api/ibexa/v2/product/catalog/regions/default }] } + type: { _media-type: application/vnd.ibexa.api.ShippingMethodType+json, _href: /api/ibexa/v2/shipping/method-types/flat_rate } + '401': + description: 'Error - the user has no permission to read shipping methods.' + '404': + description: 'Error - the shipping method does not exist.' + summary: 'Load shipping method based on its identifier' + description: 'Loads shipping method based on its identifier.' + parameters: + - + name: Accept + in: header + description: 'Shipping method - if set, the shipping method is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/taxonomy/{taxonomyName}/entries': + delete: + operationId: api_taxonomy_taxonomyNameentries_delete + tags: + - Taxonomy + responses: + '204': + description: 'No Content - The entries have been deleted.' + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to delete some of the entries.' + summary: 'Delete Entries' + description: 'Bulk removes several taxonomy entries.' + parameters: + - + name: Content-Type + in: header + description: 'Target Entries schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: taxonomyName + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + content: + application/vnd.ibexa.api.TaxonomyEntryBulkRemove+xml: + schema: + $ref: '#/components/schemas/TaxonomyEntryBulkRemove' + application/vnd.ibexa.api.TaxonomyEntryBulkRemove+json: + schema: + $ref: '#/components/schemas/TaxonomyEntryBulkRemoveWrapper' + example: + TaxonomyEntryBulkRemove: + entries: + - 2 + - 3 + required: false + deprecated: false + '/taxonomy/{taxonomyName}/entries/move': + post: + operationId: api_taxonomy_taxonomyNameentriesmove_post + tags: + - Taxonomy + responses: + '204': + description: 'No Content - The entries have been moved.' + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to move some of the entries.' + '404': + description: 'Error - Some to-be-moved or sibling entries do not exist.' + summary: 'Move Entries' + description: 'Bulk move several taxonomy entries relative to sibling.' + parameters: + - + name: Content-Type + in: header + description: 'The Entry moves schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: taxonomyName + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new TaxonomyEntryBulkMoveController resource' + content: + application/vnd.ibexa.api.TaxonomyEntryBulkMove+xml: + schema: + $ref: '#/components/schemas/TaxonomyEntryBulkMove' + application/vnd.ibexa.api.TaxonomyEntryBulkMove+json: + schema: + $ref: '#/components/schemas/TaxonomyEntryBulkMoveWrapper' + example: + TaxonomyEntryBulkMove: + entries: + - { entry: 2, sibling: 1, position: next } + - { entry: 3, sibling: 1, position: prev } + required: false + deprecated: false + '/taxonomy/{taxonomyName}/entry-assignment/{id}': + get: + operationId: api_taxonomy_taxonomyNameentry-assignment_id_get + tags: + - Taxonomy + responses: + '200': + description: 'OK - returns the taxonomy entry Assignment.' + content: + application/vnd.ibexa.api.TaxonomyEntryAssignment+xml: + schema: + $ref: '#/components/schemas/TaxonomyEntryAssignment' + application/vnd.ibexa.api.TaxonomyEntryAssignment+json: + schema: + $ref: '#/components/schemas/TaxonomyEntryAssignmentWrapper' + '404': + description: 'Error - the assignment does not exist.' + summary: 'Get Assignment by ID' + description: 'Gets taxonomy entry Assignment by its ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the Assignment is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: taxonomyName + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/taxonomy/{taxonomyName}/entry-assignments/assign-to-content': + post: + operationId: api_taxonomy_taxonomyNameentry-assignmentsassign-to-content_post + tags: + - Taxonomy + responses: + '201': + description: 'No Content.' + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to assign this Entry.' + summary: 'Assign entry' + description: 'Assigns taxonomy entry to a content item.' + parameters: + - + name: Content-Type + in: header + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: taxonomyName + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new TaxonomyEntryAssignmentAssignController resource' + content: + application/vnd.ibexa.api.TaxonomyEntryAssignToContent+json: + schema: + $ref: '#/components/schemas/TaxonomyEntryAssignToContentWrapper' + example: + TaxonomyEntryAssignToContent: + content: 130 + entries: + - 2 + - 3 + required: false + deprecated: false + '/taxonomy/{taxonomyName}/entry-assignments/content-id/{contentId}': + get: + operationId: api_taxonomy_taxonomyNameentry-assignmentscontent-id_contentId_get + tags: + - Taxonomy + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.EntryAssignmentCollection+xml: + schema: + $ref: '#/components/schemas/EntryAssignmentCollection' + example: |- + + + + + + Ibexa Platform + Ibexa Platform + + +
+ + + 2023-01-01T00:00:00+00:00 + 2015-11-30T13:10:46+00:00 + eng-GB + 10 + true + false + PUBLISHED + + + + + 1 + + + + Ibexa Platform + Ibexa Platform + + +
+ + + 2023-01-01T00:00:00+00:00 + 2015-11-30T13:10:46+00:00 + eng-GB + 10 + true + false + PUBLISHED + + + + + + 3 + example + Example + 65 + + tags + + + + + application/vnd.ibexa.api.EntryAssignmentCollection+json: + schema: + $ref: '#/components/schemas/EntryAssignmentCollectionWrapper' + example: + EntryAssignmentCollection: + _media-type: application/vnd.ibexa.api.EntryAssignmentCollection+json + content: { _media-type: application/vnd.ibexa.api.Content+json, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/1, _remoteId: 9459d3c29e15006e45197295722c7ade, _id: 1, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1 }, Name: 'Ibexa Platform', TranslatedName: 'Ibexa Platform', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/1/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/1/currentversion }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/1/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-01-01T00:00:00+00:00', publishedDate: '2015-11-30T13:10:46+00:00', mainLanguageCode: eng-GB, currentVersionNo: 10, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/1/objectstates } } } + assignments: [{ _media-type: application/vnd.ibexa.api.TaxonomyEntryAssignment+json, id: 1, content: { _media-type: application/vnd.ibexa.api.Content+json, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/1, _remoteId: 9459d3c29e15006e45197295722c7ade, _id: 1, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1 }, Name: 'Ibexa Platform', TranslatedName: 'Ibexa Platform', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/1/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/1/currentversion }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/1/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2023-01-01T00:00:00+00:00', publishedDate: '2015-11-30T13:10:46+00:00', mainLanguageCode: eng-GB, currentVersionNo: 10, alwaysAvailable: true, isHidden: false, status: PUBLISHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/1/objectstates } } }, entry: { _media-type: application/vnd.ibexa.api.TaxonomyEntry+json, TaxonomyEntry: { _media-type: application/vnd.ibexa.api.TaxonomyEntry+json, id: 3, identifier: example, name: Example, contentId: 65, content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/65 }, taxonomy: tags } } }] + '404': + description: 'Error - the Content does not exists.' + summary: 'Get Assignments to a Content' + description: 'Gets taxonomy entries assigned to a content item by its ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the assignments are returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: taxonomyName + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/taxonomy/{taxonomyName}/entry-assignments/unassign-from-content': + post: + operationId: api_taxonomy_taxonomyNameentry-assignmentsunassign-from-content_post + tags: + - Taxonomy + responses: + '201': + description: 'No Content.' + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to unassign this entry.' + summary: 'Unassign entry' + description: 'Unassigns taxonomy entry from a content item.' + parameters: + - + name: Content-Type + in: header + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: taxonomyName + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new TaxonomyEntryAssignmentUnassignController resource' + content: + application/vnd.ibexa.api.TaxonomyEntryUnassignFromContent+json: + schema: + $ref: '#/components/schemas/TaxonomyEntryUnassignFromContentWrapper' + example: + TaxonomyEntryUnassignFromContent: + content: 130 + entries: + - 2 + - 3 + required: false + deprecated: false + '/taxonomy/{taxonomyName}/entry/content-id/{contentId}': + get: + operationId: api_taxonomy_taxonomyNameentrycontent-id_contentId_get + tags: + - Taxonomy + responses: + '200': + description: 'OK - returns the taxonomy Entry.' + content: + application/vnd.ibexa.api.TaxonomyEntry+xml: + schema: + $ref: '#/components/schemas/TaxonomyEntry' + application/vnd.ibexa.api.TaxonomyEntry+json: + schema: + $ref: '#/components/schemas/TaxonomyEntryWrapper' + '401': + description: 'Error - the user is not authorized to read this Entry.' + '404': + description: 'Error - the Entry does not exists.' + summary: 'Get Entry by Content ID' + description: 'Loads taxonomy Entry by its Content ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the Taxonomy Entry is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: taxonomyName + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/taxonomy/{taxonomyName}/entry/identifier/{identifier}': + get: + operationId: api_taxonomy_taxonomyNameentryidentifier_identifier_get + tags: + - Taxonomy + responses: + '200': + description: 'OK - returns the taxonomy Entry.' + content: + application/vnd.ibexa.api.TaxonomyEntry+xml: + schema: + $ref: '#/components/schemas/TaxonomyEntry' + application/vnd.ibexa.api.TaxonomyEntry+json: + schema: + $ref: '#/components/schemas/TaxonomyEntryWrapper' + '401': + description: 'Error - the user is not authorized to read this Entry.' + '404': + description: 'Error - the Entry does not exists.' + summary: 'Get Entry by identifier' + description: 'Loads taxonomy Entry by its Entry identifier.' + parameters: + - + name: Accept + in: header + description: 'If set, the Taxonomy Entry is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: taxonomyName + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: identifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/taxonomy/{taxonomyName}/entry/{id}': + get: + operationId: api_taxonomy_taxonomyNameentry_id_get + tags: + - Taxonomy + responses: + '200': + description: 'OK - returns the taxonomy Entry.' + content: + application/vnd.ibexa.api.TaxonomyEntry+xml: + schema: + $ref: '#/components/schemas/TaxonomyEntry' + application/vnd.ibexa.api.TaxonomyEntry+json: + schema: + $ref: '#/components/schemas/TaxonomyEntryWrapper' + '401': + description: 'Error - the user is not authorized to read this Entry.' + '404': + description: 'Error - the Entry does not exists.' + summary: 'Get Entry by ID' + description: 'Loads taxonomy Entry by its Entry ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the Taxonomy Entry is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: taxonomyName + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /content/trash: + get: + operationId: api_contenttrash_get + tags: + - Trash + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Trash+xml: + schema: + $ref: '#/components/schemas/Trash' + example: | + + + + 58 + 0 + false + false + + /1/2/56/58/ + 3 + 0 + 59800915ad2eb8514de0bebe84f6ccba + + PATH + ASC + + + + Folder 1 + + +
+ + + 2019-02-06T09:03:09+01:00 + 2019-02-06T09:03:09+01:00 + eng-GB + 1 + true + + + + + + application/vnd.ibexa.api.Trash+json: + schema: + $ref: '#/components/schemas/TrashWrapper' + example: + Trash: + _media-type: application/vnd.ibexa.api.Trash+json + _href: /api/ibexa/v2/content/trash + TrashItem: [{ _media-type: application/vnd.ibexa.api.TrashItem+json, _href: /api/ibexa/v2/content/trash/87, id: 87, priority: 0, hidden: false, invisible: false, ParentLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2/57 }, pathString: /1/2/57/87/, depth: 3, childCount: 0, remoteId: 7cc6565354858f39a794bf64aa2c2761, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/91 }, sortField: PATH, sortOrder: ASC, ContentInfo: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/91, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/91, _remoteId: de906bef76f08700662bfaf1579871f0, _id: 91, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2 }, Name: test_article, TranslatedName: test_article, Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/91/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/91/currentversion }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/91/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/11 }, lastModificationDate: '2021-07-19T08:31:01+00:00', publishedDate: '2021-07-19T08:31:01+00:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: false, isHidden: false, status: TRASHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/91/objectstates } } } }, { _media-type: application/vnd.ibexa.api.TrashItem+json, _href: /api/ibexa/v2/content/trash/89, id: 89, priority: 0, hidden: false, invisible: false, ParentLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2 }, pathString: /1/2/89/, depth: 2, childCount: 0, remoteId: 256c2e7d71e927bab32a901878827312, Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/96 }, sortField: PATH, sortOrder: ASC, ContentInfo: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/96, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/96, _remoteId: d5bad9eb55cfe8572adf04452a2b206e, _id: 96, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1 }, Name: 'All Articles test', TranslatedName: 'All Articles test', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/96/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/96/currentversion }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/96/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, lastModificationDate: '2021-07-19T12:43:02+00:00', publishedDate: '2021-07-19T12:42:47+00:00', mainLanguageCode: eng-GB, currentVersionNo: 2, alwaysAvailable: true, isHidden: false, status: TRASHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/96/objectstates } } } }] + '401': + description: 'Error - The user has no permission to read the Trash.' + summary: 'List Trash items' + description: 'Returns a list of all items in the Trash.' + parameters: + - + name: Accept + in: header + description: 'If set, the Trash item list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_contenttrash_delete + tags: + - Trash + responses: + '204': + description: 'No Content - Trash emptied.' + '401': + description: 'Error - The user is not authorized to empty all items from Trash.' + summary: 'Empty Trash' + description: 'Empties the Trash.' + parameters: [] + deprecated: false + '/content/trash/{trashItemid}': + get: + operationId: api_contenttrash_trashItemid_get + tags: + - Trash + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.TrashItem+xml: + schema: + $ref: '#/components/schemas/TrashItem' + example: | + + + 81 + 0 + false + false + + /1/2/42/81/ + 3 + 0 + 135e8a84b61848a67be36e9552d2724d + + PATH + ASC + + + + Folder 1 + + +
+ + + 2019-04-25T12:45:58+02:00 + 2019-04-25T12:45:58+02:00 + eng-GB + 1 + true + TRASHED + + + + + application/vnd.ibexa.api.TrashItem+json: + schema: + $ref: '#/components/schemas/TrashItemWrapper' + example: + TrashItem: + _media-type: application/vnd.ibexa.api.TrashItem+json + _href: /api/ibexa/v2/content/trash/87 + id: 87 + priority: 0 + hidden: false + invisible: false + ParentLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/2/57 } + pathString: /1/2/57/87/ + depth: 3 + childCount: 0 + remoteId: 7cc6565354858f39a794bf64aa2c2761 + Content: { _media-type: application/vnd.ibexa.api.Content+json, _href: /api/ibexa/v2/content/objects/91 } + sortField: PATH + sortOrder: ASC + ContentInfo: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/91, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/91, _remoteId: de906bef76f08700662bfaf1579871f0, _id: 91, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2 }, Name: test_article, TranslatedName: test_article, Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/91/versions }, CurrentVersion: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/91/currentversion }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/1 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/91/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/11 }, lastModificationDate: '2021-07-19T08:31:01+00:00', publishedDate: '2021-07-19T08:31:01+00:00', mainLanguageCode: eng-GB, currentVersionNo: 1, alwaysAvailable: false, isHidden: false, status: TRASHED, ObjectStates: { _media-type: application/vnd.ibexa.api.ContentObjectStates+json, _href: /api/ibexa/v2/content/objects/91/objectstates } } } + '401': + description: 'Error - The user has no permission to read the item in Trash.' + '404': + description: 'Error - An item in Trash with the provided ID does not exist.' + summary: 'Get Trash item' + description: 'Returns the item in Trash with the provided ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the item in Trash is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: trashItemid + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_contenttrash_trashItemid_delete + tags: + - Trash + responses: + '204': + description: 'No Content - item deleted.' + '401': + description: 'Error - The user is not authorized to delete the provided item.' + '404': + description: 'Error - The provided item does not exist in Trash.' + summary: 'Delete Trash item' + description: 'Deletes the provided item from Trash.' + parameters: + - + name: trashItemid + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /content/types: + get: + operationId: api_contenttypes_get + tags: + - Type + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ContentTypeInfoList+xml: + schema: + $ref: '#/components/schemas/ContentTypeInfoList' + example: | + + + + 2 + DEFINED + article + + Article + + + 2002-06-18T09:21:38+00:00 + 2004-04-20T09:56:29+00:00 + + + + + c15b600eb9198b1924063b5a68758232 + + <short_title|title> + true + eng-GB + false + PATH + ASC + + + 1 + title + ibexa_string + + 1 + true + true + false + New article + true + + Title + + + + + + 255 + + + + + 152 + short_title + ibexa_string + + 2 + true + false + false + + true + + Short title + + + + + + 255 + + + + + 153 + author + ibexa_author + + 3 + true + false + false + + false + + Author + + + + 1 + + + + + 120 + intro + ibexa_richtext + + 4 + true + true + false + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + true + + Intro + + + + + + + 121 + body + ibexa_richtext + + 5 + true + false + false + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + true + + Body + + + + + + + 123 + enable_comments + ibexa_boolean + + 6 + false + false + false + false + false + + Enable comments + + + + + + + 154 + image + ibexa_object_relation + + 7 + true + false + false + + + + true + + Image + + + + SELECTION_BROWSE + + + + + + + + + 1 + DEFINED + folder + + Folder + + + 2002-06-18T09:21:38+00:00 + 2015-11-29T21:14:32+00:00 + + + + + a3d405b81be900468eb153d774f4f0d2 + + <short_name|name> + true + eng-GB + true + PATH + ASC + + + 4 + name + ibexa_string + + 1 + true + true + false + Folder + true + + Name + + + + + + 255 + + + + + 155 + short_name + ibexa_string + + 2 + true + false + false + + true + + Short name + + + + + + 100 + + + + + 119 + short_description + ibexa_richtext + + 3 + true + false + false + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + true + + Short description + + + + + + + 156 + description + ibexa_richtext + + 4 + true + false + false + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + + <?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + + + true + + Description + + + + + + + + + 43 + DEFINED + form + + Form + + + 2018-09-17T06:46:13+00:00 + 2018-09-17T06:47:14+00:00 + + + + + 6f7f21df775a33c1e4bbc76b48c38476 + + <title> + false + eng-GB + true + PUBLISHED + DESC + + + 188 + title + ibexa_string + content + 1 + true + true + false + + true + + Title + + + + + + + + + + + 189 + form + ibexa_form + content + 2 + true + false + false + + + + + + + false + + Form + + + + + + + + + 42 + DEFINED + landing_page + + Landing page + + + + + 2015-07-03T12:00:26+00:00 + 2015-07-03T12:00:26+00:00 + + + + + 60c03e9758465eb69d56b3afb6adf18e + + <name> + true + eng-GB + true + PUBLISHED + DESC + + + 185 + name + ibexa_string + content + 10 + true + true + false + + true + + Title + + + Title + + + + + + + + + + 186 + description + ibexa_string + content + 20 + true + true + false + + true + + Description + + + Landing page description + + + + + + + + + + 187 + page + ibexa_landing_page + content + 30 + true + false + false + + default + + + default_id + default + + + + false + + Landing page + + + Landing page + + + + + page_view_mode + + + + + + + application/vnd.ibexa.api.ContentTypeInfoList+json: + schema: + $ref: '#/components/schemas/ContentTypeInfoListWrapper' + example: + ContentTypeList: + _media-type: application/vnd.ibexa.api.ContentTypeList+json + _href: /api/ibexa/v2/content/typegroups/1/types + ContentType: [{ _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2, id: 2, status: DEFINED, identifier: article, names: { value: [{ _languageCode: eng-GB, '#text': Article }] }, descriptions: { value: [] }, creationDate: '2002-06-18T09:21:38+00:00', modificationDate: '2004-04-20T09:56:29+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/2/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2/draft }, remoteId: c15b600eb9198b1924063b5a68758232, urlAliasSchema: null, nameSchema: '', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: false, defaultSortField: PATH, defaultSortOrder: ASC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/1, id: 1, identifier: title, fieldType: ibexa_string, fieldGroup: '', position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: 'New article', isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/152, id: 152, identifier: short_title, fieldType: ibexa_string, fieldGroup: '', position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short title' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/153, id: 153, identifier: author, fieldType: ibexa_author, fieldGroup: '', position: 3, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: [], isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Author }] }, descriptions: { value: [] }, fieldSettings: { defaultAuthor: 1 }, validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/120, id: 120, identifier: intro, fieldType: ibexa_richtext, fieldGroup: '', position: 4, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: { xml: "\n
\n", xhtml5edit: "\n
\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Intro }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/121, id: 121, identifier: body, fieldType: ibexa_richtext, fieldGroup: '', position: 5, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "\n
\n", xhtml5edit: "\n
\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Body }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/123, id: 123, identifier: enable_comments, fieldType: ibexa_boolean, fieldGroup: '', position: 6, isTranslatable: false, isRequired: false, isInfoCollector: false, defaultValue: false, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': 'Enable comments' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/154, id: 154, identifier: image, fieldType: ibexa_object_relation, fieldGroup: '', position: 7, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { destinationContentId: null }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Image }] }, descriptions: { value: [] }, fieldSettings: { selectionMethod: SELECTION_BROWSE, selectionRoot: '', selectionContentTypes: [] }, validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1, id: 1, status: DEFINED, identifier: folder, names: { value: [{ _languageCode: eng-GB, '#text': Folder }] }, descriptions: { value: [] }, creationDate: '2002-06-18T09:21:38+00:00', modificationDate: '2015-11-29T21:14:32+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/1/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1/draft }, remoteId: a3d405b81be900468eb153d774f4f0d2, urlAliasSchema: null, nameSchema: '', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PATH, defaultSortOrder: ASC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/4, id: 4, identifier: name, fieldType: ibexa_string, fieldGroup: '', position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: Folder, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Name }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/155, id: 155, identifier: short_name, fieldType: ibexa_string, fieldGroup: '', position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short name' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 100, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/119, id: 119, identifier: short_description, fieldType: ibexa_richtext, fieldGroup: '', position: 3, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "\n
\n", xhtml5edit: "\n
\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short description' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/156, id: 156, identifier: description, fieldType: ibexa_richtext, fieldGroup: '', position: 4, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "\n
\n", xhtml5edit: "\n
\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Description }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/43, id: 43, status: DEFINED, identifier: form, names: { value: [{ _languageCode: eng-GB, '#text': Form }] }, descriptions: { value: [] }, creationDate: '2018-09-17T06:46:13+00:00', modificationDate: '2018-09-17T06:47:14+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/43/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/43/draft }, remoteId: 6f7f21df775a33c1e4bbc76b48c38476, urlAliasSchema: '', nameSchema: '', isContainer: false, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PUBLISHED, defaultSortOrder: DESC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions/188, id: 188, identifier: title, fieldType: ibexa_string, fieldGroup: content, position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions/189, id: 189, identifier: form, fieldType: ibexa_form, fieldGroup: content, position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { fields: [], content_id: null, content_field_id: null, language_code: null }, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Form }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/42, id: 42, status: DEFINED, identifier: landing_page, names: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': '' }] }, creationDate: '2015-07-03T12:00:26+00:00', modificationDate: '2015-07-03T12:00:26+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/42/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/42/draft }, remoteId: 60c03e9758465eb69d56b3afb6adf18e, urlAliasSchema: '', nameSchema: '<name>', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PUBLISHED, defaultSortOrder: DESC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/185, id: 185, identifier: name, fieldType: ibexa_string, fieldGroup: content, position: 10, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': Title }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/186, id: 186, identifier: description, fieldType: ibexa_string, fieldGroup: content, position: 20, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Description }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Landing page description' }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/187, id: 187, identifier: page, fieldType: ibexa_landing_page, fieldGroup: content, position: 30, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { layout: default, zones: [{ id: default_id, name: default, blocks: [] }] }, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, fieldSettings: { availableBlocks: null, availableLayouts: null, editorMode: page_view_mode }, validatorConfiguration: [] }] } }] + application/vnd.ibexa.api.ContentTypeList+xml: + schema: + $ref: '#/components/schemas/ContentTypeList' + application/vnd.ibexa.api.ContentTypeList+json: + schema: + $ref: '#/components/schemas/ContentTypeListWrapper' + '401': + description: 'Error - The user has no permission to read the content types.' + summary: 'List content types' + description: 'Returns a list of content types.' + parameters: + - + name: Accept + in: header + description: 'If set, the list of content type info objects or content types (including Field definitions) is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /content/types/view: + post: + operationId: api_contenttypesview_post + tags: + - Type + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ContentTypeList+xml: + schema: + $ref: '#/components/schemas/ContentTypeInfoList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeList media-type="application/vnd.ibexa.api.ContentTypeList+xml" href="/api/ibexa/v2/content/typegroups/1/types"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/2"> + <id>2</id> + <status>DEFINED</status> + <identifier>article</identifier> + <names> + <value languageCode="eng-GB">Article</value> + </names> + <descriptions/> + <creationDate>2002-06-18T09:21:38+00:00</creationDate> + <modificationDate>2004-04-20T09:56:29+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/2/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/2/draft"/> + <remoteId>c15b600eb9198b1924063b5a68758232</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><short_title|title></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>false</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/1"> + <id>1</id> + <identifier>title</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>1</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue>New article</defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Title</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">255</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/152"> + <id>152</id> + <identifier>short_title</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>2</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Short title</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">255</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/153"> + <id>153</id> + <identifier>author</identifier> + <fieldType>ibexa_author</fieldType> + <fieldGroup></fieldGroup> + <position>3</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Author</value> + </names> + <descriptions/> + <fieldSettings> + <value key="defaultAuthor">1</value> + </fieldSettings> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/120"> + <id>120</id> + <identifier>intro</identifier> + <fieldType>ibexa_richtext</fieldType> + <fieldGroup></fieldGroup> + <position>4</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="xml"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + </value> + <value key="xhtml5edit"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + </value> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Intro</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/121"> + <id>121</id> + <identifier>body</identifier> + <fieldType>ibexa_richtext</fieldType> + <fieldGroup></fieldGroup> + <position>5</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="xml"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + </value> + <value key="xhtml5edit"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + </value> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Body</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/123"> + <id>123</id> + <identifier>enable_comments</identifier> + <fieldType>ibexa_boolean</fieldType> + <fieldGroup></fieldGroup> + <position>6</position> + <isTranslatable>false</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue>false</defaultValue> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Enable comments</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/154"> + <id>154</id> + <identifier>image</identifier> + <fieldType>ibexa_object_relation</fieldType> + <fieldGroup></fieldGroup> + <position>7</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="destinationContentId"/> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Image</value> + </names> + <descriptions/> + <fieldSettings> + <value key="selectionMethod">SELECTION_BROWSE</value> + <value key="selectionRoot"></value> + <value key="selectionContentTypes"/> + </fieldSettings> + <validatorConfiguration/> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/1"> + <id>1</id> + <status>DEFINED</status> + <identifier>folder</identifier> + <names> + <value languageCode="eng-GB">Folder</value> + </names> + <descriptions/> + <creationDate>2002-06-18T09:21:38+00:00</creationDate> + <modificationDate>2015-11-29T21:14:32+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/1/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/1/draft"/> + <remoteId>a3d405b81be900468eb153d774f4f0d2</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><short_name|name></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>true</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions/4"> + <id>4</id> + <identifier>name</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>1</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue>Folder</defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Name</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">255</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions/155"> + <id>155</id> + <identifier>short_name</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>2</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Short name</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">100</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions/119"> + <id>119</id> + <identifier>short_description</identifier> + <fieldType>ibexa_richtext</fieldType> + <fieldGroup></fieldGroup> + <position>3</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="xml"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + </value> + <value key="xhtml5edit"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + </value> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Short description</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions/156"> + <id>156</id> + <identifier>description</identifier> + <fieldType>ibexa_richtext</fieldType> + <fieldGroup></fieldGroup> + <position>4</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="xml"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + </value> + <value key="xhtml5edit"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + </value> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Description</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/43"> + <id>43</id> + <status>DEFINED</status> + <identifier>form</identifier> + <names> + <value languageCode="eng-GB">Form</value> + </names> + <descriptions/> + <creationDate>2018-09-17T06:46:13+00:00</creationDate> + <modificationDate>2018-09-17T06:47:14+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/43/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/43/draft"/> + <remoteId>6f7f21df775a33c1e4bbc76b48c38476</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><title></nameSchema> + <isContainer>false</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>true</defaultAlwaysAvailable> + <defaultSortField>PUBLISHED</defaultSortField> + <defaultSortOrder>DESC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/43/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/43/fieldDefinitions/188"> + <id>188</id> + <identifier>title</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup>content</fieldGroup> + <position>1</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Title</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength"/> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/43/fieldDefinitions/189"> + <id>189</id> + <identifier>form</identifier> + <fieldType>ibexa_form</fieldType> + <fieldGroup>content</fieldGroup> + <position>2</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="fields"/> + <value key="content_id"/> + <value key="content_field_id"/> + <value key="language_code"/> + </defaultValue> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Form</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/42"> + <id>42</id> + <status>DEFINED</status> + <identifier>landing_page</identifier> + <names> + <value languageCode="eng-GB">Landing page</value> + </names> + <descriptions> + <value languageCode="eng-GB"></value> + </descriptions> + <creationDate>2015-07-03T12:00:26+00:00</creationDate> + <modificationDate>2015-07-03T12:00:26+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/42/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/42/draft"/> + <remoteId>60c03e9758465eb69d56b3afb6adf18e</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><name></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>true</defaultAlwaysAvailable> + <defaultSortField>PUBLISHED</defaultSortField> + <defaultSortOrder>DESC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/42/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/42/fieldDefinitions/185"> + <id>185</id> + <identifier>name</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup>content</fieldGroup> + <position>10</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Title</value> + </names> + <descriptions> + <value languageCode="eng-GB">Title</value> + </descriptions> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength"/> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/42/fieldDefinitions/186"> + <id>186</id> + <identifier>description</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup>content</fieldGroup> + <position>20</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Description</value> + </names> + <descriptions> + <value languageCode="eng-GB">Landing page description</value> + </descriptions> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength"/> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/42/fieldDefinitions/187"> + <id>187</id> + <identifier>page</identifier> + <fieldType>ibexa_landing_page</fieldType> + <fieldGroup>content</fieldGroup> + <position>30</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="layout">default</value> + <value key="zones"> + <value> + <value key="id">default_id</value> + <value key="name">default</value> + <value key="blocks"/></value> + </value> + </defaultValue> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Landing page</value> + </names> + <descriptions> + <value languageCode="eng-GB">Landing page</value> + </descriptions> + <fieldSettings> + <value key="availableBlocks"/> + <value key="availableLayouts"/> + <value key="editorMode">page_view_mode</value> + </fieldSettings> + <validatorConfiguration/> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + </ContentTypeList> + application/vnd.ibexa.api.ContentTypeList+json: + schema: + $ref: '#/components/schemas/ContentTypeInfoListWrapper' + example: + ContentTypeList: + _media-type: application/vnd.ibexa.api.ContentTypeList+json + _href: /api/ibexa/v2/content/typegroups/1/types + ContentType: [{ _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2, id: 2, status: DEFINED, identifier: article, names: { value: [{ _languageCode: eng-GB, '#text': Article }] }, descriptions: { value: [] }, creationDate: '2002-06-18T09:21:38+00:00', modificationDate: '2004-04-20T09:56:29+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/2/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2/draft }, remoteId: c15b600eb9198b1924063b5a68758232, urlAliasSchema: null, nameSchema: '<short_title|title>', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: false, defaultSortField: PATH, defaultSortOrder: ASC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/1, id: 1, identifier: title, fieldType: ibexa_string, fieldGroup: '', position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: 'New article', isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/152, id: 152, identifier: short_title, fieldType: ibexa_string, fieldGroup: '', position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short title' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/153, id: 153, identifier: author, fieldType: ibexa_author, fieldGroup: '', position: 3, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: [], isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Author }] }, descriptions: { value: [] }, fieldSettings: { defaultAuthor: 1 }, validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/120, id: 120, identifier: intro, fieldType: ibexa_richtext, fieldGroup: '', position: 4, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Intro }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/121, id: 121, identifier: body, fieldType: ibexa_richtext, fieldGroup: '', position: 5, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Body }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/123, id: 123, identifier: enable_comments, fieldType: ibexa_boolean, fieldGroup: '', position: 6, isTranslatable: false, isRequired: false, isInfoCollector: false, defaultValue: false, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': 'Enable comments' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/154, id: 154, identifier: image, fieldType: ibexa_object_relation, fieldGroup: '', position: 7, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { destinationContentId: null }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Image }] }, descriptions: { value: [] }, fieldSettings: { selectionMethod: SELECTION_BROWSE, selectionRoot: '', selectionContentTypes: [] }, validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1, id: 1, status: DEFINED, identifier: folder, names: { value: [{ _languageCode: eng-GB, '#text': Folder }] }, descriptions: { value: [] }, creationDate: '2002-06-18T09:21:38+00:00', modificationDate: '2015-11-29T21:14:32+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/1/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1/draft }, remoteId: a3d405b81be900468eb153d774f4f0d2, urlAliasSchema: null, nameSchema: '<short_name|name>', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PATH, defaultSortOrder: ASC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/4, id: 4, identifier: name, fieldType: ibexa_string, fieldGroup: '', position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: Folder, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Name }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/155, id: 155, identifier: short_name, fieldType: ibexa_string, fieldGroup: '', position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short name' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 100, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/119, id: 119, identifier: short_description, fieldType: ibexa_richtext, fieldGroup: '', position: 3, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short description' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/156, id: 156, identifier: description, fieldType: ibexa_richtext, fieldGroup: '', position: 4, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Description }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/43, id: 43, status: DEFINED, identifier: form, names: { value: [{ _languageCode: eng-GB, '#text': Form }] }, descriptions: { value: [] }, creationDate: '2018-09-17T06:46:13+00:00', modificationDate: '2018-09-17T06:47:14+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/43/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/43/draft }, remoteId: 6f7f21df775a33c1e4bbc76b48c38476, urlAliasSchema: '', nameSchema: '<title>', isContainer: false, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PUBLISHED, defaultSortOrder: DESC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions/188, id: 188, identifier: title, fieldType: ibexa_string, fieldGroup: content, position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions/189, id: 189, identifier: form, fieldType: ibexa_form, fieldGroup: content, position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { fields: [], content_id: null, content_field_id: null, language_code: null }, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Form }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/42, id: 42, status: DEFINED, identifier: landing_page, names: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': '' }] }, creationDate: '2015-07-03T12:00:26+00:00', modificationDate: '2015-07-03T12:00:26+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/42/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/42/draft }, remoteId: 60c03e9758465eb69d56b3afb6adf18e, urlAliasSchema: '', nameSchema: '<name>', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PUBLISHED, defaultSortOrder: DESC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/185, id: 185, identifier: name, fieldType: ibexa_string, fieldGroup: content, position: 10, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': Title }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/186, id: 186, identifier: description, fieldType: ibexa_string, fieldGroup: content, position: 20, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Description }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Landing page description' }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/187, id: 187, identifier: page, fieldType: ibexa_landing_page, fieldGroup: content, position: 30, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { layout: default, zones: [{ id: default_id, name: default, blocks: [] }] }, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, fieldSettings: { availableBlocks: null, availableLayouts: null, editorMode: page_view_mode }, validatorConfiguration: [] }] } }] + '400': + description: 'Error - the input does not match the input schema definition.' + summary: 'Filter content types' + description: 'Executes a query and returns a View including the results. The View input reflects the criteria model of the public PHP API.' + parameters: + - + name: Accept + in: header + description: 'The view in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The view input in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ContentTypeCreateViewController resource' + content: + application/vnd.ibexa.api.ContentTypeViewInput+xml: + schema: + $ref: '#/components/schemas/ContentTypeViewInput' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ViewInput> + <identifier>ContentTypeView</identifier> + <ContentTypeQuery> + <limit>10</limit> + <offset>1</offset> + <Query> + <ContentTypeIdCriterion>1</ContentTypeIdCriterion> + <ContentTypeIdCriterion>2</ContentTypeIdCriterion> + <ContentTypeIdentifierCriterion>folder</ContentTypeIdentifierCriterion> + <IsSystemCriterion>true</IsSystemCriterion> + <ContentTypeGroupIdCriterion>1</ContentTypeGroupIdCriterion> + <ContainsFieldDefinitionIdCriterion>2</ContainsFieldDefinitionIdCriterion> + </Query> + <SortClauses> + <Identifier>descending</Identifier> + <Id>ascending</Id> + </SortClauses> + </ContentTypeQuery> + </ViewInput> + application/vnd.ibexa.api.ContentTypeViewInput+json: + schema: + $ref: '#/components/schemas/ContentTypeViewInputWrapper' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ViewInput> + <identifier>ContentTypeView</identifier> + <ContentTypeQuery> + <limit>10</limit> + <offset>1</offset> + <Query> + <ContentTypeIdCriterion>1</ContentTypeIdCriterion> + <ContentTypeIdCriterion>2</ContentTypeIdCriterion> + <ContentTypeIdentifierCriterion>folder</ContentTypeIdentifierCriterion> + <IsSystemCriterion>true</IsSystemCriterion> + <ContentTypeGroupIdCriterion>1</ContentTypeGroupIdCriterion> + <ContainsFieldDefinitionIdCriterion>2</ContainsFieldDefinitionIdCriterion> + </Query> + <SortClauses> + <Identifier>descending</Identifier> + <Id>ascending</Id> + </SortClauses> + </ContentTypeQuery> + </ViewInput> + required: false + deprecated: false + '/content/types/{contentTypeId}': + get: + operationId: api_contenttypes_contentTypeId_get + tags: + - Type + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ContentType+xml: + schema: + $ref: '#/components/schemas/ContentType' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/14"> + <id>14</id> + <status>DEFINED</status> + <identifier>copy_of_article_14</identifier> + <names> + <value languageCode="eng-GB">Updated content type name</value> + </names> + <descriptions> + <value languageCode="eng-GB">This is an updated content type description</value> + </descriptions> + <creationDate>2019-02-06T10:56:36+01:00</creationDate> + <modificationDate>2019-02-25T12:15:51+01:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/14/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/14/draft"/> + <remoteId>d7ae816f22fe929e67a359a2ef6e7cde</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><short_title|title></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>false</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/14/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/14/fieldDefinitions/188"> + <id>188</id> + <identifier>title</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>1</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue>New article</defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Title</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">255</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + application/vnd.ibexa.api.ContentType+json: + schema: + $ref: '#/components/schemas/ContentTypeWrapper' + example: + ContentType: + _media-type: application/vnd.ibexa.api.ContentType+json + _href: /api/ibexa/v2/content/types/2 + id: 2 + status: DEFINED + identifier: article + names: { value: [{ _languageCode: eng-GB, '#text': Article }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] } + creationDate: '2002-06-18T09:21:38+00:00' + modificationDate: '2021-06-28T11:31:22+00:00' + Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/2/groups } + Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2/draft } + remoteId: c15b600eb9198b1924063b5a68758232 + urlAliasSchema: '' + nameSchema: '<short_title|title>' + isContainer: true + mainLanguageCode: eng-GB + defaultAlwaysAvailable: false + defaultSortField: PATH + defaultSortOrder: ASC + FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/1, id: 1, identifier: title, fieldType: ibexa_string, fieldGroup: '', position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: 'New article', isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/152, id: 152, identifier: short_title, fieldType: ibexa_string, fieldGroup: '', position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short title' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/153, id: 153, identifier: author, fieldType: ibexa_author, fieldGroup: '', position: 3, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: [], isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Author }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: { defaultAuthor: 1 }, validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/120, id: 120, identifier: intro, fieldType: ibexa_richtext, fieldGroup: '', position: 4, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Intro }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/121, id: 121, identifier: body, fieldType: ibexa_richtext, fieldGroup: '', position: 5, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Body }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/123, id: 123, identifier: enable_comments, fieldType: ibexa_boolean, fieldGroup: '', position: 6, isTranslatable: false, isRequired: false, isInfoCollector: false, defaultValue: false, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': 'Enable comments' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/195, id: 195, identifier: image, fieldType: ibexa_image_asset, fieldGroup: content, position: 7, isTranslatable: false, isRequired: false, isInfoCollector: false, defaultValue: { destinationContentId: null, alternativeText: null, source: null }, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Image }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: [], validatorConfiguration: [] }] } + '401': + description: 'Error - The user is not authorized to read this content type.' + '404': + description: 'Error - The content type does not exist.' + summary: 'Get content type' + description: 'Returns the content type with the provided ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the content type is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contenttypes_contentTypeId_post + tags: + - Type + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.ContentTypeInfo+xml: + schema: + $ref: '#/components/schemas/ContentTypeInfo' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeInfo media-type="application/vnd.ibexa.api.ContentTypeInfo+xml" href="/api/ibexa/v2/content/types/14/draft"> + <id>14</id> + <status>DRAFT</status> + <identifier>new_content_type</identifier> + <names> + <value languageCode="eng-GB">Updated content type name</value> + </names> + <descriptions> + <value languageCode="eng-GB">This is an updated content type description</value> + </descriptions> + <creationDate>2019-02-06T10:56:36+01:00</creationDate> + <modificationDate>2019-02-25T12:15:51+01:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/14/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/14/draft"/> + <remoteId>d7ae816f22fe929e67a359a2ef6e7cde</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><short_title|title></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>false</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + </ContentTypeInfo> + application/vnd.ibexa.api.ContentTypeInfo+json: + schema: + $ref: '#/components/schemas/ContentTypeInfoWrapper' + example: + ContentTypeInfo: + _media-type: application/vnd.ibexa.api.ContentTypeInfo+json + _href: /api/ibexa/v2/content/types/2/draft + id: 2 + status: DRAFT + identifier: article + names: { value: [{ _languageCode: eng-GB, '#text': 'Updated content type name' }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': 'This is an updated content type description' }] } + creationDate: '2002-06-18T09:21:38+00:00' + modificationDate: '2021-08-11T11:58:24+00:00' + Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/2/groups } + Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2/draft } + remoteId: c15b600eb9198b1924063b5a68758232 + urlAliasSchema: null + nameSchema: '<short_title|title>' + isContainer: true + mainLanguageCode: eng-GB + defaultAlwaysAvailable: true + defaultSortField: PATH + defaultSortOrder: ASC + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to create the draft.' + '403': + description: 'Error - A content type with the given new identifier already exists. A draft already exists.' + summary: 'Create Draft' + description: 'Creates a draft and updates it with the given data.' + parameters: + - + name: Accept + in: header + description: 'If set, the new content type draft is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The content type Update schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ContentTypeDraftCreateController resource' + content: + application/vnd.ibexa.api.ContentTypeUpdate+xml: + schema: + $ref: '#/components/schemas/ContentTypeUpdate' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeUpdate> + <defaultAlwaysAvailable>true</defaultAlwaysAvailable> + </ContentTypeUpdate> + application/vnd.ibexa.api.ContentTypeUpdate+json: + schema: + $ref: '#/components/schemas/ContentTypeUpdateWrapper' + example: + ContentTypeUpdate: + _media-type: application/vnd.ibexa.api.ContentTypeUpdate + defaultAlwaysAvailable: 'true' + required: false + deprecated: false + delete: + operationId: api_contenttypes_contentTypeId_delete + tags: + - Type + responses: + '204': + description: 'No Content - content type deleted.' + '401': + description: 'Error - The user is not authorized to delete this content type.' + '403': + description: 'Error - There are object instances of this content type.' + '404': + description: 'Error - The content type does not exist.' + summary: 'Delete content type' + description: 'Deletes the provided content type.' + parameters: + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/content/types/{contentTypeId}/draft': + get: + operationId: api_contenttypes_contentTypeIddraft_get + tags: + - Type + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ContentType+xml: + schema: + $ref: '#/components/schemas/ContentType' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/14"> + <id>14</id> + <status>DEFINED</status> + <identifier>copy_of_article_14</identifier> + <names> + <value languageCode="eng-GB">Updated content type name</value> + </names> + <descriptions> + <value languageCode="eng-GB">This is an updated content type description</value> + </descriptions> + <creationDate>2019-02-06T10:56:36+01:00</creationDate> + <modificationDate>2019-02-25T12:15:51+01:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/14/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/14/draft"/> + <remoteId>d7ae816f22fe929e67a359a2ef6e7cde</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><short_title|title></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>false</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/14/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/14/fieldDefinitions/188"> + <id>188</id> + <identifier>title</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>1</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue>New article</defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Title</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">255</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + application/vnd.ibexa.api.ContentType+json: + schema: + $ref: '#/components/schemas/ContentTypeWrapper' + example: + ContentType: + _media-type: application/vnd.ibexa.api.ContentType+json + _href: /api/ibexa/v2/content/types/2 + id: 2 + status: DEFINED + identifier: article + names: { value: [{ _languageCode: eng-GB, '#text': Article }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] } + creationDate: '2002-06-18T09:21:38+00:00' + modificationDate: '2021-06-28T11:31:22+00:00' + Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/2/groups } + Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2/draft } + remoteId: c15b600eb9198b1924063b5a68758232 + urlAliasSchema: '' + nameSchema: '<short_title|title>' + isContainer: true + mainLanguageCode: eng-GB + defaultAlwaysAvailable: false + defaultSortField: PATH + defaultSortOrder: ASC + FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/1, id: 1, identifier: title, fieldType: ibexa_string, fieldGroup: '', position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: 'New article', isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/152, id: 152, identifier: short_title, fieldType: ibexa_string, fieldGroup: '', position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short title' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/153, id: 153, identifier: author, fieldType: ibexa_author, fieldGroup: '', position: 3, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: [], isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Author }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: { defaultAuthor: 1 }, validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/120, id: 120, identifier: intro, fieldType: ibexa_richtext, fieldGroup: '', position: 4, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Intro }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/121, id: 121, identifier: body, fieldType: ibexa_richtext, fieldGroup: '', position: 5, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Body }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/123, id: 123, identifier: enable_comments, fieldType: ibexa_boolean, fieldGroup: '', position: 6, isTranslatable: false, isRequired: false, isInfoCollector: false, defaultValue: false, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': 'Enable comments' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/195, id: 195, identifier: image, fieldType: ibexa_image_asset, fieldGroup: content, position: 7, isTranslatable: false, isRequired: false, isInfoCollector: false, defaultValue: { destinationContentId: null, alternativeText: null, source: null }, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Image }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] }, fieldSettings: [], validatorConfiguration: [] }] } + '401': + description: 'Error - The user is not authorized to read this content type.' + '404': + description: 'Error - The content type does not exist or does not have a draft.' + summary: 'Get content type draft' + description: 'Returns the draft of the content type with the provided ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the content type is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_contenttypes_contentTypeIddraft_delete + tags: + - Type + responses: + '204': + description: 'No Content - content type draft deleted.' + '401': + description: 'Error - The user is not authorized to delete this content type draft.' + '404': + description: 'Error - The content type draft does not exist.' + summary: 'Delete content type draft' + description: 'Deletes the provided content type draft.' + parameters: + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_contenttypes_contentTypeIddraft_patch + tags: + - Type + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ContentTypeInfo+xml: + schema: + $ref: '#/components/schemas/ContentTypeInfo' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeInfo media-type="application/vnd.ibexa.api.ContentTypeInfo+xml" href="/api/ibexa/v2/content/types/14/draft"> + <id>14</id> + <status>DRAFT</status> + <identifier>new_content_type</identifier> + <names> + <value languageCode="eng-GB">Updated content type name</value> + </names> + <descriptions> + <value languageCode="eng-GB">This is an updated content type description</value> + </descriptions> + <creationDate>2019-02-06T10:56:36+01:00</creationDate> + <modificationDate>2019-02-25T12:15:51+01:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/14/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/14/draft"/> + <remoteId>d7ae816f22fe929e67a359a2ef6e7cde</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><short_title|title></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>false</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + </ContentTypeInfo> + application/vnd.ibexa.api.ContentTypeInfo+json: + schema: + $ref: '#/components/schemas/ContentTypeInfoWrapper' + example: + ContentTypeInfo: + _media-type: application/vnd.ibexa.api.ContentTypeInfo+json + _href: /api/ibexa/v2/content/types/2/draft + id: 2 + status: DRAFT + identifier: article + names: { value: [{ _languageCode: eng-GB, '#text': 'Updated content type name' }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': 'This is an updated content type description' }] } + creationDate: '2002-06-18T09:21:38+00:00' + modificationDate: '2021-08-11T11:58:24+00:00' + Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/2/groups } + Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2/draft } + remoteId: c15b600eb9198b1924063b5a68758232 + urlAliasSchema: null + nameSchema: '<short_title|title>' + isContainer: true + mainLanguageCode: eng-GB + defaultAlwaysAvailable: true + defaultSortField: PATH + defaultSortOrder: ASC + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to update the draft.' + '403': + description: 'Error - A content type with the given new identifier already exists.' + '404': + description: 'Error - There is no draft for this content type.' + summary: 'Update content type draft' + description: 'Updates metadata of a draft. This method does not handle Field definitions. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, the new content type draft is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The content type update schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated ContentTypeDraftUpdateController resource' + content: + application/vnd.ibexa.api.ContentTypeUpdate+xml: + schema: + $ref: '#/components/schemas/ContentTypeUpdate' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeUpdate> + <defaultAlwaysAvailable>true</defaultAlwaysAvailable> + </ContentTypeUpdate> + application/vnd.ibexa.api.ContentTypeUpdate+json: + schema: + $ref: '#/components/schemas/ContentTypeUpdateWrapper' + example: + ContentTypeUpdate: + _media-type: application/vnd.ibexa.api.ContentTypeUpdate + defaultAlwaysAvailable: 'true' + required: false + deprecated: false + '/content/types/{contentTypeId}/draft/fieldDefinitions': + get: + operationId: api_contenttypes_contentTypeIddraftfieldDefinitions_get + tags: + - Type + responses: + '200': + description: 'OK - return a list of Field definitions.' + content: + application/vnd.ibexa.api.FieldDefinitionList+xml: + schema: + $ref: '#/components/schemas/FieldDefinitions' + application/vnd.ibexa.api.FieldDefinitionList+json: + schema: + $ref: '#/components/schemas/FieldDefinitionsWrapper' + '404': + description: 'Error - The content type draft does not exist.' + summary: 'Get Draft Field definition list' + description: 'Returns all Field definitions of the provided content type Draft.' + parameters: + - + name: Accept + in: header + description: 'If set, the Field definitions are returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contenttypes_contentTypeIddraftfieldDefinitions_post + tags: + - Type + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.FieldDefinition+xml: + schema: + $ref: '#/components/schemas/FieldDefinition' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/195"> + <id>195</id> + <identifier>image</identifier> + <fieldType>ibexa_image_asset</fieldType> + <fieldGroup>content</fieldGroup> + <position>7</position> + <isTranslatable>false</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="destinationContentId"/> + <value key="alternativeText"/> + <value key="source"/> + </defaultValue> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Image</value> + </names> + <descriptions> + <value languageCode="eng-GB"></value> + </descriptions> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + application/vnd.ibexa.api.FieldDefinition+json: + schema: + $ref: '#/components/schemas/FieldDefinitionWrapper' + example: + FieldDefinition: + _media-type: application/vnd.ibexa.api.FieldDefinition+json + _href: /api/ibexa/v2/content/types/2/fieldDefinitions/195 + id: 195 + identifier: image + fieldType: ibexa_image_asset + fieldGroup: content + position: 7 + isTranslatable: false + isRequired: false + isInfoCollector: false + defaultValue: { destinationContentId: null, alternativeText: null, source: null } + isSearchable: false + names: { value: [{ _languageCode: eng-GB, '#text': Image }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] } + fieldSettings: [] + validatorConfiguration: [] + '400': + description: 'Error - The input does not match the input schema definition or validation on the Field definition fails.' + '401': + description: 'Error - The user is not authorized to add a Field definition.' + '403': + description: "Error - A Field definition with the same identifier already exists in the given content type. The Field definition is of singular type, already existing in the given content type. The Field definition you want to add is of a type that can't be added to a content type that already has content instances." + summary: 'Add content type Draft Field definition' + description: 'Creates a new Field definition for the given content type.' + parameters: + - + name: Accept + in: header + description: 'If set, the new Field definition is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The Field Definition Create schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ContentTypeDraftFieldDefinitionAddController resource' + content: + application/vnd.ibexa.api.FieldDefinitionCreate+xml: + schema: + $ref: '#/components/schemas/FieldDefinitionCreate' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <FieldDefinitionCreate> + <identifier>name</identifier> + <fieldType>ibexa_string</fieldType> + <isRequired>true</isRequired> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">32</value> + <value key="minStringLength">8</value> + </value> + </validatorConfiguration> + </FieldDefinitionCreate> + application/vnd.ibexa.api.FieldDefinitionCreate+json: + schema: + $ref: '#/components/schemas/FieldDefinitionCreateWrapper' + required: false + deprecated: false + '/content/types/{contentTypeId}/draft/fieldDefinitions/{fieldDefinitionId}': + get: + operationId: api_contenttypes_contentTypeIddraftfieldDefinitions_fieldDefinitionId_get + tags: + - Type + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.FieldDefinition+xml: + schema: + $ref: '#/components/schemas/FieldDefinition' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/195"> + <id>195</id> + <identifier>image</identifier> + <fieldType>ibexa_image_asset</fieldType> + <fieldGroup>content</fieldGroup> + <position>7</position> + <isTranslatable>false</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="destinationContentId"/> + <value key="alternativeText"/> + <value key="source"/> + </defaultValue> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Image</value> + </names> + <descriptions> + <value languageCode="eng-GB"></value> + </descriptions> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + application/vnd.ibexa.api.FieldDefinition+json: + schema: + $ref: '#/components/schemas/FieldDefinitionWrapper' + example: + FieldDefinition: + _media-type: application/vnd.ibexa.api.FieldDefinition+json + _href: /api/ibexa/v2/content/types/2/fieldDefinitions/195 + id: 195 + identifier: image + fieldType: ibexa_image_asset + fieldGroup: content + position: 7 + isTranslatable: false + isRequired: false + isInfoCollector: false + defaultValue: { destinationContentId: null, alternativeText: null, source: null } + isSearchable: false + names: { value: [{ _languageCode: eng-GB, '#text': Image }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] } + fieldSettings: [] + validatorConfiguration: [] + '401': + description: 'Error - The user is not authorized to read the content type draft.' + '404': + description: 'Error - The content type or draft does not exist.' + summary: 'Get content type Draft Field definition' + description: 'Returns the Field definition by the given ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the Field definition is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: fieldDefinitionId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_contenttypes_contentTypeIddraftfieldDefinitions_fieldDefinitionId_delete + tags: + - Type + responses: + '204': + description: 'No Content - Field definition deleted.' + '401': + description: 'Error - The user is not authorized to delete this content type.' + '403': + description: 'Error - There is no draft of the content type assigned to the authenticated user.' + summary: 'Delete content type Draft Field definition' + description: 'Deletes the provided Field definition.' + parameters: + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: fieldDefinitionId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_contenttypes_contentTypeIddraftfieldDefinitions_fieldDefinitionId_patch + tags: + - Type + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.FieldDefinition+xml: + schema: + $ref: '#/components/schemas/FieldDefinition' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/195"> + <id>195</id> + <identifier>image</identifier> + <fieldType>ibexa_image_asset</fieldType> + <fieldGroup>content</fieldGroup> + <position>7</position> + <isTranslatable>false</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="destinationContentId"/> + <value key="alternativeText"/> + <value key="source"/> + </defaultValue> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Image</value> + </names> + <descriptions> + <value languageCode="eng-GB"></value> + </descriptions> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + application/vnd.ibexa.api.FieldDefinition+json: + schema: + $ref: '#/components/schemas/FieldDefinitionWrapper' + example: + FieldDefinition: + _media-type: application/vnd.ibexa.api.FieldDefinition+json + _href: /api/ibexa/v2/content/types/2/fieldDefinitions/195 + id: 195 + identifier: image + fieldType: ibexa_image_asset + fieldGroup: content + position: 7 + isTranslatable: false + isRequired: false + isInfoCollector: false + defaultValue: { destinationContentId: null, alternativeText: null, source: null } + isSearchable: false + names: { value: [{ _languageCode: eng-GB, '#text': Image }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] } + fieldSettings: [] + validatorConfiguration: [] + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to update the Field definition.' + '403': + description: 'Error - A Field definition with the given identifier already exists in the given content type.' + summary: 'Update content type Draft Field definition' + description: 'Updates the attributes of a Field definition.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated Field definition is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The Field definition update schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: fieldDefinitionId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated ContentTypeDraftFieldDefinitionUpdateController resource' + content: + application/vnd.ibexa.api.FieldDefinitionUpdate+xml: + schema: + $ref: '#/components/schemas/FieldDefinitionUpdate' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <FieldDefinitionUpdate> + <fieldGroup>new_field_group</fieldGroup> + <position>10</position> + </FieldDefinitionUpdate> + application/vnd.ibexa.api.FieldDefinitionUpdate+json: + schema: + $ref: '#/components/schemas/FieldDefinitionUpdateWrapper' + required: false + deprecated: false + '/content/types/{contentTypeId}/fieldDefinitions': + get: + operationId: api_contenttypes_contentTypeIdfieldDefinitions_get + tags: + - Type + responses: + '200': + description: 'OK - return a list of Field definitions.' + content: + application/vnd.ibexa.api.FieldDefinitionList+xml: + schema: + $ref: '#/components/schemas/FieldDefinitions' + application/vnd.ibexa.api.FieldDefinitionList+json: + schema: + $ref: '#/components/schemas/FieldDefinitionsWrapper' + '404': + description: 'Error - The content type does not exist.' + summary: 'Get Field definition list' + description: 'Returns all Field definitions of the provided content type.' + parameters: + - + name: Accept + in: header + description: 'If set, the Field definitions are returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/content/types/{contentTypeId}/fieldDefinitions/{fieldDefinitionId}': + get: + operationId: api_contenttypes_contentTypeIdfieldDefinitions_fieldDefinitionId_get + tags: + - Type + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.FieldDefinition+xml: + schema: + $ref: '#/components/schemas/FieldDefinition' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/195"> + <id>195</id> + <identifier>image</identifier> + <fieldType>ibexa_image_asset</fieldType> + <fieldGroup>content</fieldGroup> + <position>7</position> + <isTranslatable>false</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="destinationContentId"/> + <value key="alternativeText"/> + <value key="source"/> + </defaultValue> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Image</value> + </names> + <descriptions> + <value languageCode="eng-GB"></value> + </descriptions> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + application/vnd.ibexa.api.FieldDefinition+json: + schema: + $ref: '#/components/schemas/FieldDefinitionWrapper' + example: + FieldDefinition: + _media-type: application/vnd.ibexa.api.FieldDefinition+json + _href: /api/ibexa/v2/content/types/2/fieldDefinitions/195 + id: 195 + identifier: image + fieldType: ibexa_image_asset + fieldGroup: content + position: 7 + isTranslatable: false + isRequired: false + isInfoCollector: false + defaultValue: { destinationContentId: null, alternativeText: null, source: null } + isSearchable: false + names: { value: [{ _languageCode: eng-GB, '#text': Image }] } + descriptions: { value: [{ _languageCode: eng-GB, '#text': null }] } + fieldSettings: [] + validatorConfiguration: [] + '401': + description: 'Error - The user is not authorized to read the content type.' + '404': + description: 'Error - The content type does not exist.' + summary: 'Get Field definition' + description: 'Returns the Field definition by the given ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the Field definition is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: fieldDefinitionId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/content/types/{contentTypeId}/groups': + get: + operationId: api_contenttypes_contentTypeIdgroups_get + tags: + - Type + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ContentTypeGroupRefList+xml: + schema: + $ref: '#/components/schemas/ContentTypeGroupRefList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeGroupRefList media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/typegroups/15/types"> + <ContentTypeGroupRef media-type="application/vnd.ibexa.api.ContentTypeGroup+xml" href="/api/ibexa/v2/content/typegroups/1"> + <unlink href="/api/ibexa/v2/content/types/15/groups/1" method="DELETE"/> + </ContentTypeGroupRef> + <ContentTypeGroupRef media-type="application/vnd.ibexa.api.ContentTypeGroup+xml" href="/api/ibexa/v2/content/typegroups/2"> + <unlink href="/api/ibexa/v2/content/types/15/groups/2" method="DELETE"/> + </ContentTypeGroupRef> + </ContentTypeGroupRefList> + application/vnd.ibexa.api.ContentTypeGroupRefList+json: + schema: + $ref: '#/components/schemas/ContentTypeGroupRefListWrapper' + example: + ContentTypeGroupRefList: + _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json + _href: /api/ibexa/v2/content/typegroups/2/types + ContentTypeGroupRef: [{ _media-type: application/vnd.ibexa.api.ContentTypeGroup+json, _href: /api/ibexa/v2/content/typegroups/1, unlink: { _href: /api/ibexa/v2/content/types/2/groups/1, _method: DELETE } }, { _media-type: application/vnd.ibexa.api.ContentTypeGroup+json, _href: /api/ibexa/v2/content/typegroups/2, unlink: { _href: /api/ibexa/v2/content/types/2/groups/2, _method: DELETE } }] + '401': + description: 'Error - The user is not authorized to read this content type.' + '404': + description: 'Error - The content type does not exist.' + summary: 'Get groups of content type' + description: 'Returns the content type group to which content type belongs to.' + parameters: + - + name: Accept + in: header + description: 'If set, the content type group list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contenttypes_contentTypeIdgroups_post + tags: + - Type + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ContentTypeGroupRefList+xml: + schema: + $ref: '#/components/schemas/ContentTypeGroupRefList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeGroupRefList media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/typegroups/15/types"> + <ContentTypeGroupRef media-type="application/vnd.ibexa.api.ContentTypeGroup+xml" href="/api/ibexa/v2/content/typegroups/1"> + <unlink href="/api/ibexa/v2/content/types/15/groups/1" method="DELETE"/> + </ContentTypeGroupRef> + <ContentTypeGroupRef media-type="application/vnd.ibexa.api.ContentTypeGroup+xml" href="/api/ibexa/v2/content/typegroups/2"> + <unlink href="/api/ibexa/v2/content/types/15/groups/2" method="DELETE"/> + </ContentTypeGroupRef> + </ContentTypeGroupRefList> + application/vnd.ibexa.api.ContentTypeGroupRefList+json: + schema: + $ref: '#/components/schemas/ContentTypeGroupRefListWrapper' + example: + ContentTypeGroupRefList: + _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json + _href: /api/ibexa/v2/content/typegroups/2/types + ContentTypeGroupRef: [{ _media-type: application/vnd.ibexa.api.ContentTypeGroup+json, _href: /api/ibexa/v2/content/typegroups/1, unlink: { _href: /api/ibexa/v2/content/types/2/groups/1, _method: DELETE } }, { _media-type: application/vnd.ibexa.api.ContentTypeGroup+json, _href: /api/ibexa/v2/content/typegroups/2, unlink: { _href: /api/ibexa/v2/content/types/2/groups/2, _method: DELETE } }] + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to add a group.' + '403': + description: 'Error - The content type is already assigned to the group.' + summary: 'Link group to content type' + description: 'Links a content type group to the content type and returns the updated group list.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated content type group list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ContentTypeLinkToGroupController resource' + content: { } + required: false + deprecated: false + '/content/types/{contentTypeId}/groups/{id}': + delete: + operationId: api_contenttypes_contentTypeIdgroups_id_delete + tags: + - Type + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ContentTypeGroupRefList+xml: + schema: + $ref: '#/components/schemas/ContentTypeGroupRefList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeGroupRefList media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/typegroups/15/types"> + <ContentTypeGroupRef media-type="application/vnd.ibexa.api.ContentTypeGroup+xml" href="/api/ibexa/v2/content/typegroups/1"> + <unlink href="/api/ibexa/v2/content/types/15/groups/1" method="DELETE"/> + </ContentTypeGroupRef> + <ContentTypeGroupRef media-type="application/vnd.ibexa.api.ContentTypeGroup+xml" href="/api/ibexa/v2/content/typegroups/2"> + <unlink href="/api/ibexa/v2/content/types/15/groups/2" method="DELETE"/> + </ContentTypeGroupRef> + </ContentTypeGroupRefList> + application/vnd.ibexa.api.ContentTypeGroupRefList+json: + schema: + $ref: '#/components/schemas/ContentTypeGroupRefListWrapper' + example: + ContentTypeGroupRefList: + _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json + _href: /api/ibexa/v2/content/typegroups/2/types + ContentTypeGroupRef: [{ _media-type: application/vnd.ibexa.api.ContentTypeGroup+json, _href: /api/ibexa/v2/content/typegroups/1, unlink: { _href: /api/ibexa/v2/content/types/2/groups/1, _method: DELETE } }, { _media-type: application/vnd.ibexa.api.ContentTypeGroup+json, _href: /api/ibexa/v2/content/typegroups/2, unlink: { _href: /api/ibexa/v2/content/types/2/groups/2, _method: DELETE } }] + '401': + description: 'Error - The user is not authorized to delete this content type.' + '403': + description: 'Error - content type cannot be unlinked from the only remaining group.' + '404': + description: 'Error - The resource does not exist.' + '204': + description: 'ContentTypeUnlinkFromGroupController resource deleted' + summary: 'Unlink group from content type' + description: 'Removes the given group from the content type and returns the updated group list.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated content type group list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /content/typegroups: + get: + operationId: api_contenttypegroups_get + tags: + - 'Type Groups' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ContentTypeGroupList+xml: + schema: + $ref: '#/components/schemas/ContentTypeGroupList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeGroupList media-type="application/vnd.ibexa.api.ContentTypeGroupList+xml" href="/api/ibexa/v2/content/typegroups"> + <ContentTypeGroup media-type="application/vnd.ibexa.api.ContentTypeGroup+xml" href="/api/ibexa/v2/content/typegroups/1"> + <id>1</id> + <identifier>Content</identifier> + <created>2002-09-05T11:08:48+02:00</created> + <modified>2002-10-06T18:35:06+02:00</modified> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <ContentTypes media-type="application/vnd.ibexa.api.ContentTypeInfoList+xml" href="/api/ibexa/v2/content/typegroups/1/types"/> + </ContentTypeGroup> + <ContentTypeGroup media-type="application/vnd.ibexa.api.ContentTypeGroup+xml" href="/api/ibexa/v2/content/typegroups/2"> + <id>2</id> + <identifier>Users</identifier> + <created>2002-09-05T11:09:01+02:00</created> + <modified>2002-10-06T18:35:13+02:00</modified> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <ContentTypes media-type="application/vnd.ibexa.api.ContentTypeInfoList+xml" href="/api/ibexa/v2/content/typegroups/2/types"/> + </ContentTypeGroup> + <ContentTypeGroup media-type="application/vnd.ibexa.api.ContentTypeGroup+xml" href="/api/ibexa/v2/content/typegroups/3"> + <id>3</id> + <identifier>Media</identifier> + <created>2002-09-14T15:22:23+02:00</created> + <modified>2002-10-06T18:35:20+02:00</modified> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <ContentTypes media-type="application/vnd.ibexa.api.ContentTypeInfoList+xml" href="/api/ibexa/v2/content/typegroups/3/types"/> + </ContentTypeGroup> + </ContentTypeGroupList> + application/vnd.ibexa.api.ContentTypeGroupList+json: + schema: + $ref: '#/components/schemas/ContentTypeGroupListWrapper' + example: + ContentTypeGroupList: + _media-type: application/vnd.ibexa.api.ContentTypeGroupList+json + _href: /api/ibexa/v2/content/typegroups + ContentTypeGroup: [{ _media-type: application/vnd.ibexa.api.ContentTypeGroup+json, _href: /api/ibexa/v2/content/typegroups/1, id: 1, identifier: Content, created: '2002-09-05T09:08:48+00:00', modified: '2002-10-06T16:35:06+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, ContentTypes: { _media-type: application/vnd.ibexa.api.ContentTypeInfoList+json, _href: /api/ibexa/v2/content/typegroups/1/types } }, { _media-type: application/vnd.ibexa.api.ContentTypeGroup+json, _href: /api/ibexa/v2/content/typegroups/2, id: 2, identifier: Users, created: '2002-09-05T09:09:01+00:00', modified: '2002-10-06T16:35:13+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, ContentTypes: { _media-type: application/vnd.ibexa.api.ContentTypeInfoList+json, _href: /api/ibexa/v2/content/typegroups/2/types } }, { _media-type: application/vnd.ibexa.api.ContentTypeGroup+json, _href: /api/ibexa/v2/content/typegroups/3, id: 3, identifier: Media, created: '2002-09-14T13:22:23+00:00', modified: '2002-10-06T16:35:20+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, ContentTypes: { _media-type: application/vnd.ibexa.api.ContentTypeInfoList+json, _href: /api/ibexa/v2/content/typegroups/3/types } }] + '307': + description: 'Temporary redirect.' + '401': + description: 'Error - The user has no permission to read content types.' + '404': + description: 'Error - The content type group with the given identifier does not exist.' + summary: 'Get content type groups' + description: 'Returns a list of all content type groups. If an identifier is provided, loads the content type group for this identifier.' + parameters: + - + name: Accept + in: header + description: 'If set, the content type group list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contenttypegroups_post + tags: + - 'Type Groups' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.ContentTypeGroup+xml: + schema: + $ref: '#/components/schemas/ContentTypeGroup' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeGroup href="/content/typesgroups/7" media-type="application/vnd.ibexa.api.ContentTypeGroup+xml"> + <id>7</id> + <identifier>newContentTypeGroup</identifier> + <created>2012-02-31T12:45:00</created> + <modified>2012-02-31T12:45:00</modified> + <Creator href="/user/users/13" media-type="application/vnd.ibexa.api.User+xml"/> + <Modifier href="/user/users/13" media-type="application/vnd.ibexa.api.User+xml"/> + <ContentTypes href="/content/typegroups/7/types" media-type="application/vnd.ibexa.api.ContentTypeList+xml"/> + </ContentTypeGroup> + application/vnd.ibexa.api.ContentTypeGroup+json: + schema: + $ref: '#/components/schemas/ContentTypeGroupWrapper' + example: + ContentTypeGroup: + _media-type: application/vnd.ibexa.api.ContentTypeGroup+json + _href: /api/ibexa/v2/content/typegroups/4 + id: 4 + identifier: updatedIdentifer + created: '2021-08-11T09:44:18+00:00' + modified: '2021-08-11T10:10:04+00:00' + Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + ContentTypes: { _media-type: application/vnd.ibexa.api.ContentTypeInfoList+json, _href: /api/ibexa/v2/content/typegroups/6/types } + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to create this content type group.' + '403': + description: 'Error - A content type group with the same identifier already exists.' + summary: 'Create content type group' + description: 'Creates a new content type group.' + parameters: + - + name: Accept + in: header + description: 'If set, the new content type group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The content type group input schema encoded in XML or JSON.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ContentTypeGroupCreateController resource' + content: + application/vnd.ibexa.api.ContentTypeGroupInput+xml: + schema: + $ref: '#/components/schemas/ContentTypeGroupInput' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeGroupInput> + <identifier>newContentTypeGroup</identifier> + </ContentTypeGroupInput> + application/vnd.ibexa.api.ContentTypeGroupInput+json: + schema: + $ref: '#/components/schemas/ContentTypeGroupInputWrapper' + example: + ContentTypeGroupInput: + identifier: newContentTypeGroup + required: false + deprecated: false + '/content/typegroups/{contentTypeGroupId}': + get: + operationId: api_contenttypegroups_contentTypeGroupId_get + tags: + - 'Type Groups' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ContentTypeGroup+xml: + schema: + $ref: '#/components/schemas/ContentTypeList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeList media-type="application/vnd.ibexa.api.ContentTypeList+xml" href="/api/ibexa/v2/content/typegroups/1/types"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/2"> + <id>2</id> + <status>DEFINED</status> + <identifier>article</identifier> + <names> + <value languageCode="eng-GB">Article</value> + </names> + <descriptions/> + <creationDate>2002-06-18T09:21:38+00:00</creationDate> + <modificationDate>2004-04-20T09:56:29+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/2/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/2/draft"/> + <remoteId>c15b600eb9198b1924063b5a68758232</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><short_title|title></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>false</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/1"> + <id>1</id> + <identifier>title</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>1</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue>New article</defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Title</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">255</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/152"> + <id>152</id> + <identifier>short_title</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>2</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Short title</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">255</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/153"> + <id>153</id> + <identifier>author</identifier> + <fieldType>ibexa_author</fieldType> + <fieldGroup></fieldGroup> + <position>3</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Author</value> + </names> + <descriptions/> + <fieldSettings> + <value key="defaultAuthor">1</value> + </fieldSettings> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/120"> + <id>120</id> + <identifier>intro</identifier> + <fieldType>ibexa_richtext</fieldType> + <fieldGroup></fieldGroup> + <position>4</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="xml"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + </value> + <value key="xhtml5edit"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + </value> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Intro</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/121"> + <id>121</id> + <identifier>body</identifier> + <fieldType>ibexa_richtext</fieldType> + <fieldGroup></fieldGroup> + <position>5</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="xml"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + </value> + <value key="xhtml5edit"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + </value> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Body</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/123"> + <id>123</id> + <identifier>enable_comments</identifier> + <fieldType>ibexa_boolean</fieldType> + <fieldGroup></fieldGroup> + <position>6</position> + <isTranslatable>false</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue>false</defaultValue> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Enable comments</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/154"> + <id>154</id> + <identifier>image</identifier> + <fieldType>ibexa_object_relation</fieldType> + <fieldGroup></fieldGroup> + <position>7</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="destinationContentId"/> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Image</value> + </names> + <descriptions/> + <fieldSettings> + <value key="selectionMethod">SELECTION_BROWSE</value> + <value key="selectionRoot"></value> + <value key="selectionContentTypes"/> + </fieldSettings> + <validatorConfiguration/> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/1"> + <id>1</id> + <status>DEFINED</status> + <identifier>folder</identifier> + <names> + <value languageCode="eng-GB">Folder</value> + </names> + <descriptions/> + <creationDate>2002-06-18T09:21:38+00:00</creationDate> + <modificationDate>2015-11-29T21:14:32+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/1/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/1/draft"/> + <remoteId>a3d405b81be900468eb153d774f4f0d2</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><short_name|name></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>true</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions/4"> + <id>4</id> + <identifier>name</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>1</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue>Folder</defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Name</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">255</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions/155"> + <id>155</id> + <identifier>short_name</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>2</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Short name</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">100</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions/119"> + <id>119</id> + <identifier>short_description</identifier> + <fieldType>ibexa_richtext</fieldType> + <fieldGroup></fieldGroup> + <position>3</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="xml"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + </value> + <value key="xhtml5edit"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + </value> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Short description</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions/156"> + <id>156</id> + <identifier>description</identifier> + <fieldType>ibexa_richtext</fieldType> + <fieldGroup></fieldGroup> + <position>4</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="xml"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + </value> + <value key="xhtml5edit"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + </value> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Description</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/43"> + <id>43</id> + <status>DEFINED</status> + <identifier>form</identifier> + <names> + <value languageCode="eng-GB">Form</value> + </names> + <descriptions/> + <creationDate>2018-09-17T06:46:13+00:00</creationDate> + <modificationDate>2018-09-17T06:47:14+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/43/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/43/draft"/> + <remoteId>6f7f21df775a33c1e4bbc76b48c38476</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><title></nameSchema> + <isContainer>false</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>true</defaultAlwaysAvailable> + <defaultSortField>PUBLISHED</defaultSortField> + <defaultSortOrder>DESC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/43/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/43/fieldDefinitions/188"> + <id>188</id> + <identifier>title</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup>content</fieldGroup> + <position>1</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Title</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength"/> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/43/fieldDefinitions/189"> + <id>189</id> + <identifier>form</identifier> + <fieldType>ibexa_form</fieldType> + <fieldGroup>content</fieldGroup> + <position>2</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="fields"/> + <value key="content_id"/> + <value key="content_field_id"/> + <value key="language_code"/> + </defaultValue> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Form</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/42"> + <id>42</id> + <status>DEFINED</status> + <identifier>landing_page</identifier> + <names> + <value languageCode="eng-GB">Landing page</value> + </names> + <descriptions> + <value languageCode="eng-GB"></value> + </descriptions> + <creationDate>2015-07-03T12:00:26+00:00</creationDate> + <modificationDate>2015-07-03T12:00:26+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/42/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/42/draft"/> + <remoteId>60c03e9758465eb69d56b3afb6adf18e</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><name></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>true</defaultAlwaysAvailable> + <defaultSortField>PUBLISHED</defaultSortField> + <defaultSortOrder>DESC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/42/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/42/fieldDefinitions/185"> + <id>185</id> + <identifier>name</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup>content</fieldGroup> + <position>10</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Title</value> + </names> + <descriptions> + <value languageCode="eng-GB">Title</value> + </descriptions> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength"/> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/42/fieldDefinitions/186"> + <id>186</id> + <identifier>description</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup>content</fieldGroup> + <position>20</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Description</value> + </names> + <descriptions> + <value languageCode="eng-GB">Landing page description</value> + </descriptions> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength"/> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/42/fieldDefinitions/187"> + <id>187</id> + <identifier>page</identifier> + <fieldType>ibexa_landing_page</fieldType> + <fieldGroup>content</fieldGroup> + <position>30</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="layout">default</value> + <value key="zones"> + <value> + <value key="id">default_id</value> + <value key="name">default</value> + <value key="blocks"/></value> + </value> + </defaultValue> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Landing page</value> + </names> + <descriptions> + <value languageCode="eng-GB">Landing page</value> + </descriptions> + <fieldSettings> + <value key="availableBlocks"/> + <value key="availableLayouts"/> + <value key="editorMode">page_view_mode</value> + </fieldSettings> + <validatorConfiguration/> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + </ContentTypeList> + application/vnd.ibexa.api.ContentTypeGroup+json: + schema: + $ref: '#/components/schemas/ContentTypeListWrapper' + example: + ContentTypeList: + _media-type: application/vnd.ibexa.api.ContentTypeList+json + _href: /api/ibexa/v2/content/typegroups/1/types + ContentType: [{ _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2, id: 2, status: DEFINED, identifier: article, names: { value: [{ _languageCode: eng-GB, '#text': Article }] }, descriptions: { value: [] }, creationDate: '2002-06-18T09:21:38+00:00', modificationDate: '2004-04-20T09:56:29+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/2/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2/draft }, remoteId: c15b600eb9198b1924063b5a68758232, urlAliasSchema: null, nameSchema: '<short_title|title>', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: false, defaultSortField: PATH, defaultSortOrder: ASC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/1, id: 1, identifier: title, fieldType: ibexa_string, fieldGroup: '', position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: 'New article', isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/152, id: 152, identifier: short_title, fieldType: ibexa_string, fieldGroup: '', position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short title' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/153, id: 153, identifier: author, fieldType: ibexa_author, fieldGroup: '', position: 3, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: [], isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Author }] }, descriptions: { value: [] }, fieldSettings: { defaultAuthor: 1 }, validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/120, id: 120, identifier: intro, fieldType: ibexa_richtext, fieldGroup: '', position: 4, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Intro }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/121, id: 121, identifier: body, fieldType: ibexa_richtext, fieldGroup: '', position: 5, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Body }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/123, id: 123, identifier: enable_comments, fieldType: ibexa_boolean, fieldGroup: '', position: 6, isTranslatable: false, isRequired: false, isInfoCollector: false, defaultValue: false, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': 'Enable comments' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/154, id: 154, identifier: image, fieldType: ibexa_object_relation, fieldGroup: '', position: 7, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { destinationContentId: null }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Image }] }, descriptions: { value: [] }, fieldSettings: { selectionMethod: SELECTION_BROWSE, selectionRoot: '', selectionContentTypes: [] }, validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1, id: 1, status: DEFINED, identifier: folder, names: { value: [{ _languageCode: eng-GB, '#text': Folder }] }, descriptions: { value: [] }, creationDate: '2002-06-18T09:21:38+00:00', modificationDate: '2015-11-29T21:14:32+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/1/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1/draft }, remoteId: a3d405b81be900468eb153d774f4f0d2, urlAliasSchema: null, nameSchema: '<short_name|name>', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PATH, defaultSortOrder: ASC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/4, id: 4, identifier: name, fieldType: ibexa_string, fieldGroup: '', position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: Folder, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Name }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/155, id: 155, identifier: short_name, fieldType: ibexa_string, fieldGroup: '', position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short name' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 100, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/119, id: 119, identifier: short_description, fieldType: ibexa_richtext, fieldGroup: '', position: 3, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short description' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/156, id: 156, identifier: description, fieldType: ibexa_richtext, fieldGroup: '', position: 4, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Description }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/43, id: 43, status: DEFINED, identifier: form, names: { value: [{ _languageCode: eng-GB, '#text': Form }] }, descriptions: { value: [] }, creationDate: '2018-09-17T06:46:13+00:00', modificationDate: '2018-09-17T06:47:14+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/43/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/43/draft }, remoteId: 6f7f21df775a33c1e4bbc76b48c38476, urlAliasSchema: '', nameSchema: '<title>', isContainer: false, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PUBLISHED, defaultSortOrder: DESC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions/188, id: 188, identifier: title, fieldType: ibexa_string, fieldGroup: content, position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions/189, id: 189, identifier: form, fieldType: ibexa_form, fieldGroup: content, position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { fields: [], content_id: null, content_field_id: null, language_code: null }, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Form }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/42, id: 42, status: DEFINED, identifier: landing_page, names: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': '' }] }, creationDate: '2015-07-03T12:00:26+00:00', modificationDate: '2015-07-03T12:00:26+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/42/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/42/draft }, remoteId: 60c03e9758465eb69d56b3afb6adf18e, urlAliasSchema: '', nameSchema: '<name>', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PUBLISHED, defaultSortOrder: DESC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/185, id: 185, identifier: name, fieldType: ibexa_string, fieldGroup: content, position: 10, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': Title }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/186, id: 186, identifier: description, fieldType: ibexa_string, fieldGroup: content, position: 20, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Description }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Landing page description' }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/187, id: 187, identifier: page, fieldType: ibexa_landing_page, fieldGroup: content, position: 30, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { layout: default, zones: [{ id: default_id, name: default, blocks: [] }] }, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, fieldSettings: { availableBlocks: null, availableLayouts: null, editorMode: page_view_mode }, validatorConfiguration: [] }] } }] + '401': + description: 'Error - The user is not authorized to read this content type group.' + '404': + description: 'Error - The content type group does not exist.' + summary: 'Get content type group' + description: 'Returns the content type group with provided ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the content type group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeGroupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_contenttypegroups_contentTypeGroupId_delete + tags: + - 'Type Groups' + responses: + '204': + description: 'No Content - content type group deleted.' + '401': + description: 'Error - The user is not authorized to delete this content type group.' + '403': + description: 'Error - The content type group is not empty.' + '404': + description: 'Error - The content type group does not exist.' + summary: 'Delete content type group' + description: 'Deletes the provided content type group.' + parameters: + - + name: contentTypeGroupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_contenttypegroups_contentTypeGroupId_patch + tags: + - 'Type Groups' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ContentTypeGroup+xml: + schema: + $ref: '#/components/schemas/ContentTypeGroup' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeGroup href="/content/typesgroups/7" media-type="application/vnd.ibexa.api.ContentTypeGroup+xml"> + <id>7</id> + <identifier>newContentTypeGroup</identifier> + <created>2012-02-31T12:45:00</created> + <modified>2012-02-31T12:45:00</modified> + <Creator href="/user/users/13" media-type="application/vnd.ibexa.api.User+xml"/> + <Modifier href="/user/users/13" media-type="application/vnd.ibexa.api.User+xml"/> + <ContentTypes href="/content/typegroups/7/types" media-type="application/vnd.ibexa.api.ContentTypeList+xml"/> + </ContentTypeGroup> + application/vnd.ibexa.api.ContentTypeGroup+json: + schema: + $ref: '#/components/schemas/ContentTypeGroupWrapper' + example: + ContentTypeGroup: + _media-type: application/vnd.ibexa.api.ContentTypeGroup+json + _href: /api/ibexa/v2/content/typegroups/4 + id: 4 + identifier: updatedIdentifer + created: '2021-08-11T09:44:18+00:00' + modified: '2021-08-11T10:10:04+00:00' + Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + ContentTypes: { _media-type: application/vnd.ibexa.api.ContentTypeInfoList+json, _href: /api/ibexa/v2/content/typegroups/6/types } + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to create this content type group.' + '403': + description: 'Error - A content type group with the given identifier already exists.' + '412': + description: 'Error - The current ETag does not match the one provided in the If-Match header.' + summary: 'Update content type group' + description: 'Updates a content type group. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated content type group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The content type group input schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-Match + in: header + description: 'ETag causes patching only if the specified ETag is the current one. Otherwise a 412 is returned.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeGroupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated ContentTypeGroupUpdateController resource' + content: + application/vnd.ibexa.api.ContentTypeGroupInput+xml: + schema: + $ref: '#/components/schemas/ContentTypeGroupInput' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeGroupInput> + <identifier>newContentTypeGroup</identifier> + </ContentTypeGroupInput> + application/vnd.ibexa.api.ContentTypeGroupInput+json: + schema: + $ref: '#/components/schemas/ContentTypeGroupInputWrapper' + example: + ContentTypeGroupInput: + identifier: newContentTypeGroup + required: false + deprecated: false + '/content/typegroups/{contentTypeGroupId}/types': + get: + operationId: api_contenttypegroups_contentTypeGroupIdtypes_get + tags: + - 'Type Groups' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.ContentTypeInfoList+xml: + schema: + $ref: '#/components/schemas/ContentTypeInfoList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeInfoList media-type="application/vnd.ibexa.api.ContentTypeInfoList+xml" href="/api/ibexa/v2/content/typegroups/1/types"> + <ContentTypeInfo media-type="application/vnd.ibexa.api.ContentTypeInfo+xml" href="/api/ibexa/v2/content/types/2"> + <id>2</id> + <status>DEFINED</status> + <identifier>article</identifier> + <names> + <value languageCode="eng-GB">Article</value> + </names> + <descriptions/> + <creationDate>2002-06-18T11:21:38+02:00</creationDate> + <modificationDate>2004-04-20T11:56:29+02:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/2/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/2/draft"/> + <remoteId>c15b600eb9198b1924063b5a68758232</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><short_title|title></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>false</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + </ContentTypeInfo> + <ContentTypeInfo media-type="application/vnd.ibexa.api.ContentTypeInfo+xml" href="/api/ibexa/v2/content/types/1"> + <id>1</id> + <status>DEFINED</status> + <identifier>folder</identifier> + <names> + <value languageCode="eng-GB">Folder</value> + </names> + <descriptions/> + <creationDate>2002-06-18T11:21:38+02:00</creationDate> + <modificationDate>2015-11-29T22:14:32+01:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/1/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/1/draft"/> + <remoteId>a3d405b81be900468eb153d774f4f0d2</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><short_name|name></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>true</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + </ContentTypeInfo> + </ContentTypeInfoList> + application/vnd.ibexa.api.ContentTypeInfoList+json: + schema: + $ref: '#/components/schemas/ContentTypeInfoListWrapper' + example: + ContentTypeList: + _media-type: application/vnd.ibexa.api.ContentTypeList+json + _href: /api/ibexa/v2/content/typegroups/1/types + ContentType: [{ _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2, id: 2, status: DEFINED, identifier: article, names: { value: [{ _languageCode: eng-GB, '#text': Article }] }, descriptions: { value: [] }, creationDate: '2002-06-18T09:21:38+00:00', modificationDate: '2004-04-20T09:56:29+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/2/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2/draft }, remoteId: c15b600eb9198b1924063b5a68758232, urlAliasSchema: null, nameSchema: '<short_title|title>', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: false, defaultSortField: PATH, defaultSortOrder: ASC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/1, id: 1, identifier: title, fieldType: ibexa_string, fieldGroup: '', position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: 'New article', isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/152, id: 152, identifier: short_title, fieldType: ibexa_string, fieldGroup: '', position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short title' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/153, id: 153, identifier: author, fieldType: ibexa_author, fieldGroup: '', position: 3, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: [], isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Author }] }, descriptions: { value: [] }, fieldSettings: { defaultAuthor: 1 }, validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/120, id: 120, identifier: intro, fieldType: ibexa_richtext, fieldGroup: '', position: 4, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Intro }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/121, id: 121, identifier: body, fieldType: ibexa_richtext, fieldGroup: '', position: 5, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Body }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/123, id: 123, identifier: enable_comments, fieldType: ibexa_boolean, fieldGroup: '', position: 6, isTranslatable: false, isRequired: false, isInfoCollector: false, defaultValue: false, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': 'Enable comments' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/154, id: 154, identifier: image, fieldType: ibexa_object_relation, fieldGroup: '', position: 7, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { destinationContentId: null }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Image }] }, descriptions: { value: [] }, fieldSettings: { selectionMethod: SELECTION_BROWSE, selectionRoot: '', selectionContentTypes: [] }, validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1, id: 1, status: DEFINED, identifier: folder, names: { value: [{ _languageCode: eng-GB, '#text': Folder }] }, descriptions: { value: [] }, creationDate: '2002-06-18T09:21:38+00:00', modificationDate: '2015-11-29T21:14:32+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/1/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1/draft }, remoteId: a3d405b81be900468eb153d774f4f0d2, urlAliasSchema: null, nameSchema: '<short_name|name>', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PATH, defaultSortOrder: ASC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/4, id: 4, identifier: name, fieldType: ibexa_string, fieldGroup: '', position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: Folder, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Name }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/155, id: 155, identifier: short_name, fieldType: ibexa_string, fieldGroup: '', position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short name' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 100, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/119, id: 119, identifier: short_description, fieldType: ibexa_richtext, fieldGroup: '', position: 3, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short description' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/156, id: 156, identifier: description, fieldType: ibexa_richtext, fieldGroup: '', position: 4, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Description }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/43, id: 43, status: DEFINED, identifier: form, names: { value: [{ _languageCode: eng-GB, '#text': Form }] }, descriptions: { value: [] }, creationDate: '2018-09-17T06:46:13+00:00', modificationDate: '2018-09-17T06:47:14+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/43/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/43/draft }, remoteId: 6f7f21df775a33c1e4bbc76b48c38476, urlAliasSchema: '', nameSchema: '<title>', isContainer: false, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PUBLISHED, defaultSortOrder: DESC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions/188, id: 188, identifier: title, fieldType: ibexa_string, fieldGroup: content, position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions/189, id: 189, identifier: form, fieldType: ibexa_form, fieldGroup: content, position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { fields: [], content_id: null, content_field_id: null, language_code: null }, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Form }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/42, id: 42, status: DEFINED, identifier: landing_page, names: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': '' }] }, creationDate: '2015-07-03T12:00:26+00:00', modificationDate: '2015-07-03T12:00:26+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/42/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/42/draft }, remoteId: 60c03e9758465eb69d56b3afb6adf18e, urlAliasSchema: '', nameSchema: '<name>', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PUBLISHED, defaultSortOrder: DESC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/185, id: 185, identifier: name, fieldType: ibexa_string, fieldGroup: content, position: 10, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': Title }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/186, id: 186, identifier: description, fieldType: ibexa_string, fieldGroup: content, position: 20, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Description }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Landing page description' }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/187, id: 187, identifier: page, fieldType: ibexa_landing_page, fieldGroup: content, position: 30, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { layout: default, zones: [{ id: default_id, name: default, blocks: [] }] }, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, fieldSettings: { availableBlocks: null, availableLayouts: null, editorMode: page_view_mode }, validatorConfiguration: [] }] } }] + application/vnd.ibexa.api.ContentTypeList+xml: + schema: + $ref: '#/components/schemas/ContentTypeList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeList media-type="application/vnd.ibexa.api.ContentTypeList+xml" href="/api/ibexa/v2/content/typegroups/1/types"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/2"> + <id>2</id> + <status>DEFINED</status> + <identifier>article</identifier> + <names> + <value languageCode="eng-GB">Article</value> + </names> + <descriptions/> + <creationDate>2002-06-18T09:21:38+00:00</creationDate> + <modificationDate>2004-04-20T09:56:29+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/2/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/2/draft"/> + <remoteId>c15b600eb9198b1924063b5a68758232</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><short_title|title></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>false</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/1"> + <id>1</id> + <identifier>title</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>1</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue>New article</defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Title</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">255</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/152"> + <id>152</id> + <identifier>short_title</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>2</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Short title</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">255</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/153"> + <id>153</id> + <identifier>author</identifier> + <fieldType>ibexa_author</fieldType> + <fieldGroup></fieldGroup> + <position>3</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Author</value> + </names> + <descriptions/> + <fieldSettings> + <value key="defaultAuthor">1</value> + </fieldSettings> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/120"> + <id>120</id> + <identifier>intro</identifier> + <fieldType>ibexa_richtext</fieldType> + <fieldGroup></fieldGroup> + <position>4</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="xml"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + </value> + <value key="xhtml5edit"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + </value> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Intro</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/121"> + <id>121</id> + <identifier>body</identifier> + <fieldType>ibexa_richtext</fieldType> + <fieldGroup></fieldGroup> + <position>5</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="xml"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + </value> + <value key="xhtml5edit"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + </value> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Body</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/123"> + <id>123</id> + <identifier>enable_comments</identifier> + <fieldType>ibexa_boolean</fieldType> + <fieldGroup></fieldGroup> + <position>6</position> + <isTranslatable>false</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue>false</defaultValue> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Enable comments</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/2/fieldDefinitions/154"> + <id>154</id> + <identifier>image</identifier> + <fieldType>ibexa_object_relation</fieldType> + <fieldGroup></fieldGroup> + <position>7</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="destinationContentId"/> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Image</value> + </names> + <descriptions/> + <fieldSettings> + <value key="selectionMethod">SELECTION_BROWSE</value> + <value key="selectionRoot"></value> + <value key="selectionContentTypes"/> + </fieldSettings> + <validatorConfiguration/> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/1"> + <id>1</id> + <status>DEFINED</status> + <identifier>folder</identifier> + <names> + <value languageCode="eng-GB">Folder</value> + </names> + <descriptions/> + <creationDate>2002-06-18T09:21:38+00:00</creationDate> + <modificationDate>2015-11-29T21:14:32+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/1/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/1/draft"/> + <remoteId>a3d405b81be900468eb153d774f4f0d2</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><short_name|name></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>true</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions/4"> + <id>4</id> + <identifier>name</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>1</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue>Folder</defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Name</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">255</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions/155"> + <id>155</id> + <identifier>short_name</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>2</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Short name</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">100</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions/119"> + <id>119</id> + <identifier>short_description</identifier> + <fieldType>ibexa_richtext</fieldType> + <fieldGroup></fieldGroup> + <position>3</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="xml"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + </value> + <value key="xhtml5edit"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + </value> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Short description</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/1/fieldDefinitions/156"> + <id>156</id> + <identifier>description</identifier> + <fieldType>ibexa_richtext</fieldType> + <fieldGroup></fieldGroup> + <position>4</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="xml"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0-variant ezpublish-1.0"/> + </value> + <value key="xhtml5edit"><?xml version="1.0" encoding="UTF-8"?> + <section xmlns="http://ibexa.co/namespaces/ezpublish5/xhtml5/edit"/> + </value> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Description</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/43"> + <id>43</id> + <status>DEFINED</status> + <identifier>form</identifier> + <names> + <value languageCode="eng-GB">Form</value> + </names> + <descriptions/> + <creationDate>2018-09-17T06:46:13+00:00</creationDate> + <modificationDate>2018-09-17T06:47:14+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/43/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/43/draft"/> + <remoteId>6f7f21df775a33c1e4bbc76b48c38476</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><title></nameSchema> + <isContainer>false</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>true</defaultAlwaysAvailable> + <defaultSortField>PUBLISHED</defaultSortField> + <defaultSortOrder>DESC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/43/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/43/fieldDefinitions/188"> + <id>188</id> + <identifier>title</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup>content</fieldGroup> + <position>1</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Title</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength"/> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/43/fieldDefinitions/189"> + <id>189</id> + <identifier>form</identifier> + <fieldType>ibexa_form</fieldType> + <fieldGroup>content</fieldGroup> + <position>2</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="fields"/> + <value key="content_id"/> + <value key="content_field_id"/> + <value key="language_code"/> + </defaultValue> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Form</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration/> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/42"> + <id>42</id> + <status>DEFINED</status> + <identifier>landing_page</identifier> + <names> + <value languageCode="eng-GB">Landing page</value> + </names> + <descriptions> + <value languageCode="eng-GB"></value> + </descriptions> + <creationDate>2015-07-03T12:00:26+00:00</creationDate> + <modificationDate>2015-07-03T12:00:26+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/42/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/42/draft"/> + <remoteId>60c03e9758465eb69d56b3afb6adf18e</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><name></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>true</defaultAlwaysAvailable> + <defaultSortField>PUBLISHED</defaultSortField> + <defaultSortOrder>DESC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/42/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/42/fieldDefinitions/185"> + <id>185</id> + <identifier>name</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup>content</fieldGroup> + <position>10</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Title</value> + </names> + <descriptions> + <value languageCode="eng-GB">Title</value> + </descriptions> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength"/> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/42/fieldDefinitions/186"> + <id>186</id> + <identifier>description</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup>content</fieldGroup> + <position>20</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue/> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Description</value> + </names> + <descriptions> + <value languageCode="eng-GB">Landing page description</value> + </descriptions> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength"/> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/42/fieldDefinitions/187"> + <id>187</id> + <identifier>page</identifier> + <fieldType>ibexa_landing_page</fieldType> + <fieldGroup>content</fieldGroup> + <position>30</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="layout">default</value> + <value key="zones"> + <value> + <value key="id">default_id</value> + <value key="name">default</value> + <value key="blocks"/></value> + </value> + </defaultValue> + <isSearchable>false</isSearchable> + <names> + <value languageCode="eng-GB">Landing page</value> + </names> + <descriptions> + <value languageCode="eng-GB">Landing page</value> + </descriptions> + <fieldSettings> + <value key="availableBlocks"/> + <value key="availableLayouts"/> + <value key="editorMode">page_view_mode</value> + </fieldSettings> + <validatorConfiguration/> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + </ContentTypeList> + application/vnd.ibexa.api.ContentTypeList+json: + schema: + $ref: '#/components/schemas/ContentTypeListWrapper' + example: + ContentTypeList: + _media-type: application/vnd.ibexa.api.ContentTypeList+json + _href: /api/ibexa/v2/content/typegroups/1/types + ContentType: [{ _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2, id: 2, status: DEFINED, identifier: article, names: { value: [{ _languageCode: eng-GB, '#text': Article }] }, descriptions: { value: [] }, creationDate: '2002-06-18T09:21:38+00:00', modificationDate: '2004-04-20T09:56:29+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/2/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/2/draft }, remoteId: c15b600eb9198b1924063b5a68758232, urlAliasSchema: null, nameSchema: '<short_title|title>', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: false, defaultSortField: PATH, defaultSortOrder: ASC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/1, id: 1, identifier: title, fieldType: ibexa_string, fieldGroup: '', position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: 'New article', isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/152, id: 152, identifier: short_title, fieldType: ibexa_string, fieldGroup: '', position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short title' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/153, id: 153, identifier: author, fieldType: ibexa_author, fieldGroup: '', position: 3, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: [], isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Author }] }, descriptions: { value: [] }, fieldSettings: { defaultAuthor: 1 }, validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/120, id: 120, identifier: intro, fieldType: ibexa_richtext, fieldGroup: '', position: 4, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Intro }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/121, id: 121, identifier: body, fieldType: ibexa_richtext, fieldGroup: '', position: 5, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Body }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/123, id: 123, identifier: enable_comments, fieldType: ibexa_boolean, fieldGroup: '', position: 6, isTranslatable: false, isRequired: false, isInfoCollector: false, defaultValue: false, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': 'Enable comments' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/2/fieldDefinitions/154, id: 154, identifier: image, fieldType: ibexa_object_relation, fieldGroup: '', position: 7, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { destinationContentId: null }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Image }] }, descriptions: { value: [] }, fieldSettings: { selectionMethod: SELECTION_BROWSE, selectionRoot: '', selectionContentTypes: [] }, validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1, id: 1, status: DEFINED, identifier: folder, names: { value: [{ _languageCode: eng-GB, '#text': Folder }] }, descriptions: { value: [] }, creationDate: '2002-06-18T09:21:38+00:00', modificationDate: '2015-11-29T21:14:32+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/1/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/1/draft }, remoteId: a3d405b81be900468eb153d774f4f0d2, urlAliasSchema: null, nameSchema: '<short_name|name>', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PATH, defaultSortOrder: ASC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/4, id: 4, identifier: name, fieldType: ibexa_string, fieldGroup: '', position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: Folder, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Name }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 255, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/155, id: 155, identifier: short_name, fieldType: ibexa_string, fieldGroup: '', position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short name' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: 100, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/119, id: 119, identifier: short_description, fieldType: ibexa_richtext, fieldGroup: '', position: 3, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': 'Short description' }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/1/fieldDefinitions/156, id: 156, identifier: description, fieldType: ibexa_richtext, fieldGroup: '', position: 4, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { xml: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"5.0-variant ezpublish-1.0\"/>\n", xhtml5edit: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<section xmlns=\"http://ibexa.co/namespaces/ezpublish5/xhtml5/edit\"/>\n" }, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Description }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/43, id: 43, status: DEFINED, identifier: form, names: { value: [{ _languageCode: eng-GB, '#text': Form }] }, descriptions: { value: [] }, creationDate: '2018-09-17T06:46:13+00:00', modificationDate: '2018-09-17T06:47:14+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/43/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/43/draft }, remoteId: 6f7f21df775a33c1e4bbc76b48c38476, urlAliasSchema: '', nameSchema: '<title>', isContainer: false, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PUBLISHED, defaultSortOrder: DESC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions/188, id: 188, identifier: title, fieldType: ibexa_string, fieldGroup: content, position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/43/fieldDefinitions/189, id: 189, identifier: form, fieldType: ibexa_form, fieldGroup: content, position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { fields: [], content_id: null, content_field_id: null, language_code: null }, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': Form }] }, descriptions: { value: [] }, fieldSettings: [], validatorConfiguration: [] }] } }, { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/42, id: 42, status: DEFINED, identifier: landing_page, names: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': '' }] }, creationDate: '2015-07-03T12:00:26+00:00', modificationDate: '2015-07-03T12:00:26+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Modifier: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, Groups: { _media-type: application/vnd.ibexa.api.ContentTypeGroupRefList+json, _href: /api/ibexa/v2/content/types/42/groups }, Draft: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/42/draft }, remoteId: 60c03e9758465eb69d56b3afb6adf18e, urlAliasSchema: '', nameSchema: '<name>', isContainer: true, mainLanguageCode: eng-GB, defaultAlwaysAvailable: true, defaultSortField: PUBLISHED, defaultSortOrder: DESC, FieldDefinitions: { _media-type: application/vnd.ibexa.api.FieldDefinitionList+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions, FieldDefinition: [{ _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/185, id: 185, identifier: name, fieldType: ibexa_string, fieldGroup: content, position: 10, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': Title }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/186, id: 186, identifier: description, fieldType: ibexa_string, fieldGroup: content, position: 20, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: null, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Description }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Landing page description' }] }, fieldSettings: [], validatorConfiguration: { StringLengthValidator: { maxStringLength: null, minStringLength: null } } }, { _media-type: application/vnd.ibexa.api.FieldDefinition+json, _href: /api/ibexa/v2/content/types/42/fieldDefinitions/187, id: 187, identifier: page, fieldType: ibexa_landing_page, fieldGroup: content, position: 30, isTranslatable: true, isRequired: false, isInfoCollector: false, defaultValue: { layout: default, zones: [{ id: default_id, name: default, blocks: [] }] }, isSearchable: false, names: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': 'Landing page' }] }, fieldSettings: { availableBlocks: null, availableLayouts: null, editorMode: page_view_mode }, validatorConfiguration: [] }] } }] + '401': + description: 'Error - The user has no permission to read the content types.' + summary: 'List content types for group' + description: 'Returns a list of content types in the provided group.' + parameters: + - + name: Accept + in: header + description: 'If set, the list of content type info objects or content types (including Field definitions) is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeGroupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contenttypegroups_contentTypeGroupIdtypes_post + tags: + - 'Type Groups' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.ContentType+xml: + schema: + $ref: '#/components/schemas/ContentType' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/14"> + <id>14</id> + <status>DEFINED</status> + <identifier>copy_of_article_14</identifier> + <names> + <value languageCode="eng-GB">Updated content type name</value> + </names> + <descriptions> + <value languageCode="eng-GB">This is an updated content type description</value> + </descriptions> + <creationDate>2019-02-06T10:56:36+01:00</creationDate> + <modificationDate>2019-02-25T12:15:51+01:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Modifier media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <Groups media-type="application/vnd.ibexa.api.ContentTypeGroupRefList+xml" href="/api/ibexa/v2/content/types/14/groups"/> + <Draft media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/14/draft"/> + <remoteId>d7ae816f22fe929e67a359a2ef6e7cde</remoteId> + <urlAliasSchema></urlAliasSchema> + <nameSchema><short_title|title></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-GB</mainLanguageCode> + <defaultAlwaysAvailable>false</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + <FieldDefinitions media-type="application/vnd.ibexa.api.FieldDefinitionList+xml" href="/api/ibexa/v2/content/types/14/fieldDefinitions"> + <FieldDefinition media-type="application/vnd.ibexa.api.FieldDefinition+xml" href="/api/ibexa/v2/content/types/14/fieldDefinitions/188"> + <id>188</id> + <identifier>title</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup></fieldGroup> + <position>1</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue>New article</defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-GB">Title</value> + </names> + <descriptions/> + <fieldSettings/> + <validatorConfiguration> + <value key="StringLengthValidator"> + <value key="maxStringLength">255</value> + <value key="minStringLength"/></value> + </validatorConfiguration> + </FieldDefinition> + </FieldDefinitions> + </ContentType> + application/vnd.ibexa.api.ContentType+json: + schema: + $ref: '#/components/schemas/ContentTypeWrapper' + '400': + description: 'Error - The input does not match the input schema definition. Validation on a Field definition fails. Validation of the content type fails, e.g. multiple Fields of a same singular Field Type are provided. Publish is set to true and the input is not complete e.g. no Field definitions are provided.' + '401': + description: 'Error - The user is not authorized to create this content type.' + '403': + description: 'Error - A content type with same identifier already exists.' + summary: 'Create content type' + description: 'Creates a new content type draft in the given content type group.' + parameters: + - + name: Accept + in: header + description: 'If set, the new content type or draft is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The content type Create schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: contentTypeGroupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new ContentTypeCreateController resource' + content: + application/vnd.ibexa.api.ContentTypeCreate+xml: + schema: + $ref: '#/components/schemas/ContentTypeCreate' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ContentTypeCreate> + <identifier>newContentType</identifier> + <names> + <value languageCode="eng-US">New content type</value> + </names> + <descriptions> + <value languageCode="eng-US">This is a description</value> + </descriptions> + <remoteId>remoteId-qwert548</remoteId> + <urlAliasSchema><title></urlAliasSchema> + <nameSchema><title></nameSchema> + <isContainer>true</isContainer> + <mainLanguageCode>eng-US</mainLanguageCode> + <defaultAlwaysAvailable>true</defaultAlwaysAvailable> + <defaultSortField>PATH</defaultSortField> + <defaultSortOrder>ASC</defaultSortOrder> + <FieldDefinitions> + <FieldDefinition> + <identifier>title</identifier> + <fieldType>ibexa_string</fieldType> + <fieldGroup>content</fieldGroup> + <position>1</position> + <isTranslatable>true</isTranslatable> + <isRequired>true</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue>New Title</defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-US">Title</value> + </names> + <descriptions> + <value languageCode="eng-US">This is the title</value> + </descriptions> + </FieldDefinition> + <FieldDefinition> + <identifier>summary</identifier> + <fieldType>ezxmltext</fieldType> + <fieldGroup>content</fieldGroup> + <position>2</position> + <isTranslatable>true</isTranslatable> + <isRequired>false</isRequired> + <isInfoCollector>false</isInfoCollector> + <defaultValue> + <value key="xml"><?xml version="1.0" encoding="utf-8"?><section/></value> + </defaultValue> + <isSearchable>true</isSearchable> + <names> + <value languageCode="eng-US">Summary</value> + </names> + <descriptions> + <value languageCode="eng-US">This is the summary</value> + </descriptions> + </FieldDefinition> + </FieldDefinitions> + </ContentTypeCreate> + application/vnd.ibexa.api.ContentTypeCreate+json: + schema: + $ref: '#/components/schemas/ContentTypeCreateWrapper' + example: + ContentTypeCreate: + identifier: new_content_type + names: + value: [{ _languageCode: eng-GB, '#text': 'New content type' }] + descriptions: + value: [{ _languageCode: eng-GB, '#text': 'This is a description' }] + remoteId: remoteId-qwerty548 + urlAliasSchema: '<title>' + nameSchema: '<title>' + isContainer: true + mainLanguageCode: eng-GB + defaultAlwaysAvailable: true + defaultSortField: PATH + defaultSortOrder: ASC + FieldDefinitions: + FieldDefinition: [{ identifier: title, fieldType: ibexa_string, fieldGroup: content, position: 1, isTranslatable: true, isRequired: true, isInfoCollector: false, defaultValue: 'New Title', isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Title }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': 'This is the title' }] } }, { identifier: summary, fieldType: ibexa_richtext, fieldGroup: content, position: 2, isTranslatable: true, isRequired: false, isInfoCollector: false, isSearchable: true, names: { value: [{ _languageCode: eng-GB, '#text': Summary }] }, descriptions: { value: [{ _languageCode: eng-GB, '#text': 'This is the summary' }] } }] + required: false + deprecated: false + /content/urlaliases: + get: + operationId: api_contenturlaliases_get + tags: + - 'Url Alias' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UrlAliasRefList+xml: + schema: + $ref: '#/components/schemas/UrlAliasRefList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UrlAliasRefList media-type="application/vnd.ibexa.api.UrlAliasRefList+xml" href="/api/ibexa/v2/content/urlaliases"> + <UrlAlias media-type="application/vnd.ibexa.api.UrlAlias+xml" href="/api/ibexa/v2/content/urlaliases/0-2cecdff5f90b8595d76b68c417b09f36" /> + </UrlAliasRefList> + application/vnd.ibexa.api.UrlAliasRefList+json: + schema: + $ref: '#/components/schemas/UrlAliasRefListWrapper' + example: + UrlAliasRefList: + _media-type: application/vnd.ibexa.api.UrlAliasRefList+json + _href: /api/ibexa/v2/content/urlaliases + UrlAlias: [{ _media-type: application/vnd.ibexa.api.UrlAlias+json, _href: /api/ibexa/v2/content/urlaliases/0-2cecdff5f90b8595d76b68c417b09f36 }] + '401': + description: 'Error - The user has no permission to read URL aliases.' + summary: 'List global URL aliases' + description: 'Returns the list of global URL aliases.' + parameters: + - + name: Accept + in: header + description: 'If set, the URL alias list contains only references and is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contenturlaliases_post + tags: + - 'Url Alias' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.UrlAlias+xml: + schema: + $ref: '#/components/schemas/UrlAlias' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UrlAlias media-type="application/vnd.ibexa.api.UrlAlias+xml" href="/api/ibexa/v2/content/urlaliases/0-2cecdff5f90b8595d76b68c417b09f36" id="0-2cecdff5f90b8595d76b68c417b09f36" type="RESOURCE"> + <resource>content/view/full</resource> + <path>/example-global</path> + <languageCodes>eng-GB</languageCodes> + <alwaysAvailable>true</alwaysAvailable> + <isHistory>false</isHistory> + <forward>true</forward> + <custom>true</custom> + </UrlAlias> + application/vnd.ibexa.api.UrlAlias+json: + schema: + $ref: '#/components/schemas/UrlAliasWrapper' + example: + UrlAlias: + _media-type: application/vnd.ibexa.api.UrlAlias+json + _href: /api/ibexa/v2/content/urlaliases/0-2cecdff5f90b8595d76b68c417b09f36 + _id: 0-2cecdff5f90b8595d76b68c417b09f36 + _type: RESOURCE + resource: content/view/full + path: /example-global + languageCodes: eng-GB + alwaysAvailable: true + isHistory: false + forward: true + custom: true + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to create a URL alias.' + '403': + description: 'Error - A URL alias with the same identifier already exists.' + summary: 'Create URL alias' + description: 'Creates a URL alias.' + parameters: + - + name: Accept + in: header + description: 'If set, the created URL alias is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The URL alias input schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new URLAliasCreateController resource' + content: + application/vnd.ibexa.api.UrlAliasCreate+xml: + schema: + $ref: '#/components/schemas/UrlAliasCreate' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UrlAliasCreate type="LOCATION"> + <location href='/api/ibexa/v2/content/locations/1/2/59' /> + <path>example-global</path> + <languageCode>eng-GB</languageCode> + <alwaysAvailable>true</alwaysAvailable> + <forward>true</forward> + </UrlAliasCreate> + application/vnd.ibexa.api.UrlAliasCreate+json: + schema: + $ref: '#/components/schemas/UrlAliasCreateWrapper' + example: + UrlAliasCreate: + _type: GLOBAL + resource: 'module:content/view/full' + path: example-global + languageCode: eng-GB + alwaysAvailable: 'true' + forward: 'true' + required: false + deprecated: false + '/content/urlaliases/{urlAliasId}': + get: + operationId: api_contenturlaliases_urlAliasId_get + tags: + - 'Url Alias' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UrlAlias+xml: + schema: + $ref: '#/components/schemas/UrlAlias' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UrlAlias media-type="application/vnd.ibexa.api.UrlAlias+xml" href="/api/ibexa/v2/content/urlaliases/0-2cecdff5f90b8595d76b68c417b09f36" id="0-2cecdff5f90b8595d76b68c417b09f36" type="RESOURCE"> + <resource>content/view/full</resource> + <path>/example-global</path> + <languageCodes>eng-GB</languageCodes> + <alwaysAvailable>true</alwaysAvailable> + <isHistory>false</isHistory> + <forward>true</forward> + <custom>true</custom> + </UrlAlias> + application/vnd.ibexa.api.UrlAlias+json: + schema: + $ref: '#/components/schemas/UrlAliasWrapper' + example: + UrlAlias: + _media-type: application/vnd.ibexa.api.UrlAlias+json + _href: /api/ibexa/v2/content/urlaliases/0-2cecdff5f90b8595d76b68c417b09f36 + _id: 0-2cecdff5f90b8595d76b68c417b09f36 + _type: RESOURCE + resource: content/view/full + path: /example-global + languageCodes: eng-GB + alwaysAvailable: true + isHistory: false + forward: true + custom: true + '401': + description: 'Error - The user is not authorized to read URL aliases.' + '404': + description: 'Error - The URL alias does not exist.' + summary: 'Get URL alias' + description: 'Returns the URL alias with the given ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the URL alias is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: urlAliasId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_contenturlaliases_urlAliasId_delete + tags: + - 'Url Alias' + responses: + '204': + description: 'No Content - URL alias deleted.' + '401': + description: 'Error - The user is not authorized to delete a URL alias.' + '404': + description: 'Error - The URL alias does not exist.' + summary: 'Delete URL alias' + description: 'Deletes the provided URL alias.' + parameters: + - + name: urlAliasId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /content/urlwildcards: + get: + operationId: api_contenturlwildcards_get + tags: + - 'Url Wildcard' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UrlWildcardList+xml: + schema: + $ref: '#/components/schemas/UrlWildcardList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UrlWildcardList media-type="application/vnd.ibexa.api.UrlWildcardList+xml" href="/api/ibexa/v2/content/urlwildcards"> + <UrlWildcard media-type="application/vnd.ibexa.api.UrlWildcard+xml" href="/api/ibexa/v2/content/urlwildcards/1" id="1"> + <sourceUrl>/api/ibexa/v2/content/location/2</sourceUrl> + <destinationUrl>/api/ibexa/v2/content/location/59</destinationUrl> + <forward>true</forward> + </UrlWildcard> + </UrlWildcardList> + application/vnd.ibexa.api.UrlWildcardList+json: + schema: + $ref: '#/components/schemas/UrlWildcardListWrapper' + example: + UrlWildcardList: + _media-type: application/vnd.ibexa.api.UrlWildcardList+json + _href: /api/ibexa/v2/content/urlwildcards + UrlWildcard: [{ _media-type: application/vnd.ibexa.api.UrlWildcard+json, _href: /api/ibexa/v2/content/urlwildcards/1, _id: 1, sourceUrl: /api/ibexa/v2/content/location/2, destinationUrl: /api/ibexa/v2/content/location/59, forward: true }] + '401': + description: 'Error - The user has no permission to read URL wildcards.' + summary: 'List URL wildcards' + description: 'Returns a list of URL wildcards.' + parameters: + - + name: Accept + in: header + description: 'If set, the URL wildcard is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_contenturlwildcards_post + tags: + - 'Url Wildcard' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.UrlWildcard+xml: + schema: + $ref: '#/components/schemas/UrlWildcard' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UrlWildcard media-type="application/vnd.ibexa.api.UrlWildcard+xml" href="/api/ibexa/v2/content/urlwildcards/4" id="4"> + <sourceUrl>/api/ibexa/v2/content/location/2</sourceUrl> + <destinationUrl>/api/ibexa/v2/content/location/59</destinationUrl> + <forward>true</forward> + </UrlWildcard> + application/vnd.ibexa.api.UrlWildcard+json: + schema: + $ref: '#/components/schemas/UrlWildcardWrapper' + example: + UrlWildcard: + _media-type: application/vnd.ibexa.api.UrlWildcard+json + _href: /api/ibexa/v2/content/urlwildcards/4 + _id: 4 + sourceUrl: /api/ibexa/v2/content/location/2 + destinationUrl: /api/ibexa/v2/content/location/59 + forward: true + '400': + description: 'Error - The input does not match the input schema definition.' + '401': + description: 'Error - The user is not authorized to create a URL wildcard.' + '403': + description: 'Error - A URL wildcard with the same identifier already exists.' + summary: 'Create URL wildcard' + description: 'Creates a new URL wildcard.' + parameters: + - + name: Accept + in: header + description: 'If set, the new URL wildcard is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The URL Wildcard input schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new URLWildcardCreateController resource' + content: + application/vnd.ibexa.api.UrlWildcardCreate+xml: + schema: + $ref: '#/components/schemas/UrlWildcardCreate' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UrlWildcardCreate> + <sourceUrl>/api/ibexa/v2/content/location/2</sourceUrl> + <destinationUrl>/api/ibexa/v2/content/location/59</destinationUrl> + <forward>true</forward> + </UrlWildcardCreate> + application/vnd.ibexa.api.UrlWildcardCreate+json: + schema: + $ref: '#/components/schemas/UrlWildcardCreateWrapper' + example: + URLWildcardCreate: + sourceUrl: /api/ibexa/v2/content/location/2 + destinationUrl: /api/ibexa/v2/content/location/59 + forward: true + required: false + deprecated: false + '/content/urlwildcards/{wildcardId}': + get: + operationId: api_contenturlwildcards_wildcardId_get + tags: + - 'Url Wildcard' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UrlWildcard+xml: + schema: + $ref: '#/components/schemas/UrlWildcard' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UrlWildcard media-type="application/vnd.ibexa.api.UrlWildcard+xml" href="/api/ibexa/v2/content/urlwildcards/4" id="4"> + <sourceUrl>/api/ibexa/v2/content/location/2</sourceUrl> + <destinationUrl>/api/ibexa/v2/content/location/59</destinationUrl> + <forward>true</forward> + </UrlWildcard> + application/vnd.ibexa.api.UrlWildcard+json: + schema: + $ref: '#/components/schemas/UrlWildcardWrapper' + example: + UrlWildcard: + _media-type: application/vnd.ibexa.api.UrlWildcard+json + _href: /api/ibexa/v2/content/urlwildcards/4 + _id: 4 + sourceUrl: /api/ibexa/v2/content/location/2 + destinationUrl: /api/ibexa/v2/content/location/59 + forward: true + '401': + description: 'Error - The user is not authorized to read URL wildcards.' + '404': + description: 'Error - The URL wildcard does not exist.' + summary: 'Get URL wildcard' + description: 'Returns the URL wildcard with the given ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the URL wildcard is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: wildcardId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_contenturlwildcards_wildcardId_delete + tags: + - 'Url Wildcard' + responses: + '204': + description: 'No Content - URL wildcard deleted.' + '401': + description: 'Error - The user is not authorized to delete a URL wildcard.' + '404': + description: 'Error - The URL wildcard does not exist.' + summary: 'Delete URL wildcard' + description: 'Deletes the given URL wildcard.' + parameters: + - + name: wildcardId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /user/current: + get: + operationId: api_usercurrent_get + tags: + - User + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.User+xml: + schema: + $ref: '#/components/schemas/UserList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserList media-type="application/vnd.ibexa.api.UserList+xml" href="/api/ibexa/v2/user/users"> + <User media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/79" id="79" remoteId="bcf0764b417f05af21852a1f03fb1f13"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/4"/> + <name>Jose Vargas</name> + <Versions media-type="application/vnd.ibexa.api.VersionList+xml" href="/api/ibexa/v2/content/objects/79/versions"/> + <Section media-type="application/vnd.ibexa.api.Section+xml" href="/api/ibexa/v2/content/sections/2"/> + <MainLocation media-type="application/vnd.ibexa.api.Location+xml" href="/api/ibexa/v2/content/locations/1/5/12/79"/> + <Locations media-type="application/vnd.ibexa.api.LocationList+xml" href="/api/ibexa/v2/content/objects/79/locations"/> + <Groups media-type="application/vnd.ibexa.api.UserGroupRefList+xml" href="/api/ibexa/v2/user/users/79/groups"/> + <Owner media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/10"/> + <publishDate>2021-06-29T08:23:42+00:00</publishDate> + <lastModificationDate>2021-06-29T08:23:42+00:00</lastModificationDate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <alwaysAvailable>true</alwaysAvailable> + <Version media-type="application/vnd.ibexa.api.Version+xml" href="/api/ibexa/v2/content/objects/79/versions/1"> + <VersionInfo> + <id>547</id> + <versionNo>1</versionNo> + <status>PUBLISHED</status> + <modificationDate>2021-06-29T08:23:42+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/10"/> + <creationDate>2021-06-29T08:23:42+00:00</creationDate> + <initialLanguageCode>eng-GB</initialLanguageCode> + <languageCodes>eng-GB</languageCodes> + <VersionTranslationInfo media-type="application/vnd.ibexa.api.VersionTranslationInfo+xml"> + <Language> + <languageCode>eng-GB</languageCode> + </Language> + </VersionTranslationInfo> + <names> + <value languageCode="eng-GB">Jose Vargas</value> + </names> + <Content media-type="application/vnd.ibexa.api.ContentInfo+xml" href="/api/ibexa/v2/content/objects/79"/> + </VersionInfo> + <Fields> + <field> + <id>342</id> + <fieldDefinitionIdentifier>first_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>Jose</fieldValue> + </field> + <field> + <id>343</id> + <fieldDefinitionIdentifier>last_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>Vargas</fieldValue> + </field> + <field> + <id>344</id> + <fieldDefinitionIdentifier>user_account</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_user</fieldTypeIdentifier> + <fieldValue> + <value key="hasStoredLogin">true</value> + <value key="contentId">79</value> + <value key="login">josevargas</value> + <value key="email">aa@bb.cc</value> + <value key="passwordUpdatedAt">1624955022</value> + <value key="enabled">true</value> + <value key="maxLogin">0</value> + <value key="plainPassword"/> + </fieldValue> + </field> + <field> + <id>345</id> + <fieldDefinitionIdentifier>signature</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_text</fieldTypeIdentifier> + <fieldValue/> + </field> + <field> + <id>346</id> + <fieldDefinitionIdentifier>image</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_image</fieldTypeIdentifier> + <fieldValue/> + </field> + </Fields> + <Relations media-type="application/vnd.ibexa.api.RelationList+xml" href="/api/ibexa/v2/content/objects/79/versions/1/relations"/> + <Thumbnail media-type="application/vnd.ibexa.api.Thumbnail+xml"> + <resource>/bundles/ezplatformadminui/img/ez-icons.svg#user</resource> + <width></width> + <height></height> + <mimeType>image/svg+xml</mimeType> + </Thumbnail> + </Version> + <login>josevargas</login> + <email>aa@bb.cc</email> + <enabled>true</enabled> + <UserGroups media-type="application/vnd.ibexa.api.UserGroupList+xml" href="/api/ibexa/v2/user/users/79/groups"/> + <Roles media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/users/79/roles"/> + </User> + </UserList> + application/vnd.ibexa.api.User+json: + schema: + $ref: '#/components/schemas/UserListWrapper' + example: + UserList: + _media-type: application/vnd.ibexa.api.UserList+json + _href: /api/ibexa/v2/user/users + User: [{ _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/79, _id: 79, _remoteId: bcf0764b417f05af21852a1f03fb1f13, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/4 }, name: 'Jose Vargas', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/79/versions }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/2 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/5/12/79 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/79/locations }, Groups: { _media-type: application/vnd.ibexa.api.UserGroupRefList+json, _href: /api/ibexa/v2/user/users/79/groups }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/10 }, publishDate: '2021-06-29T08:23:42+00:00', lastModificationDate: '2021-06-29T08:23:42+00:00', mainLanguageCode: eng-GB, alwaysAvailable: true, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/79/versions/1, VersionInfo: { id: 547, versionNo: 1, status: PUBLISHED, modificationDate: '2021-06-29T08:23:42+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/10 }, creationDate: '2021-06-29T08:23:42+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Jose Vargas' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/79 } }, Fields: { field: [{ id: 342, fieldDefinitionIdentifier: first_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Jose }, { id: 343, fieldDefinitionIdentifier: last_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Vargas }, { id: 344, fieldDefinitionIdentifier: user_account, languageCode: eng-GB, fieldTypeIdentifier: ibexa_user, fieldValue: { hasStoredLogin: true, contentId: 79, login: josevargas, email: aa@bb.cc, passwordUpdatedAt: 1624955022, enabled: true, maxLogin: 0, plainPassword: null } }, { id: 345, fieldDefinitionIdentifier: signature, languageCode: eng-GB, fieldTypeIdentifier: ibexa_text, fieldValue: null }, { id: 346, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image, fieldValue: null }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/79/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ezplatformadminui/img/ez-icons.svg#user', width: null, height: null, mimeType: image/svg+xml } }, login: josevargas, email: aa@bb.cc, enabled: true, UserGroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/users/79/groups }, Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/users/79/roles } }] + '401': + description: "Error - the user has no permission to read Users. For example, Anonymous user can't load oneself." + summary: 'Load current User' + description: 'Loads the current user.' + parameters: + - + name: Accept + in: header + description: 'If set, the User is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /user/users: + get: + operationId: api_userusers_get + tags: + - User + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UserList+xml: + schema: + $ref: '#/components/schemas/UserList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserList media-type="application/vnd.ibexa.api.UserList+xml" href="/api/ibexa/v2/user/users"> + <User media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/79" id="79" remoteId="bcf0764b417f05af21852a1f03fb1f13"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/4"/> + <name>Jose Vargas</name> + <Versions media-type="application/vnd.ibexa.api.VersionList+xml" href="/api/ibexa/v2/content/objects/79/versions"/> + <Section media-type="application/vnd.ibexa.api.Section+xml" href="/api/ibexa/v2/content/sections/2"/> + <MainLocation media-type="application/vnd.ibexa.api.Location+xml" href="/api/ibexa/v2/content/locations/1/5/12/79"/> + <Locations media-type="application/vnd.ibexa.api.LocationList+xml" href="/api/ibexa/v2/content/objects/79/locations"/> + <Groups media-type="application/vnd.ibexa.api.UserGroupRefList+xml" href="/api/ibexa/v2/user/users/79/groups"/> + <Owner media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/10"/> + <publishDate>2021-06-29T08:23:42+00:00</publishDate> + <lastModificationDate>2021-06-29T08:23:42+00:00</lastModificationDate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <alwaysAvailable>true</alwaysAvailable> + <Version media-type="application/vnd.ibexa.api.Version+xml" href="/api/ibexa/v2/content/objects/79/versions/1"> + <VersionInfo> + <id>547</id> + <versionNo>1</versionNo> + <status>PUBLISHED</status> + <modificationDate>2021-06-29T08:23:42+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/10"/> + <creationDate>2021-06-29T08:23:42+00:00</creationDate> + <initialLanguageCode>eng-GB</initialLanguageCode> + <languageCodes>eng-GB</languageCodes> + <VersionTranslationInfo media-type="application/vnd.ibexa.api.VersionTranslationInfo+xml"> + <Language> + <languageCode>eng-GB</languageCode> + </Language> + </VersionTranslationInfo> + <names> + <value languageCode="eng-GB">Jose Vargas</value> + </names> + <Content media-type="application/vnd.ibexa.api.ContentInfo+xml" href="/api/ibexa/v2/content/objects/79"/> + </VersionInfo> + <Fields> + <field> + <id>342</id> + <fieldDefinitionIdentifier>first_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>Jose</fieldValue> + </field> + <field> + <id>343</id> + <fieldDefinitionIdentifier>last_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>Vargas</fieldValue> + </field> + <field> + <id>344</id> + <fieldDefinitionIdentifier>user_account</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_user</fieldTypeIdentifier> + <fieldValue> + <value key="hasStoredLogin">true</value> + <value key="contentId">79</value> + <value key="login">josevargas</value> + <value key="email">aa@bb.cc</value> + <value key="passwordUpdatedAt">1624955022</value> + <value key="enabled">true</value> + <value key="maxLogin">0</value> + <value key="plainPassword"/> + </fieldValue> + </field> + <field> + <id>345</id> + <fieldDefinitionIdentifier>signature</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_text</fieldTypeIdentifier> + <fieldValue/> + </field> + <field> + <id>346</id> + <fieldDefinitionIdentifier>image</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_image</fieldTypeIdentifier> + <fieldValue/> + </field> + </Fields> + <Relations media-type="application/vnd.ibexa.api.RelationList+xml" href="/api/ibexa/v2/content/objects/79/versions/1/relations"/> + <Thumbnail media-type="application/vnd.ibexa.api.Thumbnail+xml"> + <resource>/bundles/ezplatformadminui/img/ez-icons.svg#user</resource> + <width></width> + <height></height> + <mimeType>image/svg+xml</mimeType> + </Thumbnail> + </Version> + <login>josevargas</login> + <email>aa@bb.cc</email> + <enabled>true</enabled> + <UserGroups media-type="application/vnd.ibexa.api.UserGroupList+xml" href="/api/ibexa/v2/user/users/79/groups"/> + <Roles media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/users/79/roles"/> + </User> + </UserList> + application/vnd.ibexa.api.UserList+json: + schema: + $ref: '#/components/schemas/UserListWrapper' + example: + UserList: + _media-type: application/vnd.ibexa.api.UserList+json + _href: /api/ibexa/v2/user/users + User: [{ _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/79, _id: 79, _remoteId: bcf0764b417f05af21852a1f03fb1f13, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/4 }, name: 'Jose Vargas', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/79/versions }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/2 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/5/12/79 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/79/locations }, Groups: { _media-type: application/vnd.ibexa.api.UserGroupRefList+json, _href: /api/ibexa/v2/user/users/79/groups }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/10 }, publishDate: '2021-06-29T08:23:42+00:00', lastModificationDate: '2021-06-29T08:23:42+00:00', mainLanguageCode: eng-GB, alwaysAvailable: true, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/79/versions/1, VersionInfo: { id: 547, versionNo: 1, status: PUBLISHED, modificationDate: '2021-06-29T08:23:42+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/10 }, creationDate: '2021-06-29T08:23:42+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Jose Vargas' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/79 } }, Fields: { field: [{ id: 342, fieldDefinitionIdentifier: first_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Jose }, { id: 343, fieldDefinitionIdentifier: last_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Vargas }, { id: 344, fieldDefinitionIdentifier: user_account, languageCode: eng-GB, fieldTypeIdentifier: ibexa_user, fieldValue: { hasStoredLogin: true, contentId: 79, login: josevargas, email: aa@bb.cc, passwordUpdatedAt: 1624955022, enabled: true, maxLogin: 0, plainPassword: null } }, { id: 345, fieldDefinitionIdentifier: signature, languageCode: eng-GB, fieldTypeIdentifier: ibexa_text, fieldValue: null }, { id: 346, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image, fieldValue: null }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/79/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ezplatformadminui/img/ez-icons.svg#user', width: null, height: null, mimeType: image/svg+xml } }, login: josevargas, email: aa@bb.cc, enabled: true, UserGroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/users/79/groups }, Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/users/79/roles } }] + application/vnd.ibexa.api.UserRefList+xml: + schema: + $ref: '#/components/schemas/UserRefList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserRefList media-type="application/vnd.ibexa.api.UserRefList+xml" href="/api/ibexa/v2/user/users"> + <User media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + </UserRefList> + application/vnd.ibexa.api.UserRefList+json: + schema: + $ref: '#/components/schemas/UserRefListWrapper' + '404': + description: 'If there are no visible Users matching the filter.' + summary: 'List Users' + description: 'Load Users either for a given remote ID or Role.' + parameters: + - + name: Accept + in: header + description: 'UserList - If set, the User list is returned in XML or JSON format. UserRefList - If set, the link list of Users is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + head: + operationId: api_userusers_head + tags: + - User + responses: + '200': + description: 'OK - verifies if there are Users matching the given filter.' + '404': + description: 'Error - there are no visible Users matching the filter.' + summary: 'Verify Users' + description: 'Verifies if there are Users matching given filter.' + parameters: [] + deprecated: false + '/user/users/{userId}': + get: + operationId: api_userusers_userId_get + tags: + - User + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.User+xml: + schema: + $ref: '#/components/schemas/UserList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserList media-type="application/vnd.ibexa.api.UserList+xml" href="/api/ibexa/v2/user/users"> + <User media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/79" id="79" remoteId="bcf0764b417f05af21852a1f03fb1f13"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/4"/> + <name>Jose Vargas</name> + <Versions media-type="application/vnd.ibexa.api.VersionList+xml" href="/api/ibexa/v2/content/objects/79/versions"/> + <Section media-type="application/vnd.ibexa.api.Section+xml" href="/api/ibexa/v2/content/sections/2"/> + <MainLocation media-type="application/vnd.ibexa.api.Location+xml" href="/api/ibexa/v2/content/locations/1/5/12/79"/> + <Locations media-type="application/vnd.ibexa.api.LocationList+xml" href="/api/ibexa/v2/content/objects/79/locations"/> + <Groups media-type="application/vnd.ibexa.api.UserGroupRefList+xml" href="/api/ibexa/v2/user/users/79/groups"/> + <Owner media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/10"/> + <publishDate>2021-06-29T08:23:42+00:00</publishDate> + <lastModificationDate>2021-06-29T08:23:42+00:00</lastModificationDate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <alwaysAvailable>true</alwaysAvailable> + <Version media-type="application/vnd.ibexa.api.Version+xml" href="/api/ibexa/v2/content/objects/79/versions/1"> + <VersionInfo> + <id>547</id> + <versionNo>1</versionNo> + <status>PUBLISHED</status> + <modificationDate>2021-06-29T08:23:42+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/10"/> + <creationDate>2021-06-29T08:23:42+00:00</creationDate> + <initialLanguageCode>eng-GB</initialLanguageCode> + <languageCodes>eng-GB</languageCodes> + <VersionTranslationInfo media-type="application/vnd.ibexa.api.VersionTranslationInfo+xml"> + <Language> + <languageCode>eng-GB</languageCode> + </Language> + </VersionTranslationInfo> + <names> + <value languageCode="eng-GB">Jose Vargas</value> + </names> + <Content media-type="application/vnd.ibexa.api.ContentInfo+xml" href="/api/ibexa/v2/content/objects/79"/> + </VersionInfo> + <Fields> + <field> + <id>342</id> + <fieldDefinitionIdentifier>first_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>Jose</fieldValue> + </field> + <field> + <id>343</id> + <fieldDefinitionIdentifier>last_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>Vargas</fieldValue> + </field> + <field> + <id>344</id> + <fieldDefinitionIdentifier>user_account</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_user</fieldTypeIdentifier> + <fieldValue> + <value key="hasStoredLogin">true</value> + <value key="contentId">79</value> + <value key="login">josevargas</value> + <value key="email">aa@bb.cc</value> + <value key="passwordUpdatedAt">1624955022</value> + <value key="enabled">true</value> + <value key="maxLogin">0</value> + <value key="plainPassword"/> + </fieldValue> + </field> + <field> + <id>345</id> + <fieldDefinitionIdentifier>signature</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_text</fieldTypeIdentifier> + <fieldValue/> + </field> + <field> + <id>346</id> + <fieldDefinitionIdentifier>image</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_image</fieldTypeIdentifier> + <fieldValue/> + </field> + </Fields> + <Relations media-type="application/vnd.ibexa.api.RelationList+xml" href="/api/ibexa/v2/content/objects/79/versions/1/relations"/> + <Thumbnail media-type="application/vnd.ibexa.api.Thumbnail+xml"> + <resource>/bundles/ezplatformadminui/img/ez-icons.svg#user</resource> + <width></width> + <height></height> + <mimeType>image/svg+xml</mimeType> + </Thumbnail> + </Version> + <login>josevargas</login> + <email>aa@bb.cc</email> + <enabled>true</enabled> + <UserGroups media-type="application/vnd.ibexa.api.UserGroupList+xml" href="/api/ibexa/v2/user/users/79/groups"/> + <Roles media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/users/79/roles"/> + </User> + </UserList> + application/vnd.ibexa.api.User+json: + schema: + $ref: '#/components/schemas/UserListWrapper' + example: + UserList: + _media-type: application/vnd.ibexa.api.UserList+json + _href: /api/ibexa/v2/user/users + User: [{ _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/79, _id: 79, _remoteId: bcf0764b417f05af21852a1f03fb1f13, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/4 }, name: 'Jose Vargas', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/79/versions }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/2 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/5/12/79 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/79/locations }, Groups: { _media-type: application/vnd.ibexa.api.UserGroupRefList+json, _href: /api/ibexa/v2/user/users/79/groups }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/10 }, publishDate: '2021-06-29T08:23:42+00:00', lastModificationDate: '2021-06-29T08:23:42+00:00', mainLanguageCode: eng-GB, alwaysAvailable: true, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/79/versions/1, VersionInfo: { id: 547, versionNo: 1, status: PUBLISHED, modificationDate: '2021-06-29T08:23:42+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/10 }, creationDate: '2021-06-29T08:23:42+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Jose Vargas' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/79 } }, Fields: { field: [{ id: 342, fieldDefinitionIdentifier: first_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Jose }, { id: 343, fieldDefinitionIdentifier: last_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Vargas }, { id: 344, fieldDefinitionIdentifier: user_account, languageCode: eng-GB, fieldTypeIdentifier: ibexa_user, fieldValue: { hasStoredLogin: true, contentId: 79, login: josevargas, email: aa@bb.cc, passwordUpdatedAt: 1624955022, enabled: true, maxLogin: 0, plainPassword: null } }, { id: 345, fieldDefinitionIdentifier: signature, languageCode: eng-GB, fieldTypeIdentifier: ibexa_text, fieldValue: null }, { id: 346, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image, fieldValue: null }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/79/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ezplatformadminui/img/ez-icons.svg#user', width: null, height: null, mimeType: image/svg+xml } }, login: josevargas, email: aa@bb.cc, enabled: true, UserGroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/users/79/groups }, Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/users/79/roles } }] + '401': + description: 'Error - the user has no permission to read Users.' + '404': + description: 'Error - the User does not exist.' + summary: 'Load User' + description: 'Loads User with the given ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the User is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_userusers_userId_delete + tags: + - User + responses: + '204': + description: 'No Content.' + '401': + description: 'Error - the user is not authorized to delete this User.' + '403': + description: 'Error - the user is the same as the authenticated User.' + '404': + description: 'Error - the User does not exist.' + summary: 'Delete User' + description: 'Deletes the given User.' + parameters: + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_userusers_userId_patch + tags: + - User + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.User+xml: + schema: + $ref: '#/components/schemas/User' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <User media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/79" id="79" remoteId="bcf0764b417f05af21852a1f03fb1f13"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/4"/> + <name>Jose Vargas</name> + <Versions media-type="application/vnd.ibexa.api.VersionList+xml" href="/api/ibexa/v2/content/objects/79/versions"/> + <Section media-type="application/vnd.ibexa.api.Section+xml" href="/api/ibexa/v2/content/sections/2"/> + <MainLocation media-type="application/vnd.ibexa.api.Location+xml" href="/api/ibexa/v2/content/locations/1/5/12/79"/> + <Locations media-type="application/vnd.ibexa.api.LocationList+xml" href="/api/ibexa/v2/content/objects/79/locations"/> + <Groups media-type="application/vnd.ibexa.api.UserGroupRefList+xml" href="/api/ibexa/v2/user/users/79/groups"/> + <Owner media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/10"/> + <publishDate>2021-06-29T08:23:42+00:00</publishDate> + <lastModificationDate>2021-07-29T11:45:07+00:00</lastModificationDate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <alwaysAvailable>true</alwaysAvailable> + <Version media-type="application/vnd.ibexa.api.Version+xml" href="/api/ibexa/v2/content/objects/79/versions/6"> + <VersionInfo> + <id>609</id> + <versionNo>6</versionNo> + <status>PUBLISHED</status> + <modificationDate>2021-07-29T11:45:07+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <creationDate>2021-07-29T11:45:07+00:00</creationDate> + <initialLanguageCode>eng-GB</initialLanguageCode> + <languageCodes>eng-GB</languageCodes> + <VersionTranslationInfo media-type="application/vnd.ibexa.api.VersionTranslationInfo+xml"> + <Language> + <languageCode>eng-GB</languageCode> + </Language> + </VersionTranslationInfo> + <names> + <value languageCode="eng-GB">Jose Vargas</value> + </names> + <Content media-type="application/vnd.ibexa.api.ContentInfo+xml" href="/api/ibexa/v2/content/objects/79"/> + </VersionInfo> + <Fields> + <field> + <id>342</id> + <fieldDefinitionIdentifier>first_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>Jose</fieldValue> + </field> + <field> + <id>343</id> + <fieldDefinitionIdentifier>last_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>Vargas</fieldValue> + </field> + <field> + <id>344</id> + <fieldDefinitionIdentifier>user_account</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_user</fieldTypeIdentifier> + <fieldValue> + <value key="hasStoredLogin">true</value> + <value key="contentId">79</value> + <value key="login">josevargas</value> + <value key="email">aa@bb.cc</value> + <value key="passwordUpdatedAt"/> + <value key="enabled">false</value> + <value key="maxLogin">0</value> + <value key="plainPassword"/> + </fieldValue> + </field> + <field> + <id>345</id> + <fieldDefinitionIdentifier>signature</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_text</fieldTypeIdentifier> + <fieldValue/> + </field> + <field> + <id>346</id> + <fieldDefinitionIdentifier>image</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_image</fieldTypeIdentifier> + <fieldValue/> + </field> + </Fields> + <Relations media-type="application/vnd.ibexa.api.RelationList+xml" href="/api/ibexa/v2/content/objects/79/versions/6/relations"/> + <Thumbnail media-type="application/vnd.ibexa.api.Thumbnail+xml"> + <resource>/bundles/ezplatformadminui/img/ez-icons.svg#user</resource> + <width></width> + <height></height> + <mimeType>image/svg+xml</mimeType> + </Thumbnail> + </Version> + <login>josevargas</login> + <email>aa@bb.cc</email> + <enabled>false</enabled> + <UserGroups media-type="application/vnd.ibexa.api.UserGroupList+xml" href="/api/ibexa/v2/user/users/79/groups"/> + <Roles media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/users/79/roles"/> + </User> + application/vnd.ibexa.api.User+json: + schema: + $ref: '#/components/schemas/UserWrapper' + example: + User: + _media-type: application/vnd.ibexa.api.User+json + _href: /api/ibexa/v2/user/users/79 + _id: 79 + _remoteId: bcf0764b417f05af21852a1f03fb1f13 + ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/4 } + name: 'Jose Vargas' + Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/79/versions } + Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/2 } + MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/5/12/79 } + Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/79/locations } + Groups: { _media-type: application/vnd.ibexa.api.UserGroupRefList+json, _href: /api/ibexa/v2/user/users/79/groups } + Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/10 } + publishDate: '2021-06-29T08:23:42+00:00' + lastModificationDate: '2021-07-29T12:00:24+00:00' + mainLanguageCode: eng-GB + alwaysAvailable: true + Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/79/versions/11, VersionInfo: { id: 614, versionNo: 11, status: PUBLISHED, modificationDate: '2021-07-29T12:00:24+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2021-07-29T12:00:24+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Jose Vargas' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/79 } }, Fields: { field: [{ id: 342, fieldDefinitionIdentifier: first_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Jose }, { id: 343, fieldDefinitionIdentifier: last_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Vargas }, { id: 344, fieldDefinitionIdentifier: user_account, languageCode: eng-GB, fieldTypeIdentifier: ibexa_user, fieldValue: { hasStoredLogin: true, contentId: 79, login: josevargas, email: aa@bb.cc, passwordUpdatedAt: null, enabled: false, maxLogin: 0, plainPassword: null } }, { id: 345, fieldDefinitionIdentifier: signature, languageCode: eng-GB, fieldTypeIdentifier: ibexa_text, fieldValue: null }, { id: 346, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image, fieldValue: null }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/79/versions/11/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ezplatformadminui/img/ez-icons.svg#user', width: null, height: null, mimeType: image/svg+xml } } + login: josevargas + email: aa@bb.cc + enabled: false + UserGroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/users/79/groups } + Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/users/79/roles } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update the User.' + '404': + description: 'Error - the User does not exist.' + '412': + description: 'Error - the current ETag does not match with the provided one in the If-Match header.' + summary: 'Update User' + description: 'Updates a User.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated User is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The UserUpdate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-Match + in: header + description: 'Performs a PATCH only if the specified ETag is the current one.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated UserUpdateController resource' + content: + application/vnd.ibexa.api.UserUpdate+xml: + schema: + $ref: '#/components/schemas/UserUpdate' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserUpdate> + <login>josevargas</login> + <enabled>false</enabled> + </UserUpdate> + application/vnd.ibexa.api.UserUpdate+json: + schema: + $ref: '#/components/schemas/UserUpdateWrapper' + example: + UserUpdate: + login: josevargas + enabled: false + required: false + deprecated: false + '/user/users/{userId}/drafts': + get: + operationId: api_userusers_userIddrafts_get + tags: + - User + responses: + '200': + description: 'OK - List the draft versions' + content: + application/vnd.ibexa.api.VersionList+xml: + schema: + $ref: '#/components/schemas/VersionList' + application/vnd.ibexa.api.VersionList+json: + schema: + $ref: '#/components/schemas/VersionListWrapper' + '401': + description: 'Error - the current user is not authorized to list the drafts of the given user.' + summary: 'Load user drafts' + description: "Loads user's drafts" + parameters: + - + name: Accept + in: header + description: 'If set, the version list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/user/users/{userId}/groups': + get: + operationId: api_userusers_userIdgroups_get + tags: + - User + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UserGroupRefList+xml: + schema: + $ref: '#/components/schemas/UserGroupRefList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserGroupRefList media-type="application/vnd.ibexa.api.UserGroupRefList+xml" href="/api/ibexa/v2/user/users/115/groups"> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/12"> + <unassign href="/api/ibexa/v2/user/users/79/groups/12" method="DELETE"/> + </UserGroup> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/13"> + <unassign href="/api/ibexa/v2/user/users/115/groups/13" method="DELETE"/> + </UserGroup> + </UserGroupRefList> + application/vnd.ibexa.api.UserGroupRefList+json: + schema: + $ref: '#/components/schemas/UserGroupRefListWrapper' + example: + UserGroupRefList: + _media-type: application/vnd.ibexa.api.UserGroupRefList+json + _href: /api/ibexa/v2/user/users/57/groups + UserGroup: [{ _media-type: application/vnd.ibexa.api.UserGroup+json, _href: /api/ibexa/v2/user/groups/1/5/13 }] + '401': + description: 'Error - the user has no permission to read User Groups.' + '404': + description: 'Error - the user does not exist.' + summary: 'Load Groups of User' + description: 'Returns a list of User Groups the User belongs to. The returned list includes the resources for unassigning a User Group if the User is in multiple groups.' + parameters: + - + name: Accept + in: header + description: 'If set, the link list of User Groups is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_userusers_userIdgroups_post + tags: + - User + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UserGroupRefList+xml: + schema: + $ref: '#/components/schemas/UserGroupRefList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserGroupRefList media-type="application/vnd.ibexa.api.UserGroupRefList+xml" href="/api/ibexa/v2/user/users/115/groups"> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/12"> + <unassign href="/api/ibexa/v2/user/users/79/groups/12" method="DELETE"/> + </UserGroup> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/13"> + <unassign href="/api/ibexa/v2/user/users/115/groups/13" method="DELETE"/> + </UserGroup> + </UserGroupRefList> + application/vnd.ibexa.api.UserGroupRefList+json: + schema: + $ref: '#/components/schemas/UserGroupRefListWrapper' + example: + UserGroupRefList: + _media-type: application/vnd.ibexa.api.UserGroupRefList+json + _href: /api/ibexa/v2/user/users/57/groups + UserGroup: [{ _media-type: application/vnd.ibexa.api.UserGroup+json, _href: /api/ibexa/v2/user/groups/1/5/13 }] + '401': + description: 'Error - the user is not authorized to assign User Groups.' + '403': + description: 'Error - the new User Group does not exist or the User is already in this group.' + '404': + description: 'Error - the User does not exist.' + summary: 'Assign User Group' + description: 'Assigns the User to a User Group.' + parameters: + - + name: Accept + in: header + description: 'If set, the link list of User Groups is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new UserAssignToUserGroupController resource' + content: { } + required: false + deprecated: false + '/user/users/{userId}/groups/{groupId}': + delete: + operationId: api_userusers_userIdgroups_groupId_delete + tags: + - User + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UserGroupRefList+xml: + schema: + $ref: '#/components/schemas/UserGroupRefList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserGroupRefList media-type="application/vnd.ibexa.api.UserGroupRefList+xml" href="/api/ibexa/v2/user/users/115/groups"> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/12"> + <unassign href="/api/ibexa/v2/user/users/79/groups/12" method="DELETE"/> + </UserGroup> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/13"> + <unassign href="/api/ibexa/v2/user/users/115/groups/13" method="DELETE"/> + </UserGroup> + </UserGroupRefList> + application/vnd.ibexa.api.UserGroupRefList+json: + schema: + $ref: '#/components/schemas/UserGroupRefListWrapper' + example: + UserGroupRefList: + _media-type: application/vnd.ibexa.api.UserGroupRefList+json + _href: /api/ibexa/v2/user/users/57/groups + UserGroup: [{ _media-type: application/vnd.ibexa.api.UserGroup+json, _href: /api/ibexa/v2/user/groups/1/5/13 }] + '401': + description: 'Error - the user is not authorized to unassign User Groups.' + '403': + description: 'Error - the User is not in the given group.' + '404': + description: 'Error - the User does not exist.' + '204': + description: 'UserUnassignFromUserGroupController resource deleted' + summary: 'Unassign User Group' + description: 'Unassigns the User from a User Group.' + parameters: + - + name: Accept + in: header + description: 'If set, the link list of User Groups is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: groupId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/user/users/{userId}/roles': + get: + operationId: api_userusers_userIdroles_get + tags: + - User + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.RoleAssignmentList+xml: + schema: + $ref: '#/components/schemas/RoleAssignmentList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <RoleAssignmentList media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/users/115/roles"> + <RoleAssignment media-type="application/vnd.ibexa.api.RoleAssignment+xml" href="/api/ibexa/v2/user/users/115/roles/2"> + <limitation identifier="Section"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="1"/> + </values> + </limitation> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/2"/> + </RoleAssignment> + <RoleAssignment media-type="application/vnd.ibexa.api.RoleAssignment+xml" href="/api/ibexa/v2/user/users/115/roles/2"> + <limitation identifier="Section"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="2"/> + </values> + </limitation> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/2"/> + </RoleAssignment> + </RoleAssignmentList> + application/vnd.ibexa.api.RoleAssignmentList+json: + schema: + $ref: '#/components/schemas/RoleAssignmentListWrapper' + example: + RoleAssignmentList: + _media-type: application/vnd.ibexa.api.RoleAssignmentList+json + _href: /api/ibexa/v2/user/users/57/roles + RoleAssignment: [{ _media-type: application/vnd.ibexa.api.RoleAssignment+json, _href: /api/ibexa/v2/user/users/57/roles/1, Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/1 } }, { _media-type: application/vnd.ibexa.api.RoleAssignment+json, _href: /api/ibexa/v2/user/users/57/roles/2, Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/2 } }] + '400': + description: 'Error - the user has no permission to read Roles.' + summary: 'Load Roles for User' + description: 'Returns a list of all Roles assigned to the given User.' + parameters: + - + name: Accept + in: header + description: 'If set, the Role assignment list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_userusers_userIdroles_post + tags: + - User + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.RoleAssignmentList+xml: + schema: + $ref: '#/components/schemas/RoleAssignmentList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <RoleAssignmentList media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/users/115/roles"> + <RoleAssignment media-type="application/vnd.ibexa.api.RoleAssignment+xml" href="/api/ibexa/v2/user/users/115/roles/2"> + <limitation identifier="Section"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="1"/> + </values> + </limitation> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/2"/> + </RoleAssignment> + <RoleAssignment media-type="application/vnd.ibexa.api.RoleAssignment+xml" href="/api/ibexa/v2/user/users/115/roles/2"> + <limitation identifier="Section"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="2"/> + </values> + </limitation> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/2"/> + </RoleAssignment> + </RoleAssignmentList> + application/vnd.ibexa.api.RoleAssignmentList+json: + schema: + $ref: '#/components/schemas/RoleAssignmentListWrapper' + example: + RoleAssignmentList: + _media-type: application/vnd.ibexa.api.RoleAssignmentList+json + _href: /api/ibexa/v2/user/users/57/roles + RoleAssignment: [{ _media-type: application/vnd.ibexa.api.RoleAssignment+json, _href: /api/ibexa/v2/user/users/57/roles/1, Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/1 } }, { _media-type: application/vnd.ibexa.api.RoleAssignment+json, _href: /api/ibexa/v2/user/users/57/roles/2, Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/2 } }] + '400': + description: 'Error - validation of limitation in RoleAssignInput fails.' + '401': + description: 'Error - the user is not authorized to assign this Role.' + summary: 'Assign Role to User' + description: 'Assigns a Role to a user.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated Role assignment list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The RoleAssignInput schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new RoleAssignToUserController resource' + content: + application/vnd.ibexa.api.RoleAssignInput+xml: + schema: + $ref: '#/components/schemas/RoleAssignInput' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <RoleAssignInput> + <Role href="/api/ibexa/v2/user/roles/2" media-type="application/vnd.ibexa.api.RoleAssignInput+xml"/> + <limitation identifier="Section"> + <values> + <ref href="/api/ibexa/v2/content/sections/1" media-type="application/vnd.ibexa.api.Section+xml" /> + <ref href="/api/ibexa/v2/content/sections/2" media-type="application/vnd.ibexa.api.Section+xml" /> + </values> + </limitation> + </RoleAssignInput> + application/vnd.ibexa.api.RoleAssignInput+json: + schema: + $ref: '#/components/schemas/RoleAssignInputWrapper' + example: + RoleAssignInput: + Role: + _href: /api/ibexa/v2/user/roles/2 + _media-type: application/vnd.ibexa.api.RoleAssignInput+xml + limitation: + _identifier: Section + values: { ref: [{ _href: /api/ibexa/v2/content/sections/1, _media-type: application/vnd.ibexa.api.Section+xml }, { _href: /api/ibexa/v2/content/sections/2, _media-type: application/vnd.ibexa.api.Section+xml }] } + required: false + deprecated: false + '/user/users/{userId}/roles/{roleId}': + get: + operationId: api_userusers_userIdroles_roleId_get + tags: + - User + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.RoleAssignment+xml: + schema: + $ref: '#/components/schemas/RoleAssignment' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <RoleAssignment media-type="application/vnd.ibexa.api.RoleAssignment+xml" href="/api/ibexa/v2/user/users/113/roles/3"> + <limitation identifier="Section"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="6"/> + </values> + </limitation> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/3"/> + </RoleAssignment> + application/vnd.ibexa.api.RoleAssignment+json: + schema: + $ref: '#/components/schemas/RoleAssignmentWrapper' + example: + RoleAssignment: + _media-type: application/vnd.ibexa.api.RoleAssignment+json + _href: /api/ibexa/v2/user/users/113/roles/3 + limitation: { _identifier: Section, values: { ref: [{ _media-type: application/vnd.ibexa.api.ref+json, _href: '6' }] } } + Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/3 } + '401': + description: 'Error - the user has no permission to read Roles.' + summary: 'Load User Role Assignment' + description: 'Returns a Role assignment to the given User.' + parameters: + - + name: Accept + in: header + description: 'If set, the Role assignment list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: roleId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_userusers_userIdroles_roleId_delete + tags: + - User + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.RoleAssignmentList+xml: + schema: + $ref: '#/components/schemas/RoleAssignmentList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <RoleAssignmentList media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/users/115/roles"> + <RoleAssignment media-type="application/vnd.ibexa.api.RoleAssignment+xml" href="/api/ibexa/v2/user/users/115/roles/2"> + <limitation identifier="Section"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="1"/> + </values> + </limitation> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/2"/> + </RoleAssignment> + <RoleAssignment media-type="application/vnd.ibexa.api.RoleAssignment+xml" href="/api/ibexa/v2/user/users/115/roles/2"> + <limitation identifier="Section"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="2"/> + </values> + </limitation> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/2"/> + </RoleAssignment> + </RoleAssignmentList> + application/vnd.ibexa.api.RoleAssignmentList+json: + schema: + $ref: '#/components/schemas/RoleAssignmentListWrapper' + example: + RoleAssignmentList: + _media-type: application/vnd.ibexa.api.RoleAssignmentList+json + _href: /api/ibexa/v2/user/users/57/roles + RoleAssignment: [{ _media-type: application/vnd.ibexa.api.RoleAssignment+json, _href: /api/ibexa/v2/user/users/57/roles/1, Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/1 } }, { _media-type: application/vnd.ibexa.api.RoleAssignment+json, _href: /api/ibexa/v2/user/users/57/roles/2, Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/2 } }] + '401': + description: 'Error - the user is not authorized to delete this content type.' + summary: 'Unassign Role from User' + description: 'The given Role is removed from the user.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated Role assignment list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: roleId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/user/users/{userId}/segments': + get: + operationId: api_userusers_userIdsegments_get + tags: + - User + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UserSegmentList+xml: + schema: + $ref: '#/components/schemas/UserSegmentList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserSegmentList media-type="application/vnd.ibexa.api.UserSegmentList+xml" href="/api/ibexa/v2/user/users/14/segments"> + <UserSegment media-type="application/vnd.ibexa.api.UserSegment+xml"> + <id>1</id> + <identifier>corporate_account</identifier> + <name>Corporate Account</name> + <SegmentGroup media-type="application/vnd.ibexa.api.SegmentGroup+xml" href="/api/ibexa/v2/segment_groups/corporate_accounts"/> + <User media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/1234"/> + </UserSegment> + </UserSegmentList> + application/vnd.ibexa.api.UserSegmentList+json: + schema: + $ref: '#/components/schemas/UserSegmentListWrapper' + example: + UserSegmentList: + _media-type: application/vnd.ibexa.api.UserSegmentList+json + _href: /api/ibexa/v2/user/users/14/segments + UserSegment: [{ _media-type: application/vnd.ibexa.api.UserSegment+json, id: 1, identifier: corporate_account, name: 'Corporate Account', SegmentGroup: { _media-type: application/vnd.ibexa.api.SegmentGroup+json, _href: /api/ibexa/v2/segment_groups/corporate_accounts }, User: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } }] + '404': + description: "Error - the user doesn't exist." + summary: 'View user segments' + description: "Return user's segment list." + parameters: + - + name: Accept + in: header + description: "If set, the user's segment list is returned in XML or JSON format." + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_userusers_userIdsegments_post + tags: + - User + responses: + '204': + description: 'No Content - segments assigned to user' + '401': + description: 'Error - the requesting user is not authorized to assign this segment to the given user.' + '404': + description: "Error - the user doesn't exist." + summary: 'Assign Segments to User' + description: 'Assigns Segments from payload to User given by ID.' + parameters: + - + name: Content-Type + in: header + description: 'The UserSegmentAssignInput schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new UserSegmentAssignController resource' + content: + application/vnd.ibexa.api.UserSegmentAssignInput+xml: + schema: + $ref: '#/components/schemas/UserSegmentAssignInput' + example: | + <UserSegmentAssignInput> + <segments>corporate_account</segments> + </UserSegmentAssignInput> + application/vnd.ibexa.api.UserSegmentAssignInput+json: + schema: + $ref: '#/components/schemas/UserSegmentAssignInputWrapper' + example: + UserSegmentAssignInput: + segments: + - corporate_account + required: false + deprecated: false + '/user/users/{userId}/segments/{segmentIdentifier}': + delete: + operationId: api_userusers_userIdsegments_segmentIdentifier_delete + tags: + - User + responses: + '204': + description: 'No Content - segments unassigned from user' + '401': + description: 'Error - the requesting user is not authorized to unassign this segment from the given user.' + '404': + description: "Error - the segment or the user doesn't exist." + summary: 'Unassign Segment from User' + description: 'The Segment designated by its identifier is unassigned from the User given by ID.' + parameters: + - + name: userId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: segmentIdentifier + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /user/groups: + get: + operationId: api_usergroups_get + tags: + - 'User Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UserGroupList+xml: + schema: + $ref: '#/components/schemas/UserGroupList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserGroupList media-type="application/vnd.ibexa.api.UserGroupList+xml" href="/api/ibexa/v2/user/groups"> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/13/15" id="14" remoteId="1bb4fe25487f05527efa8bfd394cecc7"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/4"/> + <name>Administrator User</name> + <Versions media-type="application/vnd.ibexa.api.VersionList+xml" href="/api/ibexa/v2/content/objects/14/versions"/> + <Section media-type="application/vnd.ibexa.api.Section+xml" href="/api/ibexa/v2/content/sections/2"/> + <MainLocation media-type="application/vnd.ibexa.api.Location+xml" href="/api/ibexa/v2/content/locations/1/5/13/15"/> + <Locations media-type="application/vnd.ibexa.api.LocationList+xml" href="/api/ibexa/v2/content/objects/14/locations"/> + <Owner media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <publishDate>2002-10-06T16:13:50+00:00</publishDate> + <lastModificationDate>2011-03-25T14:07:04+00:00</lastModificationDate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <alwaysAvailable>true</alwaysAvailable> + <Version media-type="application/vnd.ibexa.api.Version+xml" href="/api/ibexa/v2/content/objects/14/versions/3"> + <VersionInfo> + <id>499</id> + <versionNo>3</versionNo> + <status>PUBLISHED</status> + <modificationDate>2011-03-25T14:07:04+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <creationDate>2011-03-25T14:03:03+00:00</creationDate> + <initialLanguageCode>eng-GB</initialLanguageCode> + <languageCodes>eng-GB</languageCodes> + <VersionTranslationInfo media-type="application/vnd.ibexa.api.VersionTranslationInfo+xml"> + <Language> + <languageCode>eng-GB</languageCode> + </Language> + </VersionTranslationInfo> + <names> + <value languageCode="eng-GB">Administrator User</value> + </names> + <Content media-type="application/vnd.ibexa.api.ContentInfo+xml" href="/api/ibexa/v2/content/objects/14"/> + </VersionInfo> + <Fields> + <field> + <id>28</id> + <fieldDefinitionIdentifier>first_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>Administrator</fieldValue> + </field> + <field> + <id>29</id> + <fieldDefinitionIdentifier>last_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>User</fieldValue> + </field> + <field> + <id>30</id> + <fieldDefinitionIdentifier>user_account</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_user</fieldTypeIdentifier> + <fieldValue> + <value key="hasStoredLogin">true</value> + <value key="contentId">14</value> + <value key="login">admin</value> + <value key="email">admin@link.invalid</value> + <value key="passwordUpdatedAt"/> + <value key="enabled">true</value> + <value key="maxLogin">10</value> + <value key="plainPassword"/> + </fieldValue> + </field> + <field> + <id>178</id> + <fieldDefinitionIdentifier>signature</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_text</fieldTypeIdentifier> + <fieldValue/> + </field> + <field> + <id>180</id> + <fieldDefinitionIdentifier>image</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_image</fieldTypeIdentifier> + <fieldValue/> + </field> + </Fields> + <Relations media-type="application/vnd.ibexa.api.RelationList+xml" href="/api/ibexa/v2/content/objects/14/versions/3/relations"/> + <Thumbnail media-type="application/vnd.ibexa.api.Thumbnail+xml"> + <resource>/bundles/ezplatformadminui/img/ez-icons.svg#user</resource> + <width></width> + <height></height> + <mimeType>image/svg+xml</mimeType> + </Thumbnail> + </Version> + <ParentUserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/13"/> + <Subgroups media-type="application/vnd.ibexa.api.UserGroupList+xml" href="/api/ibexa/v2/user/groups/1/5/13/15/subgroups"/> + <Users media-type="application/vnd.ibexa.api.UserList+xml" href="/api/ibexa/v2/user/groups/1/5/13/15/users"/> + <Roles media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/groups/1/5/13/15/roles"/> + </UserGroup> + </UserGroupList> + application/vnd.ibexa.api.UserGroupList+json: + schema: + $ref: '#/components/schemas/UserGroupListWrapper' + example: + UserGroupList: + _media-type: application/vnd.ibexa.api.UserGroupList+json + _href: /api/ibexa/v2/user/groups + UserGroup: [{ _media-type: application/vnd.ibexa.api.UserGroup+json, _href: /api/ibexa/v2/user/groups/1/5/13/15, _id: 14, _remoteId: 1bb4fe25487f05527efa8bfd394cecc7, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/4 }, name: 'Administrator User', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/14/versions }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/2 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/5/13/15 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/14/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, publishDate: '2002-10-06T16:13:50+00:00', lastModificationDate: '2011-03-25T14:07:04+00:00', mainLanguageCode: eng-GB, alwaysAvailable: true, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/14/versions/3, VersionInfo: { id: 499, versionNo: 3, status: PUBLISHED, modificationDate: '2011-03-25T14:07:04+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2011-03-25T14:03:03+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Administrator User' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/14 } }, Fields: { field: [{ id: 28, fieldDefinitionIdentifier: first_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Administrator }, { id: 29, fieldDefinitionIdentifier: last_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: User }, { id: 30, fieldDefinitionIdentifier: user_account, languageCode: eng-GB, fieldTypeIdentifier: ibexa_user, fieldValue: { hasStoredLogin: true, contentId: 14, login: admin, email: admin@link.invalid, passwordUpdatedAt: null, enabled: true, maxLogin: 10, plainPassword: null } }, { id: 178, fieldDefinitionIdentifier: signature, languageCode: eng-GB, fieldTypeIdentifier: ibexa_text, fieldValue: null }, { id: 180, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image, fieldValue: null }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/14/versions/3/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ezplatformadminui/img/ez-icons.svg#user', width: null, height: null, mimeType: image/svg+xml } }, ParentUserGroup: { _media-type: application/vnd.ibexa.api.UserGroup+json, _href: /api/ibexa/v2/user/groups/1/5/13 }, Subgroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/groups/1/5/13/15/subgroups }, Users: { _media-type: application/vnd.ibexa.api.UserList+json, _href: /api/ibexa/v2/user/groups/1/5/13/15/users }, Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/groups/1/5/13/15/roles } }] + application/vnd.ibexa.api.UserGroupRefList+xml: + schema: + $ref: '#/components/schemas/UserGroupRefList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserGroupRefList media-type="application/vnd.ibexa.api.UserGroupRefList+xml" href="/api/ibexa/v2/user/users/115/groups"> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/12"> + <unassign href="/api/ibexa/v2/user/users/79/groups/12" method="DELETE"/> + </UserGroup> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/13"> + <unassign href="/api/ibexa/v2/user/users/115/groups/13" method="DELETE"/> + </UserGroup> + </UserGroupRefList> + application/vnd.ibexa.api.UserGroupRefList+json: + schema: + $ref: '#/components/schemas/UserGroupRefListWrapper' + example: + UserGroupRefList: + _media-type: application/vnd.ibexa.api.UserGroupRefList+json + _href: /api/ibexa/v2/user/users/57/groups + UserGroup: [{ _media-type: application/vnd.ibexa.api.UserGroup+json, _href: /api/ibexa/v2/user/groups/1/5/13 }] + '401': + description: 'Error - the user has no permission to read User Groups.' + summary: 'Load User Groups' + description: 'Loads User Groups for either an an ID or a remote ID or a Role.' + parameters: + - + name: Accept + in: header + description: 'UserGroupList - If set, the User Group List is returned in XML or JSON format. UserGroupRefList - If set, the link list of User Group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /user/groups/root: + get: + operationId: api_usergroupsroot_get + tags: + - 'User Group' + responses: + '301': + description: 'Moved permanently.' + summary: 'Get root User Group' + description: 'Redirects to the root User Group.' + parameters: [] + deprecated: false + /user/groups/subgroups: + post: + operationId: api_usergroupssubgroups_post + tags: + - 'User Group' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.UserGroup+xml: + schema: + $ref: '#/components/schemas/UserGroup' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/79" id="85" remoteId="remoteId-qwert098"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/3"/> + <name>UserGroup2</name> + <Versions media-type="application/vnd.ibexa.api.VersionList+xml" href="/api/ibexa/v2/content/objects/85/versions"/> + <Section media-type="application/vnd.ibexa.api.Section+xml" href="/api/ibexa/v2/content/sections/2"/> + <MainLocation media-type="application/vnd.ibexa.api.Location+xml" href="/api/ibexa/v2/content/locations/1/5/79"/> + <Locations media-type="application/vnd.ibexa.api.LocationList+xml" href="/api/ibexa/v2/content/objects/85/locations"/> + <Owner media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <publishDate>2021-08-09T09:03:35+00:00</publishDate> + <lastModificationDate>2021-08-09T09:03:35+00:00</lastModificationDate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <alwaysAvailable>true</alwaysAvailable> + <Version media-type="application/vnd.ibexa.api.Version+xml" href="/api/ibexa/v2/content/objects/85/versions/1"> + <VersionInfo> + <id>576</id> + <versionNo>1</versionNo> + <status>PUBLISHED</status> + <modificationDate>2021-08-09T09:03:35+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <creationDate>2021-08-09T09:03:35+00:00</creationDate> + <initialLanguageCode>eng-GB</initialLanguageCode> + <languageCodes>eng-GB</languageCodes> + <VersionTranslationInfo media-type="application/vnd.ibexa.api.VersionTranslationInfo+xml"> + <Language> + <languageCode>eng-GB</languageCode> + </Language> + </VersionTranslationInfo> + <names> + <value languageCode="eng-GB">UserGroup2</value> + </names> + <Content media-type="application/vnd.ibexa.api.ContentInfo+xml" href="/api/ibexa/v2/content/objects/85"/> + </VersionInfo> + <Fields> + <field> + <id>380</id> + <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>UserGroup2</fieldValue> + </field> + <field> + <id>381</id> + <fieldDefinitionIdentifier>description</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>This is the description of the user group</fieldValue> + </field> + </Fields> + <Relations media-type="application/vnd.ibexa.api.RelationList+xml" href="/api/ibexa/v2/content/objects/85/versions/1/relations"/> + <Thumbnail media-type="application/vnd.ibexa.api.Thumbnail+xml"> + <resource>/bundles/ezplatformadminui/img/ez-icons.svg#user_group</resource> + <width></width> + <height></height> + <mimeType>image/svg+xml</mimeType> + </Thumbnail> + </Version> + <ParentUserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5"/> + <Subgroups media-type="application/vnd.ibexa.api.UserGroupList+xml" href="/api/ibexa/v2/user/groups/1/5/79/subgroups"/> + <Users media-type="application/vnd.ibexa.api.UserList+xml" href="/api/ibexa/v2/user/groups/1/5/79/users"/> + <Roles media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/groups/1/5/79/roles"/> + </UserGroup> + application/vnd.ibexa.api.UserGroup+json: + schema: + $ref: '#/components/schemas/UserGroupWrapper' + example: + UserGroup: + _media-type: application/vnd.ibexa.api.UserGroup+json + _href: /api/ibexa/v2/user/groups/1/5/81 + _id: 87 + _remoteId: remoteId-qwert098 + ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/3 } + name: UserGroup2 + Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/87/versions } + Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/2 } + MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/5/81 } + Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/87/locations } + Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + publishDate: '2021-08-09T09:06:49+00:00' + lastModificationDate: '2021-08-09T09:06:49+00:00' + mainLanguageCode: eng-GB + alwaysAvailable: true + Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/87/versions/1, VersionInfo: { id: 578, versionNo: 1, status: PUBLISHED, modificationDate: '2021-08-09T09:06:49+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2021-08-09T09:06:49+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': UserGroup2 }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/87 } }, Fields: { field: [{ id: 384, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: UserGroup2 }, { id: 385, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'This is the description of the user group' }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/87/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ezplatformadminui/img/ez-icons.svg#user_group', width: null, height: null, mimeType: image/svg+xml } } + ParentUserGroup: { _media-type: application/vnd.ibexa.api.UserGroup+json, _href: /api/ibexa/v2/user/groups/1/5 } + Subgroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/groups/1/5/81/subgroups } + Users: { _media-type: application/vnd.ibexa.api.UserList+json, _href: /api/ibexa/v2/user/groups/1/5/81/users } + Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/groups/1/5/81/roles } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this User Group.' + summary: 'Create a top level User Group' + description: "Creates a top level User Group under the root. To create a child group under a parent group use '/user/groups/{path}/subgroups'." + parameters: + - + name: Accept + in: header + description: 'If set, the new User Group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The UserGroupCreate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new UserGroupCreateController resource' + content: + application/vnd.ibexa.api.UserGroupCreate+xml: + schema: + $ref: '#/components/schemas/UserGroupCreate' + example: |- + <?xml version="1.0" encoding="UTF-8"?> + <UserGroupCreate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <remoteId>remoteId-qwert098</remoteId> + <fields> + <field> + <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldValue>UserGroup</fieldValue> + </field> + <field> + <fieldDefinitionIdentifier>description</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldValue>This is the description of the user group</fieldValue> + </field> + </fields> + </UserGroupCreate> + application/vnd.ibexa.api.UserGroupCreate+json: + schema: + $ref: '#/components/schemas/UserGroupCreateWrapper' + example: + UserGroupCreate: + mainLanguageCode: eng-GB + remoteId: remoteId-qwert098 + fields: + field: [{ fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldValue: UserGroup2 }, { fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldValue: 'This is the description of the user group' }] + required: false + deprecated: false + '/user/groups/{path}': + get: + operationId: api_usergroups_path_get + tags: + - 'User Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UserGroup+xml: + schema: + $ref: '#/components/schemas/UserGroup' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/79" id="85" remoteId="remoteId-qwert098"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/3"/> + <name>UserGroup2</name> + <Versions media-type="application/vnd.ibexa.api.VersionList+xml" href="/api/ibexa/v2/content/objects/85/versions"/> + <Section media-type="application/vnd.ibexa.api.Section+xml" href="/api/ibexa/v2/content/sections/2"/> + <MainLocation media-type="application/vnd.ibexa.api.Location+xml" href="/api/ibexa/v2/content/locations/1/5/79"/> + <Locations media-type="application/vnd.ibexa.api.LocationList+xml" href="/api/ibexa/v2/content/objects/85/locations"/> + <Owner media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <publishDate>2021-08-09T09:03:35+00:00</publishDate> + <lastModificationDate>2021-08-09T09:03:35+00:00</lastModificationDate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <alwaysAvailable>true</alwaysAvailable> + <Version media-type="application/vnd.ibexa.api.Version+xml" href="/api/ibexa/v2/content/objects/85/versions/1"> + <VersionInfo> + <id>576</id> + <versionNo>1</versionNo> + <status>PUBLISHED</status> + <modificationDate>2021-08-09T09:03:35+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <creationDate>2021-08-09T09:03:35+00:00</creationDate> + <initialLanguageCode>eng-GB</initialLanguageCode> + <languageCodes>eng-GB</languageCodes> + <VersionTranslationInfo media-type="application/vnd.ibexa.api.VersionTranslationInfo+xml"> + <Language> + <languageCode>eng-GB</languageCode> + </Language> + </VersionTranslationInfo> + <names> + <value languageCode="eng-GB">UserGroup2</value> + </names> + <Content media-type="application/vnd.ibexa.api.ContentInfo+xml" href="/api/ibexa/v2/content/objects/85"/> + </VersionInfo> + <Fields> + <field> + <id>380</id> + <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>UserGroup2</fieldValue> + </field> + <field> + <id>381</id> + <fieldDefinitionIdentifier>description</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>This is the description of the user group</fieldValue> + </field> + </Fields> + <Relations media-type="application/vnd.ibexa.api.RelationList+xml" href="/api/ibexa/v2/content/objects/85/versions/1/relations"/> + <Thumbnail media-type="application/vnd.ibexa.api.Thumbnail+xml"> + <resource>/bundles/ezplatformadminui/img/ez-icons.svg#user_group</resource> + <width></width> + <height></height> + <mimeType>image/svg+xml</mimeType> + </Thumbnail> + </Version> + <ParentUserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5"/> + <Subgroups media-type="application/vnd.ibexa.api.UserGroupList+xml" href="/api/ibexa/v2/user/groups/1/5/79/subgroups"/> + <Users media-type="application/vnd.ibexa.api.UserList+xml" href="/api/ibexa/v2/user/groups/1/5/79/users"/> + <Roles media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/groups/1/5/79/roles"/> + </UserGroup> + application/vnd.ibexa.api.UserGroup+json: + schema: + $ref: '#/components/schemas/UserGroupWrapper' + example: + UserGroup: + _media-type: application/vnd.ibexa.api.UserGroup+json + _href: /api/ibexa/v2/user/groups/1/5/81 + _id: 87 + _remoteId: remoteId-qwert098 + ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/3 } + name: UserGroup2 + Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/87/versions } + Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/2 } + MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/5/81 } + Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/87/locations } + Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + publishDate: '2021-08-09T09:06:49+00:00' + lastModificationDate: '2021-08-09T09:06:49+00:00' + mainLanguageCode: eng-GB + alwaysAvailable: true + Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/87/versions/1, VersionInfo: { id: 578, versionNo: 1, status: PUBLISHED, modificationDate: '2021-08-09T09:06:49+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2021-08-09T09:06:49+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': UserGroup2 }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/87 } }, Fields: { field: [{ id: 384, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: UserGroup2 }, { id: 385, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'This is the description of the user group' }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/87/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ezplatformadminui/img/ez-icons.svg#user_group', width: null, height: null, mimeType: image/svg+xml } } + ParentUserGroup: { _media-type: application/vnd.ibexa.api.UserGroup+json, _href: /api/ibexa/v2/user/groups/1/5 } + Subgroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/groups/1/5/81/subgroups } + Users: { _media-type: application/vnd.ibexa.api.UserList+json, _href: /api/ibexa/v2/user/groups/1/5/81/users } + Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/groups/1/5/81/roles } + '401': + description: 'Error - the user has no permission to read User Groups.' + '404': + description: 'Error - the User Group does not exist.' + summary: 'Load User Group' + description: 'Loads User Groups for the given {path}.' + parameters: + - + name: Accept + in: header + description: 'If set, the new User Group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_usergroups_path_delete + tags: + - 'User Group' + responses: + '204': + description: 'No content - the given User Group is deleted.' + '401': + description: 'Error - the user is not authorized to delete this content type.' + '403': + description: 'Error - the User Group is not empty.' + summary: 'Delete User Group' + description: 'The given User Group is deleted.' + parameters: + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_usergroups_path_patch + tags: + - 'User Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UserGroup+xml: + schema: + $ref: '#/components/schemas/UserGroup' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/79" id="85" remoteId="remoteId-qwert098"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/3"/> + <name>UserGroup2</name> + <Versions media-type="application/vnd.ibexa.api.VersionList+xml" href="/api/ibexa/v2/content/objects/85/versions"/> + <Section media-type="application/vnd.ibexa.api.Section+xml" href="/api/ibexa/v2/content/sections/2"/> + <MainLocation media-type="application/vnd.ibexa.api.Location+xml" href="/api/ibexa/v2/content/locations/1/5/79"/> + <Locations media-type="application/vnd.ibexa.api.LocationList+xml" href="/api/ibexa/v2/content/objects/85/locations"/> + <Owner media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <publishDate>2021-08-09T09:03:35+00:00</publishDate> + <lastModificationDate>2021-08-09T09:03:35+00:00</lastModificationDate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <alwaysAvailable>true</alwaysAvailable> + <Version media-type="application/vnd.ibexa.api.Version+xml" href="/api/ibexa/v2/content/objects/85/versions/1"> + <VersionInfo> + <id>576</id> + <versionNo>1</versionNo> + <status>PUBLISHED</status> + <modificationDate>2021-08-09T09:03:35+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <creationDate>2021-08-09T09:03:35+00:00</creationDate> + <initialLanguageCode>eng-GB</initialLanguageCode> + <languageCodes>eng-GB</languageCodes> + <VersionTranslationInfo media-type="application/vnd.ibexa.api.VersionTranslationInfo+xml"> + <Language> + <languageCode>eng-GB</languageCode> + </Language> + </VersionTranslationInfo> + <names> + <value languageCode="eng-GB">UserGroup2</value> + </names> + <Content media-type="application/vnd.ibexa.api.ContentInfo+xml" href="/api/ibexa/v2/content/objects/85"/> + </VersionInfo> + <Fields> + <field> + <id>380</id> + <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>UserGroup2</fieldValue> + </field> + <field> + <id>381</id> + <fieldDefinitionIdentifier>description</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>This is the description of the user group</fieldValue> + </field> + </Fields> + <Relations media-type="application/vnd.ibexa.api.RelationList+xml" href="/api/ibexa/v2/content/objects/85/versions/1/relations"/> + <Thumbnail media-type="application/vnd.ibexa.api.Thumbnail+xml"> + <resource>/bundles/ezplatformadminui/img/ez-icons.svg#user_group</resource> + <width></width> + <height></height> + <mimeType>image/svg+xml</mimeType> + </Thumbnail> + </Version> + <ParentUserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5"/> + <Subgroups media-type="application/vnd.ibexa.api.UserGroupList+xml" href="/api/ibexa/v2/user/groups/1/5/79/subgroups"/> + <Users media-type="application/vnd.ibexa.api.UserList+xml" href="/api/ibexa/v2/user/groups/1/5/79/users"/> + <Roles media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/groups/1/5/79/roles"/> + </UserGroup> + application/vnd.ibexa.api.UserGroup+json: + schema: + $ref: '#/components/schemas/UserGroupWrapper' + example: + UserGroup: + _media-type: application/vnd.ibexa.api.UserGroup+json + _href: /api/ibexa/v2/user/groups/1/5/81 + _id: 87 + _remoteId: remoteId-qwert098 + ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/3 } + name: UserGroup2 + Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/87/versions } + Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/2 } + MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/5/81 } + Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/87/locations } + Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + publishDate: '2021-08-09T09:06:49+00:00' + lastModificationDate: '2021-08-09T09:06:49+00:00' + mainLanguageCode: eng-GB + alwaysAvailable: true + Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/87/versions/1, VersionInfo: { id: 578, versionNo: 1, status: PUBLISHED, modificationDate: '2021-08-09T09:06:49+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2021-08-09T09:06:49+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': UserGroup2 }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/87 } }, Fields: { field: [{ id: 384, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: UserGroup2 }, { id: 385, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'This is the description of the user group' }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/87/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ezplatformadminui/img/ez-icons.svg#user_group', width: null, height: null, mimeType: image/svg+xml } } + ParentUserGroup: { _media-type: application/vnd.ibexa.api.UserGroup+json, _href: /api/ibexa/v2/user/groups/1/5 } + Subgroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/groups/1/5/81/subgroups } + Users: { _media-type: application/vnd.ibexa.api.UserList+json, _href: /api/ibexa/v2/user/groups/1/5/81/users } + Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/groups/1/5/81/roles } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update the User Group.' + '412': + description: "Error -\tif the current ETag does not match with the one provided in the If-Match header." + summary: 'Update User Group' + description: 'Updates a User Group. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, the new User Group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The UserGroupUpdate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-Match + in: header + description: 'Performs the PATCH only if the specified ETag is the current one. Otherwise a 412 is returned.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated UserGroupUpdateController resource' + content: + application/vnd.ibexa.api.UserGroupUpdate+xml: + schema: + $ref: '#/components/schemas/UserGroupUpdate' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserGroupUpdate> + <Section href="/api/ibexa/v2/content/sections/2" /> + </UserGroupUpdate> + application/vnd.ibexa.api.UserGroupUpdate+json: + schema: + $ref: '#/components/schemas/UserGroupUpdateWrapper' + example: + UserGroupUpdate: + Section: + _href: /api/ibexa/v2/content/sections/2 + required: false + deprecated: false + '/user/groups/{path}/roles': + get: + operationId: api_usergroups_pathroles_get + tags: + - 'User Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.RoleAssignmentList+xml: + schema: + $ref: '#/components/schemas/RoleAssignmentList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <RoleAssignment media-type="application/vnd.ibexa.api.RoleAssignment+xml" href="/api/ibexa/v2/user/users/113/roles/3"> + <limitation identifier="Section"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="6"/> + </values> + </limitation> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/3"/> + </RoleAssignment> + application/vnd.ibexa.api.RoleAssignmentList+json: + schema: + $ref: '#/components/schemas/RoleAssignmentListWrapper' + example: + RoleAssignmentList: + _media-type: application/vnd.ibexa.api.RoleAssignmentList+json + _href: /api/ibexa/v2/user/users/57/roles + RoleAssignment: [{ _media-type: application/vnd.ibexa.api.RoleAssignment+json, _href: /api/ibexa/v2/user/users/57/roles/1, Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/1 } }, { _media-type: application/vnd.ibexa.api.RoleAssignment+json, _href: /api/ibexa/v2/user/users/57/roles/2, Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/2 } }] + '400': + description: 'Error - the user has no permission to read Roles.' + summary: 'Load Roles for User Group' + description: 'Returns a list of all Roles assigned to the given User Group.' + parameters: + - + name: Accept + in: header + description: 'If set, the Role assignment list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_usergroups_pathroles_post + tags: + - 'User Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.RoleAssignmentList+xml: + schema: + $ref: '#/components/schemas/RoleAssignmentList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <RoleAssignment media-type="application/vnd.ibexa.api.RoleAssignment+xml" href="/api/ibexa/v2/user/users/113/roles/3"> + <limitation identifier="Section"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="6"/> + </values> + </limitation> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/3"/> + </RoleAssignment> + application/vnd.ibexa.api.RoleAssignmentList+json: + schema: + $ref: '#/components/schemas/RoleAssignmentListWrapper' + example: + RoleAssignmentList: + _media-type: application/vnd.ibexa.api.RoleAssignmentList+json + _href: /api/ibexa/v2/user/users/57/roles + RoleAssignment: [{ _media-type: application/vnd.ibexa.api.RoleAssignment+json, _href: /api/ibexa/v2/user/users/57/roles/1, Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/1 } }, { _media-type: application/vnd.ibexa.api.RoleAssignment+json, _href: /api/ibexa/v2/user/users/57/roles/2, Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/2 } }] + '400': + description: 'Error - validation of limitation in RoleAssignInput fails.' + '401': + description: 'Error - the user is not authorized to assign this Role.' + summary: 'Assign Role to User Group' + description: 'Assigns a Role to a User Group.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated Role assignment list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The RoleAssignInput schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new RoleAssignToUserGroupController resource' + content: + application/vnd.ibexa.api.RoleAssignInput+xml: + schema: + $ref: '#/components/schemas/RoleAssignInput' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <RoleAssignInput> + <Role href="/api/ibexa/v2/user/roles/10" media-type="application/vnd.ibexa.api.RoleAssignInput+xml"/> + <limitation identifier="Section"> + <values> + <ref href="/api/ibexa/v2/content/sections/1" media-type="application/vnd.ibexa.api.Section+xml" /> + <ref href="/api/ibexa/v2/content/sections/4" media-type="application/vnd.ibexa.api.Section+xml" /> + </values> + </limitation> + </RoleAssignInput> + application/vnd.ibexa.api.RoleAssignInput+json: + schema: + $ref: '#/components/schemas/RoleAssignInputWrapper' + example: + RoleAssignInput: + Role: + _href: /api/ibexa/v2/user/roles/2 + _media-type: application/vnd.ibexa.api.RoleAssignInput+xml + limitation: + _identifier: Section + values: { ref: [{ _href: /api/ibexa/v2/content/sections/1, _media-type: application/vnd.ibexa.api.Section+xml }, { _href: /api/ibexa/v2/content/sections/2, _media-type: application/vnd.ibexa.api.Section+xml }] } + required: false + deprecated: false + '/user/groups/{path}/roles/{roleId}': + get: + operationId: api_usergroups_pathroles_roleId_get + tags: + - 'User Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.RoleAssignment+xml: + schema: + $ref: '#/components/schemas/RoleAssignment' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <RoleAssignment media-type="application/vnd.ibexa.api.RoleAssignment+xml" href="/api/ibexa/v2/user/users/113/roles/3"> + <limitation identifier="Section"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="6"/> + </values> + </limitation> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/3"/> + </RoleAssignment> + application/vnd.ibexa.api.RoleAssignment+json: + schema: + $ref: '#/components/schemas/RoleAssignmentWrapper' + example: + RoleAssignment: + _media-type: application/vnd.ibexa.api.RoleAssignment+json + _href: /api/ibexa/v2/user/users/113/roles/3 + limitation: { _identifier: Section, values: { ref: [{ _media-type: application/vnd.ibexa.api.ref+json, _href: '6' }] } } + Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/3 } + '401': + description: 'Error - the user has no permission to read Roles.' + summary: 'Load User Group Role Assignment' + description: 'Returns a Role assignment of the given User Group.' + parameters: + - + name: Accept + in: header + description: 'If set, the Role assignment list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: roleId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_usergroups_pathroles_roleId_delete + tags: + - 'User Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.RoleAssignmentList+xml: + schema: + $ref: '#/components/schemas/RoleAssignmentList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <RoleAssignment media-type="application/vnd.ibexa.api.RoleAssignment+xml" href="/api/ibexa/v2/user/users/113/roles/3"> + <limitation identifier="Section"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="6"/> + </values> + </limitation> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/3"/> + </RoleAssignment> + application/vnd.ibexa.api.RoleAssignmentList+json: + schema: + $ref: '#/components/schemas/RoleAssignmentListWrapper' + example: + RoleAssignmentList: + _media-type: application/vnd.ibexa.api.RoleAssignmentList+json + _href: /api/ibexa/v2/user/users/57/roles + RoleAssignment: [{ _media-type: application/vnd.ibexa.api.RoleAssignment+json, _href: /api/ibexa/v2/user/users/57/roles/1, Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/1 } }, { _media-type: application/vnd.ibexa.api.RoleAssignment+json, _href: /api/ibexa/v2/user/users/57/roles/2, Role: { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/2 } }] + '401': + description: 'Error - the user is not authorized to delete this Role assignment.' + summary: 'Unassign Role from User Group' + description: 'The given Role is removed from the User or User Group.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated Role assignment list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: roleId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/user/groups/{path}/subgroups': + get: + operationId: api_usergroups_pathsubgroups_get + tags: + - 'User Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UserGroupList+xml: + schema: + $ref: '#/components/schemas/UserGroupList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserGroupList media-type="application/vnd.ibexa.api.UserGroupList+xml" href="/api/ibexa/v2/user/groups"> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/13/15" id="14" remoteId="1bb4fe25487f05527efa8bfd394cecc7"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/4"/> + <name>Administrator User</name> + <Versions media-type="application/vnd.ibexa.api.VersionList+xml" href="/api/ibexa/v2/content/objects/14/versions"/> + <Section media-type="application/vnd.ibexa.api.Section+xml" href="/api/ibexa/v2/content/sections/2"/> + <MainLocation media-type="application/vnd.ibexa.api.Location+xml" href="/api/ibexa/v2/content/locations/1/5/13/15"/> + <Locations media-type="application/vnd.ibexa.api.LocationList+xml" href="/api/ibexa/v2/content/objects/14/locations"/> + <Owner media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <publishDate>2002-10-06T16:13:50+00:00</publishDate> + <lastModificationDate>2011-03-25T14:07:04+00:00</lastModificationDate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <alwaysAvailable>true</alwaysAvailable> + <Version media-type="application/vnd.ibexa.api.Version+xml" href="/api/ibexa/v2/content/objects/14/versions/3"> + <VersionInfo> + <id>499</id> + <versionNo>3</versionNo> + <status>PUBLISHED</status> + <modificationDate>2011-03-25T14:07:04+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <creationDate>2011-03-25T14:03:03+00:00</creationDate> + <initialLanguageCode>eng-GB</initialLanguageCode> + <languageCodes>eng-GB</languageCodes> + <VersionTranslationInfo media-type="application/vnd.ibexa.api.VersionTranslationInfo+xml"> + <Language> + <languageCode>eng-GB</languageCode> + </Language> + </VersionTranslationInfo> + <names> + <value languageCode="eng-GB">Administrator User</value> + </names> + <Content media-type="application/vnd.ibexa.api.ContentInfo+xml" href="/api/ibexa/v2/content/objects/14"/> + </VersionInfo> + <Fields> + <field> + <id>28</id> + <fieldDefinitionIdentifier>first_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>Administrator</fieldValue> + </field> + <field> + <id>29</id> + <fieldDefinitionIdentifier>last_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>User</fieldValue> + </field> + <field> + <id>30</id> + <fieldDefinitionIdentifier>user_account</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_user</fieldTypeIdentifier> + <fieldValue> + <value key="hasStoredLogin">true</value> + <value key="contentId">14</value> + <value key="login">admin</value> + <value key="email">admin@link.invalid</value> + <value key="passwordUpdatedAt"/> + <value key="enabled">true</value> + <value key="maxLogin">10</value> + <value key="plainPassword"/> + </fieldValue> + </field> + <field> + <id>178</id> + <fieldDefinitionIdentifier>signature</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_text</fieldTypeIdentifier> + <fieldValue/> + </field> + <field> + <id>180</id> + <fieldDefinitionIdentifier>image</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_image</fieldTypeIdentifier> + <fieldValue/> + </field> + </Fields> + <Relations media-type="application/vnd.ibexa.api.RelationList+xml" href="/api/ibexa/v2/content/objects/14/versions/3/relations"/> + <Thumbnail media-type="application/vnd.ibexa.api.Thumbnail+xml"> + <resource>/bundles/ezplatformadminui/img/ez-icons.svg#user</resource> + <width></width> + <height></height> + <mimeType>image/svg+xml</mimeType> + </Thumbnail> + </Version> + <ParentUserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/13"/> + <Subgroups media-type="application/vnd.ibexa.api.UserGroupList+xml" href="/api/ibexa/v2/user/groups/1/5/13/15/subgroups"/> + <Users media-type="application/vnd.ibexa.api.UserList+xml" href="/api/ibexa/v2/user/groups/1/5/13/15/users"/> + <Roles media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/groups/1/5/13/15/roles"/> + </UserGroup> + </UserGroupList> + application/vnd.ibexa.api.UserGroupList+json: + schema: + $ref: '#/components/schemas/UserGroupListWrapper' + example: + UserGroupList: + _media-type: application/vnd.ibexa.api.UserGroupList+json + _href: /api/ibexa/v2/user/groups + UserGroup: [{ _media-type: application/vnd.ibexa.api.UserGroup+json, _href: /api/ibexa/v2/user/groups/1/5/13/15, _id: 14, _remoteId: 1bb4fe25487f05527efa8bfd394cecc7, ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/4 }, name: 'Administrator User', Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/14/versions }, Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/2 }, MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/5/13/15 }, Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/14/locations }, Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, publishDate: '2002-10-06T16:13:50+00:00', lastModificationDate: '2011-03-25T14:07:04+00:00', mainLanguageCode: eng-GB, alwaysAvailable: true, Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/14/versions/3, VersionInfo: { id: 499, versionNo: 3, status: PUBLISHED, modificationDate: '2011-03-25T14:07:04+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2011-03-25T14:03:03+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Administrator User' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/14 } }, Fields: { field: [{ id: 28, fieldDefinitionIdentifier: first_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Administrator }, { id: 29, fieldDefinitionIdentifier: last_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: User }, { id: 30, fieldDefinitionIdentifier: user_account, languageCode: eng-GB, fieldTypeIdentifier: ibexa_user, fieldValue: { hasStoredLogin: true, contentId: 14, login: admin, email: admin@link.invalid, passwordUpdatedAt: null, enabled: true, maxLogin: 10, plainPassword: null } }, { id: 178, fieldDefinitionIdentifier: signature, languageCode: eng-GB, fieldTypeIdentifier: ibexa_text, fieldValue: null }, { id: 180, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image, fieldValue: null }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/14/versions/3/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ezplatformadminui/img/ez-icons.svg#user', width: null, height: null, mimeType: image/svg+xml } }, ParentUserGroup: { _media-type: application/vnd.ibexa.api.UserGroup+json, _href: /api/ibexa/v2/user/groups/1/5/13 }, Subgroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/groups/1/5/13/15/subgroups }, Users: { _media-type: application/vnd.ibexa.api.UserList+json, _href: /api/ibexa/v2/user/groups/1/5/13/15/users }, Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/groups/1/5/13/15/roles } }] + application/vnd.ibexa.api.UserGroupRefList+xml: + schema: + $ref: '#/components/schemas/UserGroupRefList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserGroupRefList media-type="application/vnd.ibexa.api.UserGroupRefList+xml" href="/api/ibexa/v2/user/users/115/groups"> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/12"> + <unassign href="/api/ibexa/v2/user/users/79/groups/12" method="DELETE"/> + </UserGroup> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/13"> + <unassign href="/api/ibexa/v2/user/users/115/groups/13" method="DELETE"/> + </UserGroup> + </UserGroupRefList> + application/vnd.ibexa.api.UserGroupRefList+json: + schema: + $ref: '#/components/schemas/UserGroupRefListWrapper' + example: + UserGroupRefList: + _media-type: application/vnd.ibexa.api.UserGroupRefList+json + _href: /api/ibexa/v2/user/users/57/groups + UserGroup: [{ _media-type: application/vnd.ibexa.api.UserGroup+json, _href: /api/ibexa/v2/user/groups/1/5/13 }] + '401': + description: 'Error - the user has no permission to read User Groups.' + '404': + description: 'Error - the User Group does not exist.' + summary: 'Load subgroups' + description: 'Returns a list of the subgroups.' + parameters: + - + name: Accept + in: header + description: 'UserGroupList - If set, the User Group list is returned in XML or JSON format. UserGroupRefList - If set, the link list of User Groups is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_usergroups_pathsubgroups_post + tags: + - 'User Group' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.UserGroup+xml: + schema: + $ref: '#/components/schemas/UserGroup' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5/79" id="85" remoteId="remoteId-qwert098"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/3"/> + <name>UserGroup2</name> + <Versions media-type="application/vnd.ibexa.api.VersionList+xml" href="/api/ibexa/v2/content/objects/85/versions"/> + <Section media-type="application/vnd.ibexa.api.Section+xml" href="/api/ibexa/v2/content/sections/2"/> + <MainLocation media-type="application/vnd.ibexa.api.Location+xml" href="/api/ibexa/v2/content/locations/1/5/79"/> + <Locations media-type="application/vnd.ibexa.api.LocationList+xml" href="/api/ibexa/v2/content/objects/85/locations"/> + <Owner media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <publishDate>2021-08-09T09:03:35+00:00</publishDate> + <lastModificationDate>2021-08-09T09:03:35+00:00</lastModificationDate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <alwaysAvailable>true</alwaysAvailable> + <Version media-type="application/vnd.ibexa.api.Version+xml" href="/api/ibexa/v2/content/objects/85/versions/1"> + <VersionInfo> + <id>576</id> + <versionNo>1</versionNo> + <status>PUBLISHED</status> + <modificationDate>2021-08-09T09:03:35+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <creationDate>2021-08-09T09:03:35+00:00</creationDate> + <initialLanguageCode>eng-GB</initialLanguageCode> + <languageCodes>eng-GB</languageCodes> + <VersionTranslationInfo media-type="application/vnd.ibexa.api.VersionTranslationInfo+xml"> + <Language> + <languageCode>eng-GB</languageCode> + </Language> + </VersionTranslationInfo> + <names> + <value languageCode="eng-GB">UserGroup2</value> + </names> + <Content media-type="application/vnd.ibexa.api.ContentInfo+xml" href="/api/ibexa/v2/content/objects/85"/> + </VersionInfo> + <Fields> + <field> + <id>380</id> + <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>UserGroup2</fieldValue> + </field> + <field> + <id>381</id> + <fieldDefinitionIdentifier>description</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>This is the description of the user group</fieldValue> + </field> + </Fields> + <Relations media-type="application/vnd.ibexa.api.RelationList+xml" href="/api/ibexa/v2/content/objects/85/versions/1/relations"/> + <Thumbnail media-type="application/vnd.ibexa.api.Thumbnail+xml"> + <resource>/bundles/ezplatformadminui/img/ez-icons.svg#user_group</resource> + <width></width> + <height></height> + <mimeType>image/svg+xml</mimeType> + </Thumbnail> + </Version> + <ParentUserGroup media-type="application/vnd.ibexa.api.UserGroup+xml" href="/api/ibexa/v2/user/groups/1/5"/> + <Subgroups media-type="application/vnd.ibexa.api.UserGroupList+xml" href="/api/ibexa/v2/user/groups/1/5/79/subgroups"/> + <Users media-type="application/vnd.ibexa.api.UserList+xml" href="/api/ibexa/v2/user/groups/1/5/79/users"/> + <Roles media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/groups/1/5/79/roles"/> + </UserGroup> + application/vnd.ibexa.api.UserGroup+json: + schema: + $ref: '#/components/schemas/UserGroupWrapper' + example: + UserGroup: + _media-type: application/vnd.ibexa.api.UserGroup+json + _href: /api/ibexa/v2/user/groups/1/5/81 + _id: 87 + _remoteId: remoteId-qwert098 + ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/3 } + name: UserGroup2 + Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/87/versions } + Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/2 } + MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/5/81 } + Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/87/locations } + Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 } + publishDate: '2021-08-09T09:06:49+00:00' + lastModificationDate: '2021-08-09T09:06:49+00:00' + mainLanguageCode: eng-GB + alwaysAvailable: true + Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/87/versions/1, VersionInfo: { id: 578, versionNo: 1, status: PUBLISHED, modificationDate: '2021-08-09T09:06:49+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2021-08-09T09:06:49+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': UserGroup2 }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/87 } }, Fields: { field: [{ id: 384, fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: UserGroup2 }, { id: 385, fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: 'This is the description of the user group' }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/87/versions/1/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ezplatformadminui/img/ez-icons.svg#user_group', width: null, height: null, mimeType: image/svg+xml } } + ParentUserGroup: { _media-type: application/vnd.ibexa.api.UserGroup+json, _href: /api/ibexa/v2/user/groups/1/5 } + Subgroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/groups/1/5/81/subgroups } + Users: { _media-type: application/vnd.ibexa.api.UserList+json, _href: /api/ibexa/v2/user/groups/1/5/81/users } + Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/groups/1/5/81/roles } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this User Group.' + summary: 'Create User Group' + description: "Creates a new User Group under the given parent. To create a top level group use '/user/groups/subgroups'." + parameters: + - + name: Accept + in: header + description: 'If set, the new User Group is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The UserGroupCreate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new UserGroupCreateController resource' + content: + application/vnd.ibexa.api.UserGroupCreate+xml: + schema: + $ref: '#/components/schemas/UserGroupCreate' + example: |- + <?xml version="1.0" encoding="UTF-8"?> + <UserGroupCreate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <remoteId>remoteId-qwert098</remoteId> + <fields> + <field> + <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldValue>UserGroup</fieldValue> + </field> + <field> + <fieldDefinitionIdentifier>description</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldValue>This is the description of the user group</fieldValue> + </field> + </fields> + </UserGroupCreate> + application/vnd.ibexa.api.UserGroupCreate+json: + schema: + $ref: '#/components/schemas/UserGroupCreateWrapper' + example: + UserGroupCreate: + mainLanguageCode: eng-GB + remoteId: remoteId-qwert098 + fields: + field: [{ fieldDefinitionIdentifier: name, languageCode: eng-GB, fieldValue: UserGroup2 }, { fieldDefinitionIdentifier: description, languageCode: eng-GB, fieldValue: 'This is the description of the user group' }] + required: false + deprecated: false + '/user/groups/{path}/users': + get: + operationId: api_usergroups_pathusers_get + tags: + - 'User Group' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.UserList+xml: + schema: + $ref: '#/components/schemas/UserList' + application/vnd.ibexa.api.UserList+json: + schema: + $ref: '#/components/schemas/UserList' + application/vnd.ibexa.api.UserRefList+xml: + schema: + $ref: '#/components/schemas/UserRefList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserRefList media-type="application/vnd.ibexa.api.UserRefList+xml" href="/api/ibexa/v2/user/users"> + <User media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + </UserRefList> + application/vnd.ibexa.api.UserRefList+json: + schema: + $ref: '#/components/schemas/UserRefListWrapper' + example: + UserRefList: + _media-type: application/vnd.ibexa.api.UserRefList+json + _href: /api/ibexa/v2/user/groups/13/users + User: [{ _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/113 }, { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }] + '401': + description: 'Error - the user has no permission to read User Groups.' + '404': + description: 'Error - the User Group does not exist.' + summary: 'Load Users of Group' + description: 'Loads the Users of the Group with the given ID.' + parameters: + - + name: Accept + in: header + description: 'UserList - If set, the User list returned in XML or JSON format. UserRefList - If set, the link list of Users returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_usergroups_pathusers_post + tags: + - 'User Group' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.User+xml: + schema: + $ref: '#/components/schemas/User' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <User media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/79" id="79" remoteId="bcf0764b417f05af21852a1f03fb1f13"> + <ContentType media-type="application/vnd.ibexa.api.ContentType+xml" href="/api/ibexa/v2/content/types/4"/> + <name>Jose Vargas</name> + <Versions media-type="application/vnd.ibexa.api.VersionList+xml" href="/api/ibexa/v2/content/objects/79/versions"/> + <Section media-type="application/vnd.ibexa.api.Section+xml" href="/api/ibexa/v2/content/sections/2"/> + <MainLocation media-type="application/vnd.ibexa.api.Location+xml" href="/api/ibexa/v2/content/locations/1/5/12/79"/> + <Locations media-type="application/vnd.ibexa.api.LocationList+xml" href="/api/ibexa/v2/content/objects/79/locations"/> + <Groups media-type="application/vnd.ibexa.api.UserGroupRefList+xml" href="/api/ibexa/v2/user/users/79/groups"/> + <Owner media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/10"/> + <publishDate>2021-06-29T08:23:42+00:00</publishDate> + <lastModificationDate>2021-07-29T11:45:07+00:00</lastModificationDate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <alwaysAvailable>true</alwaysAvailable> + <Version media-type="application/vnd.ibexa.api.Version+xml" href="/api/ibexa/v2/content/objects/79/versions/6"> + <VersionInfo> + <id>609</id> + <versionNo>6</versionNo> + <status>PUBLISHED</status> + <modificationDate>2021-07-29T11:45:07+00:00</modificationDate> + <Creator media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + <creationDate>2021-07-29T11:45:07+00:00</creationDate> + <initialLanguageCode>eng-GB</initialLanguageCode> + <languageCodes>eng-GB</languageCodes> + <VersionTranslationInfo media-type="application/vnd.ibexa.api.VersionTranslationInfo+xml"> + <Language> + <languageCode>eng-GB</languageCode> + </Language> + </VersionTranslationInfo> + <names> + <value languageCode="eng-GB">Jose Vargas</value> + </names> + <Content media-type="application/vnd.ibexa.api.ContentInfo+xml" href="/api/ibexa/v2/content/objects/79"/> + </VersionInfo> + <Fields> + <field> + <id>342</id> + <fieldDefinitionIdentifier>first_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>Jose</fieldValue> + </field> + <field> + <id>343</id> + <fieldDefinitionIdentifier>last_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_string</fieldTypeIdentifier> + <fieldValue>Vargas</fieldValue> + </field> + <field> + <id>344</id> + <fieldDefinitionIdentifier>user_account</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_user</fieldTypeIdentifier> + <fieldValue> + <value key="hasStoredLogin">true</value> + <value key="contentId">79</value> + <value key="login">josevargas</value> + <value key="email">aa@bb.cc</value> + <value key="passwordUpdatedAt"/> + <value key="enabled">false</value> + <value key="maxLogin">0</value> + <value key="plainPassword"/> + </fieldValue> + </field> + <field> + <id>345</id> + <fieldDefinitionIdentifier>signature</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_text</fieldTypeIdentifier> + <fieldValue/> + </field> + <field> + <id>346</id> + <fieldDefinitionIdentifier>image</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldTypeIdentifier>ibexa_image</fieldTypeIdentifier> + <fieldValue/> + </field> + </Fields> + <Relations media-type="application/vnd.ibexa.api.RelationList+xml" href="/api/ibexa/v2/content/objects/79/versions/6/relations"/> + <Thumbnail media-type="application/vnd.ibexa.api.Thumbnail+xml"> + <resource>/bundles/ezplatformadminui/img/ez-icons.svg#user</resource> + <width></width> + <height></height> + <mimeType>image/svg+xml</mimeType> + </Thumbnail> + </Version> + <login>josevargas</login> + <email>aa@bb.cc</email> + <enabled>false</enabled> + <UserGroups media-type="application/vnd.ibexa.api.UserGroupList+xml" href="/api/ibexa/v2/user/users/79/groups"/> + <Roles media-type="application/vnd.ibexa.api.RoleAssignmentList+xml" href="/api/ibexa/v2/user/users/79/roles"/> + </User> + application/vnd.ibexa.api.User+json: + schema: + $ref: '#/components/schemas/UserWrapper' + example: + User: + _media-type: application/vnd.ibexa.api.User+json + _href: /api/ibexa/v2/user/users/79 + _id: 79 + _remoteId: bcf0764b417f05af21852a1f03fb1f13 + ContentType: { _media-type: application/vnd.ibexa.api.ContentType+json, _href: /api/ibexa/v2/content/types/4 } + name: 'Jose Vargas' + Versions: { _media-type: application/vnd.ibexa.api.VersionList+json, _href: /api/ibexa/v2/content/objects/79/versions } + Section: { _media-type: application/vnd.ibexa.api.Section+json, _href: /api/ibexa/v2/content/sections/2 } + MainLocation: { _media-type: application/vnd.ibexa.api.Location+json, _href: /api/ibexa/v2/content/locations/1/5/12/79 } + Locations: { _media-type: application/vnd.ibexa.api.LocationList+json, _href: /api/ibexa/v2/content/objects/79/locations } + Groups: { _media-type: application/vnd.ibexa.api.UserGroupRefList+json, _href: /api/ibexa/v2/user/users/79/groups } + Owner: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/10 } + publishDate: '2021-06-29T08:23:42+00:00' + lastModificationDate: '2021-07-29T12:00:24+00:00' + mainLanguageCode: eng-GB + alwaysAvailable: true + Version: { _media-type: application/vnd.ibexa.api.Version+json, _href: /api/ibexa/v2/content/objects/79/versions/11, VersionInfo: { id: 614, versionNo: 11, status: PUBLISHED, modificationDate: '2021-07-29T12:00:24+00:00', Creator: { _media-type: application/vnd.ibexa.api.User+json, _href: /api/ibexa/v2/user/users/14 }, creationDate: '2021-07-29T12:00:24+00:00', initialLanguageCode: eng-GB, languageCodes: eng-GB, VersionTranslationInfo: { _media-type: application/vnd.ibexa.api.VersionTranslationInfo+json, Language: [{ languageCode: eng-GB }] }, names: { value: [{ _languageCode: eng-GB, '#text': 'Jose Vargas' }] }, Content: { _media-type: application/vnd.ibexa.api.ContentInfo+json, _href: /api/ibexa/v2/content/objects/79 } }, Fields: { field: [{ id: 342, fieldDefinitionIdentifier: first_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Jose }, { id: 343, fieldDefinitionIdentifier: last_name, languageCode: eng-GB, fieldTypeIdentifier: ibexa_string, fieldValue: Vargas }, { id: 344, fieldDefinitionIdentifier: user_account, languageCode: eng-GB, fieldTypeIdentifier: ibexa_user, fieldValue: { hasStoredLogin: true, contentId: 79, login: josevargas, email: aa@bb.cc, passwordUpdatedAt: null, enabled: false, maxLogin: 0, plainPassword: null } }, { id: 345, fieldDefinitionIdentifier: signature, languageCode: eng-GB, fieldTypeIdentifier: ibexa_text, fieldValue: null }, { id: 346, fieldDefinitionIdentifier: image, languageCode: eng-GB, fieldTypeIdentifier: ibexa_image, fieldValue: null }] }, Relations: { _media-type: application/vnd.ibexa.api.RelationList+json, _href: /api/ibexa/v2/content/objects/79/versions/11/relations, Relation: [] }, Thumbnail: { _media-type: application/vnd.ibexa.api.Thumbnail+json, resource: '/bundles/ezplatformadminui/img/ez-icons.svg#user', width: null, height: null, mimeType: image/svg+xml } } + login: josevargas + email: aa@bb.cc + enabled: false + UserGroups: { _media-type: application/vnd.ibexa.api.UserGroupList+json, _href: /api/ibexa/v2/user/users/79/groups } + Roles: { _media-type: application/vnd.ibexa.api.RoleAssignmentList+json, _href: /api/ibexa/v2/user/users/79/roles } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create this User.' + '403': + description: 'Error - a User with the same login already exists.' + '404': + description: 'Error - the Group with the given ID does not exist.' + summary: 'Create User' + description: 'Creates a new User in the given Group.' + parameters: + - + name: Accept + in: header + description: 'If set, the new User is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The UserCreate schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: path + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new UserCreateController resource' + content: + application/vnd.ibexa.api.UserCreate+xml: + schema: + $ref: '#/components/schemas/UserCreate' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <UserCreate> + <mainLanguageCode>eng-GB</mainLanguageCode> + <remoteId>remoteId-23456789</remoteId> + <login>johnsmith</login> + <email>example@example.com</email> + <password>Secrepassword5!</password> + <fields> + <field> + <fieldDefinitionIdentifier>first_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldValue>John</fieldValue> + </field> + <field> + <fieldDefinitionIdentifier>last_name</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldValue>Smith</fieldValue> + </field> + <field> + <fieldDefinitionIdentifier>user_account</fieldDefinitionIdentifier> + <languageCode>eng-GB</languageCode> + <fieldValue> + <value key="hasStoredLogin">true</value> + <value key="contentId">14</value> + <value key="login">johnsmith</value> + <value key="email">example@example.com</value> + <value key="enabled">true</value> + <value key="maxLogin">10</value> + </fieldValue> + </field> + </fields> + </UserCreate> + application/vnd.ibexa.api.UserCreate+json: + schema: + $ref: '#/components/schemas/UserCreateWrapper' + example: + UserCreate: + mainLanguageCode: eng-GB + remoteId: remoteId-23456789 + login: johnsmith2 + email: example@example.com + password: Secrepassword5! + fields: + field: [{ fieldDefinitionIdentifier: first_name, languageCode: eng-GB, fieldValue: John }, { fieldDefinitionIdentifier: last_name, languageCode: eng-GB, fieldValue: Smith }, { fieldDefinitionIdentifier: user_account, languageCode: eng-GB, fieldValue: { hasStoredLogin: true, contentId: 14, login: johnsmith, email: example@example.com, enabled: true, maxLogin: 10 } }] + required: false + deprecated: false + /user/policies: + get: + operationId: api_userpolicies_get + tags: + - 'User Policy' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.PolicyList+xml: + schema: + $ref: '#/components/schemas/PolicyList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <PolicyList media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/1/policies"> + <Policy media-type="application/vnd.ibexa.api.Policy+xml" href="/api/ibexa/v2/user/roles/1/policies/349"> + <id>349</id> + <module>content</module> + <function>read</function> + <limitations> + <limitation identifier="Section"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="1"/> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="3"/> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="6"/> + </values> + </limitation> + </limitations> + </Policy> + <Policy media-type="application/vnd.ibexa.api.Policy+xml" href="/api/ibexa/v2/user/roles/1/policies/350"> + <id>350</id> + <module>user</module> + <function>login</function> + <limitations> + <limitation identifier="SiteAccess"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="2282622326"/> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="1766001124"/> + </values> + </limitation> + </limitations> + </Policy> + <Policy media-type="application/vnd.ibexa.api.Policy+xml" href="/api/ibexa/v2/user/roles/1/policies/351"> + <id>351</id> + <module>content</module> + <function>view_embed</function> + <limitations> + <limitation identifier="Class"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="5"/> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="12"/> + </values> + </limitation> + </limitations> + </Policy> + <Policy media-type="application/vnd.ibexa.api.Policy+xml" href="/api/ibexa/v2/user/roles/1/policies/352"> + <id>352</id> + <module>user</module> + <function>register</function> + </Policy> + <Policy media-type="application/vnd.ibexa.api.Policy+xml" href="/api/ibexa/v2/user/roles/1/policies/353"> + <id>353</id> + <module>user</module> + <function>password</function> + </Policy> + </PolicyList> + application/vnd.ibexa.api.PolicyList+json: + schema: + $ref: '#/components/schemas/PolicyListWrapper' + example: + PolicyList: + _media-type: application/vnd.ibexa.api.PolicyList+json + _href: /api/ibexa/v2/user/roles/1/policies + Policy: [{ _media-type: application/vnd.ibexa.api.Policy+json, _href: /api/ibexa/v2/user/roles/1/policies/349, id: 349, module: content, function: read, limitations: { limitation: [{ _identifier: Section, values: { ref: [{ _media-type: application/vnd.ibexa.api.ref+json, _href: '1' }, { _media-type: application/vnd.ibexa.api.ref+json, _href: '3' }, { _media-type: application/vnd.ibexa.api.ref+json, _href: '6' }] } }] } }, { _media-type: application/vnd.ibexa.api.Policy+json, _href: /api/ibexa/v2/user/roles/1/policies/350, id: 350, module: user, function: login, limitations: { limitation: [{ _identifier: SiteAccess, values: { ref: [{ _media-type: application/vnd.ibexa.api.ref+json, _href: '2282622326' }, { _media-type: application/vnd.ibexa.api.ref+json, _href: '1766001124' }] } }] } }, { _media-type: application/vnd.ibexa.api.Policy+json, _href: /api/ibexa/v2/user/roles/1/policies/351, id: 351, module: content, function: view_embed, limitations: { limitation: [{ _identifier: Class, values: { ref: [{ _media-type: application/vnd.ibexa.api.ref+json, _href: '5' }, { _media-type: application/vnd.ibexa.api.ref+json, _href: '12' }] } }] } }, { _media-type: application/vnd.ibexa.api.Policy+json, _href: /api/ibexa/v2/user/roles/1/policies/352, id: 352, module: user, function: register }, { _media-type: application/vnd.ibexa.api.Policy+json, _href: /api/ibexa/v2/user/roles/1/policies/353, id: 353, module: user, function: password }] + '401': + description: 'Error - the user has no permission to read Roles.' + summary: 'List Policies for User' + description: 'Search all Policies which are applied to a given User.' + parameters: + - + name: Accept + in: header + description: 'If set, the Policy list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + /user/roles: + get: + operationId: api_userroles_get + tags: + - 'User Role' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.RoleList+xml: + schema: + $ref: '#/components/schemas/RoleList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <RoleList media-type="application/vnd.ibexa.api.RoleList+xml" href="/api/ibexa/v2/user/roles"> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/1"> + <identifier>Anonymous</identifier> + <Policies media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/1/policies"/> + </Role> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/2"> + <identifier>Administrator</identifier> + <Policies media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/2/policies"/> + </Role> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/3"> + <identifier>Editor</identifier> + <Policies media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/3/policies"/> + </Role> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/4"> + <identifier>Member</identifier> + <Policies media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/4/policies"/> + </Role> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/10"> + <identifier>NewRole</identifier> + <Policies media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/10/policies"/> + </Role> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/14"> + <identifier>NewRole5</identifier> + <Policies media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/14/policies"/> + </Role> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/15"> + <identifier>NewRole7</identifier> + <Policies media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/15/policies"/> + </Role> + </RoleList> + application/vnd.ibexa.api.RoleList+json: + schema: + $ref: '#/components/schemas/RoleListWrapper' + example: + RoleList: + _media-type: application/vnd.ibexa.api.RoleList+json + _href: /api/ibexa/v2/user/roles + Role: [{ _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/1, identifier: Anonymous, Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/1/policies } }, { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/2, identifier: Administrator, Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/2/policies } }, { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/3, identifier: Editor, Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/3/policies } }, { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/4, identifier: Member, Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/4/policies } }, { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/10, identifier: NewRole, Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/10/policies } }, { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/14, identifier: NewRole5, Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/14/policies } }, { _media-type: application/vnd.ibexa.api.Role+json, _href: /api/ibexa/v2/user/roles/15, identifier: NewRole7, Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/15/policies } }] + '401': + description: 'Error - the user has no permission to read Roles.' + summary: 'Load Roles' + description: 'Returns a list of all Roles.' + parameters: + - + name: Accept + in: header + description: 'If set, the user list returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_userroles_post + tags: + - 'User Role' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Role+xml: + schema: + $ref: '#/components/schemas/Role' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/9"> + <identifier>UpdatedIdentifier</identifier> + <Policies media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/9/policies"/> + </Role> + application/vnd.ibexa.api.Role+json: + schema: + $ref: '#/components/schemas/RoleWrapper' + example: + Role: + _media-type: application/vnd.ibexa.api.Role+json + _href: /api/ibexa/v2/user/roles/6 + identifier: UpdatedIdentifier + Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/6/policies } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to create a Role or a Role draft.' + summary: 'Create Role or Role draft' + description: 'Creates a new Role or Role draft.' + parameters: + - + name: Accept + in: header + description: 'If set, the new user is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The RoleInput schema encoded in XML or JSON.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new RoleCreateController resource' + content: + application/vnd.ibexa.api.RoleInput+xml: + schema: + $ref: '#/components/schemas/RoleInput' + example: |- + <?xml version="1.0" encoding="UTF-8"?> + <RoleInput> + <identifier>NewRole</identifier> + </RoleInput> + application/vnd.ibexa.api.RoleInput+json: + schema: + $ref: '#/components/schemas/RoleInputWrapper' + example: + RoleInput: + identifier: NewRole + required: false + deprecated: false + '/user/roles/{id}': + get: + operationId: api_userroles_id_get + tags: + - 'User Role' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Role+xml: + schema: + $ref: '#/components/schemas/Role' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/9"> + <identifier>UpdatedIdentifier</identifier> + <Policies media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/9/policies"/> + </Role> + application/vnd.ibexa.api.Role+json: + schema: + $ref: '#/components/schemas/RoleWrapper' + example: + Role: + _media-type: application/vnd.ibexa.api.Role+json + _href: /api/ibexa/v2/user/roles/6 + identifier: UpdatedIdentifier + Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/6/policies } + '401': + description: 'Error - the user has no permission to read Roles.' + '404': + description: 'Error - the Role does not exist.' + summary: 'Load Role' + description: 'Loads a Role for the given ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the user list returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_userroles_id_post + tags: + - 'User Role' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.RoleDraft+xml: + schema: + $ref: '#/components/schemas/RoleDraft' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <Role href="/user/roles/11" media-type="application/vnd.ibexa.api.RoleDraft+xml"> + <identifier>MyRole</identifier> + <Policies href="/user/roles/11/policies" media-type="application/vnd.ibexa.api.PolicyList+xml"/> + </Role> + application/vnd.ibexa.api.RoleDraft+json: + schema: + $ref: '#/components/schemas/RoleDraftWrapper' + example: + Role: + _media-type: application/vnd.ibexa.api.Role+json + _href: /api/ibexa/v2/user/roles/6 + identifier: UpdatedIdentifier + Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/6/policies } + '401': + description: 'Error - the user is not authorized to create a Role or a Role draft' + summary: 'Create Role Draft' + description: 'Creates a new Role draft from an existing Role.' + parameters: + - + name: Accept + in: header + description: 'If set, the new user is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The RoleInput schema encoded in XML or JSON.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new RoleDraftCreateController resource' + content: { } + required: false + deprecated: false + delete: + operationId: api_userroles_id_delete + tags: + - 'User Role' + responses: + '204': + description: 'No Content.' + '401': + description: 'Error - the User is not authorized to delete this Role.' + summary: 'Delete Role' + description: 'The given Role and all assignments to Users or User Groups are deleted.' + parameters: + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_userroles_id_patch + tags: + - 'User Role' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Role+xml: + schema: + $ref: '#/components/schemas/Role' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/9"> + <identifier>UpdatedIdentifier</identifier> + <Policies media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/9/policies"/> + </Role> + application/vnd.ibexa.api.Role+json: + schema: + $ref: '#/components/schemas/RoleWrapper' + example: + Role: + _media-type: application/vnd.ibexa.api.Role+json + _href: /api/ibexa/v2/user/roles/6 + identifier: UpdatedIdentifier + Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/6/policies } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update the Role.' + '412': + description: 'Error - the current ETag does not match with the provided one in the If-Match header.' + summary: 'Update Role' + description: 'Updates a Role. PATCH or POST with header X-HTTP-Method-Override PATCH' + parameters: + - + name: Accept + in: header + description: 'If set, the new user is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The RoleInput schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-Match + in: header + description: 'ETag Causes to patch only if the specified ETag is the current one. Otherwise a 412 is returned.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated RoleUpdateController resource' + content: + application/vnd.ibexa.api.RoleInput+xml: + schema: + $ref: '#/components/schemas/RoleInput' + example: |- + <?xml version="1.0" encoding="UTF-8"?> + <RoleInput> + <identifier>NewRole</identifier> + </RoleInput> + application/vnd.ibexa.api.RoleInput+json: + schema: + $ref: '#/components/schemas/RoleInputWrapper' + example: + RoleInput: + identifier: NewRole + required: false + deprecated: false + '/user/roles/{id}/draft': + get: + operationId: api_userroles_iddraft_get + tags: + - 'User Role' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Role+xml: + schema: + $ref: '#/components/schemas/Role' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/9"> + <identifier>UpdatedIdentifier</identifier> + <Policies media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/9/policies"/> + </Role> + application/vnd.ibexa.api.Role+json: + schema: + $ref: '#/components/schemas/RoleWrapper' + example: + Role: + _media-type: application/vnd.ibexa.api.Role+json + _href: /api/ibexa/v2/user/roles/6 + identifier: UpdatedIdentifier + Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/6/policies } + '401': + description: 'Error - the user has no permission to read Roles.' + '404': + description: 'Error - there is no draft or Role with the given ID.' + summary: 'Load Role draft' + description: 'Loads a Role draft by original Role ID.' + parameters: + - + name: Accept + in: header + description: 'If set, the User list returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_userroles_iddraft_delete + tags: + - 'User Role' + responses: + '204': + description: 'No Content.' + '401': + description: 'Error - the user is not authorized to delete this Role.' + summary: 'Delete Role draft' + description: 'The given Role draft is deleted.' + parameters: + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_userroles_iddraft_patch + tags: + - 'User Role' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Role+xml: + schema: + $ref: '#/components/schemas/Role' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <Role media-type="application/vnd.ibexa.api.Role+xml" href="/api/ibexa/v2/user/roles/9"> + <identifier>UpdatedIdentifier</identifier> + <Policies media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/9/policies"/> + </Role> + application/vnd.ibexa.api.Role+json: + schema: + $ref: '#/components/schemas/RoleWrapper' + example: + Role: + _media-type: application/vnd.ibexa.api.Role+json + _href: /api/ibexa/v2/user/roles/6 + identifier: UpdatedIdentifier + Policies: { _media-type: application/vnd.ibexa.api.PolicyList+json, _href: /api/ibexa/v2/user/roles/6/policies } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the user is not authorized to update the Role.' + '404': + description: 'Error - there is no draft or Role with the given ID.' + '412': + description: 'Error - the current ETag does not match with the one provided in the If-Match header.' + summary: 'Update Role draft' + description: 'Updates a Role draft. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated Role is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The RoleInput schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-Match + in: header + description: 'Performs a PATCH only if the specified ETag is the current one. Otherwise a 412 is returned.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated RoleDraftUpdateController resource' + content: + application/vnd.ibexa.api.RoleInput+xml: + schema: + $ref: '#/components/schemas/RoleInput' + example: |- + <?xml version="1.0" encoding="UTF-8"?> + <RoleInput> + <identifier>NewRole</identifier> + </RoleInput> + application/vnd.ibexa.api.RoleInput+json: + schema: + $ref: '#/components/schemas/RoleInputWrapper' + example: + RoleInput: + identifier: NewRole + required: false + deprecated: false + '/user/roles/{id}/policies': + get: + operationId: api_userroles_idpolicies_get + tags: + - 'User Role' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.PolicyList+xml: + schema: + $ref: '#/components/schemas/PolicyList' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <PolicyList media-type="application/vnd.ibexa.api.PolicyList+xml" href="/api/ibexa/v2/user/roles/1/policies"> + <Policy media-type="application/vnd.ibexa.api.Policy+xml" href="/api/ibexa/v2/user/roles/1/policies/349"> + <id>349</id> + <module>content</module> + <function>read</function> + <limitations> + <limitation identifier="Section"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="1"/> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="3"/> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="6"/> + </values> + </limitation> + </limitations> + </Policy> + <Policy media-type="application/vnd.ibexa.api.Policy+xml" href="/api/ibexa/v2/user/roles/1/policies/350"> + <id>350</id> + <module>user</module> + <function>login</function> + <limitations> + <limitation identifier="SiteAccess"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="2282622326"/> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="1766001124"/> + </values> + </limitation> + </limitations> + </Policy> + <Policy media-type="application/vnd.ibexa.api.Policy+xml" href="/api/ibexa/v2/user/roles/1/policies/351"> + <id>351</id> + <module>content</module> + <function>view_embed</function> + <limitations> + <limitation identifier="Class"> + <values> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="5"/> + <ref media-type="application/vnd.ibexa.api.ref+xml" href="12"/> + </values> + </limitation> + </limitations> + </Policy> + <Policy media-type="application/vnd.ibexa.api.Policy+xml" href="/api/ibexa/v2/user/roles/1/policies/352"> + <id>352</id> + <module>user</module> + <function>register</function> + </Policy> + <Policy media-type="application/vnd.ibexa.api.Policy+xml" href="/api/ibexa/v2/user/roles/1/policies/353"> + <id>353</id> + <module>user</module> + <function>password</function> + </Policy> + </PolicyList> + application/vnd.ibexa.api.PolicyList+json: + schema: + $ref: '#/components/schemas/PolicyListWrapper' + example: + PolicyList: + _media-type: application/vnd.ibexa.api.PolicyList+json + _href: /api/ibexa/v2/user/roles/1/policies + Policy: [{ _media-type: application/vnd.ibexa.api.Policy+json, _href: /api/ibexa/v2/user/roles/1/policies/349, id: 349, module: content, function: read, limitations: { limitation: [{ _identifier: Section, values: { ref: [{ _media-type: application/vnd.ibexa.api.ref+json, _href: '1' }, { _media-type: application/vnd.ibexa.api.ref+json, _href: '3' }, { _media-type: application/vnd.ibexa.api.ref+json, _href: '6' }] } }] } }, { _media-type: application/vnd.ibexa.api.Policy+json, _href: /api/ibexa/v2/user/roles/1/policies/350, id: 350, module: user, function: login, limitations: { limitation: [{ _identifier: SiteAccess, values: { ref: [{ _media-type: application/vnd.ibexa.api.ref+json, _href: '2282622326' }, { _media-type: application/vnd.ibexa.api.ref+json, _href: '1766001124' }] } }] } }, { _media-type: application/vnd.ibexa.api.Policy+json, _href: /api/ibexa/v2/user/roles/1/policies/351, id: 351, module: content, function: view_embed, limitations: { limitation: [{ _identifier: Class, values: { ref: [{ _media-type: application/vnd.ibexa.api.ref+json, _href: '5' }, { _media-type: application/vnd.ibexa.api.ref+json, _href: '12' }] } }] } }, { _media-type: application/vnd.ibexa.api.Policy+json, _href: /api/ibexa/v2/user/roles/1/policies/352, id: 352, module: user, function: register }, { _media-type: application/vnd.ibexa.api.Policy+json, _href: /api/ibexa/v2/user/roles/1/policies/353, id: 353, module: user, function: password }] + '401': + description: 'Error - the user has no permission to read Roles.' + '404': + description: 'Error - the Role does not exist.' + summary: 'Load Policies' + description: 'Loads Policies for the given Role.' + parameters: + - + name: Accept + in: header + description: 'If set, the Policy list is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + post: + operationId: api_userroles_idpolicies_post + tags: + - 'User Role' + responses: + '201': + description: '201' + content: + application/vnd.ibexa.api.Policy+xml: + schema: + $ref: '#/components/schemas/Policy' + example: | + <Policy href="/user/roles/11/policies/55" media-type="application/vnd.ibexa.api.Policy+xml"> + <id>55</id> + <module>content</module> + <function>create</function> + <limitations> + <limitation identifier="Class"> + <values> + <ref href="/content/types/14"/> + </values> + </limitation> + <limitation identifier="ParentClass"> + <values> + <ref href="/content/types/10"/> + </values> + </limitation> + </limitations> + </Policy> + application/vnd.ibexa.api.Policy+json: + schema: + $ref: '#/components/schemas/PolicyWrapper' + example: + Policy: + _media-type: application/vnd.ibexa.api.Policy+json + _href: /api/ibexa/v2/user/roles/1/policies/352 + id: 352 + module: user + function: register + '400': + description: 'Error - the input does not match the input schema definition or validation of limitation in PolicyCreate fails.' + '401': + description: 'Error - the user is not authorized to create the Policy.' + '404': + description: 'Error - the Role does not exist.' + summary: 'Create Policy' + description: 'Creates a Policy' + parameters: + - + name: Accept + in: header + description: 'If set, the updated Policy is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'If set, the updated Policy is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new RolePolicyCreateController resource' + content: + application/vnd.ibexa.api.PolicyCreate+xml: + schema: + $ref: '#/components/schemas/PolicyCreate' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <PolicyCreate> + <module>content</module> + <function>create</function> + <limitations> + <limitation identifier="Class"> + <values> + <ref href="2"/> + </values> + </limitation> + <limitation identifier="ParentClass"> + <values> + <ref href="1"/> + </values> + </limitation> + </limitations> + </PolicyCreate> + application/vnd.ibexa.api.PolicyCreate+json: + schema: + $ref: '#/components/schemas/PolicyCreateWrapper' + required: false + deprecated: false + delete: + operationId: api_userroles_idpolicies_delete + tags: + - 'User Role' + responses: + '204': + description: 'No Content - all Policies of the given Role are deleted.' + '401': + description: 'Error - the user is not authorized to delete this content type.' + summary: 'Delete Policies' + description: 'All Policies of the given Role are deleted.' + parameters: + - + name: id + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/user/roles/{roleId}/policies/{policyId}': + get: + operationId: api_userroles_roleIdpolicies_policyId_get + tags: + - 'User Role' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Policy+xml: + schema: + $ref: '#/components/schemas/Policy' + example: | + <Policy href="/user/roles/11/policies/55" media-type="application/vnd.ibexa.api.Policy+xml"> + <id>55</id> + <module>content</module> + <function>create</function> + <limitations> + <limitation identifier="Class"> + <values> + <ref href="/content/types/14"/> + </values> + </limitation> + <limitation identifier="ParentClass"> + <values> + <ref href="/content/types/10"/> + </values> + </limitation> + </limitations> + </Policy> + application/vnd.ibexa.api.Policy+json: + schema: + $ref: '#/components/schemas/PolicyWrapper' + example: + Policy: + _media-type: application/vnd.ibexa.api.Policy+json + _href: /api/ibexa/v2/user/roles/1/policies/352 + id: 352 + module: user + function: register + '401': + description: 'Error - the user has no permission to read Roles.' + '404': + description: 'Error - the Role or Policy does not exist.' + summary: 'Load Policy' + description: 'Loads a Policy for the given module and function.' + parameters: + - + name: Accept + in: header + description: 'If set, the Policy is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-None-Match + in: header + description: ETag + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: policyId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: roleId + in: path + description: 'RolePolicyLoadByIdController identifier' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + delete: + operationId: api_userroles_roleIdpolicies_policyId_delete + tags: + - 'User Role' + responses: + '204': + description: 'No Content - the given Policy is deleted.' + '401': + description: 'Error - the user is not authorized to delete this content type.' + '404': + description: 'Error - the Role or Policy does not exist.' + summary: 'Delete Policy' + description: 'Deletes given Policy.' + parameters: + - + name: policyId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: roleId + in: path + description: 'RolePolicyDeleteController identifier' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + patch: + operationId: api_userroles_roleIdpolicies_policyId_patch + tags: + - 'User Role' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Policy+xml: + schema: + $ref: '#/components/schemas/Policy' + example: | + <Policy href="/user/roles/11/policies/55" media-type="application/vnd.ibexa.api.Policy+xml"> + <id>55</id> + <module>content</module> + <function>create</function> + <limitations> + <limitation identifier="Class"> + <values> + <ref href="/content/types/14"/> + </values> + </limitation> + <limitation identifier="ParentClass"> + <values> + <ref href="/content/types/10"/> + </values> + </limitation> + </limitations> + </Policy> + application/vnd.ibexa.api.Policy+json: + schema: + $ref: '#/components/schemas/PolicyWrapper' + example: + Policy: + _media-type: application/vnd.ibexa.api.Policy+json + _href: /api/ibexa/v2/user/roles/1/policies/352 + id: 352 + module: user + function: register + '400': + description: 'Error - the input does not match the input schema definition or validation of limitation in PolicyUpdate fails.' + '401': + description: 'Error - the user is not authorized to update the Policy.' + '404': + description: 'Error - the Role does not exist.' + '412': + description: 'Error - the current ETag does not match with the one provided in the If-Match header.' + summary: 'Update Policy' + description: 'Updates a Policy. PATCH or POST with header X-HTTP-Method-Override PATCH.' + parameters: + - + name: Accept + in: header + description: 'If set, the updated Policy is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'If set, the updated Policy is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: If-Match + in: header + description: 'Causes to patch only if the specified ETag is the current one. Otherwise a 412 is returned.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: policyId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: roleId + in: path + description: 'RolePolicyUpdateController identifier' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The updated RolePolicyUpdateController resource' + content: + application/vnd.ibexa.api.PolicyUpdate+xml: + schema: + $ref: '#/components/schemas/PolicyUpdate' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <PolicyUpdate> + <limitations> + <limitation identifier="Class"> + <values> + <ref href="2"/> + </values> + </limitation> + <limitation identifier="ParentClass"> + <values> + <ref href="1"/> + </values> + </limitation> + </limitations> + </PolicyUpdate> + application/vnd.ibexa.api.PolicyUpdate+json: + schema: + $ref: '#/components/schemas/PolicyUpdateWrapper' + required: false + deprecated: false + /user/sessions: + post: + operationId: api_usersessions_post + tags: + - 'User Session' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Session+xml: + schema: + $ref: '#/components/schemas/Session' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <Session media-type="application/vnd.ibexa.api.Session+xml" href="/api/ibexa/v2/user/sessions/ABCDEFGHIJKLMNOPQRSTUVWXYZ"> + <name>IBX_SESSION_ID0123456789ABCDEFGHIJKLMNOPQRSTUV</name> + <identifier>ABCDEFGHIJKLMNOPQRSTUVWXYZ</identifier> + <csrfToken>0123456789ABCDEF.GHIJKLMNOP_QRSTUVWXYZabcdefghijklmnopqrstuv.wxyz0123456-789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopq</csrfToken> + <User media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + </Session> + application/vnd.ibexa.api.Session+json: + schema: + $ref: '#/components/schemas/SessionWrapper' + example: + Session: + _media-type: application/vnd.ibexa.api.Session + name: eZSSID + identifier: go327ij2cirpo59pb6rrv2a4el2 + csrfToken: 23lkneri34ijajedfw39orj3j93 + User: { _href: /user/users/14, _media-type: application/vnd.ibexa.api.User+json } + '201': + description: '201' + content: + application/vnd.ibexa.api.Session+xml: + schema: + $ref: '#/components/schemas/Session' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <Session media-type="application/vnd.ibexa.api.Session+xml" href="/api/ibexa/v2/user/sessions/ABCDEFGHIJKLMNOPQRSTUVWXYZ"> + <name>IBX_SESSION_ID0123456789ABCDEFGHIJKLMNOPQRSTUV</name> + <identifier>ABCDEFGHIJKLMNOPQRSTUVWXYZ</identifier> + <csrfToken>0123456789ABCDEF.GHIJKLMNOP_QRSTUVWXYZabcdefghijklmnopqrstuv.wxyz0123456-789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopq</csrfToken> + <User media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + </Session> + application/vnd.ibexa.api.Session+json: + schema: + $ref: '#/components/schemas/SessionWrapper' + example: + Session: + _media-type: application/vnd.ibexa.api.Session + name: eZSSID + identifier: go327ij2cirpo59pb6rrv2a4el2 + csrfToken: 23lkneri34ijajedfw39orj3j93 + User: { _href: /user/users/14, _media-type: application/vnd.ibexa.api.User+json } + '400': + description: 'Error - the input does not match the input schema definition.' + '401': + description: 'Error - the authorization failed.' + '409': + description: 'Error - header contained a session cookie but different user was authorized.' + summary: 'Create session (login a User)' + description: 'Performs a login for the user or checks if session exists and returns the session and session cookie. The client will need to remember both session name/ID and CSRF token as this is for security reasons not exposed via GET.' + parameters: + - + name: Accept + in: header + description: 'If set, the session is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The SessionInput schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Cookie + in: header + description: "Only needed for session's checking {sessionName}={sessionID}." + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: X-CSRF-Token + in: header + description: "Only needed for session's checking. The {csrfToken} needed on all unsafe HTTP methods with session." + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new SessionCreateController resource' + content: + application/vnd.ibexa.api.SessionInput+xml: + schema: + $ref: '#/components/schemas/SessionInput' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <SessionInput> + <login>admin</login> + <password>secret</password> + </SessionInput> + application/vnd.ibexa.api.SessionInput+json: + schema: + $ref: '#/components/schemas/SessionInputWrapper' + example: + SessionInput: + login: admin + password: secret + required: false + deprecated: false + /user/sessions/current: + get: + operationId: api_usersessionscurrent_get + tags: + - 'User Session' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Session+xml: + schema: + $ref: '#/components/schemas/Session' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <Session media-type="application/vnd.ibexa.api.Session+xml" href="/api/ibexa/v2/user/sessions/ABCDEFGHIJKLMNOPQRSTUVWXYZ"> + <name>IBX_SESSION_ID0123456789ABCDEFGHIJKLMNOPQRSTUV</name> + <identifier>ABCDEFGHIJKLMNOPQRSTUVWXYZ</identifier> + <csrfToken>0123456789ABCDEF.GHIJKLMNOP_QRSTUVWXYZabcdefghijklmnopqrstuv.wxyz0123456-789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopq</csrfToken> + <User media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + </Session> + application/vnd.ibexa.api.Session+json: + schema: + $ref: '#/components/schemas/SessionWrapper' + example: + Session: + _media-type: application/vnd.ibexa.api.Session + name: eZSSID + identifier: go327ij2cirpo59pb6rrv2a4el2 + csrfToken: 23lkneri34ijajedfw39orj3j93 + User: { _href: /user/users/14, _media-type: application/vnd.ibexa.api.User+json } + '404': + description: 'User does not have a valid session, or it has expired.' + summary: 'Get current session' + description: 'Get current user session, if any.' + parameters: + - + name: Cookie + in: header + description: "Only needed for session's checking {sessionName}={sessionID}." + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Accept + in: header + description: 'If set, the session is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/user/sessions/{sessionId}': + delete: + operationId: api_usersessions_sessionId_delete + tags: + - 'User Session' + responses: + '204': + description: 'OK - session deleted.' + '404': + description: 'Error - the session does not exist.' + summary: 'Delete session (logout a User)' + description: 'The user session is removed i.e. the user is logged out.' + parameters: + - + name: Cookie + in: header + description: '{sessionName}={sessionID}' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: X-CSRF-Token + in: header + description: 'The {csrfToken} needed on all unsafe HTTP methods with session.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: sessionId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + deprecated: false + '/user/sessions/{sessionId}/refresh': + post: + operationId: api_usersessions_sessionIdrefresh_post + tags: + - 'User Session' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.Session+xml: + schema: + $ref: '#/components/schemas/Session' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <Session media-type="application/vnd.ibexa.api.Session+xml" href="/api/ibexa/v2/user/sessions/ABCDEFGHIJKLMNOPQRSTUVWXYZ"> + <name>IBX_SESSION_ID0123456789ABCDEFGHIJKLMNOPQRSTUV</name> + <identifier>ABCDEFGHIJKLMNOPQRSTUVWXYZ</identifier> + <csrfToken>0123456789ABCDEF.GHIJKLMNOP_QRSTUVWXYZabcdefghijklmnopqrstuv.wxyz0123456-789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopq</csrfToken> + <User media-type="application/vnd.ibexa.api.User+xml" href="/api/ibexa/v2/user/users/14"/> + </Session> + application/vnd.ibexa.api.Session+json: + schema: + $ref: '#/components/schemas/SessionWrapper' + example: + Session: + _media-type: application/vnd.ibexa.api.Session + name: eZSSID + identifier: go327ij2cirpo59pb6rrv2a4el2 + csrfToken: 23lkneri34ijajedfw39orj3j93 + User: { _href: /user/users/14, _media-type: application/vnd.ibexa.api.User+json } + '404': + description: 'Error - the session does not exist.' + summary: 'Refresh session (deprecated)' + description: "Get the session's User information. Deprecated as of Ibexa DXP 4.6, use GET /user/sessions/current instead." + parameters: + - + name: Cookie + in: header + description: '{sessionName}={sessionID}' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: X-CSRF-Token + in: header + description: 'The {csrfToken} needed on all unsafe HTTP methods with session.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Accept + in: header + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: sessionId + in: path + description: '' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new SessionRefreshController resource' + content: { } + required: false + deprecated: false + /user/token/jwt: + post: + operationId: api_usertokenjwt_post + tags: + - 'User Token' + responses: + '200': + description: '200' + content: + application/vnd.ibexa.api.JWT+xml: + schema: + $ref: '#/components/schemas/JWT' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <JWT media-type="application/vnd.ibexa.api.JWT+xml" token="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2MDI4NDA3NjEsImV4cCI6MTYwMjg0NDM2MSwicm9sZXMiOlsiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoiYWRtaW4ifQ.LsmdVjad7wMwVQUo4vSftT0zHbJyArOMd23b417E2jI"> + <token>eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2MDI4NDA3NjEsImV4cCI6MTYwMjg0NDM2MSwicm9sZXMiOlsiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoiYWRtaW4ifQ.LsmdVjad7wMwVQUo4vSftT0zHbJyArOMd23b417E2jI</token> + </JWT> + application/vnd.ibexa.api.JWT+json: + schema: + $ref: '#/components/schemas/JWTWrapper' + example: + JWT: + _media-type: application/vnd.ibexa.api.JWT+json + _token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2MDI4NDA3ODAsImV4cCI6MTYwMjg0NDM4MCwicm9sZXMiOlsiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoiYWRtaW4ifQ.0LHa799HwSwwfDBZd2V0q2xHwGt86PpyZamKnXHQyYI + token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2MDI4NDA3ODAsImV4cCI6MTYwMjg0NDM4MCwicm9sZXMiOlsiUk9MRV9VU0VSIl0sInVzZXJuYW1lIjoiYWRtaW4ifQ.0LHa799HwSwwfDBZd2V0q2xHwGt86PpyZamKnXHQyYI + '401': + description: 'Error - Unauthorized' + summary: 'Create JWT token' + description: 'Creates JWT authentication token.' + parameters: + - + name: Accept + in: header + description: 'If set, the token is returned in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The SessionInput schema encoded in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new JWT resource' + content: + application/vnd.ibexa.api.JWTInput+xml: + schema: + $ref: '#/components/schemas/JWTInput' + example: | + <JWTInput> + <password>publish</password> + <username>admin</username> + </JWTInput> + application/vnd.ibexa.api.JWTInput+json: + schema: + $ref: '#/components/schemas/JWTInputWrapper' + example: + JWTInput: + _media-type: application/vnd.ibexa.api.JWTInput + username: admin + password: publish + required: false + deprecated: false + /views: + post: + operationId: api_views_post + tags: + - Views + responses: + '200': + description: '200' + content: + 'application/vnd.ibexa.api.View+xml; version=1.1': + schema: + $ref: '#/components/schemas/View' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <View href="/views/TitleView" media-type="application/vnd.ibexa.api.View+xml; version=1.1"> + <identifier>TitleView</identifier> + <User href="/user/users/14" media-type="vnd.ibexa.api.User+xml"/> + <public>false</public> + <LocationQuery> + <Filter> + <ParentLocationIdCriterion>2</ParentLocationIdCriterion> + </Filter> + <limit>10</limit> + <offset>0</offset> + <SortClauses> + <ContentName>ascending</ContentName> + </SortClauses> + <FacetBuilders> + <contentTypeFacetBuilder/> + </FacetBuilders> + </LocationQuery> + <Result href="/content/views/view1234/results" + media-type="application/vnd.ibexa.api.ViewResult+xml" count="34" time="31" maxScore="1.0"> + <searchHits> + <searchHit score="1.0" index="installid1234567890"> + <hightlight/> + <value> + <Location media-type="application/vnd.ibexa.api.Location+xml" href="/api/ibexa/v2/content/locations/1/2"> + <id>2</id> + <priority>0</priority> + <hidden>false</hidden> + <invisible>false</invisible> + <ParentLocation media-type="application/vnd.ibexa.api.Location+xml" href="/api/ibexa/v2/content/locations/1"/> + <pathString>/1/2/</pathString> + <depth>1</depth> + <childCount>8</childCount> + <remoteId>f3e90596361e31d496d4026eb624c983</remoteId> + <Children media-type="application/vnd.ibexa.api.LocationList+xml" href="/api/ibexa/v2/content/locations/1/2/children"/> + <Content media-type="application/vnd.ibexa.api.Content+xml" href="/api/ibexa/v2/content/objects/57"/> + <sortField>PRIORITY</sortField> + <sortOrder>ASC</sortOrder> + <UrlAliases media-type="application/vnd.ibexa.api.UrlAliasRefList+xml" href="/api/ibexa/v2/content/locations/1/2/urlaliases"/> + </Location> + + </value> + </searchHit> + <!-- ... --> + </searchHits> + <facets> + <contentTypeFacet> + <contentTypeFacetEntry> + <contentType href="/content/types/1" media-type="application/vnd.ibexa.api.ContentType+xml"/> + <count>3</count> + </contentTypeFacetEntry> + <contentTypeFacetEntry> + <contentType href="/content/types/7" media-type="application/vnd.ibexa.api.ContentType+xml"/> + <count>9</count> + </contentTypeFacetEntry> + <contentTypeFacetEntry> + <contentType href="/content/types/11" media-type="application/vnd.ibexa.api.ContentType+xml"/> + <count>1</count> + </contentTypeFacetEntry> + <contentTypeFacetEntry> + <contentType href="/content/types/15" media-type="application/vnd.ibexa.api.ContentType+xml"/> + <count>8</count> + </contentTypeFacetEntry> + </contentTypeFacet> + </facets> + </Result> + </View> + '400': + description: 'Error - the input does not match the input schema definition.' + summary: 'Search content' + description: |- + Executes a query and returns a View including the results. + View input reflects the criteria model of the public PHP API. + Refer to [Search Criteria Reference](/en/latest/search/criteria_reference/search_criteria_reference/) + parameters: + - + name: Accept + in: header + description: 'The view in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + - + name: Content-Type + in: header + description: 'The view input in XML or JSON format.' + required: true + deprecated: false + allowEmptyValue: false + schema: + type: string + style: simple + explode: false + allowReserved: false + requestBody: + description: 'The new Views resource' + content: + application/vnd.ibexa.api.ViewInput+xml: + schema: + $ref: '#/components/schemas/ViewInput' + example: | + <?xml version="1.0" encoding="UTF-8"?> + <ViewInput> + <identifier>TitleView</identifier> + <Query> + <Filter> + <ContentTypeIdentifierCriterion>image</ContentTypeIdentifierCriterion> + <SectionIdentifierCriterion>media</SectionIdentifierCriterion> + <DateMetadataCriterion> + <Target>modified</Target> + <Value>1675681020</Value> + <Operator>gte</Operator> + </DateMetadataCriterion> + </Filter> + <limit>10</limit> + <offset>0</offset> + <SortClauses> + <ContentName>ascending</ContentName> + </SortClauses> + <Aggregations> + <Aggregation> + <ContentTypeTermAggregation> + <name>some name</name> + </ContentTypeTermAggregation> + </Aggregation> + </Aggregations> + </Query> + </ViewInput> + application/vnd.ibexa.api.ViewInput+json: + schema: + $ref: '#/components/schemas/ViewInputWrapper' + example: + ViewInput: + identifier: TitleView + Query: + Filter: { ContentTypeIdentifierCriterion: image, SectionIdentifierCriterion: media, DateMetadataCriterion: { Target: modified, Value: 1675681020, Operator: gte } } + limit: 10 + offset: 0 + SortClauses: { ContentName: ascending } + Aggregations: [{ ContentTypeTermAggregation: { name: 'some name' } }] + required: false + deprecated: false +components: + schemas: + BaseObject: + type: object + required: + - _media-type + properties: + _media-type: + xml: + attribute: true + name: media-type + type: string + _href: + xml: + attribute: true + name: href + type: string + Ref: + $ref: '#/components/schemas/BaseObject' + UnixTimestamp: + type: integer + Href: + type: object + required: + - _href + properties: + _href: + xml: + attribute: true + name: href + type: string + Target: + description: 'Struct that stores extra target information for a SortClause object.' + type: object + SortClause: + description: 'This class is the base for SortClause classes, used to set sorting of content queries.' + type: object + required: + - direction + - target + - targetData + properties: + direction: + description: 'Sort direction. One of Query::SORT_ASC or Query::SORT_DESC.' + type: string + target: + description: 'Sort target, high level: section_identifier, attribute_value, etc.' + type: string + targetData: + description: 'Extra target data, required by some sort clauses, field for instance.' + $ref: '#/components/schemas/Target' + ErrorMessage: + description: 'Represents an error response. Might contain additional properties depending on an error type.' + type: object + required: + - errorCode + - errorMessage + - errorDescription + properties: + errorCode: + type: integer + errorMessage: + type: string + errorDescription: + type: string + Value: + description: 'Struct that stores extra value information for a Criterion object.' + type: object + required: + - _languageCode + - '#text' + properties: + _languageCode: + description: 'Language code.' + type: string + '#text': + description: 'Content type description.' + type: + - string + - 'null' + ValueObject: + type: object + required: + - value + properties: + value: + type: array + items: + $ref: '#/components/schemas/Value' + ValueArray: + type: object + required: + - value + properties: + value: + type: array + items: + $ref: '#/components/schemas/Value' + MultilingualValue: + description: 'Object that represents a multilingual (translated) value.' + type: object + required: + - _languageCode + - '#text' + properties: + _languageCode: + description: 'Language code.' + type: string + '#text': + description: 'Translation contents.' + type: + - string + - 'null' + KeyValue: + description: 'Key-value structure' + type: object + required: + - _key + - '#text' + properties: + _key: + type: string + '#text': + type: + - string + - 'null' + DateRange: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'Representation of date range.' + type: object + required: + - startDate + - endDate + properties: + startDate: + type: string + endDate: + type: string + BookmarkList: + description: 'List of bookmarked Locations.' + type: object + required: + - count + - items + properties: + count: + description: 'The total number of bookmarks.' + type: integer + items: + description: 'List of bookmarked Locations.' + type: array + items: + type: object + required: + - Location + - _media-type + - __href + properties: + Location: + $ref: '#/components/schemas/Location' + _media-type: + type: string + __href: + type: string + BookmarkListWrapper: + type: object + required: + - BookmarkList + properties: + BookmarkList: + $ref: '#/components/schemas/BookmarkList' + SummaryEntry: + type: object + required: + - identifier + - id + - names + - quantity + - Price + - PriceInclVat + - SubtotalPrice + - SubtotalPriceInclVat + - VatCategory + - Product + properties: + identifier: + type: string + id: + type: integer + names: + $ref: '#/components/schemas/SummaryEntryNames' + quantity: + type: integer + Price: + $ref: '#/components/schemas/RestPriceWrapper' + PriceInclVat: + $ref: '#/components/schemas/RestPriceWrapper' + SubtotalPrice: + $ref: '#/components/schemas/RestPriceWrapper' + SubtotalPriceInclVat: + $ref: '#/components/schemas/RestPriceWrapper' + VatCategory: + $ref: '#/components/schemas/VatCategory' + Product: + $ref: '#/components/schemas/Product' + SummaryEntryNames: + $ref: '#/components/schemas/ValueObject' + Location: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a Location in the Repository.' + type: object + required: + - id + - priority + - hidden + - invisible + - remoteId + - ContentInfo + - ParentLocation + - pathString + - depth + - childCount + - sortField + - sortOrder + - Content + properties: + id: + description: 'The ID of the Location.' + type: integer + priority: + description: 'Location priority. Position of the Location among its siblings when sorted using priority sort order.' + type: integer + hidden: + description: 'Indicates that the Location entity has been explicitly marked as hidden.' + type: boolean + invisible: + description: 'Indicates that the Location is implicitly marked as hidden by a parent Location.' + type: boolean + remoteId: + description: 'Remote ID, universally unique identifier.' + type: string + ContentInfo: + description: 'This class provides all version independent information of the content item.' + $ref: '#/components/schemas/ContentInfo' + ParentLocation: + description: 'Parent Location.' + Children: + description: 'Children Location.' + pathString: + description: 'The materialized path of the Location entry e.g. /1/2/.' + type: string + depth: + description: 'Depth Location has in the Location tree.' + type: integer + childCount: + description: 'Depth Location has in the Location tree.' + type: integer + sortField: + description: 'Specifies which property the child Locations should be sorted on. Map for Location sort fields to their respective SortClauses - class name/identifier and modified subnode. One of the fallowing values: PATH.' + enum: + - PATH + - PUBLISHED + - MODIFIED + - SECTION + - DEPTH + - CLASS_IDENTIFIER + - CLASS_NAME + - PRIORITY + - NAME + - MODIFIED_SUBNODE + - NODE_ID + - CONTENTOBJECT_ID + type: string + sortOrder: + description: 'Specifies whether the sort order should be ascending or descending. Map for Location sort order to their respective Query SORT constants. One of the fallowing values: const SORT_ORDER_DESC = 0; const SORT_ORDER_ASC = 1.' + enum: + - ASC + - DESC + type: string + Content: + description: 'Represents a content item in a specific version.' + UrlAliases: + description: 'This class represents URL aliases.' + LocationWrapper: + type: object + required: + - Location + properties: + Location: + $ref: '#/components/schemas/Location' + LocationCreate: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + type: object + required: + - ParentLocation + - priority + - hidden + - sortField + - sortOrder + properties: + ParentLocation: + type: object + required: + - _href + properties: + _href: + xml: { attribute: true, name: href } + type: string + priority: + type: string + hidden: + type: + - string + - boolean + sortField: + type: string + sortOrder: + type: string + LocationCreateWrapper: + type: object + required: + - LocationCreate + properties: + LocationCreate: + $ref: '#/components/schemas/LocationCreate' + LocationUpdateStruct: + description: 'This class is used for updating Location meta data.' + type: object + required: + - priority + - remoteId + - hidden + - sortField + - sortOrder + properties: + priority: + description: 'If set the Location priority is changed to the new value.' + type: string + remoteId: + description: 'If set the Location gets a new remoteId. Needs to be a unique Location->remoteId string value.' + type: string + hidden: + type: boolean + sortField: + description: 'If set the sortField is changed. The sort field specifies which property the child Locations should be sorted on. Valid values are found at {@link Location::SORT_FIELD_*}.' + enum: + - PATH + - PUBLISHED + - MODIFIED + - SECTION + - DEPTH + - CLASS_IDENTIFIER + - CLASS_NAME + - PRIORITY + - NAME + - MODIFIED_SUBNODE + - NODE_ID + - CONTENTOBJECT_ID + type: string + sortOrder: + description: 'If set the sortOrder is changed. The sort order specifies whether the sort order should be ascending or descending. Valid values are {@link Location::SORT_ORDER_*}.' + enum: + - ASC + - DESC + type: string + LocationUpdateStructWrapper: + type: object + required: + - LocationUpdate + properties: + LocationUpdate: + $ref: '#/components/schemas/LocationUpdateStruct' + LocationList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a queried Location list holding a totalCount and a partial list of Locations (by offset/limit parameters and permission filters).' + type: object + required: + - Location + properties: + Location: + description: 'The partial list of Locations controlled by offset/limit.' + type: array + items: + $ref: '#/components/schemas/Ref' + LocationListWrapper: + type: object + required: + - LocationList + properties: + LocationList: + $ref: '#/components/schemas/LocationList' + Content: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'Content ID matcher class.' + type: object + required: + - _remoteId + - _id + - ContentType + - Name + - Versions + - CurrentVersion + - Section + - Locations + - Owner + - mainLanguageCode + - currentVersionNo + - alwaysAvailable + - status + - ObjectStates + properties: + _remoteId: + description: 'Remote ID of the content type.' + xml: + attribute: true + name: remoteId + type: string + _id: + description: 'Unique ID of the content type.' + xml: + attribute: true + name: id + type: integer + ContentType: + description: 'Content type.' + $ref: '#/components/schemas/BaseObject' + Name: + description: 'Name of the domain object in a given language.' + type: string + Versions: + description: 'Returns the VersionInfo for this version.' + $ref: '#/components/schemas/BaseObject' + CurrentVersion: + description: 'Current version.' + $ref: '#/components/schemas/BaseObject' + Section: + description: 'The Section to which the content item is assigned to.' + $ref: '#/components/schemas/BaseObject' + Locations: + description: 'Location of the content item.' + $ref: '#/components/schemas/BaseObject' + Owner: + description: 'The owner of the content item.' + $ref: '#/components/schemas/BaseObject' + lastModificationDate: + description: 'Content item modification date.' + type: string + format: date-time + publishedDate: + description: 'Content item publication date.' + type: string + format: date-time + mainLanguageCode: + description: 'The main language code of the content item.' + type: string + currentVersionNo: + description: 'Current version number is the version number of the published version or the version number of a newly created draft (which is 1).' + type: integer + alwaysAvailable: + description: "Indicates if the content item is shown in the main language if it's not present in an other requested language." + type: boolean + status: + description: 'Status of the content. Possible values: const STATUS_DRAFT = 0;const STATUS_PUBLISHED = 1; const STATUS_TRASHED = 2.' + type: string + ObjectStates: + description: 'Object states.' + $ref: '#/components/schemas/BaseObject' + ContentWrapper: + type: object + required: + - Content + properties: + Content: + $ref: '#/components/schemas/Content' + ContentCreate: + description: 'This class is used for creating a new content item.' + type: object + required: + - ContentType + - mainLanguageCode + - LocationCreate + - fields + properties: + ContentType: + description: 'The content type for which the new content item is created.' + oneOf: + - + $ref: '#/components/schemas/Content' + - + $ref: '#/components/schemas/Href' + Section: + description: 'The Section the content item is assigned to. If not set the Section of the parent is used or a default Section.' + $ref: '#/components/schemas/Href' + User: + description: 'The owner of the content. If not given the current authenticated User is set as owner.' + type: integer + alwaysAvailable: + description: "Indicates if the content item is shown in the main language if it's not present in an other requested language." + type: string + remoteId: + description: 'Remote identifier used as a custom identifier for the content item. Needs to be a unique Content->remoteId string value.' + type: string + mainLanguageCode: + description: 'The main language code for the content. This language will also be used for as initial language for the first created version. It is also used as default language for added fields.' + type: string + modificationDate: + description: 'Modification date. If not given, the current integer is used.' + type: string + format: date-time + LocationCreate: + type: object + fields: + type: object + required: + - field + properties: + field: + type: array + items: + type: object + ContentCreateWrapper: + type: object + required: + - ContentCreate + properties: + ContentCreate: + $ref: '#/components/schemas/ContentCreate' + ContentUpdate: + description: 'This class is used to update a Content.' + type: object + required: + - mainLanguageCode + - Section + - MainLocation + - Owner + - alwaysAvailable + - remoteId + properties: + mainLanguageCode: + type: string + Section: + $ref: '#/components/schemas/Section' + MainLocation: + $ref: '#/components/schemas/Location' + Owner: + $ref: '#/components/schemas/User' + alwaysAvailable: + type: boolean + remoteId: + type: string + ContentInfo: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class provides all version independent information of the content item.' + type: object + required: + - Content + properties: + Content: + description: 'Content ID matcher class.' + $ref: '#/components/schemas/Content' + ContentInfoWrapper: + type: object + required: + - ContentInfo + properties: + ContentInfo: + $ref: '#/components/schemas/ContentInfo' + ContentMetadataUpdate: + description: 'This class is used to update a Content metadata.' + type: object + required: + - ownerId + - publishedDate + - modificationDate + - mainLanguageCode + - alwaysAvailable + - remoteId + - mainLocationId + - name + properties: + ownerId: + type: [] + publishedDate: + type: string + format: date-time + modificationDate: + type: string + format: date-time + mainLanguageCode: + type: string + alwaysAvailable: + type: boolean + remoteId: + type: string + mainLocationId: + type: [] + name: + type: string + ContentCreateContentType: + type: object + required: + - _href + - FieldDefinitions + properties: + _href: + xml: + attribute: true + name: href + type: string + FieldDefinitions: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + type: object + properties: + FieldDefinitions: + type: array + items: { $ref: '#/components/schemas/FieldDefinition' } + ContentObjectStates: + description: 'Represents a list of object states.' + type: object + required: + - ObjectState + properties: + ObjectState: + description: 'List of object state values.' + type: array + items: + $ref: '#/components/schemas/Href' + ContentObjectStatesWrapper: + type: object + required: + - ContentObjectStates + properties: + ContentObjectStates: + $ref: '#/components/schemas/ContentObjectStates' + VersionInfo: + description: 'This class holds version information data. It also contains the corresponding {@link Content} to which the version belongs to.' + type: object + required: + - id + - versionNo + - status + - modificationDate + - Creator + - creationDate + - initialLanguageCode + - languageCodes + - VersionTranslationInfo + - names + - Content + properties: + id: + description: 'Version ID.' + type: integer + versionNo: + description: 'Version number. In contrast to {@link $id}, this is the version number, which only increments in scope of a single content item.' + type: integer + status: + description: 'One of: VersionInfo::STATUS_DRAFT=0, VersionInfo::STATUS_PUBLISHED=1, VersionInfo::STATUS_ARCHIVED=3.' + enum: + - DRAFT + - PUBLISHED + - ARCHIVED + type: string + modificationDate: + description: 'The last modified date of this version.' + type: string + format: date-time + Creator: + description: 'Creator of the version, in the search API this is referred to as the modifier of the published content.' + $ref: '#/components/schemas/BaseObject' + creationDate: + description: 'Content creation date.' + type: string + format: date-time + initialLanguageCode: + description: 'The language code which is used for labeling a translation.' + type: string + languageCodes: + description: 'List of languages in this version. Reflects which languages fields exists in for this version.' + type: string + VersionTranslationInfo: + description: 'Translation information.' + names: + description: Names. + $ref: '#/components/schemas/ValueArray' + Content: + description: 'Represents a content item in a specific version.' + $ref: '#/components/schemas/BaseObject' + Version: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'Returns the VersionInfo for this version.' + type: object + required: + - VersionInfo + - Fields + - Relations + properties: + VersionInfo: + description: 'VersionInfo for this version.' + Fields: + type: object + required: + - field + properties: + field: + description: 'Fields of a Company content item.' + type: array + items: { $ref: '#/components/schemas/Field' } + Relations: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'Relations of the user.' + type: object + required: [Relation] + properties: { Relation: { type: array, items: { $ref: '#/components/schemas/Relation' } } } + VersionWrapper: + type: object + required: + - Version + properties: + Version: + $ref: '#/components/schemas/Version' + VersionUpdate: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class is used to update a content version.' + type: object + required: + - modificationDate + - initialLanguageCode + - fields + properties: + modificationDate: + type: string + format: date-time + initialLanguageCode: + type: string + fields: + type: array + items: + $ref: '#/components/schemas/Field' + VersionUpdateWrapper: + type: object + required: + - VersionUpdate + properties: + VersionUpdate: + $ref: '#/components/schemas/VersionUpdate' + VersionList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'List of all versions of the content.' + type: object + required: + - VersionItem + properties: + VersionItem: + type: array + items: + $ref: '#/components/schemas/VersionItem' + VersionListWrapper: + type: object + required: + - VersionList + properties: + VersionList: + $ref: '#/components/schemas/VersionList' + VersionItem: + description: 'Version of content.' + type: object + required: + - Version + - VersionInfo + properties: + Version: + description: 'Returns the VersionInfo for this version.' + $ref: '#/components/schemas/BaseObject' + VersionInfo: + $ref: '#/components/schemas/VersionInfo' + VersionTranslationInfo: + description: 'Translation information.' + type: object + required: + - _media-type + - Language + properties: + _media-type: + type: string + Language: + type: array + items: + $ref: '#/components/schemas/LanguageCode' + LanguageCode: + description: 'Language code.' + type: object + required: + - languageCode + properties: + languageCode: + type: string + Relation: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'Class representing a relation between content.' + type: object + required: + - SourceContent + - DestinationContent + - RelationType + properties: + SourceContent: + description: 'The content of the source content of the relation.' + $ref: '#/components/schemas/Ref' + DestinationContent: + description: 'The content of the destination content of the relation.' + $ref: '#/components/schemas/Ref' + RelationType: + description: 'The relation type bitmask. Relations: Relation::COMMON = 1, Relation::EMBED = 2, Relation::LINK = 4, Relation::FIELD = 8, Relation::ASSET = 16' + type: string + RelationWrapper: + type: object + required: + - Relation + properties: + Relation: + $ref: '#/components/schemas/Relation' + RelationCreate: + type: object + required: + - Destination + properties: + Destination: + $ref: '#/components/schemas/Href' + RelationCreateWrapper: + type: object + required: + - RelationCreate + properties: + RelationCreate: + $ref: '#/components/schemas/RelationCreate' + RelationList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'Class representing a list of relations between content.' + type: object + required: + - Relation + properties: + Relation: + type: array + items: + $ref: '#/components/schemas/Relation' + RelationListWrapper: + type: object + required: + - Relations + properties: + Relations: + $ref: '#/components/schemas/RelationList' + Fields: + type: object + required: + - field + properties: + field: + type: array + items: + $ref: '#/components/schemas/Field' + Section: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a Section.' + type: object + required: + - sectionId + - identifier + - name + properties: + sectionId: + description: 'ID of the Section.' + type: integer + identifier: + description: 'Unique identifier of the Section.' + type: string + name: + description: 'Name of the Section.' + type: string + SectionWrapper: + type: object + required: + - Section + properties: + Section: + $ref: '#/components/schemas/Section' + SectionInput: + type: object + required: + - identifier + - name + properties: + identifier: + type: string + name: + type: string + SectionInputWrapper: + type: object + required: + - SectionInput + properties: + SectionInput: + $ref: '#/components/schemas/SectionInput' + SectionList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a Section list.' + type: object + required: + - Section + properties: + Section: + type: array + items: + $ref: '#/components/schemas/Section' + SectionListWrapper: + type: object + required: + - SectionList + properties: + SectionList: + $ref: '#/components/schemas/SectionList' + Trash: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + type: object + required: + - TrashItem + properties: + TrashItem: + type: array + items: + $ref: '#/components/schemas/TrashItem' + TrashWrapper: + type: object + required: + - Trash + properties: + Trash: + $ref: '#/components/schemas/Trash' + TrashItem: + description: 'This class represents a trash item, which is actually a trashed Location.' + $ref: '#/components/schemas/Location' + TrashItemWrapper: + type: object + required: + - TrashItem + properties: + TrashItem: + $ref: '#/components/schemas/TrashItem' + ContentTypeGroup: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a content type group value.' + type: object + required: + - id + - identifier + - created + - modified + - Creator + - Modifier + - ContentTypes + properties: + id: + description: 'Primary key.' + type: integer + identifier: + description: 'Readable string identifier of a group.' + type: string + created: + description: 'Created date (integer).' + type: string + format: date-time + modified: + description: 'Modified date (integer).' + type: string + format: date-time + Creator: + description: 'Creator User ID.' + $ref: '#/components/schemas/BaseObject' + Modifier: + description: 'Modifier User ID.' + $ref: '#/components/schemas/BaseObject' + ContentTypes: + description: 'Content types.' + $ref: '#/components/schemas/BaseObject' + ContentTypeGroupWrapper: + type: object + required: + - ContentTypeGroup + properties: + ContentTypeGroup: + $ref: '#/components/schemas/ContentTypeGroup' + ContentTypeGroupInput: + type: object + ContentTypeGroupInputWrapper: + type: object + required: + - ContentTypeGroupInput + properties: + ContentTypeGroupInput: + $ref: '#/components/schemas/ContentTypeGroupInput' + ContentTypeGroupListWrapper: + type: object + required: + - ContentTypeGroupList + properties: + ContentTypeGroupList: + $ref: '#/components/schemas/ContentTypeGroupList' + ContentTypeGroupRef: + description: 'Content type group reference.' + type: array + items: + allOf: + - + $ref: '#/components/schemas/BaseObject' + type: object + properties: + unlink: + $ref: '#/components/schemas/Unlink' + ContentTypeGroupRefList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'List of content type groups references.' + type: object + required: + - ContentTypeGroupRef + properties: + ContentTypeGroupRef: + $ref: '#/components/schemas/ContentTypeGroupRef' + ContentTypeGroupList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'List of content type groups.' + type: object + required: + - ContentTypeGroup + properties: + ContentTypeGroup: + type: array + items: + $ref: '#/components/schemas/ContentTypeGroup' + ContentTypeGroupRefListWrapper: + type: object + required: + - ContentTypeGroupRefList + properties: + ContentTypeGroupRefList: + $ref: '#/components/schemas/ContentTypeGroupRefList' + ContentType: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a content type.' + type: object + required: + - id + - status + - identifier + - names + - descriptions + - creationDate + - modificationDate + - Creator + - Modifier + - Groups + - Draft + - remoteId + - urlAliasSchema + - nameSchema + - isContainer + - defaultAlwaysAvailable + - defaultSortField + - defaultSortOrder + - FieldDefinitions + properties: + id: + description: 'Content type ID.' + type: integer + status: + description: 'The status of the content type. Possible values: const STATUS_DEFINED = 0; Status constant for defined (aka published) Type, const STATUS_DRAFT = 1; Status constant for draft (aka temporary) Type; const STATUS_MODIFIED = 2; Status constant for modified (aka deferred for publishing) Type.' + enum: + - DEFINED + - DRAFT + - MODIFIED + - PUBLISHED + type: string + identifier: + description: 'String identifier of a content type.' + type: string + names: + description: 'Name of a content type.' + descriptions: + description: 'Description of a content type.' + creationDate: + description: 'Creation date of the content type.' + type: string + format: date-time + modificationDate: + description: 'Modification date of the content type.' + type: string + format: date-time + Creator: + description: 'Creator User of the content type.' + $ref: '#/components/schemas/BaseObject' + Modifier: + description: 'Modifier User of the content type.' + $ref: '#/components/schemas/BaseObject' + Groups: + description: 'Group User of the content type.' + $ref: '#/components/schemas/BaseObject' + Draft: + description: 'Draft of the content type.' + $ref: '#/components/schemas/BaseObject' + remoteId: + description: 'Unique remote ID of the content type.' + type: string + urlAliasSchema: + description: 'URL alias schema. If nothing is provided, $nameSchema will be used instead.' + type: + - string + - 'null' + nameSchema: + description: 'Name schema. Can be composed of FieldDefinition identifier place holders.' + type: string + isContainer: + description: 'A flag used to hint if content of this type may have children or not. It is highly recommended to respect this flag and not create/move content below non-containers. But this flag is not considered as part of the content model and the API will not in any way enforce this flag to be respected.' + type: boolean + defaultAlwaysAvailable: + description: 'If an instance of a content type is created the always available flag is set by default to this value.' + type: boolean + defaultSortField: + description: 'Specifies which property the child Locations should be sorted on by default when created. Map for Location sort fields to their respective SortClauses - class name/identifier and modified subnode. One of the fallowing values: const SORT_FIELD_PATH = 1; const SORT_FIELD_PUBLISHED = 2; const SORT_FIELD_MODIFIED = 3; const SORT_FIELD_SECTION = 4; const SORT_FIELD_DEPTH = 5; const SORT_FIELD_PRIORITY = 8; const SORT_FIELD_NAME = 9; const SORT_FIELD_NODE_ID = 11; const SORT_FIELD_CONTENTOBJECT_ID = 12.' + enum: + - PATH + - PUBLISHED + - MODIFIED + - SECTION + - DEPTH + - PRIORITY + - NAME + - NODE_ID + - CONTENTOBJECT_ID + type: string + defaultSortOrder: + description: 'Specifies whether the sort order should be ascending or descending by default when created. Map for Location sort order to their respective Query SORT constants. Possible values: const SORT_ORDER_DESC = 0; const SORT_ORDER_ASC = 1.' + enum: + - ASC + - DESC + type: string + FieldDefinitions: + description: 'This method returns the content type Field definitions from this type.' + ContentTypeWrapper: + type: object + required: + - ContentType + properties: + ContentType: + $ref: '#/components/schemas/ContentType' + ContentTypeCreate: + description: 'This class is used to create a content type.' + type: object + required: + - identifier + - mainLanguageCode + - remoteId + - urlAliasSchema + - nameSchema + - isContainer + - defaultSortField + - defaultSortOrder + - defaultAlwaysAvailable + - names + - descriptions + properties: + identifier: + type: string + mainLanguageCode: + type: string + remoteId: + type: string + urlAliasSchema: + type: string + nameSchema: + type: string + isContainer: + type: boolean + defaultSortField: + description: 'Specifies which property the child Locations should be sorted on by default when created.' + defaultSortOrder: + description: 'Specifies whether the sort order should be ascending or descending by default when created.' + defaultAlwaysAvailable: + type: boolean + names: + $ref: '#/components/schemas/ValueObject' + descriptions: + $ref: '#/components/schemas/ValueObject' + FieldDefinition: + $ref: '#/components/schemas/FieldDefinition' + creatorId: + description: 'If set, this value overrides the current user as creator.' + creationDate: + type: string + format: date-time + ContentTypeCreateWrapper: + type: object + required: + - ContentTypeCreate + properties: + ContentTypeCreate: + $ref: '#/components/schemas/ContentTypeCreate' + ContentTypeUpdateStruct: + description: 'This class is used for updating a content type.' + type: object + properties: + identifier: + description: 'If set the unique identifier of a type is changed to this value.' + type: string + remoteId: + description: 'If set the remote ID is changed to this value.' + type: string + urlAliasSchema: + description: 'If set the URL alias schema is changed to this value.' + type: string + nameSchema: + description: 'f set the name schema is changed to this value.' + type: string + isContainer: + description: 'If set the container flag is set to this value.' + type: boolean + mainLanguageCode: + description: 'If set the main language is changed to this value.' + type: string + defaultSortField: + description: 'If set the default sort field is changed to this value.' + enum: + - PATH + - PUBLISHED + - MODIFIED + - SECTION + - DEPTH + - PRIORITY + - NAME + - NODE_ID + - CONTENTOBJECT_ID + type: string + defaultSortOrder: + description: 'If set the default sort order is set to this value.' + enum: + - ASC + - DESC + type: string + defaultAlwaysAvailable: + description: 'If set the default always available flag is set to this value.' + type: boolean + modifierId: + description: 'If set this value overrides the current User as creator.' + type: integer + modificationDate: + description: 'If set this value overrides the current time for creation.' + type: string + format: date-time + names: + description: 'If set this array of names with languageCode keys replace the complete name collection.' + descriptions: + description: 'If set this array of descriptions with languageCode keys replace the complete description collection.' + ContentTypeUpdate: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class is used to update a content type.' + type: object + properties: + identifier: + type: string + mainLanguageCode: + type: string + remoteId: + type: string + urlAliasSchema: + type: + - string + - 'null' + nameSchema: + type: string + isContainer: + type: boolean + defaultSortField: + description: 'Specifies which property the child Locations should be sorted on by default when updated.' + defaultSortOrder: + description: 'Specifies whether the sort order should be ascending or descending by default when updated.' + defaultAlwaysAvailable: + type: + - string + - boolean + names: + $ref: '#/components/schemas/ValueObject' + descriptions: + $ref: '#/components/schemas/ValueObject' + modifierId: + description: 'If set, this value overrides the current user as creator.' + modificationDate: + type: string + format: date-time + ContentTypeUpdateWrapper: + type: object + required: + - ContentTypeUpdate + properties: + ContentTypeUpdate: + $ref: '#/components/schemas/ContentTypeUpdate' + ContentTypeList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'List of content types.' + type: object + required: + - ContentType + properties: + ContentType: + type: array + items: + $ref: '#/components/schemas/ContentType' + ContentTypeListWrapper: + type: object + required: + - ContentTypeList + properties: + ContentTypeList: + $ref: '#/components/schemas/ContentTypeList' + ContentTypeInfo: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class stores content type information.' + type: object + required: + - id + - status + - identifier + - names + - descriptions + - creationDate + - modificationDate + - Creator + - Modifier + - Groups + - Draft + - remoteId + - urlAliasSchema + - nameSchema + - isContainer + - mainLanguageCode + - defaultAlwaysAvailable + - defaultSortField + - defaultSortOrder + properties: + id: + description: 'Content type ID.' + type: integer + status: + description: 'The status of the content type. Possible values: const STATUS_DEFINED = 0; Status constant for defined (aka published) Type, const STATUS_DRAFT = 1; Status constant for draft (aka temporary) Type; const STATUS_MODIFIED = 2; Status constant for modified (aka deferred for publishing) Type.' + enum: + - DEFINED + - DRAFT + - MODIFIED + - PUBLISHED + type: string + identifier: + description: 'String identifier of a content type.' + type: string + names: + description: 'Name of a content type.' + descriptions: + description: 'Description of a content type.' + creationDate: + description: 'Creation date of the content type.' + type: string + format: date-time + modificationDate: + description: 'Modification date of the content type.' + type: string + format: date-time + Creator: + description: 'Creator User of the content type.' + $ref: '#/components/schemas/BaseObject' + Modifier: + description: 'Modifier User of the content type.' + $ref: '#/components/schemas/BaseObject' + Groups: + description: 'Group User of the content type.' + $ref: '#/components/schemas/BaseObject' + Draft: + description: 'Draft of the content type.' + $ref: '#/components/schemas/BaseObject' + remoteId: + description: 'Unique remote ID of the content type.' + type: string + urlAliasSchema: + description: 'URL alias schema. If nothing is provided, $nameSchema will be used instead.' + type: + - string + - 'null' + nameSchema: + description: 'Name schema. Can be composed of FieldDefinition identifier place holders.' + type: string + isContainer: + description: 'A flag used to hint if content of this type may have children or not. It is highly recommended to respect this flag and not create/move content below non-containers. But this flag is not considered as part of the content model and the API will not in any way enforce this flag to be respected.' + type: boolean + mainLanguageCode: + description: 'Main language code.' + type: string + defaultAlwaysAvailable: + description: 'If an instance of a content type is created the always available flag is set by default to this value.' + type: boolean + defaultSortField: + description: 'Specifies which property the child Locations should be sorted on by default when created. Map for Location sort fields to their respective SortClauses - class name/identifier and modified subnode. One of the fallowing values: const SORT_FIELD_PATH = 1; const SORT_FIELD_PUBLISHED = 2; const SORT_FIELD_MODIFIED = 3; const SORT_FIELD_SECTION = 4; const SORT_FIELD_DEPTH = 5; const SORT_FIELD_PRIORITY = 8; const SORT_FIELD_NAME = 9; const SORT_FIELD_NODE_ID = 11; const SORT_FIELD_CONTENTOBJECT_ID = 12.' + enum: + - PATH + - PUBLISHED + - MODIFIED + - SECTION + - DEPTH + - PRIORITY + - NAME + - NODE_ID + - CONTENTOBJECT_ID + type: string + defaultSortOrder: + description: 'Specifies whether the sort order should be ascending or descending by default when created. Map for Location sort order to their respective Query SORT constants. Possible values: const SORT_ORDER_DESC = 0; const SORT_ORDER_ASC = 1.' + enum: + - ASC + - DESC + type: string + ContentTypeInfoWrapper: + type: object + required: + - ContentTypeInfo + properties: + ContentTypeInfo: + $ref: '#/components/schemas/ContentTypeInfo' + ContentTypeInfoList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'List of content type information.' + type: object + required: + - ContentType + properties: + ContentType: + description: 'This class stores content type information.' + type: array + items: + $ref: '#/components/schemas/ContentTypeInfo' + ContentTypeInfoListWrapper: + type: object + required: + - ContentTypeList + properties: + ContentTypeList: + $ref: '#/components/schemas/ContentTypeInfoList' + ContentTypeQuery: + description: 'This class represents a content type query.' + type: object + properties: + limit: + description: 'The maximum number of results to return.' + type: integer + offset: + description: 'The offset to start returning results from.' + type: integer + Query: + description: 'An array of filters to apply to the query.' + type: object + properties: + ContentTypeIdCriterion: + oneOf: + - + type: array + items: { type: integer } + - + type: integer + ContentTypeIdentifierCriterion: + oneOf: + - + type: array + items: { type: string } + - + type: string + IsSystemCriterion: + type: boolean + ContentTypeGroupIdCriterion: + oneOf: + - + type: array + items: { type: integer } + - + type: integer + ContainsFieldDefinitionIdCriterion: + oneOf: + - + type: array + items: { type: integer } + - + type: integer + SortClauses: + description: 'An array of sort clauses to apply to the query.' + type: object + properties: + Id: + type: string + enum: + - ascending + - descending + Identifier: + type: string + enum: + - ascending + - descending + ContentTypeViewInput: + description: 'This class represents a content type view input.' + xml: + name: ViewInput + type: object + required: + - identifier + - ContentTypeQuery + properties: + identifier: + description: 'The identifier of a view.' + type: string + ContentTypeQuery: + $ref: '#/components/schemas/ContentTypeQuery' + ContentTypeViewInputWrapper: + type: object + required: + - ViewInput + properties: + ViewInput: + $ref: '#/components/schemas/ContentTypeViewInput' + Field: + description: 'This class represents a field of a content item.' + type: object + required: + - fieldDefinitionIdentifier + - fieldValue + properties: + id: + description: 'The field ID.' + type: integer + fieldDefinitionIdentifier: + description: 'The Field definition identifier.' + type: string + languageCode: + description: 'The language code.' + type: string + fieldTypeIdentifier: + description: 'Field Type identifier.' + type: string + fieldValue: + description: 'A Field Type value or a value type which can be converted by the corresponding field type.' + FieldDefinition: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a Field definition.' + type: object + required: + - id + - identifier + - fieldType + - fieldGroup + - position + - isTranslatable + - isRequired + - isInfoCollector + - defaultValue + - isSearchable + - names + - descriptions + - fieldSettings + - validatorConfiguration + properties: + id: + description: 'The unique ID of this Field definition.' + type: integer + identifier: + description: 'Readable string identifier of a Field definition.' + type: string + fieldType: + description: 'String identifier of the field type.' + type: string + fieldGroup: + description: 'Field group name.' + type: string + position: + description: 'The position of the Field definition in the content type.' + type: integer + isTranslatable: + description: 'If the field is translatable.' + type: boolean + isRequired: + description: 'Is the field required.' + type: boolean + isInfoCollector: + description: 'The flag if this field is used for information collection.' + type: boolean + defaultValue: + description: 'Default value of the field.' + isSearchable: + description: 'Indicates if th the content is searchable by this attribute.' + type: boolean + names: + description: 'Names of content types.' + descriptions: + description: 'Descriptions of content types.' + fieldSettings: + description: 'Settings for the Field definition supported by the field type.' + validatorConfiguration: + description: 'Validator configuration of this Field definition supported by the field type.' + oneOf: + - + $ref: '#/components/schemas/StringLengthValidator' + - + $ref: '#/components/schemas/StringLengthValidatorWrapper' + - + type: array + FieldDefinitionWrapper: + type: object + required: + - FieldDefinition + properties: + FieldDefinition: + $ref: '#/components/schemas/FieldDefinition' + FieldDefinitionCreate: + $ref: '#/components/schemas/BaseObject' + FieldDefinitionCreateWrapper: + type: object + required: + - FieldDefinitionCreate + properties: + FieldDefinitionCreate: + $ref: '#/components/schemas/FieldDefinitionCreate' + FieldDefinitionUpdate: + $ref: '#/components/schemas/BaseObject' + FieldDefinitionUpdateWrapper: + type: object + required: + - FieldDefinitionUpdate + properties: + FieldDefinitionUpdate: + $ref: '#/components/schemas/FieldDefinitionUpdate' + FieldDefinitions: + type: object + required: + - FieldDefinition + properties: + FieldDefinition: + type: array + items: + $ref: '#/components/schemas/FieldDefinition' + FieldDefinitionsWrapper: + type: object + required: + - FieldDefinitions + properties: + FieldDefinitions: + $ref: '#/components/schemas/FieldDefinitions' + StringLengthValidator: + description: 'Validator for checking min. and max. length of strings.' + type: object + required: + - maxStringLength + - minStringLength + properties: + maxStringLength: + description: 'Maximum length of strings.' + type: + - integer + - 'null' + minStringLength: + description: 'Minimum length of strings.' + type: + - integer + - 'null' + StringLengthValidatorWrapper: + type: object + required: + - StringLengthValidator + properties: + StringLengthValidator: + $ref: '#/components/schemas/StringLengthValidator' + UrlAlias: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a URL alias in the Repository.' + type: object + required: + - _id + - _type + - resource + - path + - languageCodes + - alwaysAvailable + - isHistory + - forward + - custom + properties: + _id: + description: 'A unique identifier for the alias.' + xml: + attribute: true + name: id + type: string + _type: + description: 'The type of the URL Alias i.e. one of URLAlias::LOCATION=0, URLAlias::RESOURCE=1, URLAlias::VIRTUAL=2.' + enum: + - LOCATION + - RESOURCE + - VIRTUAL + xml: + attribute: true + name: type + type: string + resource: + description: 'If type = URLAlias::LOCATION it is a Location ID otherwise a string (e.g. /content/search).' + path: + description: 'The full path of the alias.' + type: string + languageCodes: + description: 'The languageCodes for which this path is valid.' + type: string + alwaysAvailable: + description: 'Fallback indicator for other languages.' + type: boolean + isHistory: + description: 'Indicates that this alias was autogenerated for an in the meanwhile archived version of the content.' + type: boolean + forward: + description: 'Indicates if the URL should be redirected.' + type: boolean + custom: + description: 'If false this alias was autogenerated otherwise manually created.' + type: boolean + UrlAliasWrapper: + type: object + required: + - UrlAlias + properties: + UrlAlias: + $ref: '#/components/schemas/UrlAlias' + UrlAliasCreate: + type: object + required: + - _type + properties: + _type: + type: string + location: + $ref: '#/components/schemas/Href' + resource: + type: string + languageCode: + type: string + alwaysAvailable: + type: + - string + - boolean + forward: + type: + - string + - boolean + UrlAliasCreateWrapper: + type: object + required: + - UrlAliasCreate + properties: + UrlAliasCreate: + $ref: '#/components/schemas/UrlAliasCreate' + UrlAliasRefList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'List of URL alias in the Repository.' + type: object + required: + - UrlAlias + properties: + UrlAlias: + type: array + items: + $ref: '#/components/schemas/Ref' + UrlAliasRefListWrapper: + type: object + required: + - UrlAliasRefList + properties: + UrlAliasRefList: + $ref: '#/components/schemas/UrlAliasRefList' + UrlWildcard: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a URL alias in the Repository.' + type: object + required: + - _id + - sourceUrl + - destinationUrl + - forward + properties: + _id: + description: 'The unique ID.' + xml: + attribute: true + name: id + type: integer + sourceUrl: + description: 'The source URL.' + type: string + destinationUrl: + description: 'The destination URL containing placeholders e.g. /destination/{1}.' + type: string + forward: + description: 'Indicates if the URL is redirected or not.' + type: boolean + UrlWildcardWrapper: + type: object + required: + - UrlWildcard + properties: + UrlWildcard: + $ref: '#/components/schemas/UrlWildcard' + UrlWildcardCreate: + description: 'Creates a new URL wildcard.' + type: object + required: + - sourceUrl + - destinationUrl + - forward + properties: + sourceUrl: + type: string + destinationUrl: + type: string + forward: + type: + - string + - boolean + UrlWildcardCreateWrapper: + type: object + required: + - URLWildcardCreate + properties: + URLWildcardCreate: + $ref: '#/components/schemas/UrlWildcardCreate' + UrlWildcardList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'List of URL alias in the Repository.' + type: object + required: + - UrlWildcard + properties: + UrlWildcard: + type: array + items: + $ref: '#/components/schemas/UrlWildcard' + UrlWildcardListWrapper: + type: object + required: + - UrlWildcardList + properties: + UrlWildcardList: + $ref: '#/components/schemas/UrlWildcardList' + Language: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a language in the Repository.' + type: object + required: + - languageId + - languageCode + - name + properties: + languageId: + description: 'The language ID (auto generated).' + type: + - string + - 'null' + languageCode: + description: 'The languageCode code.' + type: string + name: + description: 'Human readable name of the language.' + type: string + LanguageWrapper: + type: object + required: + - Language + properties: + Language: + $ref: '#/components/schemas/Language' + LanguageList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'List of languages.' + type: object + required: + - Language + properties: + Language: + type: array + items: + $ref: '#/components/schemas/Language' + LanguageListWrapper: + type: object + required: + - LanguageList + properties: + LanguageList: + $ref: '#/components/schemas/LanguageList' + ObjectState: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a Object state value.' + type: object + required: + - id + - identifier + - priority + - ObjectStateGroup + - languageCodes + - names + - descriptions + properties: + id: + description: 'Primary key.' + type: integer + identifier: + description: 'Readable string identifier of the Object state.' + type: string + priority: + description: 'Priority for ordering.' + type: integer + ObjectStateGroup: + description: 'The Object state group this Object state belongs to.' + $ref: '#/components/schemas/BaseObject' + languageCodes: + description: 'The available language codes for names an descriptions.' + type: string + names: + description: Names. + descriptions: + description: Descriptions. + ObjectStateWrapper: + type: object + required: + - ObjectState + properties: + ObjectState: + $ref: '#/components/schemas/ObjectState' + ObjectStateCreate: + description: 'This class represents a value for creating Object states.' + type: object + required: + - identifier + - priority + - defaultLanguageCode + - languageCodes + - names + - descriptions + properties: + identifier: + description: 'Readable unique string identifier of a group.' + type: string + priority: + description: 'Priority for ordering. If not set the Object state is created as the last one.' + type: string + defaultLanguageCode: + description: 'The default language code.' + type: string + languageCodes: + description: 'Language codes.' + type: string + names: + description: 'An array of names with languageCode keys. At least one name in the main language is required.' + type: object + required: + - value + properties: + value: + type: array + items: + $ref: '#/components/schemas/Value' + descriptions: + description: 'An array of descriptions with languageCode keys.' + type: object + required: + - value + properties: + value: + type: array + items: + $ref: '#/components/schemas/Value' + ObjectStateCreateWrapper: + type: object + required: + - ObjectStateCreate + properties: + ObjectStateCreate: + $ref: '#/components/schemas/ObjectStateCreate' + ObjectStateUpdate: + description: 'This class represents a value for updating Object states.' + type: object + properties: + identifier: + description: 'Readable unique string identifier of a group.' + type: string + defaultLanguageCode: + description: 'The default language code.' + type: string + names: + description: 'An array of names with languageCode keys.' + descriptions: + description: 'An array of descriptions with languageCode keys.' + ObjectStateUpdateWrapper: + type: object + required: + - ObjectStateUpdate + properties: + ObjectStateUpdate: + $ref: '#/components/schemas/ObjectStateUpdate' + ObjectStateList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'List of Object states.' + type: object + required: + - ObjectState + properties: + ObjectState: + type: array + items: + $ref: '#/components/schemas/ObjectState' + ObjectStateListWrapper: + type: object + required: + - ObjectStateList + properties: + ObjectStateList: + $ref: '#/components/schemas/ObjectStateList' + ObjectStateGroup: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents an Object state group value.' + type: object + required: + - id + - identifier + - defaultLanguageCode + - languageCodes + - ObjectStates + - names + - descriptions + properties: + id: + description: 'Primary key.' + type: integer + identifier: + description: 'Readable string identifier of a group.' + type: string + defaultLanguageCode: + description: 'The default language code.' + type: string + languageCodes: + description: 'The available language codes for names an descriptions.' + type: string + ObjectStates: + description: 'Object States.' + $ref: '#/components/schemas/BaseObject' + names: + description: 'List of names.' + descriptions: + description: 'List of descriptions.' + ObjectStateGroupWrapper: + type: object + required: + - ObjectStateGroup + properties: + ObjectStateGroup: + $ref: '#/components/schemas/ObjectStateGroup' + ObjectStateGroupCreate: + description: 'This class represents a value for creating Object state groups.' + type: object + required: + - identifier + - defaultLanguageCode + - names + - descriptions + properties: + identifier: + description: 'Readable unique string identifier of a group.' + type: string + defaultLanguageCode: + description: 'The default language code.' + type: string + names: + description: 'An array of names with languageCode keys. At least one name in the main language is required.' + descriptions: + description: 'An array of descriptions with languageCode keys.' + ObjectStateGroupCreateWrapper: + type: object + required: + - ObjectStateGroupCreate + properties: + ObjectStateGroupCreate: + $ref: '#/components/schemas/ObjectStateGroupCreate' + ObjectStateGroupUpdate: + description: 'This class represents a value for updating Object state groups.' + type: object + properties: + identifier: + description: 'Readable unique string identifier of a group.' + type: string + defaultLanguageCode: + description: 'The default language code.' + type: string + names: + description: 'An array of names with languageCode keys.' + descriptions: + description: 'An array of descriptions with languageCode keys.' + ObjectStateGroupUpdateWrapper: + type: object + required: + - ObjectStateGroupUpdate + properties: + ObjectStateGroupUpdate: + $ref: '#/components/schemas/ObjectStateGroupUpdate' + ObjectStateGroupList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'List of Object state groups.' + type: object + required: + - ObjectStateGroup + properties: + ObjectStateGroup: + description: 'This class represents an Object state group value.' + type: array + items: + $ref: '#/components/schemas/ObjectStateGroup' + ObjectStateGroupListWrapper: + type: object + required: + - ObjectStateGroupList + properties: + ObjectStateGroupList: + $ref: '#/components/schemas/ObjectStateGroupList' + CountryList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class is representing an ISO-3166 formatted list of world countries.' + type: object + required: + - Country + properties: + Country: + type: array + items: + $ref: '#/components/schemas/Country' + Country: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class is representing a country.' + type: object + required: + - _id + - name + - Alpha2 + - Alpha3 + - IDC + properties: + _id: + description: 'ID that represents a country name.' + xml: + attribute: true + name: id + type: string + name: + description: 'Name of the country.' + type: string + Alpha2: + description: 'Two-letter code that represents a country name.' + type: string + Alpha3: + description: 'Three-letter code that represents a country name.' + type: string + IDC: + description: IDC + type: integer + CountryListWrapper: + type: object + required: + - CountryList + properties: + CountryList: + $ref: '#/components/schemas/CountryList' + View: + description: View. + type: object + required: + - identifier + - User + - public + - LocationQuery + - Result + properties: + identifier: + description: 'Content identifier.' + type: string + User: + $ref: '#/components/schemas/User' + public: + type: boolean + LocationQuery: + $ref: '#/components/schemas/LocationQuery' + Result: + $ref: '#/components/schemas/BaseObject' + ViewInput: + description: 'This class represents a View input.' + type: object + required: + - identifier + - Query + properties: + identifier: + description: 'Content identifier.' + type: string + languageCode: + type: string + useAlwaysAvailable: + type: string + Query: + $ref: '#/components/schemas/Query' + ViewInputWrapper: + type: object + required: + - ViewInput + properties: + ViewInput: + $ref: '#/components/schemas/ViewInput' + Query: + description: 'This class is used to perform a Content query.' + type: object + properties: + Filter: + description: 'The Query filter. Can contain multiple criterion, as items of a logical one (by default AND).' + $ref: '#/components/schemas/Criterion' + Query: + description: 'The Query query. Can contain multiple criterion, as items of a logical one (by default AND).' + $ref: '#/components/schemas/Criterion' + sortClauses: + description: 'Query sorting clauses.' + type: array + items: + $ref: '#/components/schemas/SortClause' + facetBuilders: + description: "An array of facet builders. Search engines may ignore any, or given facet builders they don't support and will just return search result facets supported by the engine. API consumer should dynamically iterate over returned facets for further use." + type: array + items: + $ref: '#/components/schemas/FacetBuilder' + offset: + description: 'Query offset. Sets the offset for search hits, used for paging the results.' + type: integer + limit: + description: 'Query limit. Limit for number of search hits to return. If value is `0`, search query will not return any search hits, useful for doing a count.' + type: integer + spellcheck: + description: 'If true spellcheck suggestions are returned.' + type: boolean + performCount: + description: 'If true, search engine should perform count even if that means extra lookup.' + type: boolean + LocationQuery: + description: 'This class is used to perform a Location query.' + $ref: '#/components/schemas/Query' + Criterion: + description: 'Criterion implementations.' + type: object + properties: + operator: + description: 'The operator used by the Criterion.' + type: string + value: + description: 'The value(s) matched by the Criteria.' + type: array + items: + type: [] + target: + description: 'The target used by the Criteria (field, metadata...).' + type: string + valueData: + description: 'Additional value data, required by some Criteria, MapLocationDistance for instance.' + Specifications: + description: "Criterion description function. Returns the combination of the Criterion's supported operator/value, as an array of objects." + type: array + items: + $ref: '#/components/schemas/Specifications' + FacetBuilder: + description: 'This class is the base class for facet builders.' + type: object + required: + - name + - global + - filter + - limit + - minCount + properties: + name: + description: 'The name of the facet.' + type: string + global: + description: 'If true the facet runs in a global mode not restricted by the query.' + type: boolean + filter: + description: 'An additional facet filter that will further filter the documents the facet will be executed on.' + $ref: '#/components/schemas/Criterion' + limit: + description: 'Number of facets (terms) returned.' + type: integer + minCount: + description: 'Specifies the minimum count. Only facet groups with more or equal results are returned.' + type: integer + Specifications: + description: 'This class is used by Criteria to describe which operators they support. Instances of this class are returned in an array by the {@see Criterion::getSpecifications()} method.' + type: object + required: + - operator + - valueFormat + - valueTypes + - valueCount + properties: + operator: + description: 'Specified operator, as one of the Operator::* constants.' + type: string + valueFormat: + description: 'Format supported for the Criterion value, either {@see self::FORMAT_SINGLE} for single or {@see self::FORMAT_ARRAY} for multiple.' + type: string + valueTypes: + description: 'Accepted values types, specifying what type of variables are accepted as a value. Criterion input value type description constants: const TYPE_INTEGER = 1; const TYPE_STRING = 2; const TYPE_BOOLEAN = 4.' + type: integer + valueCount: + description: 'Limitation on the number of items as the value. Only usable if {@see $valueFormat} is {@see self::FORMAT_ARRAY}.' + type: integer + Role: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a role.' + type: object + required: + - identifier + - Policies + properties: + identifier: + description: 'Readable string identifier of a role.' + type: string + Policies: + description: 'Returns the list of policies of this role.' + $ref: '#/components/schemas/BaseObject' + RoleWrapper: + type: object + required: + - Role + properties: + Role: + $ref: '#/components/schemas/Role' + RoleDraft: + description: 'This class represents a draft of a role, extends Role.' + $ref: '#/components/schemas/Role' + RoleDraftWrapper: + type: object + required: + - Role + properties: + Role: + $ref: '#/components/schemas/RoleDraft' + RoleInput: + description: 'This class represents a Role input.' + type: object + required: + - identifier + properties: + identifier: + type: string + RoleInputWrapper: + type: object + required: + - RoleInput + properties: + RoleInput: + $ref: '#/components/schemas/RoleInput' + RoleList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a list roles.' + type: object + required: + - Role + properties: + Role: + type: array + items: + $ref: '#/components/schemas/Role' + RoleListWrapper: + type: object + required: + - RoleList + properties: + RoleList: + $ref: '#/components/schemas/RoleList' + Policy: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a policy value.' + type: object + required: + - id + - module + - function + properties: + id: + description: 'ID of the policy.' + type: integer + module: + description: 'Name of module, associated with the Policy e.g. content.' + type: string + function: + description: "Name of the module function Or all functions with '*' e.g. read." + type: string + limitations: + description: Limitations. + type: object + required: + - limitation + properties: + limitation: + type: array + items: { $ref: '#/components/schemas/Limitation' } + PolicyWrapper: + type: object + required: + - Policy + properties: + Policy: + $ref: '#/components/schemas/Policy' + Limitation: + description: 'This class represents a Limitation applied to a policy.' + type: object + required: + - _identifier + - values + properties: + _identifier: + description: 'Returns the limitation identifier (one of the defined constants) or a custom limitation. Constants: CONTENTTYPE = Class; LANGUAGE = Language; LOCATION = Node; OWNER = Owner; PARENTOWNER = ParentOwner; PARENTCONTENTTYPE = ParentClass; PARENTDEPTH = ParentDepth; SECTION = Section; NEWSECTION = NewSection; SITEACCESS = SiteAccess; STATE = State; NEWSTATE = NewState; SUBTREE = Subtree; USERGROUP = Group; PARENTUSERGROUP = ParentGroup; STATUS = Status.' + enum: + - ContentType + - Language + - Location + - Owner + - Parentowner + - ParentContentType + - ParentDepth + - Section + - NewSection + - SiteAccess + - State + - NewState + - Subtree + - UserGroup + - ParentUserGroup + - Status + - Class + xml: + attribute: true + name: identifier + type: string + values: + description: 'A read-only list of IDs or identifiers for which the limitation should be applied. The value of this property must conform to a hash, which means that it may only consist of array and scalar values, but must not contain objects or resources.' + type: object + required: + - $ref + properties: + ref: + type: array + items: + $ref: '#/components/schemas/Ref' + PolicyList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'List of policies.' + type: object + required: + - Policy + properties: + Policy: + type: array + items: + $ref: '#/components/schemas/Policy' + PolicyListWrapper: + type: object + required: + - PolicyList + properties: + PolicyList: + $ref: '#/components/schemas/PolicyList' + PolicyCreate: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class is used to create a Policy.' + type: object + required: + - module + - function + - Limitations + properties: + module: + description: 'Name of module associated with the Policy. For example, content.' + type: string + function: + description: "Name of the module function, or all functions with ''*''. For example, read." + type: string + Limitations: + type: array + items: + $ref: '#/components/schemas/Limitation' + PolicyCreateWrapper: + type: object + required: + - PolicyCreate + properties: + PolicyCreate: + $ref: '#/components/schemas/PolicyCreate' + PolicyUpdate: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class is used to update a Policy.' + type: object + required: + - Limitations + properties: + Limitations: + type: array + items: + $ref: '#/components/schemas/Limitation' + PolicyUpdateWrapper: + type: object + required: + - PolicyUpdate + properties: + PolicyUpdate: + $ref: '#/components/schemas/PolicyUpdate' + RoleAssignment: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This value object represents an assignment of a User or User group to a role including a limitation.' + type: object + required: + - Role + properties: + limitation: + description: 'Returns the limitation of the role assignment.' + Role: + description: 'Returns the role to which the User or User group is assigned to.' + $ref: '#/components/schemas/Ref' + RoleAssignmentWrapper: + type: object + required: + - RoleAssignment + properties: + RoleAssignment: + $ref: '#/components/schemas/RoleAssignment' + RoleAssignInput: + description: 'This class represents a Role assign input.' + type: object + required: + - Role + - limitation + properties: + Role: + description: 'Returns the Role to which the user or user group is assigned to.' + $ref: '#/components/schemas/Ref' + limitation: + description: 'Returns the Limitation of the Role assignment.' + $ref: '#/components/schemas/Limitation' + RoleAssignInputWrapper: + type: object + required: + - RoleAssignInput + properties: + RoleAssignInput: + $ref: '#/components/schemas/RoleAssignInput' + RoleAssignmentList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This value object represents a list of assignments of a User or User group to a role including a limitation.' + type: object + required: + - RoleAssignment + properties: + RoleAssignment: + type: array + items: + $ref: '#/components/schemas/RoleAssignment' + RoleAssignmentListWrapper: + type: object + required: + - RoleAssignmentList + properties: + RoleAssignmentList: + $ref: '#/components/schemas/RoleAssignmentList' + Session: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'Value for session.' + type: object + required: + - name + - identifier + - csrfToken + - User + properties: + name: + description: Name. + type: string + identifier: + description: Identifier. + type: string + csrfToken: + description: csrfToken. + type: string + User: + description: User. + $ref: '#/components/schemas/BaseObject' + SessionWrapper: + type: object + required: + - Session + properties: + Session: + $ref: '#/components/schemas/Session' + SessionInput: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a session input.' + type: object + required: + - login + - password + properties: + login: + type: string + password: + type: string + SessionInputWrapper: + type: object + required: + - SessionInput + properties: + SessionInput: + $ref: '#/components/schemas/SessionInput' + JWT: + description: 'This class represents the JWT authentication token' + type: object + required: + - token + properties: + token: + description: 'JWT authentication token' + type: string + JWTWrapper: + type: object + required: + - JWT + properties: + JWT: + $ref: '#/components/schemas/JWT' + JWTInput: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents the input for a JWT authentication token' + type: object + required: + - username + - password + properties: + username: + description: 'User name' + type: string + password: + description: 'User password' + type: string + JWTInputWrapper: + type: object + required: + - JWTInput + properties: + JWTInput: + $ref: '#/components/schemas/JWTInput' + UserGroup: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'Content ID matcher class.' + type: object + required: + - _remoteId + - _id + - ContentType + - name + - Versions + - Section + - MainLocation + - Locations + - Owner + - lastModificationDate + - mainLanguageCode + - alwaysAvailable + - Version + - ParentUserGroup + - Subgroups + - Users + - Roles + properties: + _remoteId: + description: 'Remote ID of the content type.' + xml: + attribute: true + name: remoteId + type: string + _id: + description: 'Unique ID of the content type.' + xml: + attribute: true + name: id + type: integer + ContentType: + description: 'Content type.' + $ref: '#/components/schemas/Ref' + name: + type: string + Versions: + description: 'Returns the VersionInfo for this version.' + $ref: '#/components/schemas/Ref' + Section: + description: 'The Section to which the content item is assigned to.' + $ref: '#/components/schemas/Ref' + MainLocation: + $ref: '#/components/schemas/Ref' + Locations: + description: 'Location of the content item.' + $ref: '#/components/schemas/Ref' + Owner: + description: 'The owner of the content item.' + $ref: '#/components/schemas/Ref' + lastModificationDate: + description: 'Content item modification date.' + type: string + format: date-time + mainLanguageCode: + description: 'The main language code of the content item.' + type: string + alwaysAvailable: + type: boolean + Version: + $ref: '#/components/schemas/Version' + ParentUserGroup: + $ref: '#/components/schemas/Ref' + Subgroups: + $ref: '#/components/schemas/Ref' + Users: + $ref: '#/components/schemas/Ref' + Roles: + $ref: '#/components/schemas/Ref' + UserGroupWrapper: + type: object + required: + - UserGroup + properties: + UserGroup: + $ref: '#/components/schemas/UserGroup' + UserGroupList: + description: 'This class represents a User Group list.' + $ref: '#/components/schemas/BaseObject' + UserGroupListWrapper: + type: object + required: + - UserGroupList + properties: + UserGroupList: + $ref: '#/components/schemas/UserGroupList' + UserGroupRefList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'Returns a list of the sub groups.' + type: object + required: + - UserGroup + properties: + UserGroup: + description: 'This class represents a User group.' + type: array + items: + $ref: '#/components/schemas/Ref' + UserGroupRefListWrapper: + type: object + required: + - UserGroupRefList + properties: + UserGroupRefList: + $ref: '#/components/schemas/UserGroupRefList' + UserGroupCreate: + description: 'This class is used to create a User Group.' + type: object + required: + - mainLanguageCode + - remoteId + - fields + properties: + mainLanguageCode: + type: string + remoteId: + type: string + fields: + $ref: '#/components/schemas/Fields' + UserGroupCreateWrapper: + type: object + required: + - UserGroupCreate + properties: + UserGroupCreate: + $ref: '#/components/schemas/UserGroupCreate' + UserGroupUpdate: + description: 'This class is used to update a User group in the Repository.' + type: object + required: + - Section + properties: + Section: + type: object + required: + - _href + properties: + _href: + xml: + attribute: true + name: href + type: string + UserGroupUpdateWrapper: + type: object + required: + - UserGroupUpdate + properties: + UserGroupUpdate: + $ref: '#/components/schemas/UserGroupUpdate' + UserGroupUnassign: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a User group.' + type: object + required: + - Unassign + properties: + Unassign: + $ref: '#/components/schemas/Unlink' + Unlink: + description: 'Unlink a content type group from a content type.' + type: object + required: + - _href + - _method + properties: + _href: + type: string + _method: + enum: + - DELETE + type: string + User: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a User value.' + type: object + required: + - _id + - _remoteId + - ContentType + - name + - Versions + - Section + - MainLocation + - Locations + - Groups + - Owner + - publishDate + - lastModificationDate + - mainLanguageCode + - alwaysAvailable + - Version + - login + - email + - enabled + - UserGroups + - Roles + properties: + _id: + description: 'Unique ID of the content type.' + xml: + attribute: true + name: id + type: integer + _remoteId: + description: 'Remote ID of the content type.' + xml: + attribute: true + name: remoteId + type: string + ContentType: + description: 'This class represents a content type.' + $ref: '#/components/schemas/BaseObject' + name: + description: 'Name of the domain object in a given language.' + type: string + Versions: + description: 'Returns the VersionInfo for this version.' + $ref: '#/components/schemas/BaseObject' + Section: + description: 'The Section to which the content item is assigned.' + $ref: '#/components/schemas/BaseObject' + MainLocation: + description: 'Main Location of the object.' + $ref: '#/components/schemas/BaseObject' + Locations: + description: 'Locations of the object.' + $ref: '#/components/schemas/BaseObject' + Groups: + description: 'Group User of the content type.' + $ref: '#/components/schemas/BaseObject' + Owner: + description: 'The owner of the content item.' + $ref: '#/components/schemas/BaseObject' + publishDate: + description: 'Content publication date.' + type: string + format: date-time + lastModificationDate: + description: 'Content modification date.' + type: string + format: date-time + mainLanguageCode: + description: 'The main language code of the content item.' + type: string + alwaysAvailable: + description: "Indicates if the content item is shown in the main language if it's not present in an other requested language." + type: boolean + Version: + description: 'Returns the VersionInfo for this version.' + login: + description: 'User login.' + type: string + email: + description: 'User email address.' + type: string + enabled: + description: 'Flag to Signal if User is enabled or not. User can not login if false.' + type: boolean + UserGroups: + description: 'User groups.' + $ref: '#/components/schemas/BaseObject' + Roles: + description: Roles. + $ref: '#/components/schemas/BaseObject' + UserWrapper: + type: object + required: + - User + properties: + User: + $ref: '#/components/schemas/User' + UserList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a list of users.' + type: object + required: + - User + properties: + User: + type: array + items: + $ref: '#/components/schemas/User' + UserListWrapper: + type: object + required: + - UserList + properties: + UserList: + $ref: '#/components/schemas/UserList' + UserRefList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'Returns a list of the users.' + type: object + required: + - User + properties: + User: + description: 'This class represents a User.' + type: array + items: + $ref: '#/components/schemas/BaseObject' + UserRefListWrapper: + type: object + required: + - UserRefList + properties: + UserRefList: + $ref: '#/components/schemas/UserRefList' + UserUpdate: + description: 'This class is used to update a User.' + type: object + required: + - login + properties: + login: + type: string + email: + type: string + password: + type: string + enabled: + type: boolean + maxLogin: + type: integer + ContentUpdate: + description: 'The update structure for the profile content.' + ContentMetadataUpdate: + description: 'The update structure for the profile metadata.' + UserUpdateWrapper: + type: object + required: + - UserUpdate + properties: + UserUpdate: + $ref: '#/components/schemas/UserUpdate' + UserCreate: + description: 'This class is used to create a User.' + type: object + required: + - mainLanguageCode + - remoteId + - login + - email + - password + properties: + mainLanguageCode: + type: string + remoteId: + type: string + login: + type: string + email: + type: string + password: + type: string + enabled: + type: boolean + UserCreateWrapper: + type: object + required: + - UserCreate + properties: + UserCreate: + $ref: '#/components/schemas/UserCreate' + Event: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'Calendar event.' + type: object + required: + - id + - datetime + - type + - name + - attributes + properties: + id: + description: 'The unique ID.' + type: string + datetime: + type: string + format: date-time + type: + description: 'Event type identifier or name.' + type: string + name: + description: 'Name of the calendar event.' + type: string + attributes: + description: 'List of event attributes.' + type: array + items: + $ref: '#/components/schemas/EventAttribute' + EventAttribute: + type: object + required: + - label + - value + properties: + label: + description: 'Label of the attribute.' + type: string + value: + description: 'Value of the attribute.' + type: string + EventList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'List of calendar events.' + type: object + required: + - _currentPage + - totalCount + - events + properties: + _currentPage: + description: 'Current page representation.' + xml: + attribute: true + name: currentPage + type: string + nextPage: + description: 'Next page representation.' + type: string + totalCount: + description: 'Total count of events.' + type: integer + events: + type: array + items: + $ref: '#/components/schemas/Event' + EventListWrapper: + type: object + required: + - EventList + properties: + EventList: + $ref: '#/components/schemas/EventList' + EventGroup: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'Event group.' + type: object + required: + - _currentPage + - totalCount + - events + properties: + _currentPage: + description: 'Current page representation.' + xml: + attribute: true + name: currentPage + type: string + nextPage: + description: 'Next page representation.' + type: string + groupKey: + $ref: '#/components/schemas/DateRange' + totalCount: + description: 'Total count of events.' + type: integer + events: + type: array + items: + $ref: '#/components/schemas/Event' + EventGroupList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'Grouped calendar event list.' + type: object + required: + - groups + properties: + groups: + type: array + items: + $ref: '#/components/schemas/EventGroup' + EventGroupListWrapper: + type: object + required: + - EventGroupList + properties: + EventGroupList: + $ref: '#/components/schemas/EventGroupList' + UnscheduleAction: + description: 'This class represents events to unschedule' + type: object + required: + - events + properties: + events: + description: 'list of events' + type: array + items: + type: string + UnscheduleActionWrapper: + type: object + required: + - UnscheduleAction + properties: + UnscheduleAction: + $ref: '#/components/schemas/UnscheduleAction' + AttributeGroup: + description: 'This class represents an attribute group.' + type: object + required: + - name + - identifier + - position + properties: + name: + type: string + identifier: + type: string + position: + type: integer + AttributeGroupWrapper: + type: object + required: + - AttributeGroup + properties: + AttributeGroup: + $ref: '#/components/schemas/AttributeGroup' + AttributeGroupCreate: + description: 'This class is used to create an attribute group.' + type: object + required: + - identifier + - names + - position + properties: + identifier: + type: string + names: + type: object + position: + type: integer + AttributeGroupCreateWrapper: + type: object + required: + - AttributeGroupCreate + properties: + AttributeGroupCreate: + $ref: '#/components/schemas/AttributeGroupCreate' + AttributeGroupUpdate: + description: 'This class is used to update an attribute group.' + type: object + required: + - identifier + - names + - position + properties: + identifier: + type: string + names: + type: object + position: + type: integer + AttributeGroupUpdateWrapper: + type: object + required: + - AttributeGroupUpdate + properties: + AttributeGroupUpdate: + $ref: '#/components/schemas/AttributeGroupUpdate' + AttributeGroupList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents an attribute group list.' + type: object + required: + - AttributeGroup + properties: + AttributeGroup: + type: array + items: + $ref: '#/components/schemas/AttributeGroup' + AttributeGroupListWrapper: + type: object + required: + - AttributeGroupList + properties: + AttributeGroupList: + $ref: '#/components/schemas/AttributeGroupList' + AttributeGroupListGet: + description: 'This class represents an attribute group list request.' + type: object + required: + - prefix + - offset + - limit + properties: + prefix: + type: string + offset: + type: integer + limit: + type: integer + AttributeGroupListGetWrapper: + type: object + required: + - AttributeGroupListGet + properties: + AttributeGroupListGet: + $ref: '#/components/schemas/AttributeGroupListGet' + AttributeGroupGet: + description: 'This class represents an attribute group query.' + type: object + required: + - languages + properties: + languages: + type: array + items: + type: string + AttributeGroupGetWrapper: + type: object + required: + - AttributeGroupGet + properties: + AttributeGroupGet: + $ref: '#/components/schemas/AttributeGroupGet' + AttributeGroupListResult: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + type: object + required: + - count + - AttributeGroupList + properties: + count: + type: integer + AttributeGroupList: + $ref: '#/components/schemas/AttributeGroupList' + AttributeGroupView: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents an attribute group view.' + type: object + required: + - identifier + - Result + properties: + identifier: + type: string + Result: + $ref: '#/components/schemas/AttributeGroupListResult' + AttributeGroupViewWrapper: + type: object + required: + - AttributeGroupView + properties: + AttributeGroupView: + $ref: '#/components/schemas/AttributeGroupView' + AttributeGroupViewInput: + description: 'This class represents an attribute group view input.' + xml: + name: ViewInput + type: object + required: + - identifier + - AttributeGroupQuery + properties: + identifier: + type: string + AttributeGroupQuery: + type: object + required: + - limit + - offset + - name_prefix + properties: + limit: + type: string + offset: + type: string + name_prefix: + type: string + AttributeGroupViewInputWrapper: + type: object + required: + - ViewInput + properties: + ViewInput: + $ref: '#/components/schemas/AttributeGroupViewInput' + AttributeType: + description: 'This class represents an attribute type.' + type: object + required: + - identifier + - name + properties: + identifier: + type: string + name: + type: string + AttributeTypeWrapper: + type: object + required: + - AttributeType + properties: + AttributeType: + $ref: '#/components/schemas/AttributeType' + AttributeTypeList: + description: 'This class represents an attribute type list.' + type: object + required: + - attributeTypes + properties: + attributeTypes: + type: array + items: + $ref: '#/components/schemas/AttributeType' + AttributeTypeListWrapper: + type: object + required: + - AttributeTypeList + properties: + AttributeTypeList: + $ref: '#/components/schemas/AttributeTypeList' + CartList: + type: object + Attribute: + description: 'This class represents an attribute.' + type: object + required: + - name + - identifier + - description + - type + - type_identifier + - value + - group + - position + - options + properties: + name: + type: string + identifier: + type: string + description: + type: string + type: + type: string + type_identifier: + type: string + value: + type: [] + group: + type: string + position: + type: integer + options: + type: + - object + - array + AttributeWrapper: + type: object + required: + - Attribute + properties: + Attribute: + $ref: '#/components/schemas/Attribute' + AttributeCreate: + description: 'This class is used to create an attribute.' + type: object + required: + - identifier + - type + - group + - names + - descriptions + - position + - options + properties: + identifier: + type: string + type: + type: string + group: + type: string + names: + type: object + descriptions: + type: object + position: + type: integer + options: + type: + - object + - array + AttributeCreateWrapper: + type: object + required: + - AttributeCreate + properties: + AttributeCreate: + $ref: '#/components/schemas/AttributeCreate' + AttributeUpdate: + description: 'This class is used to update an attribute.' + type: object + required: + - identifier + - names + - descriptions + - position + - options + properties: + identifier: + type: string + names: + type: object + descriptions: + type: object + position: + type: integer + options: + type: object + AttributeUpdateWrapper: + type: object + required: + - AttributeUpdate + properties: + AttributeUpdate: + $ref: '#/components/schemas/AttributeUpdate' + AttributeList: + description: 'This class represents an attribute list.' + type: object + required: + - Attribute + properties: + Attribute: + type: array + items: + $ref: '#/components/schemas/Attribute' + AttributeListWrapper: + type: object + required: + - AttributeList + properties: + AttributeList: + $ref: '#/components/schemas/AttributeList' + AttributeView: + description: 'This class represents an attribute view.' + type: object + required: + - identifier + - AttributeQuery + - Result + properties: + identifier: + type: string + AttributeQuery: + type: object + Result: + type: object + AttributeViewWrapper: + type: object + required: + - AttributeView + properties: + AttributeView: + $ref: '#/components/schemas/AttributeView' + AttributeViewInput: + description: 'This class represents an attribute view input.' + xml: + name: ViewInput + type: object + required: + - identifier + - AttributeQuery + properties: + identifier: + type: string + AttributeQuery: + type: object + AttributeViewInputWrapper: + type: object + required: + - ViewInput + properties: + ViewInput: + $ref: '#/components/schemas/AttributeViewInput' + AttributeAssignment: + type: object + required: + - is_required + - is_discriminator + - Attribute + properties: + is_required: + type: boolean + is_discriminator: + type: boolean + Attribute: + $ref: '#/components/schemas/Attribute' + Catalog: + description: 'This class represents a catalog.' + type: object + required: + - identifier + - name + - description + - created + - modified + - status + - User + - Criteria + properties: + identifier: + type: string + name: + type: string + description: + type: string + created: + type: integer + modified: + type: integer + status: + type: string + User: + $ref: '#/components/schemas/Ref' + Criteria: + type: array + items: + $ref: '#/components/schemas/Criterion' + CatalogWrapper: + type: object + required: + - Catalog + properties: + Catalog: + $ref: '#/components/schemas/Catalog' + CatalogCreate: + description: 'This class is used to create a catalog.' + type: object + required: + - identifier + - criteria + - names + - status + properties: + identifier: + type: string + criteria: + $ref: '#/components/schemas/Criterion' + names: + type: object + descriptions: + type: object + status: + type: string + creator_id: + type: integer + CatalogCreateWrapper: + type: object + required: + - CatalogCreate + properties: + CatalogCreate: + $ref: '#/components/schemas/CatalogCreate' + CatalogUpdate: + description: 'This class is used to update a catalog.' + type: object + required: + - identifier + - transition + - criteria + - names + - descriptions + properties: + identifier: + type: string + transition: + type: string + criteria: + $ref: '#/components/schemas/Criterion' + names: + type: object + descriptions: + type: object + CatalogUpdateWrapper: + type: object + required: + - CatalogUpdate + properties: + CatalogUpdate: + $ref: '#/components/schemas/CatalogUpdate' + CatalogCopy: + description: 'This class is used to copy a catalog.' + type: object + required: + - identifier + - creator_id + properties: + identifier: + type: string + creator_id: + description: Optional + type: integer + CatalogCopyWrapper: + type: object + required: + - CatalogCopy + properties: + CatalogCopy: + $ref: '#/components/schemas/CatalogCopy' + CatalogList: + description: 'This class represents a catalog list.' + type: object + required: + - Catalog + properties: + Catalog: + type: array + items: + $ref: '#/components/schemas/Catalog' + CatalogListViewResult: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + type: object + required: + - CatalogList + properties: + CatalogList: + $ref: '#/components/schemas/CatalogList' + CatalogView: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + type: object + required: + - identifier + - CatalogQuery + - Result + properties: + identifier: + type: string + CatalogQuery: + $ref: '#/components/schemas/Ref' + Result: + $ref: '#/components/schemas/CatalogListViewResult' + CatalogViewWrapper: + type: object + required: + - CatalogView + properties: + CatalogView: + $ref: '#/components/schemas/CatalogView' + CatalogViewInput: + description: 'This class represents a catalog view input.' + xml: + name: ViewInput + type: object + required: + - CatalogQuery + properties: + CatalogQuery: + type: object + CatalogViewInputWrapper: + type: object + required: + - ViewInput + properties: + ViewInput: + $ref: '#/components/schemas/CatalogViewInput' + Currency: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents currency.' + type: object + required: + - id + - code + - subunits + - enabled + properties: + id: + type: integer + code: + type: string + subunits: + type: integer + enabled: + type: boolean + CurrencyWrapper: + type: object + required: + - Currency + properties: + Currency: + $ref: '#/components/schemas/Currency' + CurrencyCreate: + description: 'This class is used to create currency.' + type: object + required: + - code + - subunits + - enabled + properties: + code: + type: string + subunits: + type: integer + enabled: + type: boolean + CurrencyCreateWrapper: + type: object + required: + - CurrencyCreate + properties: + CurrencyCreate: + $ref: '#/components/schemas/CurrencyCreate' + CurrencyUpdate: + description: 'This class is used to update currency.' + type: object + required: + - subunits + - enabled + properties: + subunits: + type: integer + enabled: + type: boolean + CurrencyUpdateWrapper: + type: object + required: + - CurrencyUpdate + properties: + CurrencyUpdate: + $ref: '#/components/schemas/CurrencyUpdate' + CurrencyView: + description: 'This class represents a currency view.' + type: object + required: + - identifier + - CurrencyQuery + - Result + properties: + identifier: + type: string + CurrencyQuery: + type: object + Result: + type: object + CurrencyViewWrapper: + type: object + required: + - CurrencyView + properties: + CurrencyView: + $ref: '#/components/schemas/CurrencyView' + CurrencyViewInput: + description: 'This class represents a currency view input.' + xml: + name: ViewInput + type: object + required: + - CurrencyQuery + properties: + CurrencyQuery: + type: object + CurrencyViewInputWrapper: + type: object + required: + - ViewInput + properties: + ViewInput: + $ref: '#/components/schemas/CurrencyViewInput' + CurrencyList: + description: 'This class represents a currency list.' + type: object + required: + - Currency + properties: + Currency: + type: array + items: + $ref: '#/components/schemas/Currency' + CurrencyListWrapper: + type: object + required: + - CurrencyList + properties: + CurrencyList: + $ref: '#/components/schemas/CurrencyList' + CustomerGroup: + description: 'This class represents a customer group.' + type: object + required: + - id + - name + - identifier + - description + - users + - global_price_rate + properties: + id: + type: integer + name: + type: string + identifier: + type: string + description: + type: string + users: + description: 'A list of users attached to the customer group.' + type: array + items: + $ref: '#/components/schemas/User' + global_price_rate: + description: 'A numeric string' + type: string + CustomerGroupWrapper: + type: object + required: + - CustomerGroup + properties: + CustomerGroup: + $ref: '#/components/schemas/CustomerGroup' + CustomerGroupCreate: + description: 'This class is used to create a customer group.' + type: object + required: + - identifier + - names + - descriptions + - global_price_rate + properties: + identifier: + type: string + names: + type: object + descriptions: + type: object + global_price_rate: + description: numeric-string + type: string + CustomerGroupCreateWrapper: + type: object + required: + - CustomerGroupCreate + properties: + CustomerGroupCreate: + $ref: '#/components/schemas/CustomerGroupCreate' + CustomerGroupUpdate: + description: 'This class is used to update a customer group.' + type: object + required: + - names + - identifier + - global_price_rate + properties: + names: + type: object + identifier: + type: string + global_price_rate: + type: string + descriptions: + type: array + items: + type: string + CustomerGroupUpdateWrapper: + type: object + required: + - CustomerGroupUpdate + properties: + CustomerGroupUpdate: + $ref: '#/components/schemas/CustomerGroupUpdate' + CustomerGroupList: + description: 'This class represents a customer group list.' + type: object + required: + - CustomerGroup + properties: + CustomerGroup: + type: array + items: + $ref: '#/components/schemas/CustomerGroup' + CustomerGroupListWrapper: + type: object + required: + - CustomerGroupList + properties: + CustomerGroupList: + $ref: '#/components/schemas/CustomerGroupList' + CustomerGroupListResult: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + type: object + required: + - CustomerGroupList + properties: + CustomerGroupList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + type: object + required: [CustomerGroup] + properties: { CustomerGroup: { type: array, items: { $ref: '#/components/schemas/CustomerGroup' } } } + CustomerGroupViewInput: + description: 'This class represents a customer group view input.' + xml: + name: ViewInput + type: object + required: + - CustomerGroupQuery + properties: + CustomerGroupQuery: + type: object + CustomerGroupViewInputWrapper: + type: object + required: + - ViewInput + properties: + ViewInput: + $ref: '#/components/schemas/CustomerGroupViewInput' + CustomerGroupView: + description: 'This class represents a customer group view.' + type: object + required: + - identifier + - CustomerGroupQuery + - Result + properties: + identifier: + type: string + CustomerGroupQuery: + type: object + Result: + $ref: '#/components/schemas/CustomerGroupListResult' + CustomerGroupViewWrapper: + type: object + required: + - CustomerGroupView + properties: + CustomerGroupView: + $ref: '#/components/schemas/CustomerGroupView' + Region: + description: 'This class represents a region.' + type: object + required: + - identifier + properties: + identifier: + type: string + RegionWrapper: + type: object + required: + - Region + properties: + Region: + $ref: '#/components/schemas/Region' + RegionList: + description: 'This class represents a region list.' + type: object + required: + - Region + properties: + Region: + type: array + items: + $ref: '#/components/schemas/Ref' + RegionListWrapper: + type: object + required: + - RegionList + properties: + RegionList: + $ref: '#/components/schemas/RegionList' + RegionView: + description: 'This class represents a region view.' + type: object + required: + - identifier + - RegionQuery + - Result + properties: + identifier: + type: string + RegionQuery: + type: object + Result: + type: object + RegionViewWrapper: + type: object + required: + - RegionView + properties: + RegionView: + $ref: '#/components/schemas/RegionView' + RegionViewInput: + description: 'This class represents a region view input.' + xml: + name: ViewInput + type: object + required: + - RegionQuery + properties: + RegionQuery: + type: object + RegionViewInputWrapper: + type: object + required: + - ViewInput + properties: + ViewInput: + $ref: '#/components/schemas/RegionViewInput' + ProductType: + description: 'This class represents a product type.' + type: object + required: + - identifier + - name + - AttributeAssignmentList + properties: + identifier: + type: string + name: + type: string + AttributeAssignmentList: + type: array + items: + $ref: '#/components/schemas/AttributeAssignment' + ProductTypeWrapper: + type: object + required: + - ProductType + properties: + ProductType: + $ref: '#/components/schemas/ProductType' + ProductTypeCreate: + description: 'This class is used to create a product type.' + type: object + required: + - ContentTypeCreateStruct + - main_language_code + - assigned_attributes + properties: + ContentTypeCreateStruct: + type: object + main_language_code: + type: string + assigned_attributes: + type: array + items: + $ref: '#/components/schemas/ProductTypeAssignedAttribute' + ProductTypeCreateWrapper: + type: object + required: + - ProductTypeCreate + properties: + ProductTypeCreate: + $ref: '#/components/schemas/ProductTypeCreate' + ProductTypeUpdate: + description: 'This class is used to update a product type.' + type: object + required: + - ContentTypeUpdateStruct + - assigned_attributes + properties: + ContentTypeUpdateStruct: + $ref: '#/components/schemas/ContentTypeUpdateStruct' + assigned_attributes: + type: array + items: + $ref: '#/components/schemas/ProductTypeAssignedAttribute' + ProductTypeUpdateWrapper: + type: object + required: + - ProductTypeUpdate + properties: + ProductTypeUpdate: + $ref: '#/components/schemas/ProductTypeUpdate' + ProductTypeUsage: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a product type usage.' + type: object + required: + - is_used + properties: + is_used: + type: boolean + ProductTypeUsageWrapper: + type: object + required: + - ProductTypeUsage + properties: + ProductTypeUsage: + $ref: '#/components/schemas/ProductTypeUsage' + ProductTypeView: + description: 'This class represents a product type view.' + type: object + required: + - identifier + - ProductTypeQuery + - Result + properties: + identifier: + type: string + ProductTypeQuery: + type: object + Result: + type: object + ProductTypeViewWrapper: + type: object + required: + - ProductTypeView + properties: + ProductTypeView: + $ref: '#/components/schemas/ProductTypeView' + ProductTypeList: + description: 'This class represents a product type list.' + type: object + required: + - ProductType + properties: + ProductType: + type: array + items: + $ref: '#/components/schemas/ProductType' + ProductTypeListWrapper: + type: object + required: + - ProductTypeList + properties: + ProductTypeList: + $ref: '#/components/schemas/ProductTypeList' + ProductTypeListGet: + description: 'This class represents a product type list query.' + type: object + required: + - name_prefix + - offset + - limit + properties: + name_prefix: + type: string + offset: + type: integer + limit: + type: integer + languages: + type: array + items: + type: string + ProductTypeListGetWrapper: + type: object + required: + - ProductTypeListGet + properties: + ProductTypeListGet: + $ref: '#/components/schemas/ProductTypeListGet' + ProductTypeViewInput: + description: 'This class represents a product type view input.' + xml: + name: ViewInput + type: object + required: + - ProductTypeQuery + properties: + ProductTypeQuery: + type: object + ProductTypeViewInputWrapper: + type: object + required: + - ViewInput + properties: + ViewInput: + $ref: '#/components/schemas/ProductTypeViewInput' + ProductTypeAssignedAttribute: + type: object + required: + - identifier + - is_required + - is_discriminator + properties: + identifier: + type: string + is_required: + type: boolean + is_discriminator: + type: boolean + ProductVariant: + description: 'This class represents a product variant.' + type: object + required: + - code + - name + - Product + - DiscriminatorAttributesList + properties: + code: + type: string + name: + type: string + Product: + $ref: '#/components/schemas/Product' + DiscriminatorAttributesList: + type: array + items: + $ref: '#/components/schemas/Attribute' + ProductVariantWrapper: + type: object + required: + - ProductVariant + properties: + ProductVariant: + $ref: '#/components/schemas/ProductVariant' + ProductVariantView: + description: 'This class represents a product variant view.' + type: object + required: + - identifier + - ProductVariantQuery + - Result + properties: + identifier: + type: string + ProductVariantQuery: + type: object + Result: + type: object + ProductVariantViewWrapper: + type: object + required: + - ProductVariantView + properties: + ProductVariantView: + $ref: '#/components/schemas/ProductVariantView' + ProductVariantViewInput: + description: 'This class represents a product variant view input.' + type: object + required: + - ProductVariantQuery + properties: + ProductVariantQuery: + type: object + ProductVariantViewInputWrapper: + type: object + required: + - ViewInput + properties: + ViewInput: + $ref: '#/components/schemas/ProductVariantViewInput' + ProductVariantCreate: + description: 'This class is used to create a product variant.' + type: object + required: + - code + - attributes + properties: + code: + type: string + attributes: + description: 'array<int|string,mixed>' + type: object + ProductVariantCreateWrapper: + type: object + required: + - ProductVariantCreate + properties: + ProductVariantCreate: + $ref: '#/components/schemas/ProductVariantCreate' + ProductVariantUpdate: + description: 'This class is used to update a product variant.' + type: object + required: + - code + - attributes + properties: + code: + type: string + attributes: + description: 'array<int|string,mixed>' + type: object + ProductVariantUpdateWrapper: + type: object + required: + - ProductVariantUpdate + properties: + ProductVariantUpdate: + $ref: '#/components/schemas/ProductVariantUpdate' + ProductVariantGenerate: + description: 'This class is used to generate a product variant.' + type: object + required: + - attributes + properties: + attributes: + description: 'array<int|string,mixed>' + type: object + ProductVariantGenerateWrapper: + type: object + required: + - ProductVariantGenerate + properties: + ProductVariantGenerate: + $ref: '#/components/schemas/ProductVariantGenerate' + ProductSortClause: + type: object + required: + - name + properties: + name: + type: string + ProductSortClauseList: + description: 'This class represents a product sort clause list.' + type: object + required: + - ProductSortClause + properties: + ProductSortClause: + type: array + items: + $ref: '#/components/schemas/ProductSortClause' + ProductSortClauseListWrapper: + type: object + required: + - ProductSortClauseList + properties: + ProductSortClauseList: + $ref: '#/components/schemas/ProductSortClauseList' + Product: + description: 'This class represents a product.' + type: object + required: + - code + - name + - ProductType + - AttributesList + properties: + isVariant: + type: boolean + isBaseProduct: + type: boolean + code: + type: string + name: + type: string + ProductType: + $ref: '#/components/schemas/ProductType' + Content: + $ref: '#/components/schemas/Content' + Thumbnail: + $ref: '#/components/schemas/Thumbnail' + created_at: + type: integer + updated_at: + type: integer + AttributesList: + type: array + items: + $ref: '#/components/schemas/Attribute' + ProductWrapper: + type: object + required: + - Product + properties: + Product: + $ref: '#/components/schemas/Product' + ProductCreate: + description: 'This class is used to create a product.' + type: object + required: + - ContentCreate + - code + - attributes + properties: + ContentCreate: + $ref: '#/components/schemas/ContentCreate' + code: + type: string + attributes: + type: object + ProductCreateWrapper: + type: object + required: + - ProductCreate + properties: + ProductCreate: + $ref: '#/components/schemas/ProductCreate' + ProductUpdate: + description: 'This class is used to update a product.' + type: object + required: + - ContentUpdate + - code + properties: + ContentUpdate: + $ref: '#/components/schemas/ContentUpdate' + code: + type: string + attributes: + type: array + items: + type: object + ProductUpdateWrapper: + type: object + required: + - ProductUpdate + properties: + ProductUpdate: + $ref: '#/components/schemas/ProductUpdate' + ProductContentUpdate: + type: object + required: + - __url + - fields + properties: + __url: + xml: + attribute: true + name: url + type: string + fields: + type: object + required: + - field + properties: + field: + type: array + items: + $ref: '#/components/schemas/Field' + ProductView: + description: 'This class represents a product view.' + type: object + required: + - identifier + - ProductQuery + - Result + properties: + identifier: + type: string + ProductQuery: + type: object + Result: + type: object + ProductViewWrapper: + type: object + required: + - ProductView + properties: + ProductView: + $ref: '#/components/schemas/ProductView' + ProductViewInput: + description: 'This class represents a product view input.' + xml: + name: ViewInput + type: object + required: + - ProductQuery + properties: + ProductQuery: + type: object + ProductViewInputWrapper: + type: object + required: + - ViewInput + properties: + ViewInput: + $ref: '#/components/schemas/ProductViewInput' + ProductList: + description: 'This class represents a product list.' + type: object + required: + - Product + properties: + Product: + type: array + items: + $ref: '#/components/schemas/Product' + ProductListWrapper: + type: object + required: + - ProductList + properties: + ProductList: + $ref: '#/components/schemas/ProductList' + ProductListGet: + description: 'This class represents a product list GET.' + type: object + required: + - offset + - limit + - languages + properties: + offset: + type: integer + limit: + type: integer + languages: + type: array + items: + type: string + ProductListGetWrapper: + type: object + required: + - ProductListGet + properties: + ProductListGet: + $ref: '#/components/schemas/ProductListGet' + ProductGet: + description: 'This class represents a product GET.' + type: object + required: + - languages + properties: + languages: + type: array + items: + type: string + ProductGetWrapper: + type: object + required: + - ProductGet + properties: + ProductGet: + $ref: '#/components/schemas/ProductGet' + ProductFilter: + type: object + required: + - name + properties: + name: + type: string + ProductFilterList: + description: 'This class represents a product filter list.' + type: object + required: + - ProductFilter + properties: + ProductFilter: + type: array + items: + $ref: '#/components/schemas/ProductFilter' + ProductFilterListWrapper: + type: object + required: + - ProductFilterList + properties: + ProductFilterList: + $ref: '#/components/schemas/ProductFilterList' + Price: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a price.' + type: object + required: + - amount + - Currency + properties: + amount: + type: string + base_amount: + type: string + Currency: + $ref: '#/components/schemas/Currency' + money: + type: string + base_money: + type: string + PriceWrapper: + type: object + required: + - Price + properties: + Price: + $ref: '#/components/schemas/Price' + PriceCreateStruct: + description: 'This class represents a price creation structure.' + type: object + required: + - amount + - currency + properties: + amount: + type: integer + currency: + type: string + PriceCreateStructWrapper: + type: object + required: + - PriceCreateStruct + properties: + PriceCreateStruct: + $ref: '#/components/schemas/PriceCreateStruct' + RestPrice: + type: object + required: + - Price + - formatted + properties: + Price: + $ref: '#/components/schemas/Price' + formatted: + type: string + RestPriceWrapper: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + type: object + required: + - RestPrice + properties: + RestPrice: + $ref: '#/components/schemas/RestPrice' + CustomPrice: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a custom price.' + type: object + required: + - amount + - base_amount + - Currency + - money + - base_money + - custom_money + - custom_amount + properties: + amount: + type: string + base_amount: + type: string + Currency: + $ref: '#/components/schemas/Currency' + money: + type: string + base_money: + type: string + custom_money: + type: string + custom_amount: + type: string + custom_rule: + type: + - string + - 'null' + CustomPriceWrapper: + type: object + required: + - CustomPrice + properties: + CustomPrice: + $ref: '#/components/schemas/CustomPrice' + CustomPriceCreateStruct: + description: 'This class represents a custom price creation structure.' + type: object + required: + - amount + - currency + - customAmount + - customerGroup + properties: + amount: + type: integer + currency: + type: string + customAmount: + type: integer + customerGroup: + type: string + CustomPriceCreateStructWrapper: + type: object + required: + - CustomPriceCreateStruct + properties: + CustomPriceCreateStruct: + $ref: '#/components/schemas/CustomPriceCreateStruct' + CustomPriceUpdateStruct: + description: 'This class represents a custom price updating structure.' + type: object + required: + - amount + - currency + - customAmount + properties: + amount: + type: integer + currency: + type: string + customAmount: + type: integer + CustomPriceUpdateStructWrapper: + type: object + required: + - CustomPriceUpdateStruct + properties: + CustomPriceUpdateStruct: + $ref: '#/components/schemas/CustomPriceUpdateStruct' + PriceUpdateStruct: + description: 'This class represents a price updating structure.' + type: object + required: + - amount + - currency + properties: + amount: + type: integer + currency: + type: string + PriceUpdateStructWrapper: + type: object + required: + - PriceUpdateStruct + properties: + PriceUpdateStruct: + $ref: '#/components/schemas/PriceUpdateStruct' + PriceList: + description: 'This class represents a price list.' + type: object + required: + - prices + properties: + prices: + type: array + items: + $ref: '#/components/schemas/Price' + PriceListWrapper: + type: object + required: + - PriceList + properties: + PriceList: + $ref: '#/components/schemas/PriceList' + Thumbnail: + description: 'This class represents a thumbnail that can be a target URL or a Base64 data.' + type: object + required: + - resource + - width + - height + - mimeType + properties: + resource: + type: string + width: + type: + - integer + - 'null' + height: + type: + - integer + - 'null' + mimeType: + type: string + VatCategory: + description: 'This class represents a VAT category.' + type: object + required: + - identifier + - region + - vatValue + properties: + identifier: + type: string + region: + type: string + vatValue: + type: + - number + - 'null' + VatCategoryWrapper: + type: object + required: + - VatCategory + properties: + VatCategory: + $ref: '#/components/schemas/VatCategory' + VatCategoryList: + description: 'This class represents a VAT category list.' + type: object + required: + - VatCategory + properties: + VatCategory: + type: array + items: + $ref: '#/components/schemas/VatCategory' + VatCategoryListWrapper: + type: object + required: + - VatCategoryList + properties: + VatCategoryList: + $ref: '#/components/schemas/VatCategoryList' + VatCategorySummary: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a VAT category summary.' + type: object + required: + - VatCategory + - RestPrice + properties: + VatCategory: + $ref: '#/components/schemas/VatCategory' + RestPrice: + $ref: '#/components/schemas/RestPrice' + TaxonomyEntry: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a taxonomy entry.' + type: object + required: + - id + - identifier + - name + - content + - taxonomy + properties: + id: + type: integer + identifier: + type: string + name: + type: string + content: + $ref: '#/components/schemas/Ref' + taxonomy: + type: string + TaxonomyEntryWrapper: + type: object + required: + - TaxonomyEntry + properties: + TaxonomyEntry: + $ref: '#/components/schemas/TaxonomyEntry' + TaxonomyEntryBulkRemove: + description: 'This class is used to bulk remove taxonomy entries.' + type: object + required: + - entries + properties: + entries: + type: array + items: + type: integer + TaxonomyEntryBulkRemoveWrapper: + type: object + required: + - TaxonomyEntryBulkRemove + properties: + TaxonomyEntryBulkRemove: + $ref: '#/components/schemas/TaxonomyEntryBulkRemove' + TaxonomyEntryMove: + type: object + required: + - entry + - sibling + - position + properties: + entry: + type: integer + sibling: + type: integer + position: + type: string + TaxonomyEntryBulkMove: + description: 'This class is used to bulk move taxonomy entries.' + type: object + required: + - entries + properties: + entries: + type: array + items: + $ref: '#/components/schemas/TaxonomyEntryMove' + TaxonomyEntryBulkMoveWrapper: + type: object + required: + - TaxonomyEntryBulkMove + properties: + TaxonomyEntryBulkMove: + $ref: '#/components/schemas/TaxonomyEntryBulkMove' + TaxonomyEntryAssignment: + description: 'This class represents a taxonomy entry assignment.' + type: object + required: + - id + - content + - entry + properties: + id: + type: integer + content: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + type: object + required: + - Content + properties: + Content: + $ref: '#/components/schemas/Content' + entry: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + type: object + required: + - TaxonomyEntry + properties: + TaxonomyEntry: + $ref: '#/components/schemas/TaxonomyEntry' + TaxonomyEntryAssignmentWrapper: + type: object + required: + - TaxonomyEntryAssignment + properties: + TaxonomyEntryAssignment: + $ref: '#/components/schemas/TaxonomyEntryAssignment' + TaxonomyEntryAssignToContent: + description: 'This class is used to assign taxonomy entry to content.' + type: object + required: + - content + - entries + properties: + content: + type: integer + entries: + type: array + items: + type: integer + TaxonomyEntryAssignToContentWrapper: + type: object + required: + - TaxonomyEntryAssignToContent + properties: + TaxonomyEntryAssignToContent: + $ref: '#/components/schemas/TaxonomyEntryAssignToContent' + TaxonomyEntryUnassignFromContent: + description: 'This class is used to unassign taxonomy entry from content.' + type: object + required: + - content + - entries + properties: + content: + type: integer + entries: + type: array + items: + type: integer + TaxonomyEntryUnassignFromContentWrapper: + type: object + required: + - TaxonomyEntryUnassignFromContent + properties: + TaxonomyEntryUnassignFromContent: + $ref: '#/components/schemas/TaxonomyEntryUnassignFromContent' + EntryAssignmentCollection: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a taxonomy assignment collection.' + type: object + required: + - content + - assignments + properties: + content: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + type: object + required: [Content] + properties: { Content: { $ref: '#/components/schemas/Content' } } + assignments: + type: array + items: + $ref: '#/components/schemas/TaxonomyEntryAssignment' + EntryAssignmentCollectionWrapper: + type: object + required: + - EntryAssignmentCollection + properties: + EntryAssignmentCollection: + $ref: '#/components/schemas/EntryAssignmentCollection' + Segment: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a segment.' + type: object + required: + - id + - identifier + - name + - SegmentGroup + properties: + id: + type: integer + identifier: + type: string + name: + type: string + SegmentGroup: + $ref: '#/components/schemas/SegmentGroup' + SegmentWrapper: + type: object + required: + - Segment + properties: + Segment: + $ref: '#/components/schemas/Segment' + SegmentList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class lists segments.' + type: object + required: + - Segment + properties: + Segment: + type: array + items: + $ref: '#/components/schemas/Segment' + SegmentListWrapper: + type: object + required: + - SegmentList + properties: + SegmentList: + $ref: '#/components/schemas/SegmentList' + SegmentGroup: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a segment group.' + type: object + required: + - id + - identifier + - name + properties: + id: + type: integer + identifier: + type: string + name: + type: string + SegmentGroupWrapper: + type: object + required: + - SegmentGroup + properties: + SegmentGroup: + $ref: '#/components/schemas/SegmentGroup' + SegmentGroupList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class lists segment groups.' + type: object + required: + - SegmentGroup + properties: + SegmentGroup: + type: array + items: + $ref: '#/components/schemas/SegmentGroup' + SegmentGroupListWrapper: + type: object + required: + - SegmentGroupList + properties: + SegmentGroupList: + $ref: '#/components/schemas/SegmentGroupList' + UserSegment: + description: "This class represents a segment and a user it's associate to." + type: object + properties: + id: + type: integer + identifier: + type: string + name: + type: string + SegmentGroup: + $ref: '#/components/schemas/Ref' + User: + $ref: '#/components/schemas/Ref' + UserSegmentList: + description: 'this class lists segments associated to users.' + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + type: object + properties: + UserSegment: + type: array + items: + $ref: '#/components/schemas/UserSegment' + UserSegmentListWrapper: + type: object + required: + - UserSegmentList + properties: + UserSegmentList: + $ref: '#/components/schemas/SegmentList' + UserSegmentAssignInput: + type: object + properties: + segments: + type: array + items: + type: string + UserSegmentAssignInputWrapper: + type: object + required: + - UserSegmentAssignInput + properties: + UserSegmentAssignInput: + $ref: '#/components/schemas/UserSegmentAssignInput' + CorporateAccountRoot: + description: 'This class represents Corporate Account Root resource information.' + type: object + required: + - links + properties: + links: + xml: + wrapped: false + type: array + items: + $ref: '#/components/schemas/Link' + CorporateAccountRootWrapper: + type: object + required: + - CorporateAccountRoot + properties: + CorporateAccountRoot: + $ref: '#/components/schemas/CorporateAccountRoot' + Link: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents REST resource information.' + type: object + required: + - _rel + properties: + _rel: + description: 'Unique identifier of a resource.' + xml: + attribute: true + name: rel + type: string + Company: + description: 'This class represents a company.' + type: object + required: + - id + - name + - Content + - billingAddress + - contactId + - salesRepresentativeId + - defaultAddressId + - addressBookId + - membersId + - MemberList + - Location + - locationPath + - isActive + properties: + id: + type: integer + name: + type: string + Content: + $ref: '#/components/schemas/Content' + billingAddress: + $ref: '#/components/schemas/BillingAddress' + contactId: + type: + - integer + - 'null' + salesRepresentativeId: + type: integer + defaultAddressId: + type: + - integer + - 'null' + addressBookId: + description: 'Address book Folder Content ID.' + type: integer + membersId: + description: 'Members Folder Content ID.' + type: integer + MemberList: + description: 'Reference to Members List resource.' + $ref: '#/components/schemas/BaseObject' + Location: + description: 'Reference to Location resource.' + $ref: '#/components/schemas/BaseObject' + locationPath: + description: 'Company content item Location path string.' + type: string + isActive: + type: boolean + CompanyWrapper: + type: object + required: + - Company + properties: + Company: + $ref: '#/components/schemas/Company' + CompanyCreate: + description: 'This class is used to create a company.' + type: object + required: + - fields + properties: + fields: + type: object + required: + - field + properties: + field: + description: 'Fields of a Company content item.' + type: array + items: + $ref: '#/components/schemas/Field' + CompanyCreateWrapper: + type: object + required: + - CompanyCreate + properties: + CompanyCreate: + $ref: '#/components/schemas/CompanyCreate' + CompanyUpdate: + description: 'This class is used to update a Company.' + type: object + required: + - fields + properties: + fields: + type: object + required: + - field + properties: + field: + description: 'Fields of a Company content item.' + type: array + items: + $ref: '#/components/schemas/Field' + CompanyUpdateWrapper: + type: object + required: + - CompanyUpdate + properties: + CompanyUpdate: + $ref: '#/components/schemas/CompanyUpdate' + CompanyList: + description: 'This class represents a list of companies.' + type: object + required: + - companies + properties: + companies: + type: array + items: + $ref: '#/components/schemas/Company' + CompanyListWrapper: + type: object + required: + - CompanyList + properties: + CompanyList: + $ref: '#/components/schemas/CompanyList' + Member: + description: 'This class represents a company member.' + type: object + required: + - id + - name + - Company + - User + - Role + properties: + id: + type: integer + name: + type: string + Company: + $ref: '#/components/schemas/Company' + User: + description: 'Underlying User object of a member.' + $ref: '#/components/schemas/User' + Role: + description: 'Reference to the member role in a Company resource.' + $ref: '#/components/schemas/BaseObject' + MemberWrapper: + type: object + required: + - Member + properties: + Member: + $ref: '#/components/schemas/Member' + MemberCreate: + description: 'This class is used to create a member.' + type: object + required: + - login + - email + - password + - Role + - fields + properties: + login: + type: string + email: + type: string + password: + type: string + Role: + description: 'Reference to a Role resource company member should be given.' + $ref: '#/components/schemas/BaseObject' + fields: + type: object + required: + - field + properties: + field: + description: 'Fields of a Member content item.' + type: array + items: + $ref: '#/components/schemas/Field' + MemberCreateWrapper: + type: object + required: + - MemberCreate + properties: + MemberCreate: + $ref: '#/components/schemas/MemberCreate' + MemberUpdate: + description: 'This class is used to update a member.' + type: object + required: + - email + - password + - enabled + - maxLogin + - Role + - fields + properties: + email: + type: string + password: + type: string + enabled: + type: boolean + maxLogin: + description: 'Max number of failed login attempts.' + type: integer + Role: + description: 'Reference to a Role resource company member should be given.' + $ref: '#/components/schemas/BaseObject' + fields: + type: object + required: + - field + properties: + field: + description: 'Fields of a Member content item.' + type: array + items: + $ref: '#/components/schemas/Field' + MemberUpdateWrapper: + type: object + required: + - MemberUpdate + properties: + MemberUpdate: + $ref: '#/components/schemas/MemberUpdate' + MemberList: + description: 'This class represents a list of company members.' + type: object + required: + - members + properties: + members: + type: array + items: + $ref: '#/components/schemas/Member' + MemberListWrapper: + type: object + required: + - MemberList + properties: + MemberList: + $ref: '#/components/schemas/MemberList' + SalesRepresentativesList: + allOf: + - + $ref: '#/components/schemas/BaseObject' + - + description: 'This class represents a list of sales representatives.' + type: object + required: + - users + properties: + users: + type: array + items: + $ref: '#/components/schemas/User' + SalesRepresentativesListWrapper: + type: object + required: + - SalesRepresentativesList + properties: + SalesRepresentativesList: + $ref: '#/components/schemas/SalesRepresentativesList' + BillingAddress: + type: object + required: + - name + - country + - fields + properties: + name: + type: + - string + - 'null' + country: + type: + - string + - 'null' + fields: + type: + - object + - array + ActivityLog: + description: 'This class represents an activity log entry.' + type: object + ActivityLogGroup: + type: object + required: + - user_id + - logged_at + - ActivityLogEntries + properties: + user_id: + description: 'The ID of the user performing the logged actions' + type: integer + logged_at: + description: 'Timestamp representing when the group has been logged' + type: integer + ActivityLogEntries: + description: 'Log entries from the group' + type: array + items: + $ref: '#/components/schemas/ActivityLog' + ActivityLogGroupListInput: + description: "This class represents the activity log group search query's criteria and sort clauses." + type: object + ActivityLogGroupListInputWrapper: + type: object + required: + - ActivityLogGroupListInput + properties: + ActivityLogGroupListInput: + $ref: '#/components/schemas/ActivityLogGroupListInput' + ActivityLogGroupList: + description: 'This class represents activity log context groups' + type: object + required: + - ActivityLogGroups + properties: + ActivityLogGroups: + type: array + items: + $ref: '#/components/schemas/ActivityLogGroup' + ActivityLogGroupListWrapper: + type: object + required: + - ActivityLogGroupList + properties: + ActivityLogGroupList: + $ref: '#/components/schemas/ActivityLogGroupList' + Cart: + description: 'This class represents a Cart' + type: object + required: + - id + - identifier + - owner + - Currency + - entries + properties: + id: + description: 'Cart ID' + type: integer + identifier: + description: 'Cart unique identifier' + type: string + owner: + description: 'User reference' + $ref: '#/components/schemas/Ref' + Currency: + $ref: '#/components/schemas/Currency' + entries: + type: array + items: + $ref: '#/components/schemas/CartEntry' + CartWrapper: + type: object + required: + - Cart + properties: + Cart: + $ref: '#/components/schemas/Cart' + CartCreate: + description: 'This class represents a new Cart to create' + type: object + required: + - name + - currencyCode + properties: + name: + description: 'the name of the new Cart' + type: string + currencyCode: + description: 'the currency code such as `EUR`' + type: string + context: + description: 'associative array of scalars describing additional, contextual data attached to the cart' + type: object + CartCreateWrapper: + type: object + required: + - CartCreate + properties: + CartCreate: + $ref: '#/components/schemas/CartCreate' + CartProduct: + description: 'This class represents a cart entry product' + type: object + required: + - code + properties: + code: + description: "product's code" + type: string + CartView: + description: 'This class represents a cart view.' + type: object + required: + - identifier + - Result + properties: + identifier: + type: string + Result: + $ref: '#/components/schemas/CartListViewResult' + CartViewWrapper: + type: object + required: + - CartView + properties: + CartView: + $ref: '#/components/schemas/CartView' + CartViewInput: + description: 'This class represents a cart view input.' + type: object + required: + - identifier + - CartQuery + properties: + identifier: + type: string + CartQuery: + $ref: '#/components/schemas/CartViewInput' + CartViewInputWrapper: + type: object + required: + - CartViewInput + properties: + CartViewInput: + $ref: '#/components/schemas/CartViewInput' + CartQuery: + type: object + required: + - offset + - limit + - ownerId + properties: + offset: + type: integer + limit: + type: integer + ownerId: + type: integer + CartEntry: + type: object + required: + - identifier + - id + - names + - quantity + - Price + properties: + identifier: + type: string + id: + type: integer + names: + type: array + items: + type: object + quantity: + type: integer + Price: + $ref: '#/components/schemas/Price' + CartEntryAdd: + description: 'This class represents a cart entry' + type: object + required: + - quantity + - Product + properties: + quantity: + description: 'the quantity of entry items' + type: integer + Product: + description: 'product data' + context: + description: 'associative array of scalars describing additional, contextual data attached to the cart entry' + type: object + CartEntryAddWrapper: + type: object + required: + - CartEntryAdd + properties: + CartEntryAdd: + $ref: '#/components/schemas/CartEntryAdd' + CartEntryUpdate: + type: object + required: + - quantity + properties: + quantity: + type: integer + context: + description: 'associative array of scalars describing additional, contextual data attached to the cart entry' + type: object + CartEntryUpdateWrapper: + type: object + required: + - CartEntryUpdate + properties: + CartEntryUpdate: + $ref: '#/components/schemas/CartEntryUpdate' + CartMetadataUpdate: + description: 'This class represents the update of cart metadata.' + type: object + required: + - identifier + - defaultLanguageCode + - names + - descriptions + properties: + identifier: + type: string + defaultLanguageCode: + type: string + names: + type: array + items: + $ref: '#/components/schemas/Value' + descriptions: + type: array + items: + $ref: '#/components/schemas/Value' + CartMetadataUpdateWrapper: + type: object + required: + - CartMetadataUpdate + properties: + CartMetadataUpdate: + $ref: '#/components/schemas/CartMetadataUpdate' + CartSummary: + description: 'This class represents a cart summary.' + type: object + required: + - id + - identifier + - name + - createdAt + - updatedAt + - Owner + - SummaryEntryCollection + - TotalPrice + - TotalPriceInclVat + - vatCategorySummary + - Currency + properties: + id: + type: integer + identifier: + type: string + name: + type: string + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + Owner: + $ref: '#/components/schemas/Ref' + SummaryEntryCollection: + $ref: '#/components/schemas/SummaryEntryCollection' + TotalPrice: + $ref: '#/components/schemas/RestPriceWrapper' + TotalPriceInclVat: + $ref: '#/components/schemas/RestPriceWrapper' + vatCategorySummary: + type: array + items: + $ref: '#/components/schemas/VatCategorySummary' + Currency: + $ref: '#/components/schemas/Currency' + CartSummaryWrapper: + type: object + required: + - CartSummary + properties: + CartSummary: + $ref: '#/components/schemas/CartSummary' + CartListViewResult: + type: object + required: + - count + - Result + properties: + count: + type: integer + Result: + $ref: '#/components/schemas/CartList' + SummaryEntryCollection: + description: 'This class represents a summary entry collection.' + type: object + required: + - count + - SummaryEntry + properties: + count: + type: string + SummaryEntry: + type: array + items: + $ref: '#/components/schemas/SummaryEntry' + TimezoneDate: + type: object + required: + - date + - timezone_type + - timezone + properties: + date: + type: string + timezone_type: + type: integer + timezone: + type: string + Order: + description: 'This class represents order.' + type: object + required: + - id + - identifier + - created + - modified + - status + - OrderUser + - OrderCurrency + - OrderValue + - OrderItemsList + - context + properties: + id: + type: integer + identifier: + type: string + created: + $ref: '#/components/schemas/TimezoneDate' + modified: + $ref: '#/components/schemas/TimezoneDate' + status: + type: string + source: + type: string + OrderUser: + $ref: '#/components/schemas/OrderUser' + OrderCurrency: + $ref: '#/components/schemas/OrderCurrency' + OrderValue: + $ref: '#/components/schemas/OrderValue' + OrderCompany: + $ref: '#/components/schemas/OrderCompany' + OrderItemsList: + type: array + items: + $ref: '#/components/schemas/OrderItem' + context: + type: object + OrderWrapper: + type: object + required: + - Order + properties: + Order: + $ref: '#/components/schemas/Order' + OrderList: + description: 'This class represents an orders list.' + type: object + required: + - Order + properties: + Order: + type: array + items: + $ref: '#/components/schemas/Order' + OrderListWrapper: + type: object + required: + - OrderList + properties: + OrderList: + $ref: '#/components/schemas/OrderList' + OrderUser: + description: 'This class represents order user.' + type: object + required: + - id + - name + - email + properties: + id: + type: + - 'null' + - integer + name: + type: string + email: + type: string + OrderCurrency: + description: 'This class represents order currency.' + type: object + required: + - id + - code + properties: + id: + type: integer + code: + type: string + OrderValue: + description: 'This class represents order value.' + type: object + required: + - vat + - total_gross + - total_net + properties: + vat: + oneOf: + - + type: string + - + $ref: '#/components/schemas/OrderPrice' + total_gross: + oneOf: + - + type: string + - + $ref: '#/components/schemas/OrderPrice' + total_net: + oneOf: + - + type: string + - + $ref: '#/components/schemas/OrderPrice' + OrderCompany: + description: 'This class represents order company.' + type: object + required: + - id + - name + properties: + id: + type: integer + name: + type: string + OrderPrice: + type: object + required: + - amount + - currency + properties: + amount: + type: string + currency: + type: string + OrderCreate: + description: 'This class is used to create order.' + type: object + required: + - source + - OrderUser + - OrderCurrency + - OrderValue + - OrderCompany + - items + properties: + source: + type: string + OrderUser: + $ref: '#/components/schemas/OrderUser' + OrderCurrency: + $ref: '#/components/schemas/OrderCurrency' + OrderValue: + $ref: '#/components/schemas/OrderValue' + OrderCompany: + $ref: '#/components/schemas/OrderCompany' + items: + type: array + items: + $ref: '#/components/schemas/OrderItemWrapper' + OrderCreateWrapper: + type: object + required: + - OrderCreate + properties: + OrderCreate: + $ref: '#/components/schemas/OrderCreate' + OrderItem: + description: 'This class represents order item.' + type: object + required: + - OrderItemValue + - OrderItemProduct + properties: + OrderItemValue: + $ref: '#/components/schemas/OrderItemValue' + OrderItemProduct: + $ref: '#/components/schemas/OrderItemProduct' + quantity: + type: integer + context: + type: object + OrderItemWrapper: + type: object + required: + - OrderItem + properties: + OrderItem: + $ref: '#/components/schemas/OrderItem' + OrderItemValue: + description: 'This class represents order item value.' + type: object + required: + - unit_price_gross + - unit_price_net + - vat_rate + - subtotal_price_gross + - subtotal_price_net + properties: + unit_price_gross: + oneOf: + - + type: string + - + $ref: '#/components/schemas/OrderPrice' + unit_price_net: + oneOf: + - + type: string + - + $ref: '#/components/schemas/OrderPrice' + vat_rate: + type: string + subtotal_price_gross: + oneOf: + - + type: string + - + $ref: '#/components/schemas/OrderPrice' + subtotal_price_net: + oneOf: + - + type: string + - + $ref: '#/components/schemas/OrderPrice' + OrderItemProduct: + description: 'This class represents order item product.' + type: object + required: + - id + - code + - name + properties: + id: + type: integer + code: + type: string + name: + type: string + OrderUpdate: + description: 'This class is used to update order.' + type: object + required: + - status + - transition + properties: + status: + type: string + transition: + type: string + OrderUpdateWrapper: + type: object + required: + - OrderUpdate + properties: + OrderUpdate: + $ref: '#/components/schemas/OrderUpdate' + PaymentMethod: + type: object + required: + - id + - identifier + - enabled + - name + - description + properties: + id: + type: integer + identifier: + type: string + enabled: + type: boolean + name: + type: string + description: + type: string + PaymentMethodWrapper: + type: object + required: + - PaymentMethod + properties: + PaymentMethod: + $ref: '#/components/schemas/PaymentMethod' + PaymentMethodCreateStruct: + type: object + required: + - identifier + - type + - names + properties: + identifier: + type: string + type: + type: string + names: + description: 'If set this array of names with languageCode keys replace the complete name collection.' + type: object + descriptions: + description: 'An array of descriptions with languageCode keys.' + type: array + items: + type: string + enabled: + type: boolean + options: + type: object + PaymentMethodCreateStructWrapper: + type: object + required: + - PaymentMethodCreateStruct + properties: + PaymentMethodCreateStruct: + $ref: '#/components/schemas/PaymentMethodCreateStruct' + PaymentMethodUpdateStruct: + type: object + properties: + identifier: + type: string + names: + description: 'If set this array of names with languageCode keys replace the complete name collection.' + type: object + descriptions: + description: 'An array of descriptions with languageCode keys.' + type: array + items: + type: string + enabled: + type: boolean + options: + type: array + items: + type: [] + PaymentMethodUpdateStructWrapper: + type: object + required: + - PaymentMethodUpdateStructParser + properties: + PaymentMethodUpdateStructParser: + $ref: '#/components/schemas/PaymentMethodUpdateStruct' + PaymentMethodView: + type: object + required: + - identifier + - Result + properties: + identifier: + type: string + Result: + $ref: '#/components/schemas/PaymentMethodList' + PaymentMethodViewWrapper: + type: object + required: + - PaymentMethodView + properties: + PaymentMethodView: + $ref: '#/components/schemas/PaymentMethodView' + PaymentMethodViewInput: + type: object + required: + - identifier + - PaymentMethodQuery + properties: + identifier: + type: string + PaymentMethodQuery: + type: object + PaymentMethodViewInputWrapper: + type: object + required: + - PaymentMethodViewInput + properties: + PaymentMethodViewInput: + $ref: '#/components/schemas/PaymentMethodViewInput' + PaymentMethodList: + type: object + required: + - count + - PaymentMethodList + properties: + count: + type: integer + PaymentMethodList: + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + Shipment: + description: 'This class represents a single shipment.' + type: object + required: + - id + - identifier + - status + - transitions + - Order + - Amount + - createdAt + - updatedAt + - Owner + - Method + properties: + id: + type: integer + identifier: + type: string + status: + type: string + transitions: + type: object + required: + - transitionList + properties: + transitionList: + description: 'Next steps available in the shipment workflow for the current status' + type: array + items: + type: string + Order: + $ref: '#/components/schemas/Ref' + Amount: + type: object + required: + - value + - currency + properties: + value: + type: string + currency: + type: string + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + Owner: + $ref: '#/components/schemas/Ref' + Method: + $ref: '#/components/schemas/Ref' + ShipmentWrapper: + type: object + required: + - Shipment + properties: + Shipment: + $ref: '#/components/schemas/Shipment' + ShipmentRefList: + description: 'This class represents a list of Shipments' + type: object + required: + - shipmentRefList + properties: + shipmentRefList: + type: array + items: + $ref: '#/components/schemas/Ref' + ShipmentRefListWrapper: + type: object + required: + - ShipmentRefList + properties: + ShipmentRefList: + $ref: '#/components/schemas/ShipmentRefList' + ShipmentUpdate: + description: 'This class represents the update of a shipment.' + type: object + required: + - identifier + - transition + - Owner + - Context + properties: + identifier: + type: string + transition: + type: string + Owner: + $ref: '#/components/schemas/Ref' + Context: + type: object + ShipmentUpdateWrapper: + type: object + required: + - ShipmentUpdate + properties: + ShipmentUpdate: + $ref: '#/components/schemas/ShipmentUpdate' + ShipmentCreate: + description: 'This class represents the creation of a shipment.' + type: object + required: + - identifier + - ShippingMethod + - Owner + - Context + properties: + identifier: + type: string + ShippingMethod: + $ref: '#/components/schemas/Ref' + Owner: + $ref: '#/components/schemas/Ref' + Context: + type: object + ShipmentCreateWrapper: + type: object + required: + - ShipmentCreate + properties: + ShipmentCreate: + $ref: '#/components/schemas/ShipmentCreate' + ShippingMethod: + description: 'This class represents a shipping method.' + type: object + required: + - identifier + - name + - names + - description + - descriptions + - enabled + - options + - regions + - type + properties: + identifier: + type: string + name: + type: string + names: + type: object + required: + - value + properties: + value: + type: array + items: + $ref: '#/components/schemas/MultilingualValue' + description: + type: string + descriptions: + type: object + required: + - value + properties: + value: + type: array + items: + $ref: '#/components/schemas/MultilingualValue' + enabled: + type: boolean + options: + type: object + required: + - option + properties: + option: + type: array + items: + $ref: '#/components/schemas/KeyValue' + regions: + type: object + required: + - RegionRefList + properties: + RegionRefList: + type: array + items: + $ref: '#/components/schemas/Ref' + type: + $ref: '#/components/schemas/Ref' + ShippingMethodWrapper: + type: object + required: + - ShippingMethod + properties: + ShippingMethod: + $ref: '#/components/schemas/ShippingMethod' + ShippingMethodType: + description: 'This class represents a shipping method type.' + type: object + required: + - identifier + - name + properties: + identifier: + type: string + name: + type: string + ShippingMethodTypeWrapper: + type: object + required: + - ShippingMethodType + properties: + ShippingMethodType: + $ref: '#/components/schemas/ShippingMethodType' + ShippingMethodTypesList: + description: 'This class represents a list of shipping method types.' + type: object + required: + - ShippingMethodTypes + properties: + ShippingMethodTypes: + type: array + items: + $ref: '#/components/schemas/ShippingMethodType' + ShippingMethodTypesListWrapper: + type: object + required: + - ShippingMethodTypesList + properties: + ShippingMethodTypesList: + $ref: '#/components/schemas/ShippingMethodTypesList' + ShippingMethodRefList: + description: 'This class represents a list of shipping methods' + type: object + required: + - ShippingMethodRefs + properties: + ShippingMethodRefs: + type: array + items: + $ref: '#/components/schemas/Ref' + ShippingMethodRefListWrapper: + type: object + required: + - ShippingMethodRefList + properties: + ShippingMethodRefList: + $ref: '#/components/schemas/ShippingMethodRefList' + ActionType: + type: object + required: + - ActionType + properties: + ActionType: + type: object + required: + - _media-type + - identifier + - name + - inputIdentifier + - outputIdentifier + - options + properties: + _media-type: + type: string + enum: + - application/vnd.ibexa.api.ai.ActionType+json + - application/vnd.ibexa.api.ai.ActionType+xml + identifier: + type: string + name: + type: string + inputIdentifier: + type: string + outputIdentifier: + type: string + options: + type: object + additionalProperties: true + ActionTypeList: + type: object + required: + - _media-type + - _href + - ActionType + properties: + _media-type: + type: string + enum: + - application/vnd.ibexa.api.ai.ActionTypeList+json + - application/vnd.ibexa.api.ai.ActionTypeList+xml + _href: + type: string + enum: + - /api/ibexa/v2/ai/action-types + ActionType: + type: array + items: + $ref: '#/components/schemas/ActionType' + ActionConfiguration: + type: object + properties: + ActionConfiguration: + type: object + required: + - _media-type + - identifier + - name + - description + - enabled + - ActionType + - actionTypeOptions + - actionHandlerIdentifier + - actionHandlerOptions + - createdAt + - updatedAt + properties: + _media-type: + type: string + enum: + - application/vnd.ibexa.api.ai.ActionConfiguration+json + - application/vnd.ibexa.api.ai.ActionConfiguration+xml + identifier: + type: string + name: + type: string + description: + type: string + nullable: true + enabled: + type: boolean + ActionType: + $ref: '#/components/schemas/ActionType' + actionTypeOptions: + type: object + additionalProperties: true + actionHandlerIdentifier: + type: string + actionHandlerOptions: + type: object + additionalProperties: true + createdAt: + type: string + updatedAt: + type: string + ActionConfigurationList: + type: object + required: + - _media-type + - ActionConfiguration + properties: + _media-type: + type: string + enum: + - application/vnd.ibexa.api.ai.ActionConfigurationList+json + - application/vnd.ibexa.api.ai.ActionConfigurationList+xml + _href: + type: string + example: /api/ibexa/v2/ai/actions + ActionConfiguration: + type: array + items: + $ref: '#/components/schemas/ActionConfiguration' + ActionConfigurationListInput: + type: object + properties: + query: + type: string + action_type_identifier: + type: string + enabled: + type: boolean + limit: + type: integer + page: + type: integer + RuntimeContext: + type: object + additionalProperties: true + Text: + type: object + required: + - _media-type + - text + properties: + _media-type: + type: string + enum: + - application/vnd.ibexa.api.ai.Text+json + - application/vnd.ibexa.api.ai.Text+xml + text: + type: array + items: + type: string + RefineText: + type: object + required: + - Text + - RuntimeContext + properties: + _media-type: + type: string + enum: + - application/vnd.ibexa.api.ai.RefineText+json + - application/vnd.ibexa.api.ai.RefineText+xml + Text: + type: object + required: + - text + properties: + text: + type: array + items: + type: string + RuntimeContext: + $ref: '#/components/schemas/RuntimeContext' + GenerateAltText: + type: object + required: + - Image + - RuntimeContext + properties: + Image: + type: object + required: + - base64 + properties: + base64: + type: string + RuntimeContext: + $ref: '#/components/schemas/RuntimeContext' + AltText: + type: object + required: + - _media-type + - Text + properties: + _media-type: + type: string + enum: + - application/vnd.ibexa.api.ai.AltText+json + - application/vnd.ibexa.api.ai.AltText+xml + Text: + type: object + required: + - _media-type + - text + properties: + _media-type: + type: string + enum: + - application/vnd.ibexa.api.ai.Text+json + - application/vnd.ibexa.api.ai.Text+xml + text: + type: array + items: + type: string + DiscountList: + type: object + required: + - _media-type + - Discount + properties: + _media-type: + type: string + enum: + - application/vnd.ibexa.api.DiscountList+json + Discount: + type: array + items: + oneOf: + - + $ref: '#/components/schemas/Discount' + Discount: + type: object + required: + - id + - identifier + - name + - type + - label + - labelDescription + - priority + - isEnabled + - createdAt + - updatedAt + - startDate + - DiscountRule + - DiscountExpressionAware + - DiscountConditions + - DiscountTranslations + properties: + _media-type: + type: string + enum: + - application/vnd.ibexa.api.Discount+json + id: + type: integer + identifier: + type: string + name: + type: string + type: + type: string + required: true + label: + type: string + nullable: true + labelDescription: + type: string + nullable: true + priority: + type: integer + isEnabled: + type: boolean + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + startDate: + type: string + format: date-time + endDate: + type: string + format: date-time + DiscountRule: + $ref: '#/components/schemas/DiscountRule' + DiscountExpressionAware: + $ref: '#/components/schemas/DiscountExpressionAware' + DiscountConditions: + type: array + items: + $ref: '#/components/schemas/DiscountCondition' + DiscountTranslations: + type: array + items: + $ref: '#/components/schemas/DiscountTranslation' + DiscountRule: + type: object + required: + - _media-type + - type + - expressionValues + properties: + _media-type: + type: string + type: + type: string + expressionValues: + type: object + additionalProperties: true + DiscountExpressionAware: + type: object + required: + - _media-type + - expressionValues + properties: + _media-type: + type: string + enum: + - application/vnd.ibexa.api.DiscountExpressionAware+json + expressionValues: + type: object + additionalProperties: true + DiscountCondition: + type: object + required: + - _media-type + - identifier + - expressionValues + properties: + _media-type: + type: string + identifier: + type: string + expressionValues: + type: object + additionalProperties: true + DiscountTranslation: + type: object + required: + - _media-type + - languageCode + - name + - description + - label + - labelDescription + properties: + _media-type: + type: string + enum: + - application/vnd.ibexa.api.DiscountTranslation+json + languageCode: + $ref: '#/components/schemas/Language' + name: + type: string + description: + type: object + nullable: true + label: + type: string + nullable: true + labelDescription: + type: string + nullable: true + DiscountCreate: + type: object + required: + - identifier + - type + - priority + - isEnabled + - userId + - rule + - translations + properties: + identifier: + type: string + minLength: 1 + type: + type: string + enum: + - cart + - catalog + priority: + type: integer + minimum: 1 + maximum: 10 + isEnabled: + type: boolean + userId: + type: integer + rule: + type: object + properties: + type: + type: string + required: true + enum: + - fixed_amount + - percentage + amount: + type: string + required: true + conditions: + type: array + items: + type: object + properties: + class: + type: string + required: true + description: 'The fully qualified class name, must implement \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface' + parameters: + type: array + required: true + description: 'A list of arguments for the given class constructor' + items: [] + startDate: + type: string + format: date-time + endDate: + type: string + format: date-time + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + translations: + type: array + minItems: 1 + items: + type: object + required: + - languageCode + - name + properties: + languageCode: + type: string + name: + type: string + description: + type: string + label: + type: string + labelDescription: + type: string + context: + type: object + additionalProperties: true + DiscountUpdate: + type: object + required: + - identifier + properties: + identifier: + type: string + minLength: 1 + priority: + type: integer + minimum: 1 + maximum: 10 + isEnabled: + type: boolean + userId: + type: integer + lastContributorId: + type: integer + rule: + type: object + required: + - type + - amount + properties: + type: + type: string + enum: + - fixed_amount + - percentage + amount: + type: string + conditions: + type: array + items: + type: object + required: + - class + - parameters + properties: + class: + type: string + description: 'The fully qualified class name, must implement \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface' + parameters: + type: array + description: 'A list of arguments for the given class constructor' + items: [] + startDate: + type: string + format: date-time + endDate: + type: string + format: date-time + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + translations: + type: array + minItems: 1 + items: + type: object + required: + - languageCode + - name + properties: + languageCode: + type: string + name: + type: string + description: + type: string + label: + type: string + labelDescription: + type: string + context: + type: object + additionalProperties: true + responses: { } + parameters: { } + examples: { } + requestBodies: { } + headers: { } + securitySchemes: { } +security: [] +tags: + - + name: Section + - + name: Objects + - + name: 'Type Groups' + - + name: Type + - + name: User + - + name: 'User Group' + - + name: 'User Role' + - + name: 'User Policy' + - + name: Language + - + name: Location + - + name: 'Object State Groups' + - + name: Trash + - + name: 'Url Wildcard' + - + name: 'Url Alias' + - + name: Views + description: 'Controller for Repository Views (Search, mostly).' + - + name: 'User Session' + - + name: Bookmark + - + name: 'User Token' + - + name: Calendar + - + name: 'Product Attribute' + - + name: 'Product Attribute Type' + - + name: 'Product Attribute Group' + - + name: 'Product Catalog' + - + name: 'Product Currency' + - + name: 'Product Customer Group' + - + name: Product + - + name: 'Product Type' + - + name: 'Product Variant' + - + name: 'Product Region' + - + name: 'Product Vat' + - + name: Taxonomy + - + name: Segmentation + - + name: 'Corporate Account' + - + name: 'Activity Log' + - + name: Cart + - + name: Orders + - + name: Payments + - + name: Shipping + - + name: 'Connector AI' + - + name: Discounts +webhooks: { } From 830394745283de3d0abe5703725068499a31e1fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= <mnocon@users.noreply.github.com> Date: Wed, 24 Dec 2025 12:49:49 +0100 Subject: [PATCH 08/11] Current status --- .../rest_api/rest_api_reference_overview.md | 152 ++++++++++++++++++ llmstxt_preprocess.py | 8 + mkdocs.yml | 1 + plugins.yml | 4 +- 4 files changed, 164 insertions(+), 1 deletion(-) create mode 100644 docs/api/rest_api/rest_api_reference_overview.md diff --git a/docs/api/rest_api/rest_api_reference_overview.md b/docs/api/rest_api/rest_api_reference_overview.md new file mode 100644 index 0000000000..6f1b6e74a4 --- /dev/null +++ b/docs/api/rest_api/rest_api_reference_overview.md @@ -0,0 +1,152 @@ +# REST API Reference + +## Overview + +The Ibexa DXP REST API provides programmatic access to all platform features via HTTP endpoints. The API follows REST principles and supports both JSON and XML formats. + +**Base URL**: `/api/ibexa/v2` + +## Full API Specification + +The complete REST API reference is available in OpenAPI 3.1 format: + +**[openapi.yaml](rest_api_reference/openapi.yaml)** - Complete OpenAPI specification with: +- 180+ endpoints across 40 categories +- Request/response schemas +- Authentication requirements +- Example payloads (JSON/XML) +- Error codes and responses + +## API Categories + +### Content Management +- **Objects** (25 endpoints) - CRUD operations for content items +- **Location** (6 endpoints) - Content tree navigation and management +- **Language** (2 endpoints) - Multi-language content handling + +### Commerce +- **Cart** (10 endpoints) - Shopping cart operations +- **Orders** (6 endpoints) - Order management and processing +- **Payments** (6 endpoints) - Payment processing +- **Discounts** (8 endpoints) - Discount and promotion management +- **Product** (12 endpoints) - Product catalog management +- **Product Attribute** (7 endpoints) - Product attribute definitions + +### User Management +- **User** - User authentication and management +- **Corporate Account** (12 endpoints) - B2B account management +- **Bookmark** (4 endpoints) - User bookmarks + +### Workflow & Content +- **Object State Groups** (10 endpoints) - Content state management +- **Calendar** (3 endpoints) - Event and calendar management +- **Activity Log** (1 endpoint) - Activity tracking + +### AI Features +- **Connector AI** (6 endpoints) - AI-powered features integration + +## Authentication + +All REST API endpoints require authentication. The API supports: +- **Session-based authentication** - Using session cookies +- **OAuth tokens** - For third-party integrations +- **JWT tokens** - For stateless authentication + +Unauthorized requests return `401 Unauthorized`. + +## Media Types + +The API supports content negotiation via `Accept` and `Content-Type` headers: + +**JSON** (recommended): +- Request: `application/vnd.ibexa.api.[Type]+json` +- Response: `application/vnd.ibexa.api.[Type]+json` + +**XML**: +- Request: `application/vnd.ibexa.api.[Type]+xml` +- Response: `application/vnd.ibexa.api.[Type]+xml` + +## Common Response Codes + +- `200 OK` - Successful request +- `201 Created` - Resource created successfully +- `204 No Content` - Successful deletion +- `400 Bad Request` - Invalid request data +- `401 Unauthorized` - Authentication required +- `403 Forbidden` - Insufficient permissions +- `404 Not Found` - Resource not found +- `409 Conflict` - Resource conflict (e.g., duplicate) +- `500 Internal Server Error` - Server error + +## Key Endpoint Examples + +### Content Operations +``` +GET /api/ibexa/v2/content/objects/{contentId} # Load content +POST /api/ibexa/v2/content/objects # Create content +PATCH /api/ibexa/v2/content/objects/{contentId} # Update content +DELETE /api/ibexa/v2/content/objects/{contentId} # Delete content +``` + +### Cart & Commerce +``` +POST /api/ibexa/v2/cart # Create cart +GET /api/ibexa/v2/cart/{identifier} # Get cart +PATCH /api/ibexa/v2/cart/{identifier} # Update cart +POST /api/ibexa/v2/cart/{identifier}/entry # Add item to cart +``` + +### Product Catalog +``` +GET /api/ibexa/v2/product/catalog/products # List products +GET /api/ibexa/v2/product/catalog/products/{code} # Get product +POST /api/ibexa/v2/product/catalog/products # Create product +``` + +### Orders +``` +GET /api/ibexa/v2/orders # List orders +GET /api/ibexa/v2/orders/{identifier} # Get order details +PATCH /api/ibexa/v2/orders/{identifier}/status # Update order status +``` + +## Usage Example + +```bash +# Get content item (JSON) +curl -X GET \ + -H "Accept: application/vnd.ibexa.api.Content+json" \ + -H "Authorization: Bearer YOUR_TOKEN" \ + https://example.com/api/ibexa/v2/content/objects/123 + +# Create cart entry (JSON) +curl -X POST \ + -H "Content-Type: application/vnd.ibexa.api.CartEntry+json" \ + -H "Accept: application/vnd.ibexa.api.Cart+json" \ + -H "Authorization: Bearer YOUR_TOKEN" \ + -d '{"productCode": "SKU123", "quantity": 2}' \ + https://example.com/api/ibexa/v2/cart/my-cart/entry +``` + +## Integration with PHP API + +REST API endpoints often map to PHP service methods: + +| REST Endpoint | PHP Service Method | +|---------------|-------------------| +| `POST /content/objects` | `ContentService::createContent()` | +| `GET /content/objects/{id}` | `ContentService::loadContent()` | +| `POST /cart` | `CartService::createCart()` | +| `GET /product/catalog/products/{code}` | `ProductService::getProduct()` | + +## Further Documentation + +- **[OpenAPI Specification](rest_api_reference/openapi.yaml)** - Complete API reference +- **[REST API Guide](/api/rest_api/rest_api_guide)** - Usage guide and tutorials +- **[Authentication](/api/rest_api/rest_api_authentication)** - Authentication methods + +## Tools & SDKs + +- **OpenAPI UI** - Interactive API documentation (Swagger UI compatible) +- **Code generators** - Generate client SDKs from OpenAPI spec +- **Postman/Insomnia** - Import `openapi.yaml` for testing diff --git a/llmstxt_preprocess.py b/llmstxt_preprocess.py index fadd1da3f4..13b6a3a810 100644 --- a/llmstxt_preprocess.py +++ b/llmstxt_preprocess.py @@ -10,7 +10,15 @@ def preprocess(soup: "BeautifulSoup", output: str) -> None: Converts card macro HTML structure into markdown lists with links so they are preserved in the llms.txt output. + + Filters out release notes filter UI elements. """ + # Remove release notes filter UI (checkboxes and labels) + # These are interactive filters, not content + filter_containers = soup.find_all("div", class_="release-notes-filters") + for container in filter_containers: + container.decompose() + # Find all cards wrapper divs (these contain groups of cards) cards_divs = soup.find_all("div", class_=lambda c: c and c.startswith("cards ")) diff --git a/mkdocs.yml b/mkdocs.yml index 77a37fda43..bfac7f6aa2 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -12,6 +12,7 @@ validation: not_in_nav: | search_results.md personalization/legacy_recommendation_api.md + api/php_api/php_api_signatures.md /snippets/* nav: - Ibexa Developer Documentation: index.md diff --git a/plugins.yml b/plugins.yml index 42194192ad..2d588ed756 100644 --- a/plugins.yml +++ b/plugins.yml @@ -542,7 +542,7 @@ plugins: - llmstxt: preprocess: llmstxt_preprocess.py markdown_description: | - Ibexa DXP developer documentation - comprehensive technical guide for building digital experiences with Ibexa, a modern PHP-based Digital Experience Platform built on Symfony Full Stack Framework. + > Ibexa DXP developer documentation - comprehensive technical guide for building digital experiences with Ibexa, a modern PHP-based Digital Experience Platform built on Symfony Full Stack Framework. Ibexa is an enterprise-grade content management and digital commerce platform that comes in three editions: Headless (API-first content management), Experience (full DXP with Page Builder and forms), and Commerce (complete e-commerce solution). Key technical capabilities include: flexible content modeling with custom field types, powerful REST and GraphQL APIs, headless and traditional architecture support, Product Information Management (PIM), integrated commerce features (cart, checkout, payment, shipping), multi-site and multi-language support, advanced search with Elasticsearch/Solr, customizable Twig templating, Symfony-based extensibility, workflow management, AI Actions for content generation, Form Builder, and comprehensive user/permission management. The platform is designed for developers to build scalable content-driven applications, e-commerce sites, and headless solutions with enterprise features like Customer Data Platform (CDP), personalization, editorial workflows, and extensive APIs. Built with modern PHP practices on Symfony 7.x, supporting MySQL/MariaDB and PostgreSQL databases. @@ -692,3 +692,5 @@ plugins: PHP API Reference - Signatures: - api/php_api/php_api_reference.md - api/php_api/php_api_signatures.md + REST API Reference: + - api/rest_api/rest_api_reference_overview.md From 5689cf992378a67ac812adf5b3a54b32f499939e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= <mnocon@users.noreply.github.com> Date: Wed, 24 Dec 2025 14:18:24 +0100 Subject: [PATCH 09/11] Added buttons --- docs/css/custom.css | 2 +- mkdocs.yml | 1 + theme/assets/page-actions.js | 103 ++++++++++++++++++++++++++++++ theme/main.html | 118 ++++++++++++++++++++++++++++++++++- theme/partials/source.html | 7 +-- 5 files changed, 223 insertions(+), 8 deletions(-) create mode 100644 theme/assets/page-actions.js diff --git a/docs/css/custom.css b/docs/css/custom.css index fe9b85528a..eae77fe84e 100644 --- a/docs/css/custom.css +++ b/docs/css/custom.css @@ -158,7 +158,7 @@ body { } .md-typeset h1 { - margin: 0 0 1rem; + margin: 0 0 0.5rem; font-size: 24px; line-height: 34px; } diff --git a/mkdocs.yml b/mkdocs.yml index bfac7f6aa2..272e53a0e1 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -2,6 +2,7 @@ INHERIT: plugins.yml site_name: Developer Documentation repo_url: https://github.com/ibexa/documentation-developer +edit_uri: edit/5.0/docs/ site_url: https://doc.ibexa.co/en/latest/ copyright: "Copyright 1999-2024 Ibexa AS and others" validation: diff --git a/theme/assets/page-actions.js b/theme/assets/page-actions.js new file mode 100644 index 0000000000..6323042755 --- /dev/null +++ b/theme/assets/page-actions.js @@ -0,0 +1,103 @@ +/** + * Page Actions JavaScript + * Handles functionality for page action buttons (Copy for LLM, View as Markdown, Edit on GitHub) + */ + +async function copyPageForLLM() { + try { + const mdPath = document.querySelector('meta[name="markdown-path"]').content; + console.log('Fetching from path:', mdPath); + + let markdownContent; + + try { + const response = await fetch(mdPath); + if (response.ok) { + markdownContent = await response.text(); + } else { + throw new Error(`HTTP error! status: ${response.status}`); + } + } catch (fetchError) { + console.log('Direct fetch failed, trying GitHub fallback...'); + const editUrl = document.querySelector('meta[name="edit-url"]').content; + const rawUrl = editUrl.replace('/edit/', '/raw/'); + + try { + const response = await fetch(rawUrl); + if (response.ok) { + markdownContent = await response.text(); + } else { + const proxyUrl = `https://api.allorigins.win/get?url=${encodeURIComponent(rawUrl)}`; + const proxyResponse = await fetch(proxyUrl); + if (proxyResponse.ok) { + const proxyData = await proxyResponse.json(); + markdownContent = proxyData.contents; + } else { + throw new Error('All fetch methods failed'); + } + } + } catch (githubError) { + throw new Error('GitHub fallback failed'); + } + } + + if (!markdownContent) { + throw new Error('No content received'); + } + + await navigator.clipboard.writeText(markdownContent); + showButtonFeedback('success', 'Copied!', '📋'); + + } catch (error) { + console.error('Failed to copy content:', error); + + try { + const mdPath = document.querySelector('meta[name="markdown-path"]').content; + window.open(mdPath, '_blank'); + showButtonFeedback('info', 'Opened in tab', '🔗'); + } catch (fallbackError) { + showButtonFeedback('error', 'Failed', '❌'); + } + } +} + +function showButtonFeedback(type, message, icon) { + const button = document.querySelector('button[onclick="copyPageForLLM()"]'); + if (!button) return; + + const originalHTML = button.innerHTML; + button.innerHTML = `${icon} ${message}`; + + if (type === 'success') { + button.style.background = '#d4edda'; + button.style.borderColor = '#c3e6cb'; + button.style.color = '#155724'; + } else if (type === 'error') { + button.style.background = '#f8d7da'; + button.style.borderColor = '#f5c6cb'; + button.style.color = '#721c24'; + } else if (type === 'info') { + button.style.background = '#d1ecf1'; + button.style.borderColor = '#bee5eb'; + button.style.color = '#0c5460'; + } + + setTimeout(() => { + button.innerHTML = originalHTML; + button.style.background = ''; + button.style.borderColor = ''; + button.style.color = ''; + }, 2000); +} + +document.addEventListener('DOMContentLoaded', function() { + console.log('Page actions initialized'); + + const pageActions = document.getElementById('page-actions'); + const firstH1 = document.querySelector('.bootstrap-iso h1, h1'); + + if (pageActions && firstH1) { + firstH1.insertAdjacentElement('afterend', pageActions); + pageActions.style.display = 'flex'; + } +}); diff --git a/theme/main.html b/theme/main.html index 66ce7dc87d..110fbcaf1a 100644 --- a/theme/main.html +++ b/theme/main.html @@ -13,6 +13,93 @@ <meta name="google-site-verification" content="AN8DVQKzis4rL9Fr3J9g3dOzY7h2jFyhqfC6ySmcgSc" /> <script>window.eol_versions = {{ config.extra.eol_versions|tojson }};</script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KKQR5LG');</script> <!-- End Google Tag Manager --> + + <!-- Page action buttons styles --> + <style> + .page-actions { + display: none; + gap: 0; + margin: 12px 0 0 0; + padding-bottom: 6px; + border-bottom: 1px solid #e3e8ee; + } + + .page-action-btn { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 4px 12px; + background: transparent; + border: none; + text-decoration: none; + color: #425466; + font-size: 13px; + font-weight: 500; + cursor: pointer; + transition: color 0.15s ease; + white-space: nowrap; + position: relative; + } + + .page-action-btn:hover { + background: transparent; + text-decoration: none; + color: #0a2540; + } + + .page-action-btn:active { + color: #0a2540; + } + + .page-action-btn:link, + .page-action-btn:visited { + color: #425466; + text-decoration: none; + } + + .page-action-btn:hover:link, + .page-action-btn:hover:visited { + color: #0a2540; + } + + .page-action-btn + .page-action-btn::before { + content: ''; + position: absolute; + left: 0; + top: 50%; + transform: translateY(-50%); + height: 16px; + width: 1px; + background: #e3e8ee; + } + + .page-action-btn svg { + width: 14px; + height: 14px; + fill: currentColor; + flex-shrink: 0; + } + + .page-action-btn.external::after, + .page-action-btn[rel="nofollow"]::after { + display: none !important; + } + + @media (max-width: 768px) { + .page-actions { + gap: 0; + } + } + </style> + + <!-- Page actions metadata --> + {% if config.repo_url and page.edit_url %} + <meta name="edit-url" content="{{ page.edit_url }}"> + <meta name="markdown-path" content="index.md"> + {% endif %} + + <!-- Page actions script --> + <script src="{{ 'assets/page-actions.js' | url }}"></script> {% endblock %} {% block site_nav %} {% if nav %} @@ -75,7 +162,36 @@ </div> {% endif %} {% include "partials/eol_warning.html" %} - {{ page.content }} + + <div class="content-with-actions"> + {{ page.content }} + + <!-- Page action buttons - show only on subpages, positioned after first h1 --> + {% if config.repo_url and page.edit_url and not page.is_homepage and 'index.md' not in page.file.src_path %} + <div class="page-actions" id="page-actions"> + <button onclick="copyPageForLLM()" title="Copy page as Markdown for LLM" class="page-action-btn"> + <svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> + <path fill-rule="evenodd" clip-rule="evenodd" d="M2.5 1A1.5 1.5 0 0 0 1 2.5v8A1.5 1.5 0 0 0 2.5 12H4v1.5A1.5 1.5 0 0 0 5.5 15h8a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 13.5 4H12V2.5A1.5 1.5 0 0 0 10.5 1h-8zM12 5.5h1.5v8h-8V12h5a1.5 1.5 0 0 0 1.5-1.5v-5zm-1.5 5h-8v-8h8v8z"/> + </svg> + Copy for LLM + </button> + <a href="index.md" title="View source markdown" class="page-action-btn" rel="nofollow" target="_blank"> + <svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> + <path d="M4 9.75A.75.75 0 0 1 4.75 9h2a.75.75 0 0 1 0 1.5h-2A.75.75 0 0 1 4 9.75ZM4.75 5a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5h-6Z"/> + <path fill-rule="evenodd" clip-rule="evenodd" d="M1 12.5v-9A2.5 2.5 0 0 1 3.5 1h9A2.5 2.5 0 0 1 15 3.5v6.672a2 2 0 0 1-.586 1.414l-2.828 2.828a2 2 0 0 1-1.414.586H3.5A2.5 2.5 0 0 1 1 12.5Zm1.5 0v-9a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v5h-3.25a1.75 1.75 0 0 0-1.75 1.75v3.25h-5a1 1 0 0 1-1-1Zm7.5 1h.172a.5.5 0 0 0 .353-.146l2.829-2.829a.5.5 0 0 0 .146-.353V10h-3.25a.25.25 0 0 0-.25.25v3.25Z"/> + </svg> + View as Markdown + </a> + <a href="{{ page.edit_url }}" title="Edit this page on GitHub" class="page-action-btn" rel="nofollow" target="_blank"> + <svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> + <path fill-rule="evenodd" clip-rule="evenodd" d="M11.013 2.513a1.75 1.75 0 0 1 2.475 2.474l-6.62 6.62a2.75 2.75 0 0 1-1.06.664l-2.914.97a.75.75 0 0 1-.95-.95l.97-2.915a2.75 2.75 0 0 1 .664-1.06l6.435-6.803zm1.414 1.06a.25.25 0 0 0-.354 0l-.742.783 1.06 1.06.784-.742a.25.25 0 0 0 0-.354l-.748-.747zM8.717 6.07l1.06 1.06-5.156 5.156a1.25 1.25 0 0 1-.302.481l-1.264.421.421-1.264a1.25 1.25 0 0 1 .481-.302L8.717 6.07z"/> + </svg> + Edit on GitHub + </a> + </div> + {% endif %} + </div> + {% include "partials/tags.html" %} </div> {% endblock %} diff --git a/theme/partials/source.html b/theme/partials/source.html index 76e885dc14..76c8c6aea1 100644 --- a/theme/partials/source.html +++ b/theme/partials/source.html @@ -1,7 +1,2 @@ {% import "partials/language.html" as lang with context %} -<a href="{{ page.edit_url|replace('/edit/', '/blob/') }}" title="{{ lang.t('source.link.title') }}" class="source-github"> - <div class="md-source__icon md-icon"> - {% include ".icons/fontawesome/brands/github-alt.svg" %} - </div> - View on GitHub -</a> +<!-- View on GitHub link removed - now available as page action button --> From abaed4f526b52084b4a76731ec6b3b5c10f5b34e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= <mnocon@users.noreply.github.com> Date: Tue, 21 Apr 2026 11:33:27 +0200 Subject: [PATCH 10/11] Resources --- TODO: | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 TODO: diff --git a/TODO: b/TODO: new file mode 100644 index 0000000000..a02e74766f --- /dev/null +++ b/TODO: @@ -0,0 +1,11 @@ +TODO: https://github.com/agent-ecosystem/afdocs +https://docs.payabli.com/ai-agents +ELASTIC OPEN SOURCE SKILLS +https://www.linkedin.com/feed/update/urn:li:activity:7444782066203844609/ +https://vercel.com/kb/guide/make-your-documentation-readable-by-ai-agents +https://dacharycarey.com/2026/04/06/designing-agent-reading-test/ +https://www.linkedin.com/posts/lbrindley_having-worked-with-at-least-a-couple-of-supabases-share-7437806265017462785-0SkA?utm_source=social_share_send&utm_medium=member_desktop_web&rcm=ACoAABlX-uABelV22FeaPcBmUSjH0bLmwbTTgsk +https://www.linkedin.com/posts/dachary_last-weekend-i-started-experimenting-with-activity-7447987839587217408-HXbD?utm_source=social_share_send&utm_medium=member_desktop_web&rcm=ACoAABlX-uABelV22FeaPcBmUSjH0bLmwbTTgsk +https://github.com/readthedocs/readthedocs.org/issues/12512 +https://www.linkedin.com/posts/fabrizioferri_i-feel-quite-excited-about-this-better-life-share-7450546580769640448-60OX?utm_source=social_share_send&utm_medium=member_desktop_web&rcm=ACoAABlX-uABelV22FeaPcBmUSjH0bLmwbTTgsk +https://github.com/elastic/docs-content/blob/main/.github/workflows/docs-ai-menu.yml From 30db18a7c0d120afc2c7d584127972d9c52125f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= <mnocon@users.noreply.github.com> Date: Tue, 21 Apr 2026 16:46:20 +0200 Subject: [PATCH 11/11] cleanup --- AGENTS.md | 59 - PHP_API_INTEGRATION_SUMMARY.md | 136 - TODO: | 11 - docs/api/php_api/php_api.md | 4 - docs/api/php_api/php_api_reference.md | 44 - docs/api/php_api/php_api_signatures.md | 19562 ---------------- .../rest_api/rest_api_reference_overview.md | 152 - mkdocs.yml | 1 - theme/partials/header.html | 5 - theme/partials/source.html | 2 - tools/README_php_api_converter.md | 64 - tools/php_api_converter.py | 289 - 12 files changed, 20329 deletions(-) delete mode 100644 AGENTS.md delete mode 100644 PHP_API_INTEGRATION_SUMMARY.md delete mode 100644 TODO: delete mode 100644 docs/api/php_api/php_api_reference.md delete mode 100644 docs/api/php_api/php_api_signatures.md delete mode 100644 docs/api/rest_api/rest_api_reference_overview.md delete mode 100644 theme/partials/source.html delete mode 100644 tools/README_php_api_converter.md delete mode 100644 tools/php_api_converter.py diff --git a/AGENTS.md b/AGENTS.md deleted file mode 100644 index 2cd61d20b3..0000000000 --- a/AGENTS.md +++ /dev/null @@ -1,59 +0,0 @@ -# Agent Instructions for Documentation Developer - -## Building Documentation - -To build the MkDocs documentation site, use the specific Python interpreter: - -```bash -~/python/bin/python3.13 -m mkdocs build --strict -``` - -## llmstxt Plugin - -The llmstxt plugin converts HTML output back to Markdown for LLM consumption. - -### Preprocessing - -A preprocessing script (`llmstxt_preprocess.py`) is configured to transform the cards macro HTML structure into markdown lists before conversion. This ensures that navigation cards are properly represented in the `llms-full.txt` output. - -The cards macro generates HTML like: -```html -<div class="cards col-2"> - <div class="card-wrapper"> - <div> - <a href="//doc.ibexa.co/en/latest/ai_actions/ai_actions_guide" class="card"> - <div> - <p class="title">AI Actions product guide</p> - <p class="description">AI Actions help editors by automating repetitive tasks.</p> - </div> - </a> - </div> - </div> - <!-- more card-wrappers... --> -</div> -``` - -The preprocessing script converts these to markdown lists: -```markdown -- [AI Actions product guide](https://doc.ibexa.co/en/latest/ai_actions/ai_actions_guide) - AI Actions help editors by automating repetitive tasks. -- [Configure AI Actions](https://doc.ibexa.co/en/latest/ai_actions/configure_ai_actions) - Configure AI Actions. -``` - -Key transformations: -1. Groups of cards within a `<div class="cards ...">` wrapper are converted to unordered lists -2. Each card becomes a list item with a link and description -3. Protocol-relative URLs (`//`) are converted to HTTPS (`https://`) - -### Configuration - -The llmstxt plugin is configured in `plugins.yml`: - -```yaml -- llmstxt: - preprocess: llmstxt_preprocess.py - markdown_description: | - Ibexa DXP developer documentation... - full_output: llms-full.txt - sections: - # ... section configuration -``` diff --git a/PHP_API_INTEGRATION_SUMMARY.md b/PHP_API_INTEGRATION_SUMMARY.md deleted file mode 100644 index 3f6707a9f6..0000000000 --- a/PHP_API_INTEGRATION_SUMMARY.md +++ /dev/null @@ -1,136 +0,0 @@ -# PHP API Reference Integration - Summary - -## Solution Overview - -We've successfully integrated the PHP API reference into the llmstxt output using a **two-tier approach**: - -### 1. Proxy File (`docs/api/php_api/php_api_reference.md`) -- **2.5 KB** - Overview and introduction -- Lists key services and usage patterns -- References the full signatures file - -### 2. Signatures File (`docs/api/php_api/php_api_signatures.md`) -- **1.4 MB** - Complete method signatures -- **2,377 contract classes** (`Ibexa\Contracts\*` only) -- **14,627 public methods** -- Compact format: FQCN + method signatures only - -## Implementation Details - -### Converter Tool: `tools/php_api_converter.py` -- **Input**: HTML files from `site/api/php_api/php_api_reference/classes/` -- **Output**: Markdown with method signatures -- **Processing time**: ~90 seconds for 2,486 files -- **Method**: Regex-based HTML parsing (no BeautifulSoup needed) -- **Filtering**: Only `Ibexa\Contracts\*` (public API contracts) - -### Integration in `plugins.yml` -```yaml -PHP API Reference - Signatures: -- api/php_api/php_api_reference.md -- api/php_api/php_api_signatures.md -``` - -## Results - -### File Sizes -| File | Size | Lines | -|------|------|-------| -| php_api_reference.md | 2.5 KB | ~70 | -| php_api_signatures.md | 1.4 MB | 19,389 | -| **llms-full.txt** (total) | **4.9 MB** | **95,881** | - -### Impact -- Previous llms-full.txt: **3.6 MB** (74K lines) -- After PHP API addition: **4.9 MB** (96K lines) -- Increase: **+1.3 MB** (+22K lines) - -## Benefits - -### ✅ Pros -1. **Complete API coverage** - All public contracts included -2. **LLM-friendly format** - Signatures without descriptions -3. **Reasonable size** - 1.4MB is acceptable for LLM context -4. **Type information** - Parameter and return types preserved -5. **Easy to regenerate** - Single command after doc rebuild -6. **Filtered intelligently** - Only public API contracts, not internal classes - -### 🤔 Considerations -1. **No method descriptions** - Use full HTML reference for details -2. **No inheritance info** - extends/implements not extracted (HTML limitation) -3. **HTML entities** - Some ` ` and `'` remain (could be cleaned) -4. **Must rebuild** - After Ibexa DXP upgrades or API changes - -## Usage Workflow - -### Initial Setup (Done) -```bash -# Build documentation -~/python/bin/python3.13 -m mkdocs build - -# Generate signatures -~/python/bin/python3.13 tools/php_api_converter.py -``` - -### After API Changes -```bash -# 1. Rebuild docs (regenerates HTML) -~/python/bin/python3.13 -m mkdocs build - -# 2. Regenerate signatures -~/python/bin/python3.13 tools/php_api_converter.py - -# 3. Rebuild docs again (includes new signatures in llmstxt) -~/python/bin/python3.13 -m mkdocs build -``` - -## Example Output Format - -```markdown -## Ibexa\Contracts\Core\Repository\ContentService - -- `loadContent(int $contentId[, array $languages = null[, int $versionNo = null]]) : Content` -- `createContent(ContentCreateStruct $contentCreateStruct, array $locationCreateStructs) : Content` -- `updateContent(VersionInfo $versionInfo, ContentUpdateStruct $contentUpdateStruct) : Content` -- `publishVersion(VersionInfo $versionInfo[, array $translations = [] ]) : Content` -- `deleteContent(ContentInfo $contentInfo) : array<string|int, mixed>` -``` - -## Comparison to Alternatives - -| Approach | Pros | Cons | Verdict | -|----------|------|------|---------| -| **Full HTML inclusion** | Complete docs | 7.5GB, 3K files | ❌ Too large | -| **Index page only** | Tiny | No useful info | ❌ Not helpful | -| **Selective namespaces** | Curated | Manual selection | ⚠️ Maintenance burden | -| **Signatures only** ✅ | Good size, complete | No descriptions | ✅ **Chosen** | - -## Recommendations - -1. **For code generation**: Use the signatures file - has all types LLMs need -2. **For learning**: Use full HTML reference - has descriptions and examples -3. **For quick lookup**: Use the proxy file - lists key services - -## Files Created/Modified - -### Created -- `docs/api/php_api/php_api_reference.md` - Proxy/overview -- `docs/api/php_api/php_api_signatures.md` - Full signatures (generated) -- `tools/php_api_converter.py` - Converter script -- `tools/README_php_api_converter.md` - Tool documentation - -### Modified -- `plugins.yml` - Added PHP API section to llmstxt config - -## Future Improvements (Optional) - -1. Clean HTML entities (` `, `'`, etc.) -2. Extract extends/implements info (requires different HTML parsing) -3. Add class constants and properties -4. Include interface/trait markers -5. Generate separate files by namespace for better organization - ---- - -**Status**: ✅ Complete and Working -**Next Action**: Test with LLM to verify usefulness for code generation diff --git a/TODO: b/TODO: deleted file mode 100644 index a02e74766f..0000000000 --- a/TODO: +++ /dev/null @@ -1,11 +0,0 @@ -TODO: https://github.com/agent-ecosystem/afdocs -https://docs.payabli.com/ai-agents -ELASTIC OPEN SOURCE SKILLS -https://www.linkedin.com/feed/update/urn:li:activity:7444782066203844609/ -https://vercel.com/kb/guide/make-your-documentation-readable-by-ai-agents -https://dacharycarey.com/2026/04/06/designing-agent-reading-test/ -https://www.linkedin.com/posts/lbrindley_having-worked-with-at-least-a-couple-of-supabases-share-7437806265017462785-0SkA?utm_source=social_share_send&utm_medium=member_desktop_web&rcm=ACoAABlX-uABelV22FeaPcBmUSjH0bLmwbTTgsk -https://www.linkedin.com/posts/dachary_last-weekend-i-started-experimenting-with-activity-7447987839587217408-HXbD?utm_source=social_share_send&utm_medium=member_desktop_web&rcm=ACoAABlX-uABelV22FeaPcBmUSjH0bLmwbTTgsk -https://github.com/readthedocs/readthedocs.org/issues/12512 -https://www.linkedin.com/posts/fabrizioferri_i-feel-quite-excited-about-this-better-life-share-7450546580769640448-60OX?utm_source=social_share_send&utm_medium=member_desktop_web&rcm=ACoAABlX-uABelV22FeaPcBmUSjH0bLmwbTTgsk -https://github.com/elastic/docs-content/blob/main/.github/workflows/docs-ai-menu.yml diff --git a/docs/api/php_api/php_api.md b/docs/api/php_api/php_api.md index a4862bc3c2..e9d3b7fd94 100644 --- a/docs/api/php_api/php_api.md +++ b/docs/api/php_api/php_api.md @@ -12,10 +12,6 @@ You can use it to create, read, update, manage, and delete all objects available The PHP API is built on top of a layered architecture, including a persistence SPI that abstracts storage. Using the API ensures that your code is forward compatible with future releases based on other storage engines. -## Method Signatures Reference - -For quick reference during development, see **[PHP API Signatures](php_api_signatures.md)** - ## Using API services The API provides access to content, user, content types, and other features through various services. diff --git a/docs/api/php_api/php_api_reference.md b/docs/api/php_api/php_api_reference.md deleted file mode 100644 index c7d22b4ee8..0000000000 --- a/docs/api/php_api/php_api_reference.md +++ /dev/null @@ -1,44 +0,0 @@ -# PHP API Reference - -## Overview - -The Ibexa DXP PHP API provides programmatic access to all platform features through well-defined contracts and services. - -## Full API Documentation - -Comprehensive PHP API documentation with detailed descriptions, parameters, and examples is available in the autogenerated HTML reference at: - -`site/php_api/php_api_reference/index.html` (available after building the documentation) - -The full reference includes: -- All classes, interfaces, and traits -- Method parameters and return types -- Detailed descriptions and examples -- Inheritance hierarchies -- Exception documentation - - - -## Usage Pattern - -```php -<?php -// Access services through dependency injection -class MyController -{ - public function __construct( - private ContentService $contentService, - private LocationService $locationService - ) {} - - public function myAction(): Response - { - $content = $this->contentService->loadContent($contentId); - // ... - } -} -``` - -## Code Examples - -See [PHP API usage examples](/api/php_api/php_api.md) in the main documentation. diff --git a/docs/api/php_api/php_api_signatures.md b/docs/api/php_api/php_api_signatures.md deleted file mode 100644 index 15af43248d..0000000000 --- a/docs/api/php_api/php_api_signatures.md +++ /dev/null @@ -1,19562 +0,0 @@ -# PHP API Reference - Method Signatures - -## Ibexa\Contracts\ActivityLog\ActivityLogServiceInterface - -- `public function countGroups([Query|null $query = null ]): int` -- `public function disable(): void` -- `public function dismissContext(): void` -- `public function enable(): void` -- `public function findGroups([Query|null $query = null ]): \Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityGroupListInterface` -- `public function getAction(int $id): \Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActionInterface` -- `public function getActions(): array<string|int, mixed>` -- `public function getObjectClass(int $id): \Ibexa\Contracts\ActivityLog\Values\ActivityLog\ObjectClassInterface` -- `public function getObjectClasses(): array<string|int, mixed>` -- `public function isDisabled(): bool` -- `public function isEnabled(): bool` -- `public function prepareContext(string $source[, string|null $description = null ]): \Ibexa\Contracts\ActivityLog\ContextInterface` -- `public function save(\Ibexa\Contracts\ActivityLog\Values\CreateActivityLogStruct $struct): int|null` -- `public function truncate(): void` -- `public const mixed ACTION_COPY = 'copy'` -- `public const mixed ACTION_CREATE = 'create'` -- `public const mixed ACTION_CREATE_DRAFT = 'create_draft'` -- `public const mixed ACTION_DELETE = 'delete'` -- `public const mixed ACTION_DELETE_TRANSLATION = 'delete_translation'` -- `public const mixed ACTION_HIDE = 'hide'` -- `public const mixed ACTION_MOVE = 'move'` -- `public const mixed ACTION_PUBLISH = 'publish'` -- `public const mixed ACTION_RESTORE = 'restore'` -- `public const mixed ACTION_REVEAL = 'reveal'` -- `public const mixed ACTION_SWAP = 'swap'` -- `public const mixed ACTION_TRASH = 'trash'` -- `public const mixed ACTION_UPDATE = 'update'` - -## Ibexa\Contracts\ActivityLog\ClassNameMapperInterface - -- `public function getClassNameToShortNameMap(): iterable<string|int, mixed>` - -## Ibexa\Contracts\ActivityLog\ContextInterface - -- `public function getDescription(): string|null` -- `public function getId(): int` -- `public function getIp(): string|null` -- `public function getSource(): string|null` -- `public function getUserId(): int` -- `public function hasUserId(): bool` -- `public function isPersisted(): bool` -- `public function setDescription(string|null $description): void` -- `public function setId(int $id): void` -- `public function setIp(string|null $ip): void` -- `public function setSource(string|null $source): void` -- `public function setUserId(int $userId): void` - -## Ibexa\Contracts\ActivityLog\CriterionMapperInterface - -- `public function canHandle(\Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CriterionInterface $criterion): bool` -- `public function handle(\Ibexa\Contracts\ActivityLog\C $criterion): \Doctrine\Common\Collections\Expr\Expression` - -## Ibexa\Contracts\ActivityLog\Event\PostActivityGroupListLoadEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityGroupListInterface $list)` -- `public function getList(): \Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityGroupListInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ActivityLog\SortClauseMapperInterface - -- `public function canHandle(\Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\SortClauseInterface $sortClause): bool` -- `public function handle(\Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\SortClauseInterface $sortClause): array<string|int, mixed>` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActionInterface - -- `public function getId(): int` -- `public function getName(): string` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityGroupListInterface extends IteratorAggregate - -- `public function getActivityLogs(): array<string|int, \Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityLogGroupInterface>` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityLogGroupInterface - -- `public function getActivityLogs(): array<string|int, ActivityLogInterface<string|int, object>>` -- `public function getDescription(): string|null` -- `public function getIp(): \Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityLogIpInterface|null` -- `public function getLoggedAt(): \DateTimeInterface` -- `public function getSource(): \Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityLogSourceInterface|null` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function getUserId(): int` -- `public function setUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): void` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityLogInterface - -- `public function getAction(): string` -- `public function getData(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>` -- `public function getObjectClass(): string` -- `public function getObjectId(): string` -- `public function getObjectName(): string|null` -- `public function getRelatedObject(): object|null` -- `public function getShortObjectClass(): string|null` -- `public function setRelatedObject(object $object): void` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityLogIpInterface - -- `public function getIp(): string` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ActivityLogSourceInterface - -- `public function getName(): string` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CompositeCriterion implements Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CriterionInterface - -- `public function getType(): string` -- `public const mixed TYPE_AND = 'AND'` -- `public const mixed TYPE_OR = 'OR'` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\LoggedAtCriterion implements Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CriterionInterface - -- `public const mixed EQ = '='` -- `public const mixed GT = '>'` -- `public const mixed GTE = '>='` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\LogicalAnd extends Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CompositeCriterion - -- `public function getType(): string` -- `public const mixed TYPE_AND = 'AND'` -- `public const mixed TYPE_OR = 'OR'` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\LogicalOr extends Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CompositeCriterion - -- `public function getType(): string` -- `public const mixed TYPE_AND = 'AND'` -- `public const mixed TYPE_OR = 'OR'` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\ObjectNameCriterion implements Ibexa\Contracts\ActivityLog\Values\ActivityLog\Criterion\CriterionInterface - -- `public const mixed OPERATOR_CONTAINS = \Doctrine\Common\Collections\Expr\Comparison::CONTAINS` -- `public const mixed OPERATOR_ENDS_WITH = \Doctrine\Common\Collections\Expr\Comparison::ENDS_WITH` -- `public const mixed OPERATOR_EQUALS = \Doctrine\Common\Collections\Expr\Comparison::EQ` -- `public const mixed OPERATOR_STARTS_WITH = \Doctrine\Common\Collections\Expr\Comparison::STARTS_WITH` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\ObjectClassInterface - -- `public function getId(): int` -- `public function getObjectClass(): string` -- `public function getShortName(): string|null` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\Query - -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\AbstractSortClause implements Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\SortClauseInterface - -- `public function __construct(string $order)` -- `public function getOrder(): string` -- `public function setOrder(string $order): void` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\LoggedAtSortClause extends Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\AbstractSortClause - -- `public function __construct(string $order)` -- `public function getOrder(): string` -- `public function setOrder(string $order): void` - -## Ibexa\Contracts\ActivityLog\Values\ActivityLog\SortClause\SortClauseInterface - -- `public function setOrder(string $order): void` -- `public const mixed ASC = 'ASC'` -- `public const mixed DESC = 'DESC'` - -## Ibexa\Contracts\ActivityLog\Values\CreateActivityLogStruct - -- `public function __construct(string $objectClass, string $objectId, string $action, int $userId[, string|null $objectName = null ][, array<string, mixed> $data = [] ])` -- `public function getAction(): string` -- `public function getData(): array<string|int, mixed>` -- `public function getObjectClass(): string` -- `public function getObjectId(): string` -- `public function getObjectName(): string|null` -- `public function getUserId(): int` -- `public function setData(array<string|int, mixed> $data): void` -- `public function setObjectName(string $objectName): void` - -## Ibexa\Contracts\AdminUi\Autosave\AutosaveServiceInterface - -- `public function getInterval(): int` -- `public function isEnabled(): bool` -- `public function isInProgress(): bool` - -## Ibexa\Contracts\AdminUi\Component\Renderable extends Ibexa\Contracts\TwigComponents\ComponentInterface - -- `public function render([array<string|int, mixed> $parameters = [] ]): string` - -## Ibexa\Contracts\AdminUi\Component\Renderer\RendererInterface - -- `public function renderGroup(string $groupName[, array<string|int, mixed> $parameters = [] ]): array<string|int, mixed>` -- `public function renderSingle(string $name, mixed $groupName[, array<string|int, mixed> $parameters = [] ]): string` - -## Ibexa\Contracts\AdminUi\ContentType\ContentTypeFieldsByExpressionServiceInterface - -- `public function getFieldsFromExpression(string $expression[, string|null $configuration = null ]): array<int, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition>` -- `public function isFieldIncludedInExpression(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, string $expression): bool` - -## Ibexa\Contracts\AdminUi\Controller\Controller extends Symfony\Bundle\FrameworkBundle\Controller\AbstractController implements Ibexa\Contracts\User\Controller\RestrictedControllerInterface - -- `public function performAccessCheck(): void` -- `public function redirectToLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, string $uriFragment = '' ]): \Symfony\Component\HttpFoundation\RedirectResponse` - -## Ibexa\Contracts\AdminUi\Event\AutosaveEvents - -- `public const mixed CONTENT_AUTOSAVE = 'content.edit.autosave'` - -## Ibexa\Contracts\AdminUi\Event\ContentOnTheFlyEvents - -- `public const mixed CONTENT_CREATE = 'ibexa.content_on_the_fly.create'` -- `public const mixed CONTENT_CREATE_PUBLISH = 'ibexa.content_on_the_fly.create.publish'` -- `public const mixed CONTENT_EDIT = 'ibexa.content_on_the_fly.edit'` -- `public const mixed CONTENT_EDIT_PUBLISH = 'ibexa.content_on_the_fly.edit.publish'` - -## Ibexa\Contracts\AdminUi\Event\FieldDefinitionMappingEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function getBaseLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language|null` -- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` -- `public function getFieldDefinitionData(): \Ibexa\AdminUi\Form\Data\FieldDefinitionData` -- `public function getTargetLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language|null` -- `public function isPropagationStopped(): bool` -- `public function setFieldDefinitionData(\Ibexa\AdminUi\Form\Data\FieldDefinitionData $fieldDefinitionData): void` -- `public function stopPropagation(): void` -- `public const mixed NAME = 'field_definition.mapping'` - -## Ibexa\Contracts\AdminUi\Event\FocusModeChangedEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(bool $enabled)` -- `public function isEnabled(): bool` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\AdminUi\Event\FormActionEvent extends Symfony\Component\Form\FormEvent - -- `public function __construct(FormInterface<string|int, mixed> $form, mixed $data, string|null $clickedButton[, array<string, mixed> $options = [] ][, array<string|int, mixed> $payloads = [] ])` -- `public function getClickedButton(): string|null` -- `public function getOption(string $optionName[, mixed $defaultValue = null ]): mixed` -- `public function getOptions(): array<string, mixed>` -- `public function getPayload(string $name): mixed` -- `public function getPayloads(): array<string|int, mixed>` -- `public function getResponse(): \Symfony\Component\HttpFoundation\Response|null` -- `public function hasOption(string $optionName): bool` -- `public function hasPayload(string $name): bool` -- `public function hasResponse(): bool` -- `public function setPayload(string $name, mixed $payload): void` -- `public function setPayloads(array<string|int, mixed> $payloads): void` -- `public function setResponse(\Symfony\Component\HttpFoundation\Response $response): void` - -## Ibexa\Contracts\AdminUi\Event\FormEvents - -- `public const mixed CONTENT_TYPE_ADD_FIELD_DEFINITION = 'contentType.update.addFieldDefinition'` -- `public const mixed CONTENT_TYPE_PUBLISH = 'contentType.update.publishContentType'` -- `public const mixed CONTENT_TYPE_PUBLISH_AND_EDIT = 'contentType.update.publishAndEditContentType'` -- `public const mixed CONTENT_TYPE_REMOVE_DRAFT = 'contentType.update.removeDraft'` -- `public const mixed CONTENT_TYPE_REMOVE_FIELD_DEFINITION = 'contentType.update.removeFieldDefinition'` -- `public const mixed CONTENT_TYPE_UPDATE = 'contentType.update'` - -## Ibexa\Contracts\AdminUi\Event\ResolveVersionPreviewUrlEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Core\MVC\Symfony\SiteAccess $siteAccess)` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getPreviewUrl(): string|null` -- `public function getSiteAccess(): \Ibexa\Core\MVC\Symfony\SiteAccess` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function isPropagationStopped(): bool` -- `public function setPreviewUrl(string|null $previewUrl): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\AdminUi\Event\UserOnTheFlyEvents - -- `public const mixed USER_CREATE = 'ibexa.user_on_the_fly.create'` -- `public const mixed USER_CREATE_PUBLISH = 'ibexa.user_on_the_fly.create.create'` -- `public const mixed USER_EDIT = 'ibexa.user_on_the_fly.edit'` -- `public const mixed USER_EDIT_PUBLISH = 'ibexa.user_on_the_fly.edit.update'` - -## Ibexa\Contracts\AdminUi\FocusMode\RedirectStrategyInterface - -- `public function generateRedirectPath(string $originalPath): string` -- `public function supports(array<string, string> $routeData): bool` - -## Ibexa\Contracts\AdminUi\Form\ActionDispatcher\ActionDispatcherInterface - -- `public function dispatchFormAction(FormInterface<string|int, mixed> $form, \Ibexa\Contracts\Core\Repository\Values\ValueObject $data[, string|null $actionName = null ][, array<string, mixed> $options = [] ]): void` -- `public function getResponse(): \Symfony\Component\HttpFoundation\Response|null` - -## Ibexa\Contracts\AdminUi\Form\DataMapper\DataMapperInterface - -- `public function map(\Ibexa\Contracts\Core\Repository\Values\ValueObject $value): mixed` -- `public function reverseMap(mixed $data): mixed` - -## Ibexa\Contracts\AdminUi\Form\Data\FormMapper\FormDataMapperInterface - -- `public function mapToFormData(\Ibexa\Contracts\Core\Repository\Values\ValueObject $repositoryValueObject[, array<string, mixed> $params = [] ]): mixed` - -## Ibexa\Contracts\AdminUi\Menu\AbstractActionBuilder extends Ibexa\Contracts\AdminUi\Menu\AbstractBuilder - -- `public function build(array<string|int, mixed> $options): \Knp\Menu\ItemInterface` -- `protected function createActionItem(string $name[, array<string, mixed> $options = [] ]): \Knp\Menu\ItemInterface` -- `protected function createConfigureMenuEvent(\Knp\Menu\ItemInterface $menu[, array<string|int, mixed> $options = [] ]): \Ibexa\AdminUi\Menu\Event\ConfigureMenuEvent` -- `protected function createDraftEditLinkAction(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, string $name[, array<string, mixed> $parameters = [] ][, int|null $locationId = null ]): \Knp\Menu\ItemInterface` -- `protected function createEditDraftButtonAction(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, string $name[, array<string, mixed> $parameters = [] ][, int|null $locationId = null ]): \Knp\Menu\ItemInterface` -- `protected function createMenuItem(string $id[, array<string|int, mixed> $options = [] ]): \Knp\Menu\ItemInterface` -- `protected function abstract createStructure(array<string|int, mixed> $options): \Knp\Menu\ItemInterface` -- `protected function dispatchMenuEvent(string $name, \Symfony\Contracts\EventDispatcher\Event $event): void` -- `protected function abstract getConfigureEventName(): string` -- `protected const mixed IBEXA_BTN_CONTENT_DRAFT_EDIT_CLASS = 'ibexa-btn--content-draft-edit'` -- `protected const mixed TRANSLATION_DOMAIN = 'ibexa_action_menu'` - -## Ibexa\Contracts\AdminUi\Menu\AbstractBuilder - -- `public function build(array<string|int, mixed> $options): \Knp\Menu\ItemInterface` -- `protected function createConfigureMenuEvent(\Knp\Menu\ItemInterface $menu[, array<string|int, mixed> $options = [] ]): \Ibexa\AdminUi\Menu\Event\ConfigureMenuEvent` -- `protected function createMenuItem(string $id[, array<string|int, mixed> $options = [] ]): \Knp\Menu\ItemInterface` -- `protected function abstract createStructure(array<string|int, mixed> $options): \Knp\Menu\ItemInterface` -- `protected function dispatchMenuEvent(string $name, \Symfony\Contracts\EventDispatcher\Event $event): void` -- `protected function abstract getConfigureEventName(): string` - -## Ibexa\Contracts\AdminUi\Menu\AbstractFormContextMenuBuilder extends Ibexa\Contracts\AdminUi\Menu\AbstractBuilder - -- `public function build(array<string|int, mixed> $options): \Knp\Menu\ItemInterface` -- `public function static getTranslationMessages(): array<string|int, \JMS\TranslationBundle\Model\Message>` -- `protected function createConfigureMenuEvent(\Knp\Menu\ItemInterface $menu[, array<string|int, mixed> $options = [] ]): \Ibexa\AdminUi\Menu\Event\ConfigureMenuEvent` -- `protected function createMenuItem(string $id[, array<string|int, mixed> $options = [] ]): \Knp\Menu\ItemInterface` -- `protected function createStructure(array<string, mixed> $options): \Knp\Menu\ItemInterface` -- `protected function dispatchMenuEvent(string $name, \Symfony\Contracts\EventDispatcher\Event $event): void` -- `protected function getConfigureEventName(): string` -- `protected function static getSidebarActionMessage(): string` -- `protected function static abstract getSidebarType(): string` - -## Ibexa\Contracts\AdminUi\Menu\CopyFormContextMenuBuilder extends Ibexa\Contracts\AdminUi\Menu\AbstractFormContextMenuBuilder implements JMS\TranslationBundle\Translation\TranslationContainerInterface - -- `public function build(array<string|int, mixed> $options): \Knp\Menu\ItemInterface` -- `public function static getTranslationMessages(): array<string|int, \JMS\TranslationBundle\Model\Message>` -- `protected function createConfigureMenuEvent(\Knp\Menu\ItemInterface $menu[, array<string|int, mixed> $options = [] ]): \Ibexa\AdminUi\Menu\Event\ConfigureMenuEvent` -- `protected function createMenuItem(string $id[, array<string|int, mixed> $options = [] ]): \Knp\Menu\ItemInterface` -- `protected function createStructure(array<string, mixed> $options): \Knp\Menu\ItemInterface` -- `protected function dispatchMenuEvent(string $name, \Symfony\Contracts\EventDispatcher\Event $event): void` -- `protected function getConfigureEventName(): string` -- `protected function static getSidebarActionMessage(): string` -- `protected function static getSidebarType(): string` - -## Ibexa\Contracts\AdminUi\Menu\CreateFormContextMenuBuilder extends Ibexa\Contracts\AdminUi\Menu\AbstractFormContextMenuBuilder implements JMS\TranslationBundle\Translation\TranslationContainerInterface - -- `public function build(array<string|int, mixed> $options): \Knp\Menu\ItemInterface` -- `public function static getTranslationMessages(): array<string|int, \JMS\TranslationBundle\Model\Message>` -- `protected function createConfigureMenuEvent(\Knp\Menu\ItemInterface $menu[, array<string|int, mixed> $options = [] ]): \Ibexa\AdminUi\Menu\Event\ConfigureMenuEvent` -- `protected function createMenuItem(string $id[, array<string|int, mixed> $options = [] ]): \Knp\Menu\ItemInterface` -- `protected function createStructure(array<string, mixed> $options): \Knp\Menu\ItemInterface` -- `protected function dispatchMenuEvent(string $name, \Symfony\Contracts\EventDispatcher\Event $event): void` -- `protected function getConfigureEventName(): string` -- `protected function static getSidebarActionMessage(): string` -- `protected function static getSidebarType(): string` - -## Ibexa\Contracts\AdminUi\Menu\MenuItemFactoryInterface extends Knp\Menu\FactoryInterface - -- `public function createLocationMenuItem(string $name, int $locationId[, array<string|int, mixed> $options = [] ]): \Knp\Menu\ItemInterface|null` - -## Ibexa\Contracts\AdminUi\Menu\UpdateFormContextMenuBuilder extends Ibexa\Contracts\AdminUi\Menu\AbstractFormContextMenuBuilder implements JMS\TranslationBundle\Translation\TranslationContainerInterface - -- `public function build(array<string|int, mixed> $options): \Knp\Menu\ItemInterface` -- `public function static getTranslationMessages(): array<string|int, \JMS\TranslationBundle\Model\Message>` -- `protected function createConfigureMenuEvent(\Knp\Menu\ItemInterface $menu[, array<string|int, mixed> $options = [] ]): \Ibexa\AdminUi\Menu\Event\ConfigureMenuEvent` -- `protected function createMenuItem(string $id[, array<string|int, mixed> $options = [] ]): \Knp\Menu\ItemInterface` -- `protected function createStructure(array<string, mixed> $options): \Knp\Menu\ItemInterface` -- `protected function dispatchMenuEvent(string $name, \Symfony\Contracts\EventDispatcher\Event $event): void` -- `protected function getConfigureEventName(): string` -- `protected function static getSidebarActionMessage(): string` -- `protected function static getSidebarType(): string` - -## Ibexa\Contracts\AdminUi\Notification\NotificationHandlerInterface - -- `public function error(string $message): void` -- `public function info(string $message): void` -- `public function success(string $message): void` -- `public function warning(string $message): void` - -## Ibexa\Contracts\AdminUi\Notification\TranslatableNotificationHandlerInterface - -- `public function error(string $message[, array<string|int, mixed> $parameters = [] ][, string|null $domain = null ][, string|null $locale = null ]): void` -- `public function info(string $message[, array<string|int, mixed> $parameters = [] ][, string|null $domain = null ][, string|null $locale = null ]): void` -- `public function success(string $message[, array<string|int, mixed> $parameters = [] ][, string|null $domain = null ][, string|null $locale = null ]): void` -- `public function warning(string $message[, array<string|int, mixed> $parameters = [] ][, string|null $domain = null ][, string|null $locale = null ]): void` - -## Ibexa\Contracts\AdminUi\Permission\PermissionCheckerInterface - -- `public function canCreateInLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, array<string|int, mixed>|bool $hasAccess): bool` -- `public function getRestrictions(array<string|int, mixed> $hasAccess, string $class): array<string|int, mixed>` - -## Ibexa\Contracts\AdminUi\PreviewUrlResolver\VersionPreviewUrlResolverInterface - -- `public function resolveUrl(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language, \Ibexa\Core\MVC\Symfony\SiteAccess $siteAccess): string` - -## Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestGeneratorInterface - -- `public function generate(mixed $parameter, \Ibexa\Contracts\Rest\Output\Generator $generator, \Ibexa\Contracts\Rest\Output\Visitor $visitor): void` -- `public function supportsNamespace(string $namespace): bool` -- `public function supportsParameter(string $parameterName): bool` - -## Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestGeneratorRegistryInterface - -- `public function getGenerator(string $namespace, string $parameter): \Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestGeneratorInterface` -- `public function getGenerators(string $namespace): iterable<string|int, \Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestGeneratorInterface>` -- `public function hasGenerator(string $namespace, string $parameter): bool` -- `public function hasGenerators(string $namespace): bool` - -## Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestResolverInterface - -- `public function resolve(array<string, mixed> $config): mixed` -- `public function supportsNamespace(string $namespace): bool` -- `public function supportsParameter(string $parameterName): bool` - -## Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestResolverRegistryInterface - -- `public function getResolver(string $namespace, string $parameter): \Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestResolverInterface|null` -- `public function getResolvers(string $namespace): iterable<string|int, \Ibexa\Contracts\AdminUi\REST\ApplicationConfigRestResolverInterface>` -- `public function hasResolver(string $namespace, string $parameter): bool` -- `public function hasResolvers(string $namespace): bool` - -## Ibexa\Contracts\AdminUi\Resolver\IconPathResolverInterface - -- `public function resolve(string $icon[, string|null $set = null ]): string` - -## Ibexa\Contracts\AdminUi\Tab\AbstractControllerBasedTab extends Ibexa\Contracts\AdminUi\Tab\AbstractTab - -- `public function abstract getControllerReference(array<string, mixed> $parameters): \Symfony\Component\HttpKernel\Controller\ControllerReference` -- `public function renderView(array<string|int, mixed> $parameters): string` - -## Ibexa\Contracts\AdminUi\Tab\AbstractEventDispatchingTab extends Ibexa\Contracts\AdminUi\Tab\AbstractTab - -- `public function abstract getTemplate(): string` -- `public function abstract getTemplateParameters([array<string, mixed> $contextParameters = [] ]): array<string, mixed>` -- `public function renderView(array<string|int, mixed> $parameters): string` - -## Ibexa\Contracts\AdminUi\Tab\AbstractRouteBasedTab extends Ibexa\Contracts\AdminUi\Tab\AbstractTab - -- `public function abstract getRouteName(array<string, mixed> $parameters): string` -- `public function abstract getRouteParameters(array<string, mixed> $parameters): array<string, mixed>` -- `public function renderView(array<string|int, mixed> $parameters): string` - -## Ibexa\Contracts\AdminUi\Tab\ConditionalTabInterface - -- `public function evaluate(array<string, mixed> $parameters): bool` - -## Ibexa\Contracts\AdminUi\Tab\OrderedTabInterface - -- `public function getOrder(): int` - -## Ibexa\Contracts\AdminUi\Tab\TabInterface - -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function renderView(array<string, mixed> $parameters): string` - -## Ibexa\Contracts\AdminUi\UI\Action\EventDispatcherInterface - -- `public const mixed EVENT_NAME_PREFIX = 'ibexa.admin_ui.action'` - -## Ibexa\Contracts\AdminUi\UI\Action\FormUiActionMapperInterface - -- `public function map(FormInterface<string|int, mixed> $form): \Ibexa\AdminUi\UI\Action\UiActionEvent` -- `public function supports(FormInterface<string|int, mixed> $form): bool` - -## Ibexa\Contracts\AdminUi\UI\Action\UiActionEventInterface - -- `public function getName(): string` -- `public function getResponse(): \Symfony\Component\HttpFoundation\Response|null` -- `public function getType(): string` -- `public function setForm(\Symfony\Component\Form\FormInterface $form): void` -- `public function setName(string $name): void` -- `public function setResponse(Response|null $response): void` -- `public function setType(string $type): void` -- `public const mixed TYPE_FAILURE = 'failure'` -- `public const mixed TYPE_SUCCESS = 'success'` - -## Ibexa\Contracts\AdminUi\UI\Config\ProviderInterface - -- `public function getConfig(): mixed` - -## Ibexa\Contracts\AdminUi\UniversalDiscovery\Provider - -- `public function getColumns(int $locationId, int $limit, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause[, bool $gridView = false ][, int $rootLocationId = self::ROOT_LOCATION_ID ]): array<int, mixed>` -- `public function getLocationData(int $locationId, int $offset, int $limit, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): array<string, mixed>` -- `public function getLocationGridViewData(int $locationId, int $offset, int $limit, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): array<string, mixed>` -- `public function getLocationPermissionRestrictions(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): array<string, mixed>` -- `public function getLocations(array<int, string> $locationIds): array<string|int, Location, permissions: array{create: array{hasAccess: bool, restrictedContentTypeIds: int[], restrictedLanguageCodes: string[]}, edit: array{hasAccess: bool, restrictedContentTypeIds: int[], restrictedLanguageCodes: string[]}}}>` -- `public function getSortClause(string $sortClauseName, string $sortOrder): \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause` -- `public function getSubitemContents(int $locationId, int $offset, int $limit, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Content>` -- `public function getSubitemLocations(int $locationId, int $offset, int $limit, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` -- `public const mixed ROOT_LOCATION_ID = 1` -- `public const mixed SORT_CLAUSE_CONTENT_NAME = 'ContentName'` -- `public const mixed SORT_CLAUSE_DATE_PUBLISHED = 'DatePublished'` - -## Ibexa\Contracts\AutomatedTranslation\Client\ClientInterface - -- `public function getServiceAlias(): string` -- `public function getServiceFullName(): string` -- `public function setConfiguration(array{: array-key, : string} $configuration): void` -- `public function supportsLanguage(string $languageCode): bool` -- `public function translate(string $payload, string|null $from, string $to): string` - -## Ibexa\Contracts\AutomatedTranslation\Encoder\BlockAttribute\BlockAttributeEncoderInterface - -- `public function canDecode(string $type): bool` -- `public function canEncode(string $type): bool` -- `public function decode(string $value): string` -- `public function encode(mixed $value): string` - -## Ibexa\Contracts\AutomatedTranslation\Encoder\Field\FieldEncoderInterface - -- `public function canDecode(string $type): bool` -- `public function canEncode(\Ibexa\Contracts\Core\Repository\Values\Content\Field $field): bool` -- `public function decode(string $value, mixed $previousFieldValue): \Ibexa\Core\FieldType\Value` -- `public function encode(\Ibexa\Contracts\Core\Repository\Values\Content\Field $field): string` - -## Ibexa\Contracts\Calendar\CalendarServiceInterface - -- `public function getEvents(\Ibexa\Contracts\Calendar\EventQuery $query): \Ibexa\Contracts\Calendar\EventList` -- `public function getGroupedEvents(\Ibexa\Contracts\Calendar\EventQuery $query[, string $groupBy = self::GROUP_BY_DAY ]): \Ibexa\Contracts\Calendar\EventGroupList` -- `public function loadEvents(array<string|int, string> $eventsIds): \Ibexa\Contracts\Calendar\EventCollection` -- `public const mixed GROUP_BY_DAY = 'P1D'` -- `public const mixed GROUP_BY_WEEK = 'P7D'` - -## Ibexa\Contracts\Calendar\Cursor - -- `public function __toString(): string` -- `public function static fromEvent(\Ibexa\Contracts\Calendar\Event $event): self` -- `public function static fromString(string $string): self` -- `public function getDateTime(): \DateTimeInterface` -- `public function getEventId(): string` -- `public function getEventType(): string` - -## Ibexa\Contracts\Calendar\DateRange - -- `public function __construct(\DateTimeInterface $start, \DateTimeInterface $end)` -- `public function __toString(): string` -- `public function contains(\DateTimeInterface $dateTime): bool` -- `public function getEndDate(): \DateTimeInterface` -- `public function getStartDate(): \DateTimeInterface` -- `public function toDatePeriod([DateInterval|null $interval = null ]): \DatePeriod` - -## Ibexa\Contracts\Calendar\Event - -- `public function __construct(\Ibexa\Contracts\Calendar\EventType\EventTypeInterface $type, string $id, \DateTimeInterface $dateTime)` -- `public function __toString(): string` -- `public function compareTo(\Ibexa\Contracts\Calendar\Event $event): int` -- `public function getDateTime(): \DateTimeInterface` -- `public function getId(): string` -- `public function getName(): string` -- `public function getType(): \Ibexa\Contracts\Calendar\EventType\EventTypeInterface` -- `public function isAfter(\Ibexa\Contracts\Calendar\Event $event): bool` -- `public function isBefore(\Ibexa\Contracts\Calendar\Event $event): bool` -- `protected function executeAction(\Ibexa\Contracts\Calendar\EventAction\EventActionContext $context): void` - -## Ibexa\Contracts\Calendar\EventAction\EventActionCollection implements IteratorAggregate - -- `public function __construct([iterable<string|int, \Ibexa\Contracts\Calendar\EventAction\EventActionInterface> $actions = [] ])` -- `public function static createEmpty(): self` -- `public function get(string $identifier): \Ibexa\Contracts\Calendar\EventAction\EventActionInterface` -- `public function getIterator(): \Iterator` -- `public function isEmpty(): bool` -- `public function supports(string $identifier): bool` - -## Ibexa\Contracts\Calendar\EventAction\EventActionContext - -- `public function __construct(\Ibexa\Contracts\Calendar\EventCollection $events)` -- `public function getEvents(): \Ibexa\Contracts\Calendar\EventCollection` - -## Ibexa\Contracts\Calendar\EventAction\EventActionInterface - -- `public function execute(\Ibexa\Contracts\Calendar\EventAction\EventActionContext $context): void` -- `public function getActionIdentifier(): string` -- `public function getActionLabel(): string` -- `public function supports(\Ibexa\Contracts\Calendar\EventAction\EventActionContext $context): bool` - -## Ibexa\Contracts\Calendar\EventCollection implements IteratorAggregate, Countable - -- `public function __construct([array<string|int, \Ibexa\Contracts\Calendar\Event> $events = [] ])` -- `public function count(): int` -- `public function filter(\Closure $predicate): self` -- `public function find(\Closure $predicate): int|null` -- `public function first(): \Ibexa\Contracts\Calendar\Event|null` -- `public function static fromIterator(\Iterator $iterator): self` -- `public function getIterator(): \Traversable` -- `public function isEmpty(): bool` -- `public function last(): \Ibexa\Contracts\Calendar\Event|null` -- `public function map(\Closure $callback): iterable<string|int, \Ibexa\Contracts\Calendar\Event>` -- `public function static of(Event ...$events): self` -- `public function slice(int $offset[, int|null $length = null ]): self` - -## Ibexa\Contracts\Calendar\EventGroup extends Ibexa\Contracts\Calendar\EventList - -- `public function __construct(\Ibexa\Contracts\Calendar\EventQuery $query, \Ibexa\Contracts\Calendar\EventCollection $events[, int $totalCount = 0 ])` -- `public function static createEmpty(\Ibexa\Contracts\Calendar\EventQuery $query): self` -- `public function static fromEventList(\Ibexa\Contracts\Calendar\EventList $eventList): self` -- `public function getEvents(): \Ibexa\Contracts\Calendar\EventCollection` -- `public function getGroupKey(): \Ibexa\Contracts\Calendar\DateRange` -- `public function getIterator(): \Iterator` -- `public function getNextPageQuery(): \Ibexa\Contracts\Calendar\EventQuery|null` -- `public function getQuery(): \Ibexa\Contracts\Calendar\EventQuery` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Calendar\EventGroupList implements Countable, IteratorAggregate - -- `public function __construct(iterable<string|int, \Ibexa\Contracts\Calendar\EventGroup> $groups)` -- `public function count(): int` -- `public function static createEmpty(): self` -- `public function getGroups(): iterable<string|int, \Ibexa\Contracts\Calendar\EventGroup>` -- `public function getIterator(): \Iterator` - -## Ibexa\Contracts\Calendar\EventList implements IteratorAggregate - -- `public function __construct(\Ibexa\Contracts\Calendar\EventQuery $query, \Ibexa\Contracts\Calendar\EventCollection $events[, int $totalCount = 0 ])` -- `public function static createEmpty(\Ibexa\Contracts\Calendar\EventQuery $query): self` -- `public function getEvents(): \Ibexa\Contracts\Calendar\EventCollection` -- `public function getIterator(): \Iterator` -- `public function getNextPageQuery(): \Ibexa\Contracts\Calendar\EventQuery|null` -- `public function getQuery(): \Ibexa\Contracts\Calendar\EventQuery` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Calendar\EventQuery - -- `public function getCount(): int` -- `public function getCursor(): \Ibexa\Contracts\Calendar\Cursor|null` -- `public function getDateRange(): \Ibexa\Contracts\Calendar\DateRange` -- `public function getLanguages(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language>|null` -- `public function getTypes(): array<string|int, string>|null` -- `public function modify(): \Ibexa\Contracts\Calendar\EventQueryBuilder` -- `public const mixed DEFAULT_COUNT = 10` - -## Ibexa\Contracts\Calendar\EventQueryBuilder - -- `public function __construct()` -- `public function static fromQuery(\Ibexa\Contracts\Calendar\EventQuery $query): self` -- `public function getQuery(): \Ibexa\Contracts\Calendar\EventQuery` -- `public function withCount(int $count): self` -- `public function withCursor(Cursor|null $cursor): self` -- `public function withDateRange(\Ibexa\Contracts\Calendar\DateRange $dateRange): self` -- `public function withLanguages(array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language>|null $languages): self` -- `public function withTypes(array<string|int, string>|null $types): self` - -## Ibexa\Contracts\Calendar\EventSource\EventSourceInterface - -- `public function getCount(\Ibexa\Contracts\Calendar\EventQuery $query): int` -- `public function getEvents(\Ibexa\Contracts\Calendar\EventQuery $query): iterable<string|int, \Ibexa\Contracts\Calendar\Event>` -- `public function loadEvents(array<string|int, string> $eventIds): array<string|int, \Ibexa\Contracts\Calendar\Event>` - -## Ibexa\Contracts\Calendar\EventSource\InMemoryEventSource implements Ibexa\Contracts\Calendar\EventSource\EventSourceInterface - -- `public function __construct(\Ibexa\Contracts\Calendar\EventCollection $events)` -- `public function getCount(\Ibexa\Contracts\Calendar\EventQuery $query): int` -- `public function getEvents(\Ibexa\Contracts\Calendar\EventQuery $query): iterable<string|int, \Ibexa\Contracts\Calendar\Event>` -- `public function loadEvents(array<string|int, mixed> $eventIds): array<string|int, \Ibexa\Contracts\Calendar\Event>` - -## Ibexa\Contracts\Calendar\EventType\EventTypeInterface - -- `public function getActions(): \Ibexa\Contracts\Calendar\EventAction\EventActionCollection` -- `public function getEventName(\Ibexa\Contracts\Calendar\Event $event): string` -- `public function getTypeIdentifier(): string` -- `public function getTypeLabel(): string` - -## Ibexa\Contracts\Calendar\LanguageBasedEvent - -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` - -## Ibexa\Contracts\Cart\BatchOrderServiceInterface - -- `public function processBatchOrder(\Ibexa\Contracts\Cart\Value\CartInterface $cart, iterable<string|int, \Ibexa\Contracts\Cart\Value\BatchEntryAddStruct> $entries): array<string|int, \Ibexa\Cart\Value\BatchOrderError>` - -## Ibexa\Contracts\Cart\CartResolverInterface - -- `public function resolveCart([User|null $user = null ]): \Ibexa\Contracts\Cart\Value\CartInterface` - -## Ibexa\Contracts\Cart\CartServiceDecorator implements Ibexa\Contracts\Cart\CartServiceInterface - -- `public function addEntry(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryAddStruct $entryAddStruct): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function createCart(\Ibexa\Contracts\Cart\Value\CartCreateStruct $cartCreateStruct): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function deleteCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): void` -- `public function emptyCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): void` -- `public function findCarts([CartQuery|null $query = null ]): \Ibexa\Contracts\Cart\Value\CartListInterface` -- `public function getCart(string $identifier): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function mergeCarts(\Ibexa\Contracts\Cart\Value\CartInterface $targetCart, bool $deleteMergedCarts, CartInterface ...$cartsToMerge): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function removeEntry(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function updateCartMetadata(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct $cartUpdateStruct): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function updateEntry(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry, \Ibexa\Contracts\Cart\Value\EntryUpdateStruct $entryUpdateStruct): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function validateCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): \Symfony\Component\Validator\ConstraintViolationListInterface` - -## Ibexa\Contracts\Cart\CartServiceInterface - -- `public function addEntry(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryAddStruct $entryAddStruct): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function createCart(\Ibexa\Contracts\Cart\Value\CartCreateStruct $cartCreateStruct): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function deleteCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): void` -- `public function emptyCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): void` -- `public function findCarts([CartQuery|null $query = null ]): \Ibexa\Contracts\Cart\Value\CartListInterface` -- `public function getCart(string $identifier): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function mergeCarts(\Ibexa\Contracts\Cart\Value\CartInterface $targetCart, bool $deleteMergedCarts, CartInterface ...$cartsToMerge): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function removeEntry(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function updateCartMetadata(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct $cartUpdateStruct): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function updateEntry(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry, \Ibexa\Contracts\Cart\Value\EntryUpdateStruct $entryUpdateStruct): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function validateCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): \Symfony\Component\Validator\ConstraintViolationListInterface` - -## Ibexa\Contracts\Cart\Event\AddEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryAddStruct $entryAddStruct, \Ibexa\Contracts\Cart\Value\CartInterface $cartResult)` -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getEntryAddStruct(): \Ibexa\Contracts\Cart\Value\EntryAddStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\BeforeAddEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryAddStruct $entryAddStruct[, CartInterface|null $cartResult = null ])` -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getEntryAddStruct(): \Ibexa\Contracts\Cart\Value\EntryAddStruct` -- `public function hasCartResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setCartResult(CartInterface|null $cartResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\BeforeCreateCartEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartCreateStruct $cartCreateStruct[, CartInterface|null $cartResult = null ])` -- `public function getCartCreateStruct(): \Ibexa\Contracts\Cart\Value\CartCreateStruct` -- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function hasCartResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setCartResult(CartInterface|null $cartResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\BeforeDeleteCartEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart)` -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\BeforeEmptyCartEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart)` -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\BeforeMergeCartsEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $targetCart, bool $deleteMergedCarts, CartInterface ...$cartsToMerge)` -- `public function getCartsToMerge(): array<string|int, \Ibexa\Contracts\Cart\Value\CartInterface>` -- `public function getDeleteMergedCarts(): bool` -- `public function getTargetCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function isPropagationStopped(): bool` -- `public function setDeleteMergedCarts(bool $deleteMergedCarts): void` -- `public function setsCartToMerge(CartInterface ...$cartsToMerge): void` -- `public function setTargetCart(\Ibexa\Contracts\Cart\Value\CartInterface $targetCart): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\BeforeRemoveEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry[, CartInterface|null $cartResult = null ])` -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getEntry(): \Ibexa\Contracts\Cart\Value\EntryInterface` -- `public function hasCartResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setCartResult(CartInterface|null $cartResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\BeforeUpdateCartMetadataEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct $cartUpdateStruct[, CartInterface|null $cartResult = null ])` -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getCartUpdateStruct(): \Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct` -- `public function hasCartResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setCartResult(CartInterface|null $cartResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\BeforeUpdateEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry, \Ibexa\Contracts\Cart\Value\EntryUpdateStruct $entryUpdateStruct[, CartInterface|null $cartResult = null ])` -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getEntry(): \Ibexa\Contracts\Cart\Value\EntryInterface` -- `public function getEntryUpdateStruct(): \Ibexa\Contracts\Cart\Value\EntryUpdateStruct` -- `public function hasCartResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setCartResult(CartInterface|null $cartResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\CreateCartEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartCreateStruct $cartCreateStruct, \Ibexa\Contracts\Cart\Value\CartInterface $cartResult)` -- `public function getCartCreateStruct(): \Ibexa\Contracts\Cart\Value\CartCreateStruct` -- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\DeleteCartEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart)` -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\EmptyCartEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart)` -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\MergeCartsEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $resultCart)` -- `public function getResultCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function isPropagationStopped(): bool` -- `public function setResultCart(\Ibexa\Contracts\Cart\Value\CartInterface $resultCart): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\RemoveEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry, \Ibexa\Contracts\Cart\Value\CartInterface $cartResult)` -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getEntry(): \Ibexa\Contracts\Cart\Value\EntryInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\UpdateCartMetadataEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct $cartUpdateStruct, \Ibexa\Contracts\Cart\Value\CartInterface $cartResult)` -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getCartUpdateStruct(): \Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Event\UpdateEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart, \Ibexa\Contracts\Cart\Value\EntryInterface $entry, \Ibexa\Contracts\Cart\Value\EntryUpdateStruct $entryUpdateStruct, \Ibexa\Contracts\Cart\Value\CartInterface $cartResult)` -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getCartResult(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getEntry(): \Ibexa\Contracts\Cart\Value\EntryInterface` -- `public function getEntryUpdateStruct(): \Ibexa\Contracts\Cart\Value\EntryUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Cart\Exception\CartEntryNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException - -- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` - -## Ibexa\Contracts\Cart\Exception\CartNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException - -- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` - -## Ibexa\Contracts\Cart\Exception\InvalidImportedDataFormatException extends RuntimeException - -- `public function __construct(string $message[, Throwable|null $previous = null ])` - -## Ibexa\Contracts\Cart\FileProcessor\SpreadsheetProcessorInterface - -- `public function processBatchOrderSpreadsheet(\Symfony\Component\HttpFoundation\File\File $file): iterable<string|int, \Ibexa\Contracts\Cart\FileProcessor\TBatchOrderSpreadsheetRecord>` - -## Ibexa\Contracts\Cart\Permission\Policy\Cart\AbstractCartPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function getModule(): string` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Cart\Permission\Policy\Cart\Create extends Ibexa\Contracts\Cart\Permission\Policy\Cart\AbstractCartPolicy - -- `public function __construct([CartCreateStruct|null $cartCreateStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Cart\Value\CartCreateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Cart\Permission\Policy\Cart\Delete extends Ibexa\Contracts\Cart\Permission\Policy\Cart\AbstractCartPolicy - -- `public function __construct([CartInterface|null $cart = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Cart\Value\CartInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Cart\Permission\Policy\Cart\Edit extends Ibexa\Contracts\Cart\Permission\Policy\Cart\AbstractCartPolicy - -- `public function __construct([CartInterface|null $cart = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Cart\Value\CartInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Cart\Permission\Policy\Cart\View extends Ibexa\Contracts\Cart\Permission\Policy\Cart\AbstractCartPolicy - -- `public function __construct([CartInterface|null $cart = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Cart\Value\CartInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Cart\Value\BatchEntryAddStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $code[, int $quantity = 1 ])` -- `public function getCode(): string` -- `public function getQuantity(): int` -- `public function setCode(string $code): void` -- `public function setQuantity(int $quantity): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Cart\Value\CartAwarePriceContextInterface - -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface|null` - -## Ibexa\Contracts\Cart\Value\CartCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $name, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency[, User|null $owner = null ])` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getName(): string` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function setContext(MapInterface<string, mixed>|null $context): void` -- `public function setCurrency(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency): void` -- `public function setName(string $name): void` -- `public function setOwner(User|null $owner): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Cart\Value\CartEntryStructAwarePriceContextInterface - -- `public function getCartEntryStruct(): \Ibexa\Contracts\Cart\Value\EntryStructInterface|null` - -## Ibexa\Contracts\Cart\Value\CartInterface - -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getEntries(): \Ibexa\Contracts\Cart\Value\EntryCollectionInterface` -- `public function getId(): int|null` -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUpdatedAt(): \DateTimeInterface` - -## Ibexa\Contracts\Cart\Value\CartListInterface extends IteratorAggregate - -- `public function getCarts(): array<string|int, \Ibexa\Contracts\Cart\Value\CartInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Cart\Value\CartMetadataUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([string|null $name = null ][, CurrencyInterface|null $currency = null ][, User|null $owner = null ][, MapInterface<string, mixed>|null $context = null ])` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` -- `public function getName(): string|null` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function setContext(MapInterface<string, mixed>|null $context): void` -- `public function setCurrency(CurrencyInterface|null $currency): void` -- `public function setName(string|null $name): void` -- `public function setOwner(User|null $owner): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Cart\Value\CartQuery - -- `public function getLimit(): int` -- `public function getOffset(): int` -- `public function getOwnerId(): int|null` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function setLimit(int $limit): void` -- `public function setOffset(int $offset): void` -- `public function setOwnerId(int|null $ownerId): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\Cart\Value\EntryAddStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Cart\Value\EntryStructInterface - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, int $quantity = 1 ])` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getQuantity(): int` -- `public function setContext(MapInterface<string, mixed>|null $context): void` -- `public function setProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): void` -- `public function setQuantity(int $quantity): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Cart\Value\EntryCollectionInterface extends Ibexa\Contracts\Core\Collection\ListInterface - -- `public function contains(\Ibexa\Contracts\Core\Collection\TValue $value): bool` -- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function getEntryForProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): \Ibexa\Contracts\Cart\Value\EntryInterface` -- `public function getIterator(): \Iterator` -- `public function hasEntryForProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): bool` -- `public function isEmpty(): bool` -- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function toArray(): array<string|int, mixed>` - -## Ibexa\Contracts\Cart\Value\EntryInterface - -- `public function getAddedAt(): \DateTimeInterface` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getId(): int|null` -- `public function getIdentifier(): string` -- `public function getName(string $languageCode): string` -- `public function getNames(): array<string, string>` -- `public function getPrice(): \Ibexa\Contracts\Cart\Value\PriceInterface` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getQuantity(): int` -- `public function hasName(string $languageCode): bool` - -## Ibexa\Contracts\Cart\Value\EntryStructInterface - -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getQuantity(): int|null` - -## Ibexa\Contracts\Cart\Value\EntryUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Cart\Value\EntryStructInterface - -- `public function __construct([int|null $quantity = null ][, MapInterface<string, mixed>|null $context = null ])` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getQuantity(): int|null` -- `public function setContext(MapInterface<string, mixed>|null $context): void` -- `public function setQuantity(int|null $quantity): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Cart\Value\PriceInterface - -- `public function getAmount(): numeric-string` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getMoney(): \Money\Money` - -## Ibexa\Contracts\Cart\Value\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Cart\Value\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\Cart\Value\Query\Criterion\OwnerCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Cart\Value\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Checkout\Address\AddressFormatResolverInterface - -- `public function resolveFormat(string $type): string` - -## Ibexa\Contracts\Checkout\CheckoutServiceDecorator implements Ibexa\Contracts\Checkout\CheckoutServiceInterface - -- `public function createCheckout(\Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct $createStruct): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` -- `public function deleteCheckout(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout): void` -- `public function getCheckout(string $identifier): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` -- `public function getCheckoutForCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` -- `public function newCheckoutCreateStruct([CartInterface|null $cart = null ][, string|null $checkoutName = null ]): \Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct` -- `public function newCheckoutUpdateStruct([string|null $transition = null ][, mixed $data = null ]): \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct` -- `public function updateCheckout(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout, \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct $updateStruct): void` - -## Ibexa\Contracts\Checkout\CheckoutServiceInterface - -- `public function createCheckout(\Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct $createStruct): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` -- `public function deleteCheckout(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout): void` -- `public function getCheckout(string $identifier): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` -- `public function getCheckoutForCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` -- `public function newCheckoutCreateStruct([CartInterface|null $cart = null ][, string|null $checkoutName = null ]): \Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct` -- `public function newCheckoutUpdateStruct([string|null $transition = null ][, mixed $data = null ]): \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct` -- `public function updateCheckout(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout, \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct $updateStruct): void` - -## Ibexa\Contracts\Checkout\Discounts\DataMapper\DiscountsDataMapperInterface - -- `public function mapToDiscountData(\Ibexa\Contracts\Cart\Value\EntryInterface $cartEntry): \Ibexa\OrderManagement\Discounts\Value\DiscountsData|null` - -## Ibexa\Contracts\Checkout\Discounts\DiscountsValidationFailedException extends RuntimeException - -- `public function __construct(string $cartIdentifier)` -- `public function getCartIdentifier(): string` - -## Ibexa\Contracts\Checkout\Event\BeforeCreateCheckoutEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct $createStruct[, CheckoutInterface|null $checkoutResult = null ])` -- `public function getCheckoutResult(): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` -- `public function getCreateStruct(): \Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct` -- `public function hasCheckoutResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setCheckoutResult(CheckoutInterface|null $checkoutResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Checkout\Event\BeforeDeleteCheckoutEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout)` -- `public function getCheckout(): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Checkout\Event\BeforeUpdateCheckoutEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout, \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct $updateStruct)` -- `public function getCheckout(): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Checkout\Event\CreateCheckoutEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct $createStruct, \Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkoutResult)` -- `public function getCheckoutResult(): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` -- `public function getCreateStruct(): \Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Checkout\Event\DeleteCheckoutEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout)` -- `public function getCheckout(): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Checkout\Event\UpdateCheckoutEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout, \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct $updateStruct)` -- `public function getCheckout(): \Ibexa\Contracts\Checkout\Value\CheckoutInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Checkout\Exception\CheckoutException extends RuntimeException - -- `public function __construct(\Throwable $previous)` - -## Ibexa\Contracts\Checkout\Order\Factory\OrderFactoryInterface - -- `public function buildOrderCreateStruct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout, \Ibexa\Contracts\Core\Repository\Values\ValueObject $user): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct` - -## Ibexa\Contracts\Checkout\PaymentMethodServiceDecorator implements Ibexa\Contracts\Checkout\PaymentMethodServiceInterface - -- `public function findPaymentMethods(): \Ibexa\Contracts\Checkout\Value\PaymentMethod\PaymentMethodListInterface` -- `public function getPaymentMethod(string $identifier): \Ibexa\Contracts\Checkout\Value\PaymentMethod\PaymentMethodInterface` - -## Ibexa\Contracts\Checkout\PaymentMethodServiceInterface - -- `public function findPaymentMethods(): \Ibexa\Contracts\Checkout\Value\PaymentMethod\PaymentMethodListInterface` -- `public function getPaymentMethod(string $identifier): \Ibexa\Contracts\Checkout\Value\PaymentMethod\PaymentMethodInterface` - -## Ibexa\Contracts\Checkout\Payment\PaymentUrlGenerator - -- `public function generateUrl(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout, string $afterPaymentRouteName[, array<string, int|string> $routeParameters = [] ]): string` - -## Ibexa\Contracts\Checkout\Policy\Checkout\AbstractCheckoutPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function getModule(): string` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Checkout\Policy\Checkout\Create extends Ibexa\Contracts\Checkout\Policy\Checkout\AbstractCheckoutPolicy - -- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct $checkoutCreateStruct)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Checkout\Policy\Checkout\Delete extends Ibexa\Contracts\Checkout\Policy\Checkout\AbstractCheckoutPolicy - -- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Checkout\Policy\Checkout\Update extends Ibexa\Contracts\Checkout\Policy\Checkout\AbstractCheckoutPolicy - -- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct $checkoutUpdateStruct)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Checkout\Policy\Checkout\View extends Ibexa\Contracts\Checkout\Policy\Checkout\AbstractCheckoutPolicy - -- `public function __construct(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Checkout\Reorder\ReorderService - -- `public function addToCartFromOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order, \Ibexa\Contracts\Cart\Value\CartInterface $reorderCart): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function canBeReordered(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order): bool` -- `public function copyContext(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $sourceOrder, \Ibexa\Contracts\Checkout\Value\CheckoutInterface $targetCheckout): void` -- `public function createReorderCart(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order[, string|null $newCartName = null ]): \Ibexa\Contracts\Cart\Value\CartInterface` - -## Ibexa\Contracts\Checkout\Value\CheckoutCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\Cart\Value\CartInterface $cart[, string|null $checkoutName = null ])` -- `public function getCart(): \Ibexa\Contracts\Cart\Value\CartInterface` -- `public function getCheckoutName(): string|null` -- `public function setCart(\Ibexa\Contracts\Cart\Value\CartInterface $cart): void` -- `public function setCheckoutName(string|null $checkoutName): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Checkout\Value\CheckoutInterface - -- `public function getCartIdentifier(): string` -- `public function getCheckoutName(): string|null` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>` -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getIdentifier(): string` -- `public function getStatus(): string` -- `public function getUpdatedAt(): \DateTimeInterface` -- `public function setContext(MutableMapInterface<string, mixed> $context): void` - -## Ibexa\Contracts\Checkout\Value\CheckoutUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([string|null $transition = null ][, mixed $data = null ])` -- `public function getData(): mixed` -- `public function getTransition(): string|null` -- `public function setData(mixed $data): void` -- `public function setTransition([string|null $transition = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Checkout\Value\PaymentMethod\PaymentMethodInterface - -- `public function getIdentifier(): string` -- `public function getName(): string` - -## Ibexa\Contracts\Checkout\Value\PaymentMethod\PaymentMethodListInterface extends IteratorAggregate - -- `public function getPaymentMethods(): array<string|int, \Ibexa\Contracts\Checkout\Value\PaymentMethod\PaymentMethodInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Checkout\Value\Workflow\WorkflowInterface - -- `public function getIdentifier(): string` -- `public function getStep(): string|null` - -## Ibexa\Contracts\Checkout\Workflow\WorkflowResolverInterface - -- `public function resolveWorkflow(\Ibexa\Contracts\Checkout\Value\CheckoutInterface $checkout): \Symfony\Component\Workflow\WorkflowInterface` - -## Ibexa\Contracts\Checkout\Workflow\WorkflowStrategyInterface - -- `public function getWorkflow(\Ibexa\Contracts\Cart\Value\CartInterface $cart): \Ibexa\Contracts\Checkout\Value\Workflow\WorkflowInterface` -- `public function supports(\Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` - -## Ibexa\Contracts\Collaboration\Configuration\ParticipantConfigurationInterface - -- `public function getAllowedParticipantTypes(): array<string|int, string>` -- `public function isAllowedParticipantType(string $type): bool` -- `public function isAutoInviteEnabled(): bool` - -## Ibexa\Contracts\Collaboration\Configuration\SessionConfigurationInterface - -- `public function isPublicLinkEnabled(): bool` - -## Ibexa\Contracts\Collaboration\Configuration\ShareableUserConfigurationInterface - -- `public function getIdentifier(): string` - -## Ibexa\Contracts\Collaboration\InvitationServiceDecorator implements Ibexa\Contracts\Collaboration\InvitationServiceInterface - -- `public function createInvitation(\Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct $createStruct): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function deleteInvitation(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation): void` -- `public function findInvitations([InvitationQuery|null $query = null ]): \Ibexa\Contracts\Collaboration\Invitation\InvitationListInterface` -- `public function getInvitation(int $id): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function getInvitationByParticipant(\Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function updateInvitation(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation, \Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct $updateStruct): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` - -## Ibexa\Contracts\Collaboration\InvitationServiceInterface - -- `public function createInvitation(\Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct $createStruct): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function deleteInvitation(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation): void` -- `public function findInvitations([InvitationQuery|null $query = null ]): \Ibexa\Contracts\Collaboration\Invitation\InvitationListInterface` -- `public function getInvitation(int $id): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function getInvitationByParticipant(\Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function updateInvitation(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation, \Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct $updateStruct): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` - -## Ibexa\Contracts\Collaboration\Invitation\Event\BeforeCreateInvitationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct $createStruct[, InvitationInterface|null $invitationResult = null ])` -- `public function getCreateStruct(): \Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct` -- `public function getInvitationResult(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function hasInvitationResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setInvitationResult(InvitationInterface|null $invitationResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Invitation\Event\BeforeDeleteInvitationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation)` -- `public function getInvitation(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Invitation\Event\BeforeUpdateInvitationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation, \Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct $updateStruct[, InvitationInterface|null $invitationResult = null ])` -- `public function getInvitation(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function getInvitationResult(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct` -- `public function hasInvitationResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setInvitationResult(InvitationInterface|null $invitationResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Invitation\Event\CreateInvitationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct $createStruct, \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitationResult)` -- `public function getCreateStruct(): \Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct` -- `public function getInvitationResult(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Invitation\Event\DeleteInvitationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation)` -- `public function getInvitation(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Invitation\Event\UpdateInvitationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation, \Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct $updateStruct, \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitationResult)` -- `public function getInvitation(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function getInvitationResult(): \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Invitation\InvitationCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant)` -- `public function getContext(): array<string, mixed>` -- `public function getParticipant(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function getSender(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function setContext(array<string, mixed> $context): void` -- `public function setSender(\Ibexa\Contracts\Core\Repository\Values\User\UserReference $sender): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Collaboration\Invitation\InvitationInterface - -- `public function getContext(): array<string, mixed>` -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getId(): int` -- `public function getParticipant(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function getSender(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function getStatus(): string` -- `public function getUpdatedAt(): \DateTimeInterface` - -## Ibexa\Contracts\Collaboration\Invitation\InvitationListInterface extends IteratorAggregate - -- `public function getInvitations(): array<string|int, \Ibexa\Contracts\Collaboration\Invitation\InvitationInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Collaboration\Invitation\InvitationQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\Collaboration\Invitation\InvitationStatus - -- `public function static isValid(string $status): bool` -- `public const mixed STATUS_ACCEPTED = 'accepted'` -- `public const mixed STATUS_PENDING = 'pending'` -- `public const mixed STATUS_REJECTED = 'rejected'` - -## Ibexa\Contracts\Collaboration\Invitation\InvitationUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([string|null $status = null ][, array<string, mixed>|null $context = null ])` -- `public function getContext(): array<string, mixed>|null` -- `public function getStatus(): string|null` -- `public function setContext(array<string, mixed>|null $context): void` -- `public function setStatus(string|null $status): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Id extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\ParticipantScope extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\ParticipantType extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Sender extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Session extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\Status extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Invitation\Query\Criterion\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Invitation\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Invitation\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\Id extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Invitation\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\Status extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Invitation\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Collaboration\Invitation\Query\SortClause\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Invitation\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Collaboration\Notification\NotificationFactoryInterface - -- `public function createInvitationNotification(\Ibexa\Contracts\Collaboration\Invitation\InvitationInterface $invitation): \Ibexa\Contracts\Notifications\Value\NotificationInterface` - -## Ibexa\Contracts\Collaboration\Notification\Recipient\RecipientFactoryInterface - -- `public function createRecipient(\Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant): \Symfony\Component\Notifier\Recipient\RecipientInterface` - -## Ibexa\Contracts\Collaboration\Participant\AbstractParticipant implements Ibexa\Contracts\Collaboration\Participant\ParticipantInterface - -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getId(): int` -- `public function getScope(): string` -- `public function getToken(): string|null` -- `public function getUpdatedAt(): \DateTimeInterface` - -## Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct implements Ibexa\Contracts\Collaboration\Participant\ParticipantTypeAwareInterface - -- `public function getScope(): string` -- `public function getToken(): string|null` -- `public function setScope(string $scope): void` -- `public function setToken(string|null $token): void` - -## Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct implements Ibexa\Contracts\Collaboration\Participant\ParticipantTypeAwareInterface - -- `public function getScope(): string|null` -- `public function getToken(): string|null` -- `public function setScope(string|null $scope): void` -- `public function setToken(string|null $token): void` - -## Ibexa\Contracts\Collaboration\Participant\Event\AddParticipantEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct $createStruct, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participantResult)` -- `public function getCreateStruct(): \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct` -- `public function getParticipantResult(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Participant\Event\BeforeAddParticipantEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct $createStruct[, ParticipantInterface|null $participantResult = null ])` -- `public function getCreateStruct(): \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct` -- `public function getParticipantResult(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function hasParticipantResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setParticipantResult(ParticipantInterface|null $participantResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Participant\Event\BeforeRemoveParticipantEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant)` -- `public function getParticipant(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Participant\Event\BeforeUpdateParticipantEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct $updateStruct[, ParticipantInterface|null $participantResult = null ])` -- `public function getParticipant(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function getParticipantResult(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct` -- `public function hasParticipantResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setParticipantResult(ParticipantInterface|null $participantResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Participant\Event\RemoveParticipantEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant)` -- `public function getParticipant(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Participant\Event\UpdateParticipantEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct $updateStruct, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participantResult)` -- `public function getParticipant(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function getParticipantResult(): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Participant\ExternalParticipant extends Ibexa\Contracts\Collaboration\Participant\AbstractParticipant - -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getEmail(): string` -- `public function getId(): int` -- `public function getName(): string` -- `public function getScope(): string` -- `public function getToken(): string|null` -- `public function getUpdatedAt(): \DateTimeInterface` - -## Ibexa\Contracts\Collaboration\Participant\ExternalParticipantCreateStruct extends Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct - -- `public function getEmail(): string` -- `public function getScope(): string` -- `public function getToken(): string|null` -- `public function getType(): string` -- `public function setEmail(string $email): void` -- `public function setScope(string $scope): void` -- `public function setToken(string|null $token): void` - -## Ibexa\Contracts\Collaboration\Participant\ExternalParticipantUpdateStruct extends Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct - -- `public function getScope(): string|null` -- `public function getToken(): string|null` -- `public function getType(): string` -- `public function setScope(string|null $scope): void` -- `public function setToken(string|null $token): void` - -## Ibexa\Contracts\Collaboration\Participant\InternalParticipant extends Ibexa\Contracts\Collaboration\Participant\AbstractParticipant - -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getId(): int` -- `public function getName(): string` -- `public function getScope(): string` -- `public function getToken(): string|null` -- `public function getUpdatedAt(): \DateTimeInterface` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` - -## Ibexa\Contracts\Collaboration\Participant\InternalParticipantCreateStruct extends Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct - -- `public function getScope(): string` -- `public function getToken(): string|null` -- `public function getType(): string` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` -- `public function setScope(string $scope): void` -- `public function setToken(string|null $token): void` -- `public function setUser(\Ibexa\Contracts\Core\Repository\Values\User\UserReference $user): void` - -## Ibexa\Contracts\Collaboration\Participant\InternalParticipantUpdateStruct extends Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct - -- `public function getScope(): string|null` -- `public function getToken(): string|null` -- `public function getType(): string` -- `public function setScope(string|null $scope): void` -- `public function setToken(string|null $token): void` - -## Ibexa\Contracts\Collaboration\Participant\ParticipantCollectionInterface extends IteratorAggregate - -- `public function getByEmail(string $email): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function getById(int $id): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function getByToken(string $token): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` - -## Ibexa\Contracts\Collaboration\Participant\ParticipantDiscriminator - -- `public const mixed EXTERNAL = 'external'` -- `public const mixed INTERNAL = 'internal'` - -## Ibexa\Contracts\Collaboration\Participant\ParticipantInterface - -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getId(): int` -- `public function getName(): string` -- `public function getScope(): string` -- `public function getToken(): string|null` -- `public function getUpdatedAt(): \DateTimeInterface` - -## Ibexa\Contracts\Collaboration\Participant\ParticipantTypeAwareInterface - -- `public function getType(): string` - -## Ibexa\Contracts\Collaboration\REST\Input\Parser\AbstractSessionCreateParser extends Ibexa\Contracts\Collaboration\REST\Input\Parser\UserAwareParser - -- `public function __construct(\Ibexa\Contracts\Core\Repository\UserService $userService)` -- `public function parse(array<string|int, mixed> $data, \Ibexa\Contracts\Rest\Input\ParsingDispatcher $parsingDispatcher): \Ibexa\Contracts\Collaboration\REST\Values\SessionCreateStruct` -- `protected function abstract getSessionCreateStruct(array<string|int, mixed> $data): \Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct` -- `protected function getUser(array{_href: string} $data): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` - -## Ibexa\Contracts\Collaboration\REST\Input\Parser\AbstractSessionUpdateParser extends Ibexa\Contracts\Collaboration\REST\Input\Parser\UserAwareParser - -- `public function parse(array<string|int, mixed> $data, \Ibexa\Contracts\Rest\Input\ParsingDispatcher $parsingDispatcher): \Ibexa\Contracts\Collaboration\REST\Values\SessionUpdateStruct` -- `protected function abstract getSessionUpdateStruct(array<string|int, mixed> $data): \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct` -- `protected function getUser(array{_href: string} $data): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` -- `protected const mixed HAS_PUBLIC_LINK = 'hasPublicLink'` -- `protected const mixed IS_ACTIVE = 'isActive'` -- `protected const mixed OWNER_KEY = 'Owner'` -- `protected const mixed TOKEN_KEY = 'token'` - -## Ibexa\Contracts\Collaboration\REST\Input\Parser\UserAwareParser extends Ibexa\Rest\Input\BaseParser - -- `public function __construct(\Ibexa\Contracts\Core\Repository\UserService $userService)` -- `protected function getUser(array{_href: string} $data): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` - -## Ibexa\Contracts\Collaboration\REST\Values\ParticipantCreateStructList extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(array<string|int, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct> $participantCreateStructs)` -- `public function getParticipantCreateStructList(): array<string|int, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Collaboration\REST\Values\SessionCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct $sessionCreateStruct, \Ibexa\Contracts\Collaboration\REST\Values\ParticipantCreateStructList $participantCreateStructList, string|null $token, UserReference|null $owner)` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` -- `public function getParticipantCreateStructList(): \Ibexa\Contracts\Collaboration\REST\Values\ParticipantCreateStructList` -- `public function getSessionCreateStruct(): \Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct` -- `public function getToken(): string|null` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Collaboration\REST\Values\SessionUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct $sessionUpdateStruct, string|null $token, UserReference|null $owner, bool|null $isActive, bool|null $hasPublicLink)` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` -- `public function getSessionUpdateStruct(): \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct` -- `public function getToken(): string|null` -- `public function hasPublicLink(): bool|null` -- `public function isActive(): bool|null` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Collaboration\Security\ShareableLinkMatcherStrategyInterface - -- `public function matches(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Symfony\Component\HttpFoundation\Request $request): bool` - -## Ibexa\Contracts\Collaboration\SessionServiceDecorator implements Ibexa\Contracts\Collaboration\SessionServiceInterface - -- `public function addParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct $createStruct): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function createSession(\Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct $createStruct): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function deleteSession(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session): void` -- `public function findSessions([SessionQuery|null $query = null ]): \Ibexa\Contracts\Collaboration\Session\SessionListInterface` -- `public function getSession(int $id): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function getSessionByToken(string $token): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function isSessionOwner(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session[, UserReference|null $user = null ]): bool` -- `public function isSessionParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Core\Repository\Values\User\UserReference $userReference): bool` -- `public function removeParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant): void` -- `public function updateParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct $updateStruct): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function updateSession(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct $updateStruct): \Ibexa\Contracts\Collaboration\Session\SessionInterface` - -## Ibexa\Contracts\Collaboration\SessionServiceInterface - -- `public function addParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantCreateStruct $createStruct): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function createSession(\Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct $createStruct): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function deleteSession(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session): void` -- `public function findSessions([SessionQuery|null $query = null ]): \Ibexa\Contracts\Collaboration\Session\SessionListInterface` -- `public function getSession(int $id): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function getSessionByToken(string $token): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function isSessionOwner(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session[, UserReference|null $user = null ]): bool` -- `public function isSessionParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Core\Repository\Values\User\UserReference $userReference): bool` -- `public function removeParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant): void` -- `public function updateParticipant(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface $participant, \Ibexa\Contracts\Collaboration\Participant\AbstractParticipantUpdateStruct $updateStruct): \Ibexa\Contracts\Collaboration\Participant\ParticipantInterface` -- `public function updateSession(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct $updateStruct): \Ibexa\Contracts\Collaboration\Session\SessionInterface` - -## Ibexa\Contracts\Collaboration\Session\AbstractSession implements Ibexa\Contracts\Collaboration\Session\SessionInterface - -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getId(): int` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getParticipants(): \Ibexa\Contracts\Collaboration\Participant\ParticipantCollectionInterface` -- `public function getToken(): string` -- `public function getUpdatedAt(): \DateTimeInterface` -- `public function hasPublicLink(): bool` -- `public function isActive(): bool` - -## Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` -- `public function getToken(): string|null` -- `public function abstract getType(): string` -- `public function hasPublicLink(): bool|null` -- `public function isActive(): bool` -- `public function setHasPublicLink(bool $hasPublicLink): void` -- `public function setOwner(UserReference|null $owner): void` -- `public function setToken(string|null $token): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` -- `public function getToken(): string|null` -- `public function abstract getType(): string` -- `public function hasPublicLink(): bool|null` -- `public function isActive(): bool|null` -- `public function setHasPublicLink(bool|null $hasPublicLink): void` -- `public function setIsActive(bool|null $isActive): void` -- `public function setOwner(UserReference|null $owner): void` -- `public function setToken(string|null $token): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Collaboration\Session\Event\BeforeCreateSessionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct $createStruct[, SessionInterface|null $sessionResult = null ])` -- `public function getCreateStruct(): \Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct` -- `public function getSessionResult(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function hasSessionResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setSessionResult(SessionInterface|null $sessionResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Session\Event\BeforeDeleteSessionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session)` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Session\Event\BeforeUpdateSessionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct $updateStruct[, SessionInterface|null $sessionResult = null ])` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function getSessionResult(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct` -- `public function hasSessionResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setSessionResult(SessionInterface|null $sessionResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Session\Event\CreateSessionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct $createStruct, \Ibexa\Contracts\Collaboration\Session\SessionInterface $sessionResult)` -- `public function getCreateStruct(): \Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct` -- `public function getSessionResult(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Session\Event\DeleteSessionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session)` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Session\Event\JoinSessionEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session)` -- `public function getResponse(): \Symfony\Component\HttpFoundation\RedirectResponse|null` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function isPropagationStopped(): bool` -- `public function setResponse(\Symfony\Component\HttpFoundation\RedirectResponse $response): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Session\Event\LeaveSessionEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(SessionInterface|null $session)` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface|null` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Session\Event\SessionPublicPreviewEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session)` -- `public function getResponse(): \Symfony\Component\HttpFoundation\RedirectResponse|null` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function isPropagationStopped(): bool` -- `public function setResponse(\Symfony\Component\HttpFoundation\RedirectResponse $response): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Session\Event\UpdateSessionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct $updateStruct, \Ibexa\Contracts\Collaboration\Session\SessionInterface $sessionResult)` -- `public function getSession(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function getSessionResult(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Collaboration\Session\JoinSessionRedirectResolverInterface - -- `public function resolve(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session[, string|null $accessToken = null ]): \Symfony\Component\HttpFoundation\RedirectResponse` -- `public function supports(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session): bool` - -## Ibexa\Contracts\Collaboration\Session\LeaveSessionRedirectResolverInterface - -- `public function resolve(SessionInterface|null $session): \Symfony\Component\HttpFoundation\RedirectResponse` -- `public function supports(SessionInterface|null $session): bool` - -## Ibexa\Contracts\Collaboration\Session\Query\Criterion\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Session\Query\Criterion\Email extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Session\Query\Criterion\Id extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Session\Query\Criterion\IsActive extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Session\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\Collaboration\Session\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\Collaboration\Session\Query\Criterion\Owner extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Session\Query\Criterion\ParticipantToken extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Session\Query\Criterion\Token extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Session\Query\Criterion\Type extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Session\Query\Criterion\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Session\Query\Criterion\UserId extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Collaboration\Session\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Collaboration\Session\Query\SortClause\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Session\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Collaboration\Session\Query\SortClause\Id extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Session\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Collaboration\Session\Query\SortClause\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Collaboration\Session\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Collaboration\Session\SessionInterface - -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getId(): int` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getParticipants(): \Ibexa\Contracts\Collaboration\Participant\ParticipantCollectionInterface` -- `public function getToken(): string` -- `public function getUpdatedAt(): \DateTimeInterface` -- `public function hasPublicLink(): bool` -- `public function isActive(): bool` - -## Ibexa\Contracts\Collaboration\Session\SessionListInterface extends IteratorAggregate - -- `public function getFirst(): \Ibexa\Contracts\Collaboration\Session\SessionInterface` -- `public function getSessions(): array<string|int, \Ibexa\Contracts\Collaboration\Session\SessionInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Collaboration\Session\SessionQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\Collaboration\Session\SessionScopeInterface - -- `public function getDefaultScope(): string` -- `public function getScopes(): array<string|int, string>` -- `public function isValidScope(string $scope): bool` - -## Ibexa\Contracts\Connect\Ai\ActionHandlerDataStructureAwareInterface extends Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface - -- `public function getDataStructureSpec(): array<string|int, \Ibexa\Contracts\Connect\Ai\Spec>` -- `public function static getIdentifier(): string` -- `public function handle(\Ibexa\Contracts\ConnectorAi\ActionInterface $action[, array<string, mixed> $context = [] ]): \Ibexa\Contracts\ConnectorAi\ActionResponseInterface` -- `public function preparePayload(array<string, mixed> $options, DataType<string|int, string> $input): array<string, mixed>` -- `public function supports(\Ibexa\Contracts\ConnectorAi\ActionInterface $action): bool` - -## Ibexa\Contracts\Connect\ConnectClientInterface - -- `public function dataStructures(): \Ibexa\Contracts\Connect\Resource\DataStructureInterface` -- `public function hooks(): \Ibexa\Contracts\Connect\Resource\HookInterface` -- `public function scenarios(): \Ibexa\Contracts\Connect\Resource\ScenarioInterface` -- `public function templates(): \Ibexa\Contracts\Connect\Resource\TemplateInterface` - -## Ibexa\Contracts\Connect\Exception\UnserializablePayload extends Exception - -- `public function __construct(\JsonException $exception)` - -## Ibexa\Contracts\Connect\Exception\UnserializableResponse extends Exception - -- `public function __construct(\JsonException $exception)` - -## Ibexa\Contracts\Connect\PaginationInterface - -- `public function getLimit(): int|null` -- `public function getOffset(): int|null` -- `public function getSortBy(): string|null` -- `public function getSortDir(): string|null` - -## Ibexa\Contracts\Connect\Resource\CustomPropertyStructureInterface - -- `public function create(\Ibexa\Contracts\Connect\Resource\CustomPropertyStructure\CustomPropertyStructureCreateStruct $createStruct): \Ibexa\Contracts\Connect\Response\CustomPropertyStructure\CreateResponse` -- `public function list(\Ibexa\Contracts\Connect\Resource\CustomPropertyStructure\CustomPropertyStructureFilter $customPropertyStructureFilter): \Ibexa\Contracts\Connect\Response\CustomPropertyStructure\ListResponse` - -## Ibexa\Contracts\Connect\Resource\CustomPropertyStructure\CustomPropertyStructureCreateStruct - -- `public function __construct(string $associatedType, int $belongerId[, string $belongerType = 'organization' ])` -- `public function getAssociatedType(): string` -- `public function getBelongerId(): int` -- `public function getBelongerType(): string` - -## Ibexa\Contracts\Connect\Resource\CustomPropertyStructure\CustomPropertyStructureFilter - -- `public function __construct(int $organizationId)` -- `public function getOrganizationId(): int` - -## Ibexa\Contracts\Connect\Resource\CustomPropertyStructure\CustomPropertyStructureItemCreateStruct - -- `public function __construct(int $customPropertyStructureId, string $name, string $label, string $type[, string $description = '' ][, array<string|int, object>|null $options = null ][, bool|null $required = false ])` -- `public function getCustomPropertyStructureId(): int` -- `public function getDescription(): string` -- `public function getLabel(): string` -- `public function getName(): string` -- `public function getOptions(): array<string|int, object>|null` -- `public function getRequired(): bool|null` -- `public function getType(): string` - -## Ibexa\Contracts\Connect\Resource\DataStructureInterface - -- `public function create(\Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureCreateStruct $createStruct): \Ibexa\Contracts\Connect\Response\DataStructure\CreateResponse` -- `public function details(int $id): \Ibexa\Contracts\Connect\Response\DataStructure\RetrieveResponse` -- `public function list(\Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureFilter $dataStructureFilter[, Pagination|null $pagination = null ]): \Ibexa\Contracts\Connect\Response\DataStructure\ListResponse` - -## Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureBuilder - -- `public function __construct([array<string|int, \Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureProperty> $dataStructureProperties = [] ])` -- `public function addDataStructureProperty(\Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureProperty $dataStructureProperty): void` -- `public function getDataStructure(): array<string|int, array{type: string, name: string, label?: string, default?: mixed, required?: bool}>` - -## Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureCreateStruct - -- `public function __construct(string $name, int $teamId, array<string|int, \Ibexa\Contracts\Connect\Resource\DataStructure\Spec> $spec[, bool $strict = true ])` -- `public function getName(): string` -- `public function getSpec(): array<string|int, \Ibexa\Contracts\Connect\Resource\DataStructure\Spec>` -- `public function getStrict(): bool` -- `public function getTeamId(): int` - -## Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureFilter - -- `public function __construct(int $teamId)` -- `public function getTeamId(): int` - -## Ibexa\Contracts\Connect\Resource\DataStructure\DataStructureProperty - -- `public function setLabel(string|null $label): self` -- `public function setName(string $name): self` -- `public function setRequired(bool $required): self` -- `public function setType(\Ibexa\Contracts\Connect\Resource\DataStructure\DataStructurePropertyType $type): self` -- `public function toArray(): array{type: string, name: string, label?: string, default?: mixed, required?: bool}` -- `public const mixed BOOLEAN_TYPE = 'boolean'` -- `public const mixed NUMBER_TYPE = 'number'` -- `public const mixed TEXT_TYPE = 'text'` - -## Ibexa\Contracts\Connect\Resource\DataStructure\DataStructurePropertyType - -- `public function static BOOLEAN(): self` -- `public function getValue(): string` -- `public function static NUMBER(): self` -- `public function static TEXT(): self` - -## Ibexa\Contracts\Connect\Resource\HookInterface - -- `public function create(\Ibexa\Contracts\Connect\Resource\Hook\HookCreateStruct $hookCreateStruct): \Ibexa\Contracts\Connect\Response\Hook\CreateResponse` -- `public function details(int $id): \Ibexa\Contracts\Connect\Response\Hook\RetrieveResponse` -- `public function list(\Ibexa\Contracts\Connect\Resource\Hook\HookFilter $hookFilter[, Pagination|null $pagination = null ]): \Ibexa\Contracts\Connect\Response\Hook\ListResponse` -- `public function setDetails(int $id, \Ibexa\Contracts\Connect\Resource\Hook\HookSetDetailsStruct $hookSetDetailsStruct): \Ibexa\Contracts\Connect\Response\Hook\SetDetailsResponse` - -## Ibexa\Contracts\Connect\Resource\Hook\HookCreateStruct - -- `public function __construct(string $name, int $teamId[, string $typeName = 'gateway-webhook' ][, int|null $udt = null ][, bool $method = false ][, bool $headers = false ][, bool $stringify = false ][, int|null $connectionId = null ][, int|null $formId = null ])` -- `public function getConnectionId(): int|null` -- `public function getFormId(): int|null` -- `public function getName(): string` -- `public function getTeamId(): int` -- `public function getTypeName(): string` -- `public function getUdt(): int|null` -- `public function isHeaders(): bool` -- `public function isMethod(): bool` -- `public function isStringify(): bool` - -## Ibexa\Contracts\Connect\Resource\Hook\HookFilter - -- `public function __construct(int $teamId[, string $typeName = 'gateway-webhook' ][, bool|null $assigned = null ][, int|null $viewForScenarioId = null ])` -- `public function getTeamId(): int` -- `public function getTypeName(): string` -- `public function getViewForScenarioId(): int|null` -- `public function isAssigned(): bool|null` - -## Ibexa\Contracts\Connect\Resource\Hook\HookSetDetailsStruct - -- `public function __construct(bool $method, bool $headers, bool $stringify[, int|null $udt = null ])` -- `public function getUdt(): int|null` -- `public function isHeaders(): bool|null` -- `public function isMethod(): bool|null` -- `public function isStringify(): bool|null` - -## Ibexa\Contracts\Connect\Resource\ScenarioInterface - -- `public function create(\Ibexa\Contracts\Connect\Resource\Scenario\ScenarioCreateStruct $scenarioCreateStruct): \Ibexa\Contracts\Connect\Response\Scenario\CreateResponse` -- `public function customPropertiesData(int $id): \Ibexa\Contracts\Connect\Response\Scenario\RetrieveCustomPropertiesDataResponse` -- `public function details(int $id): \Ibexa\Contracts\Connect\Response\Scenario\RetrieveResponse` -- `public function fillInCustomPropertiesData(int $id, array<string, string> $customPropertiesData): \Ibexa\Contracts\Connect\Response\Scenario\RetrieveCustomPropertiesDataResponse` -- `public function list(\Ibexa\Contracts\Connect\Resource\Scenario\ScenarioFilter $scenarioFilter[, Pagination|null $pagination = null ]): \Ibexa\Contracts\Connect\Response\Scenario\ListResponse` - -## Ibexa\Contracts\Connect\Resource\Scenario\CustomPropertiesDataFillInStruct - -- `public function __construct(int $teamId, string $blueprint, string $scheduling[, int|null $folderId = null ][, int|null $basedon = null ])` -- `public function getBasedon(): int|null` -- `public function getBlueprint(): string` -- `public function getFolderId(): int|null` -- `public function getScheduling(): string` -- `public function getTeamId(): int` - -## Ibexa\Contracts\Connect\Resource\Scenario\ScenarioCreateStruct - -- `public function __construct(int $teamId, string $blueprint, string $scheduling[, int|null $folderId = null ][, int|null $basedon = null ])` -- `public function getBasedon(): int|null` -- `public function getBlueprint(): string` -- `public function getFolderId(): int|null` -- `public function getScheduling(): string` -- `public function getTeamId(): int` - -## Ibexa\Contracts\Connect\Resource\Scenario\ScenarioFilter - -- `public function __construct(int $teamId[, int|null $organizationId = null ][, int|null $folderId = null ][, array<string, string>|null $customProperties = null ])` -- `public function getCustomProperties(): array<string, string>|null` -- `public function getFolderId(): int|null` -- `public function getOrganizationId(): int|null` -- `public function getTeamId(): int` - -## Ibexa\Contracts\Connect\Resource\TeamInterface - -- `public function createTeamVariable(\Ibexa\Contracts\Connect\Resource\Team\TeamVariableCreateStruct $teamVariableCreateStruct): \Ibexa\Contracts\Connect\Response\Team\TeamVariableCreateResponse` -- `public function listTeamVariable(\Ibexa\Contracts\Connect\Resource\Team\TeamVariableFilter $teamVariableFilter): \Ibexa\Contracts\Connect\Response\Team\TeamVariableListResponse` -- `public function updateTeamVariable(\Ibexa\Contracts\Connect\Resource\Team\TeamVariableUpdateStruct $teamVariableUpdateStruct): \Ibexa\Contracts\Connect\Response\Team\TeamVariableUpdateResponse` - -## Ibexa\Contracts\Connect\Resource\Team\TeamVariableCreateStruct - -- `public function __construct(int $teamId, string $name, int $typeId, mixed $value)` -- `public function getName(): string` -- `public function getTeamId(): int` -- `public function getTypeId(): int` -- `public function getValue(): mixed` - -## Ibexa\Contracts\Connect\Resource\Team\TeamVariableFilter - -- `public function __construct(int $teamId)` -- `public function getTeamId(): int` - -## Ibexa\Contracts\Connect\Resource\Team\TeamVariableUpdateStruct - -- `public function __construct(int $teamId, string $name, mixed $value[, int|null $typeId = null ])` -- `public function getName(): string` -- `public function getTeamId(): int` -- `public function getTypeId(): int|null` -- `public function getValue(): mixed` - -## Ibexa\Contracts\Connect\Resource\TemplateInterface - -- `public function blueprint(int $id, bool $forUse): \Ibexa\Contracts\Connect\Response\Template\BlueprintResponse` -- `public function create(\Ibexa\Contracts\Connect\Resource\Template\TemplateCreateStruct $templateCreateStruct): \Ibexa\Contracts\Connect\Response\Template\CreateResponse` -- `public function details(int $id): \Ibexa\Contracts\Connect\Response\Template\RetrieveResponse` -- `public function list(\Ibexa\Contracts\Connect\Resource\Template\TemplateFilter $templateFilter[, Pagination|null $pagination = null ]): \Ibexa\Contracts\Connect\Response\Template\ListResponse` - -## Ibexa\Contracts\Connect\Resource\Template\TemplateCreateStruct - -- `public function __construct(int $teamId, string $language, string $blueprint, string $scheduling, string $controller)` -- `public function getBlueprint(): string` -- `public function getController(): string` -- `public function getLanguage(): string` -- `public function getScheduling(): string` -- `public function getTeamId(): int` - -## Ibexa\Contracts\Connect\Resource\Template\TemplateFilter - -- `public function __construct(int $teamId)` -- `public function getTeamId(): int` - -## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\CreateItemResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function __construct(int $id, int $structureId, string $name, string $label, string $type, bool $required, string|null $description, array<string|int, object{value: string}>|null $options)` -- `public function static from(CustomPropertyStructureCreateItemResponse} $data): self` -- `public function getDescription(): string|null` -- `public function getId(): int` -- `public function getLabel(): string` -- `public function getName(): string` -- `public function getOptions(): array<string|int, object{value: string}>|null` -- `public function getStructureId(): int` -- `public function getType(): string` -- `public function isRequired(): bool` - -## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\CreateResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(CustomPropertyStructureResponse} $data): self` -- `public function getBelongers(): array<string|int, object>` -- `public function getCreated(): string` -- `public function getId(): int` - -## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\DeleteItemResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function __construct(int $customPropertyStructureItemId)` -- `public function static from(object{customPropertyStructureItem: int} $data): self` -- `public function getCustomPropertyStructureItemId(): int` - -## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\ListItemResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(Pagination} $data): self` -- `public function getCustomPropertyStructureItems(): array<string|int, \Ibexa\Contracts\Connect\Response\CustomPropertyStructure\RetrieveItemResponse>` -- `public function getPagination(): object` - -## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\ListResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(CustomPropertyStructureResponse}} $data): self` -- `public function getCustomPropertyStructures(): array<string|int, \Ibexa\Contracts\Connect\Response\CustomPropertyStructure\RetrieveResponse>` - -## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\RetrieveItemResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(\Ibexa\Contracts\Connect\Response\CustomPropertyStructure\CustomPropertyStructureItemResponse $customPropertyStructureItem): self` -- `public function getDescription(): string` -- `public function getId(): int` -- `public function getLabel(): string` -- `public function getName(): string` -- `public function getOptions(): array<string|int, object{value: string}>|null` -- `public function getType(): string` -- `public function isRequired(): bool` - -## Ibexa\Contracts\Connect\Response\CustomPropertyStructure\RetrieveResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(object{id: int, created: string, belongers: object[]} $customPropertyStructure): self` -- `public function getBelongers(): array<string|int, object>` -- `public function getCreated(): string` -- `public function getId(): int` - -## Ibexa\Contracts\Connect\Response\DataStructure\CreateResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(DataStructureResponse} $data): self` -- `public function getId(): int` -- `public function getName(): string` -- `public function getTeamId(): int` - -## Ibexa\Contracts\Connect\Response\DataStructure\ListResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(Pagination} $data): self` -- `public function getDataStructures(): array<string|int, \Ibexa\Contracts\Connect\Response\DataStructure\RetrieveResponse>` -- `public function getPagination(): \Ibexa\Contracts\Connect\Response\DataStructure\Pagination` - -## Ibexa\Contracts\Connect\Response\DataStructure\RetrieveResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(object{id: int, name: string, teamId: int} $dataStructure): self` -- `public function getId(): int` -- `public function getName(): string` -- `public function getTeamId(): int` - -## Ibexa\Contracts\Connect\Response\Hook\CreateResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(HookResponse} $data): self` -- `public function getId(): int` -- `public function getName(): string` -- `public function getUrl(): string` - -## Ibexa\Contracts\Connect\Response\Hook\ListResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(Pagination} $data): self` -- `public function getHooks(): array<string|int, \Ibexa\Contracts\Connect\Response\Hook\RetrieveResponse>` -- `public function getPagination(): \Ibexa\Contracts\Connect\Response\Hook\Pagination` - -## Ibexa\Contracts\Connect\Response\Hook\RetrieveResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(\Ibexa\Contracts\Connect\Response\Hook\HookResponse $hook): self` -- `public function getData(): object` -- `public function getId(): int` -- `public function getName(): string` -- `public function getScenarioId(): int|null` -- `public function getTeamId(): int` -- `public function getType(): string` -- `public function getUdid(): string` -- `public function getUrl(): string` - -## Ibexa\Contracts\Connect\Response\Hook\SetDetailsResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(\Ibexa\Contracts\Connect\Response\Hook\SetDetailsHookResponse $data): self` -- `public function isChanged(): bool` - -## Ibexa\Contracts\Connect\Response\Scenario\CreateResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(ScenarioResponse} $data): self` -- `public function getDescription(): string|null` -- `public function getId(): int` -- `public function getName(): string` - -## Ibexa\Contracts\Connect\Response\Scenario\ListResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(Pagination} $data): self` -- `public function getPagination(): \Ibexa\Contracts\Connect\Response\Scenario\Pagination` -- `public function getScenarios(): array<string|int, \Ibexa\Contracts\Connect\Response\Scenario\RetrieveResponse>` - -## Ibexa\Contracts\Connect\Response\Scenario\RetrieveCustomPropertiesDataResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(\Ibexa\Contracts\Connect\Response\Scenario\CustomPropertiesDataResponse $data): self` -- `public function getCustomProperties(): array<string, string>` -- `public function getScenarioId(): int` - -## Ibexa\Contracts\Connect\Response\Scenario\RetrieveResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(\Ibexa\Contracts\Connect\Response\Scenario\ScenarioResponse $data): self` -- `public function getDescription(): string|null` -- `public function getHookId(): int|null` -- `public function getId(): int` -- `public function getName(): string` - -## Ibexa\Contracts\Connect\Response\Team\TeamVariableCreateResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(object{teamVariable: object{isSystem: bool, name: string, typeId: int, value: mixed}} $data): self` - -## Ibexa\Contracts\Connect\Response\Team\TeamVariableListResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(object{teamVariables: array{: object{isSystem: bool, name: string, typeId: int, value: mixed}}} $data): self` -- `public function getTeamVariables(): array<string|int, \Ibexa\Contracts\Connect\Response\Team\TeamVariableRetrieveResponse>` - -## Ibexa\Contracts\Connect\Response\Team\TeamVariableRetrieveResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(object{isSystem: bool, name: string, typeId: int, value: mixed} $data): self` -- `public function getName(): string` -- `public function getTypeId(): int` -- `public function getValue(): mixed` -- `public function isSystem(): bool` - -## Ibexa\Contracts\Connect\Response\Team\TeamVariableUpdateResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(object{teamVariable: object{isSystem: bool, name: string, typeId: int, value: mixed}} $data): self` - -## Ibexa\Contracts\Connect\Response\Template\BlueprintResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(\Ibexa\Contracts\Connect\Response\Template\TemplateBlueprintResponse $data): self` -- `public function getBlueprint(): object` -- `public function getController(): object` -- `public function getLanguage(): string` -- `public function getScheduling(): object` - -## Ibexa\Contracts\Connect\Response\Template\CreateResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(TemplateResponse} $data): self` - -## Ibexa\Contracts\Connect\Response\Template\ListResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(Pagination} $data): self` -- `public function getPagination(): object` -- `public function getTemplates(): array<string|int, \Ibexa\Contracts\Connect\Response\Template\RetrieveResponse>` - -## Ibexa\Contracts\Connect\Response\Template\RetrieveResponse implements Ibexa\Contracts\Connect\ResponseInterface - -- `public function static from(\Ibexa\Contracts\Connect\Response\Template\TemplateResponse $data): self` -- `public function getDescription(): string|null` -- `public function getId(): int` -- `public function getName(): string` -- `public function getPublicUrl(): string|null` -- `public function getPublishedId(): int|null` - -## Ibexa\Contracts\Connect\TransportInterface - -- `public function sendRequest(\Ibexa\Contracts\Connect\PayloadInterface $payload): \Ibexa\Contracts\Connect\ResponseInterface` - -## Ibexa\Contracts\Connect\Value\Blueprint - -- `public function __construct(string $name, array<string|int, object> $flow, \Ibexa\Contracts\Connect\Value\Blueprint\Metadata $metadata)` -- `public function getFlow(): array<string|int, object>` -- `public function getMetadata(): \Ibexa\Contracts\Connect\Value\Blueprint\Metadata` -- `public function getName(): string` - -## Ibexa\Contracts\Connect\Value\Blueprint\Flow - -- `public function __construct(array<string|int, string> $modules)` -- `public function getModules(): array<string|int, string>` - -## Ibexa\Contracts\Connect\Value\Blueprint\Metadata - -- `public function __construct(\Ibexa\Contracts\Connect\Value\Blueprint\Metadata\Scenario $scenario[, int $version = 1 ])` -- `public function static fromArray(array{scenario: array{autoCommit: bool, maxErrors: int, roundtrips: int}, version: int} $data): self` -- `public function getScenario(): \Ibexa\Contracts\Connect\Value\Blueprint\Metadata\Scenario` -- `public function getVersion(): int` - -## Ibexa\Contracts\Connect\Value\Blueprint\Metadata\Scenario - -- `public function __construct([bool $autoCommit = true ][, int $maxErrors = 3 ][, int $roundtrips = 1 ])` -- `public function static fromArray(array{autoCommit: bool, maxErrors: int, roundtrips: int} $data): self` -- `public function getMaxErrors(): int` -- `public function getRoundtrips(): int` -- `public function isAutoCommit(): bool` - -## Ibexa\Contracts\Connect\Value\Blueprint\Module\CustomWebhook - -- `public function get([int $id = 1 ][, int $version = 1 ][, int|null $hookId = null ][, ModuleDesigner|null $designer = null ]): object` - -## Ibexa\Contracts\Connect\Value\Blueprint\Module\JsonCreate - -- `public function get([int $id = 1 ][, int $version = 1 ][, int $dataStructureId = 787 ][, ModuleDesigner|null $designer = null ]): object` - -## Ibexa\Contracts\Connect\Value\Blueprint\Module\ModuleDesigner - -- `public function __construct([int $x = 0 ][, int $y = 0 ])` -- `public function getX(): int` -- `public function getY(): int` - -## Ibexa\Contracts\Connect\Value\Blueprint\Module\WebhookRespond - -- `public function get([int $id = 1 ][, int $version = 1 ][, string $status = '200' ][, ModuleDesigner|null $designer = null ][, array<string|int, array{key: string, value: string}> $headers = [] ]): object` - -## Ibexa\Contracts\Connect\Value\Controller - -- `public function __construct([string $name = '' ][, string $description = '' ])` -- `public function getDescription(): string|null` -- `public function getName(): string` - -## Ibexa\Contracts\Connect\Value\Scheduling - -- `public function __construct([string $type = 'immediately' ])` -- `public function getType(): string` - -## Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface - -- `public function createAction(DataType<string|int, mixed> $input, array<string, mixed> $context): \Ibexa\Contracts\ConnectorAi\ActionInterface` -- `public function getActionHandlerIdentifier(): string|null` -- `public function getActionHandlerOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` -- `public function getActionType(): \Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface` -- `public function getActionTypeOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` -- `public function getAllOptions(): array<string|int, mixed>` -- `public function getCreatedAt(): \DateTimeImmutable` -- `public function getDescription([string|null $languageCode = null ]): string|null` -- `public function getDescriptions(): array<string, string>` -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getLanguages(): array<string|int, string>` -- `public function getMainLanguageCode(): string` -- `public function getName([string|null $languageCode = null ]): string` -- `public function getNames(): array<string, string>` -- `public function getUpdatedAt(): \DateTimeImmutable` -- `public function isEnabled(): bool` - -## Ibexa\Contracts\ConnectorAi\ActionConfigurationServiceDecorator implements Ibexa\Contracts\ConnectorAi\ActionConfigurationServiceInterface - -- `public function copyActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCopyStruct $copyStruct): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function createActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct $createStruct): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function deleteActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration): void` -- `public function findActionConfigurations([ActionConfigurationQuery|null $query = null ][, array<string|int, mixed>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationListInterface` -- `public function getActionConfiguration(string $identifier[, array<string|int, mixed>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function updateActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct $updateStruct): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` - -## Ibexa\Contracts\ConnectorAi\ActionConfigurationServiceInterface - -- `public function copyActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCopyStruct $copyStruct): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function createActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct $createStruct): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function deleteActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration): void` -- `public function findActionConfigurations([ActionConfigurationQuery|null $query = null ][, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationListInterface` -- `public function getActionConfiguration(string $identifier[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function updateActionConfiguration(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct $updateStruct): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCopyStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(int $sourceId, string $identifier)` -- `public function getIdentifier(): string` -- `public function getSourceId(): int` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $identifier)` -- `public function getActionHandler(): string|null` -- `public function getActionHandlerOptions(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>` -- `public function getActionType(): \Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface` -- `public function getActionTypeOptions(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>` -- `public function getDescriptions(): array<string, string>` -- `public function getIdentifier(): string` -- `public function getNames(): array<string, string>` -- `public function isEnabled(): bool` -- `public function setActionHandler(string|null $actionHandler): void` -- `public function setActionHandlerOptions(MapInterface<string, mixed> $actionHandlerOptions): void` -- `public function setActionTypeOptions(MapInterface<string, mixed> $actionTypeOptions): void` -- `public function setDescription(string $languageCode, string $description): void` -- `public function setEnabled(bool $enabled): void` -- `public function setIdentifier(string $identifier): void` -- `public function setName(string $languageCode, string $name): void` -- `public function setType(\Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface $actionType): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationListInterface extends IteratorAggregate - -- `public function getActionConfigurations(): array<string|int, \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationOptions implements Ibexa\Contracts\Core\Options\OptionsBag, IteratorAggregate, ArrayAccess - -- `public function __construct(array<string, mixed> $options)` -- `public function all(): array<string, mixed>` -- `public function get(string $key[, mixed $default = null ]): mixed` -- `public function getIterator(): \Iterator` -- `public function has(string $key): bool` -- `public function offsetExists(mixed $offset): bool` -- `public function offsetGet(mixed $offset): mixed` -- `public function offsetSet(mixed $offset, mixed $value): void` -- `public function offsetUnset(mixed $offset): void` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([array<string, mixed> $properties = [] ])` -- `public function getActionHandlerOptions(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getActionTypeOptions(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getDescriptions(): array<string, string|null>|null` -- `public function getEnabled(): bool|null` -- `public function getIdentifier(): string|null` -- `public function getNames(): array<string, string|null>|null` -- `public function setActionHandlerOptions(MapInterface<string, mixed>|null $actionHandlerOptions): void` -- `public function setActionTypeOptions(MapInterface<string, mixed>|null $actionTypeOptions): void` -- `public function setDescription(string $languageCode, string $description): void` -- `public function setDescriptions(array<string, string|null>|null $descriptions): void` -- `public function setEnabled(bool|null $enabled): void` -- `public function setIdentifier(string|null $identifier): void` -- `public function setName(string $languageCode, string $name): void` -- `public function setNames(array<string, string|null>|null $names): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionHandlerOptionsFormMapperInterface - -- `public function createActionHandlerOptionsForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder[, array<string, mixed> $context = [] ]): void` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionTypeOptionsFormMapperInterface - -- `public function createActionTypeOptionsForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder[, array<string, mixed> $context = [] ]): void` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Event\BeforeCreateActionConfigurationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct $createStruct[, ActionConfigurationInterface|null $actionConfigurationResult = null ])` -- `public function getActionConfigurationResult(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function getCreateStruct(): \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct` -- `public function hasActionConfigurationResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setActionConfigurationResult(ActionConfigurationInterface|null $actionConfigurationResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Event\BeforeDeleteActionConfigurationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration)` -- `public function getActionConfiguration(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Event\BeforeUpdateActionConfigurationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct $updateStruct[, ActionConfigurationInterface|null $actionConfigurationResult = null ])` -- `public function getActionConfiguration(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function getActionConfigurationResult(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct` -- `public function hasActionConfigurationResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setActionConfigurationResult(ActionConfigurationInterface|null $actionConfigurationResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Event\CreateActionConfigurationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct $createStruct, \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfigurationResult)` -- `public function getActionConfigurationResult(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function getCreateStruct(): \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Event\DeleteActionConfigurationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration)` -- `public function getActionConfiguration(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Event\UpdateActionConfigurationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct $updateStruct, \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfigurationResult)` -- `public function getActionConfiguration(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function getActionConfigurationResult(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ConnectorAi\ActionConfiguration\ActionConfigurationUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\OptionsFormatterInterface - -- `public function formatOptions(\Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface $actionConfiguration, \Ibexa\Contracts\Core\Options\OptionsBag $optionsBag[, array<string, mixed> $parameters = [] ]): string|null` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\Criterion\Enabled extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\Criterion\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\Criterion\Name extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\Criterion\Type extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\SortClause\Enabled extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\SortClause\Id extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\SortClause\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\ConnectorAi\ActionConfiguration\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ConnectorAi\ActionHandlerRegistryInterface - -- `public function getHandler(string $identifier): \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface` -- `public function hasHandler(string $identifier): bool` - -## Ibexa\Contracts\ConnectorAi\ActionInterface - -- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` -- `public function getActionTypeIdentifier(): string` -- `public function getAllOptions(): array<string|int, mixed>` -- `public function getInput(): \Ibexa\Contracts\ConnectorAi\DataType` -- `public function getParameters(): array<string, mixed>` -- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` -- `public function hasActionContext(): bool` -- `public function hasRuntimeContext(): bool` -- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` -- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` - -## Ibexa\Contracts\ConnectorAi\ActionResponseInterface - -- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType<string|int, mixed>` - -## Ibexa\Contracts\ConnectorAi\ActionServiceDecorator implements Ibexa\Contracts\ConnectorAi\ActionServiceInterface - -- `public function execute(\Ibexa\Contracts\ConnectorAi\ActionInterface $action[, ActionConfigurationInterface|null $actionConfiguration = null ][, ActionHandlerInterface|null $handler = null ]): \Ibexa\Contracts\ConnectorAi\ActionResponseInterface` - -## Ibexa\Contracts\ConnectorAi\ActionServiceInterface - -- `public function execute(\Ibexa\Contracts\ConnectorAi\ActionInterface $action[, ActionConfigurationInterface|null $actionConfiguration = null ][, ActionHandlerInterface|null $handler = null ]): \Ibexa\Contracts\ConnectorAi\ActionResponseInterface` - -## Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeFactoryInterface - -- `public function createActionType(string $identifier, string $name, \Ibexa\Contracts\ConnectorAi\Action\ActionFactoryInterface $factory[, string|null $domain = null ]): \Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface` - -## Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface - -- `public function createAction(DataType<string|int, mixed> $input[, array<string, mixed> $parameters = [] ]): \Ibexa\Contracts\ConnectorAi\ActionInterface` -- `public function getActionHandlers(): iterable<string|int, \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface>` -- `public function getIdentifier(): string` -- `public function getInputIdentifier(): string` -- `public function getName(): string` -- `public function getOptions(): array<string, scalar|array<string|int, mixed>>` -- `public function getOutputIdentifier(): string` - -## Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeRegistryInterface - -- `public function getActionType(string $identifier): \Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface` -- `public function getActionTypes(): iterable<string|int, \Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface>` -- `public function hasActionType(string $identifier): bool` - -## Ibexa\Contracts\ConnectorAi\ActionType\OptionsValidatorError - -- `public function __construct(string|null $target, string $message[, array<string, scalar> $parameters = [] ])` -- `public function getMessage(): string` -- `public function getParameters(): array<string, scalar>` -- `public function getTarget(): string|null` - -## Ibexa\Contracts\ConnectorAi\ActionType\OptionsValidatorInterface - -- `public function validateOptions(\Ibexa\Contracts\Core\Options\OptionsBag $options): array<string|int, \Ibexa\Contracts\ConnectorAi\ActionType\OptionsValidatorError>` - -## Ibexa\Contracts\ConnectorAi\ActionType\OptionsValidatorRegistryInterface - -- `public function getValidator(string $type): \Ibexa\Contracts\ConnectorAi\ActionType\OptionsValidatorInterface` -- `public function hasValidator(string $type): bool` - -## Ibexa\Contracts\ConnectorAi\Action\Action implements Ibexa\Contracts\ConnectorAi\ActionInterface - -- `public function getAllOptions(): array<string|int, mixed>` -- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` -- `public function hasActionContext(): bool` -- `public function hasRuntimeContext(): bool` -- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` -- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` - -## Ibexa\Contracts\ConnectorAi\Action\ActionContext extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\Core\Options\OptionsBag $systemContext, \Ibexa\Contracts\Core\Options\OptionsBag $actionTypeOptions, \Ibexa\Contracts\Core\Options\OptionsBag $actionHandlerOptions)` -- `public function getActionHandlerOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` -- `public function getActionTypeOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` -- `public function getSystemContext(): \Ibexa\Contracts\Core\Options\OptionsBag` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ConnectorAi\Action\ActionFactoryInterface - -- `public function createAction(\Ibexa\Contracts\ConnectorAi\DataType $input[, array<string, mixed> $parameters = [] ]): \Ibexa\Contracts\ConnectorAi\ActionInterface` - -## Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface - -- `public function static getIdentifier(): string` -- `public function handle(\Ibexa\Contracts\ConnectorAi\ActionInterface $action[, array<string, mixed> $context = [] ]): \Ibexa\Contracts\ConnectorAi\ActionResponseInterface` -- `public function supports(\Ibexa\Contracts\ConnectorAi\ActionInterface $action): bool` - -## Ibexa\Contracts\ConnectorAi\Action\ActionHandlerResolverInterface - -- `public function resolve(\Ibexa\Contracts\ConnectorAi\ActionInterface $action): \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface` - -## Ibexa\Contracts\ConnectorAi\Action\DataType\Image implements Ibexa\Contracts\ConnectorAi\DataType - -- `public function getBase64(): string` -- `public function static getIdentifier(): string` -- `public function getList(): array<string|int, mixed>` -- `public const mixed IDENTIFIER = 'image'` - -## Ibexa\Contracts\ConnectorAi\Action\DataType\Taxonomy implements Ibexa\Contracts\ConnectorAi\DataType - -- `public function static getIdentifier(): string` -- `public function getList(): array<string|int, mixed>` -- `public const mixed IDENTIFIER = 'taxonomy'` - -## Ibexa\Contracts\ConnectorAi\Action\DataType\TaxonomyEntry implements Ibexa\Contracts\ConnectorAi\Action\DataType\TaxonomySuggestionInterface - -- `public function __construct(int $id, int|null $parentId, string $name)` -- `public function getId(): int` -- `public function getName(): string` -- `public function getParentId(): int|null` - -## Ibexa\Contracts\ConnectorAi\Action\DataType\TaxonomySuggestion implements Ibexa\Contracts\ConnectorAi\Action\DataType\TaxonomySuggestionInterface - -- `public function __construct(int|null $parentId, string $name)` -- `public function getName(): string` -- `public function getParentId(): int|null` - -## Ibexa\Contracts\ConnectorAi\Action\DataType\TaxonomySuggestionInterface - -- `public function getName(): string` -- `public function getParentId(): int|null` - -## Ibexa\Contracts\ConnectorAi\Action\DataType\Text implements Ibexa\Contracts\ConnectorAi\DataType - -- `public function static getIdentifier(): string` -- `public function getList(): array<string|int, mixed>` -- `public function getText(): string` -- `public const mixed IDENTIFIER = 'text'` - -## Ibexa\Contracts\ConnectorAi\Action\DataType\TextToTaxonomyInput implements Ibexa\Contracts\ConnectorAi\DataType - -- `public function static getIdentifier(): string` -- `public function getList(): array<string|int, mixed>` -- `public function getTaxonomyIdentifier(): string` -- `public function getText(): string` -- `public const mixed IDENTIFIER = 'text_to_taxonomy_input'` - -## Ibexa\Contracts\ConnectorAi\Action\Event\BeforeExecuteEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionInterface $action, ActionConfigurationInterface|null $actionConfiguration, ActionHandlerInterface|null $handler[, ActionResponseInterface|null $actionResponseResult = null ])` -- `public function getAction(): \Ibexa\Contracts\ConnectorAi\ActionInterface` -- `public function getActionConfiguration(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface|null` -- `public function getActionResponseResult(): \Ibexa\Contracts\ConnectorAi\ActionResponseInterface` -- `public function getHandler(): \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface|null` -- `public function hasActionResponseResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setActionResponseResult(ActionResponseInterface|null $actionResponseResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ConnectorAi\Action\Event\ExecuteEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionInterface $action, ActionConfigurationInterface|null $actionConfiguration, ActionHandlerInterface|null $handler, \Ibexa\Contracts\ConnectorAi\ActionResponseInterface $actionResponseResult)` -- `public function getAction(): \Ibexa\Contracts\ConnectorAi\ActionInterface` -- `public function getActionConfiguration(): \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface|null` -- `public function getActionResponseResult(): \Ibexa\Contracts\ConnectorAi\ActionResponseInterface` -- `public function getHandler(): \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface|null` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ConnectorAi\Action\GenerateAltTextAction extends Ibexa\Contracts\ConnectorAi\Action\ImageToText\Action - -- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` -- `public function getActionTypeIdentifier(): string` -- `public function getAllOptions(): array<string|int, mixed>` -- `public function getInput(): \Ibexa\Contracts\ConnectorAi\Action\DataType\Image` -- `public function getMaxLength(): int|null` -- `public function getParameters(): array<string, mixed>` -- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` -- `public function hasActionContext(): bool` -- `public function hasRuntimeContext(): bool` -- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` -- `public function setMaxLength(int|null $maxLength): void` -- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` - -## Ibexa\Contracts\ConnectorAi\Action\ImageToText\Action extends Ibexa\Contracts\ConnectorAi\Action\Action - -- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` -- `public function getAllOptions(): array<string|int, mixed>` -- `public function getInput(): \Ibexa\Contracts\ConnectorAi\Action\DataType\Image` -- `public function getMaxLength(): int|null` -- `public function getParameters(): array<string, mixed>` -- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` -- `public function hasActionContext(): bool` -- `public function hasRuntimeContext(): bool` -- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` -- `public function setMaxLength(int|null $maxLength): void` -- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` - -## Ibexa\Contracts\ConnectorAi\Action\ImageToText\ActionResponse extends Ibexa\Contracts\ConnectorAi\Action\Response\TextResponse - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Text $text)` -- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType<string|int, mixed>` - -## Ibexa\Contracts\ConnectorAi\Action\ImageToText\ActionType implements Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface - -- `public function getOptions(): array<string, scalar|array<string|int, mixed>>` -- `public function getOutputIdentifier(): string` -- `public const mixed IMAGE_MAX_SIZE_KEY = 'image_max_size'` -- `public const mixed IMAGE_QUALITY_KEY = 'image_quality'` - -## Ibexa\Contracts\ConnectorAi\Action\LLMBaseActionTypeInterface extends Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface - -- `public function createAction(DataType<string|int, mixed> $input[, array<string, mixed> $parameters = [] ]): \Ibexa\Contracts\ConnectorAi\ActionInterface` -- `public function getActionHandlers(): iterable<string|int, \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface>` -- `public function getBasePrompt(): string` -- `public function getIdentifier(): string` -- `public function getInputIdentifier(): string` -- `public function getName(): string` -- `public function getOptions(): array<string, scalar|array<string|int, mixed>>` -- `public function getOutputIdentifier(): string` - -## Ibexa\Contracts\ConnectorAi\Action\RefineTextAction extends Ibexa\Contracts\ConnectorAi\Action\TextToText\Action - -- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` -- `public function getActionTypeIdentifier(): string` -- `public function getAllOptions(): array<string|int, mixed>` -- `public function getInput(): \Ibexa\Contracts\ConnectorAi\Action\DataType\Text` -- `public function getParameters(): array<string, mixed>` -- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` -- `public function hasActionContext(): bool` -- `public function hasRuntimeContext(): bool` -- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` -- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` - -## Ibexa\Contracts\ConnectorAi\Action\Response\ImageResponse implements Ibexa\Contracts\ConnectorAi\ActionResponseInterface - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Image $image)` -- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType<string|int, mixed>` - -## Ibexa\Contracts\ConnectorAi\Action\Response\TaxonomyResponse implements Ibexa\Contracts\ConnectorAi\ActionResponseInterface - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Taxonomy $taxonomy)` -- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType<string|int, mixed>` - -## Ibexa\Contracts\ConnectorAi\Action\Response\TextResponse implements Ibexa\Contracts\ConnectorAi\ActionResponseInterface - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Text $text)` -- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType<string|int, mixed>` - -## Ibexa\Contracts\ConnectorAi\Action\RuntimeContext implements Ibexa\Contracts\Core\Options\OptionsBag, IteratorAggregate, ArrayAccess - -- `public function __construct(array<string, mixed> $options)` -- `public function all(): array<string, mixed>` -- `public function get(string $key[, mixed $default = null ]): mixed` -- `public function getIterator(): \Iterator` -- `public function has(string $key): bool` -- `public function offsetExists(mixed $offset): bool` -- `public function offsetGet(mixed $offset): mixed` -- `public function offsetSet(mixed $offset, mixed $value): void` -- `public function offsetUnset(mixed $offset): void` - -## Ibexa\Contracts\ConnectorAi\Action\SuggestTaxonomyAction extends Ibexa\Contracts\ConnectorAi\Action\TextToTaxonomy\Action - -- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` -- `public function getActionTypeIdentifier(): string` -- `public function getAllOptions(): array<string|int, mixed>` -- `public function getInput(): \Ibexa\Contracts\ConnectorAi\Action\DataType\TextToTaxonomyInput` -- `public function getParameters(): array<string, mixed>` -- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` -- `public function hasActionContext(): bool` -- `public function hasRuntimeContext(): bool` -- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` -- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` - -## Ibexa\Contracts\ConnectorAi\Action\TextToImage\Action extends Ibexa\Contracts\ConnectorAi\Action\Action - -- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` -- `public function getAllOptions(): array<string|int, mixed>` -- `public function getParameters(): array<string, mixed>` -- `public function getQuality(): string` -- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` -- `public function getSize(): string` -- `public function hasActionContext(): bool` -- `public function hasRuntimeContext(): bool` -- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` -- `public function setQuality(string $quality): void` -- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` -- `public function setSize(string $size): void` -- `public const mixed QUALITY_HD = 'hd'` -- `public const mixed QUALITY_STANDARD = 'standard'` -- `public const mixed SIZE_LANDSCAPE = '1792x1024'` -- `public const mixed SIZE_PORTRAIT = '1024x1792'` -- `public const mixed SIZE_SQUARE = '1024x1024'` - -## Ibexa\Contracts\ConnectorAi\Action\TextToImage\ActionResponse extends Ibexa\Contracts\ConnectorAi\Action\Response\ImageResponse - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Image $image)` -- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType<string|int, mixed>` - -## Ibexa\Contracts\ConnectorAi\Action\TextToTaxonomy\Action extends Ibexa\Contracts\ConnectorAi\Action\Action - -- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` -- `public function getAllOptions(): array<string|int, mixed>` -- `public function getInput(): \Ibexa\Contracts\ConnectorAi\Action\DataType\TextToTaxonomyInput` -- `public function getParameters(): array<string, mixed>` -- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` -- `public function hasActionContext(): bool` -- `public function hasRuntimeContext(): bool` -- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` -- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` - -## Ibexa\Contracts\ConnectorAi\Action\TextToTaxonomy\ActionResponse extends Ibexa\Contracts\ConnectorAi\Action\Response\TaxonomyResponse - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Taxonomy $taxonomy)` -- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType<string|int, mixed>` - -## Ibexa\Contracts\ConnectorAi\Action\TextToTaxonomy\ActionType implements Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface - -- `public function getInputIdentifier(): string` -- `public function getOptions(): array<string, scalar|array<string|int, mixed>>` -- `public function getOutputIdentifier(): string` - -## Ibexa\Contracts\ConnectorAi\Action\TextToText\Action extends Ibexa\Contracts\ConnectorAi\Action\Action - -- `public function getActionContext(): \Ibexa\Contracts\ConnectorAi\Action\ActionContext|null` -- `public function getAllOptions(): array<string|int, mixed>` -- `public function getInput(): \Ibexa\Contracts\ConnectorAi\Action\DataType\Text` -- `public function getParameters(): array<string, mixed>` -- `public function getRuntimeContext(): \Ibexa\Contracts\ConnectorAi\Action\RuntimeContext|null` -- `public function hasActionContext(): bool` -- `public function hasRuntimeContext(): bool` -- `public function setActionContext(\Ibexa\Contracts\ConnectorAi\Action\ActionContext $actionContext): void` -- `public function setRuntimeContext(\Ibexa\Contracts\ConnectorAi\Action\RuntimeContext $runtimeContext): void` - -## Ibexa\Contracts\ConnectorAi\Action\TextToText\ActionResponse extends Ibexa\Contracts\ConnectorAi\Action\Response\TextResponse - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\Action\DataType\Text $text)` -- `public function getOutput(): \Ibexa\Contracts\ConnectorAi\DataType<string|int, mixed>` - -## Ibexa\Contracts\ConnectorAi\Action\TextToText\ActionType implements Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface - -- `public function getInputIdentifier(): string` -- `public function getOptions(): array<string, scalar|array<string|int, mixed>>` -- `public function getOutputIdentifier(): string` - -## Ibexa\Contracts\ConnectorAi\AdapterAwareActionInterface - -- `public function getAdapter(): string` - -## Ibexa\Contracts\ConnectorAi\DataType - -- `public function static getIdentifier(): string` -- `public function getList(): array<string|int, mixed>` - -## Ibexa\Contracts\ConnectorAi\Events\ContextEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionInterface $action, \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface $actionHandler[, Options|null $options = null ])` -- `public function getAction(): \Ibexa\Contracts\ConnectorAi\ActionInterface` -- `public function getActionHandler(): \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface` -- `public function getContext(): \Ibexa\Contracts\Core\Options\OptionsBag` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ConnectorAi\Events\ResolveActionConfigurationWidgetConfigEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface $actionType, array<string|int, \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface> $actionConfigurations, array<string, mixed> $context)` -- `public function getActionConfigurations(): array<string|int, \Ibexa\Contracts\ConnectorAi\ActionConfigurationInterface>` -- `public function getActionType(): \Ibexa\Contracts\ConnectorAi\ActionType\ActionTypeInterface` -- `public function getActionTypeInputIdentifier(): string` -- `public function getActionTypeName(): string` -- `public function getActionTypeOptions(): array<string, scalar|array<string|int, mixed>>` -- `public function getActionTypeOutputIdentifier(): string` -- `public function getContext(): array<string, mixed>` -- `public function isPropagationStopped(): bool` -- `public function setActionTypeInputIdentifier(string $actionTypeInputIdentifier): void` -- `public function setActionTypeName(string $actionTypeName): void` -- `public function setActionTypeOptions(array<string, scalar|array<string|int, mixed>> $actionTypeOutputIdentifier): void` -- `public function setActionTypeOutputIdentifier(string $actionTypeOutputIdentifier): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ConnectorAi\Events\ResolveActionHandlerEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\ConnectorAi\ActionInterface $action)` -- `public function getAction(): \Ibexa\Contracts\ConnectorAi\ActionInterface` -- `public function getActionHandler(): \Ibexa\Contracts\ConnectorAi\Action\ActionHandlerInterface|null` -- `public function isPropagationStopped(): bool` -- `public function setActionHandler(ActionHandlerInterface|null $actionHandler): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ConnectorAi\PromptResolverInterface - -- `public function getPrompt(array<string|int, mixed> $options): string` - -## Ibexa\Contracts\ConnectorAi\Prompt\PromptFactory - -- `public function __construct(array<string|int, \Ibexa\Contracts\ConnectorAi\Prompt\PromptInterface> $prompts, string $identifier)` -- `public function getIdentifier(): string` -- `public function getPrompt(array<string|int, mixed> $options): string` - -## Ibexa\Contracts\ConnectorAi\Prompt\PromptInterface - -- `public function getText(array<string|int, mixed> $options): string|null` - -## Ibexa\Contracts\ConnectorAi\REST\Exception\ValidationFailedExceptionInterface extends Throwable - -- `public function getErrors(): \Symfony\Component\Validator\ConstraintViolationListInterface` - -## Ibexa\Contracts\ConnectorOpenAi\ClientProviderInterface - -- `public function getClient(): \Orhanerday\OpenAi\OpenAi` - -## Ibexa\Contracts\ConnectorPayum\Generator\DescriptionGeneratorInterface - -- `public function generateDescription(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment[, array<int|string, mixed> $parameters = [] ]): string` - -## Ibexa\Contracts\ConnectorPayum\Payment\StatusMapperInterface - -- `public function newStatusToTransition(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Payum\Core\Request\GetStatusInterface $status): string|null` - -## Ibexa\Contracts\ConnectorPayum\Storage\PaymentQueryFactoryInterface - -- `public function buildQuery(array<string, mixed> $criteria): \Ibexa\Contracts\Payment\Payment\PaymentQuery` - -## Ibexa\Contracts\ConnectorQualifio\Exception\NotConfiguredException extends Exception implements Ibexa\Contracts\ConnectorQualifio\Exception\QualifioException - -- `public function __construct()` - -## Ibexa\Contracts\ConnectorQualifio\QualifioFieldMapResolverInterface - -- `public function resolveFieldMapIdentifier(string $context, string $enricherIdentifier, string $fieldIdentifier, mixed $value): \Ibexa\Contracts\ConnectorQualifio\Value\QualifioTokenPayloadValue|null` - -## Ibexa\Contracts\ConnectorQualifio\QualifioServiceInterface - -- `public function buildCampaignUrl(int $campaignId): string|null` -- `public function getQualifioCampaign(int $campaignId): array<string|int, mixed>|null` -- `public function getQualifioChannels(): array<string|int, mixed>` -- `public function getUserToken(int $campaignId): string|null` -- `public function isConfigured(): bool` - -## Ibexa\Contracts\ConnectorQualifio\Value\QualifioTokenPayloadValue - -- `public function __construct(string $context, string $identifier, mixed $value)` -- `public function getContext(): string` -- `public function getIdentifier(): string` -- `public function getValue(): mixed` - -## Ibexa\Contracts\Connector\Dam\Asset implements Ibexa\Contracts\Connector\Dam\ExternalAsset - -- `public function __construct(\Ibexa\Contracts\Connector\Dam\AssetIdentifier $identifier, \Ibexa\Contracts\Connector\Dam\AssetSource $source, \Ibexa\Contracts\Connector\Dam\AssetUri $assetUri, \Ibexa\Contracts\Connector\Dam\AssetMetadata $assetMetadata)` -- `public function getAssetMetadata(): \Ibexa\Contracts\Connector\Dam\AssetMetadata` -- `public function getAssetUri(): \Ibexa\Contracts\Connector\Dam\AssetUri` -- `public function getIdentifier(): \Ibexa\Contracts\Connector\Dam\AssetIdentifier` -- `public function getSource(): \Ibexa\Contracts\Connector\Dam\AssetSource` - -## Ibexa\Contracts\Connector\Dam\AssetCollection implements IteratorAggregate - -- `public function __construct(array<string|int, \Ibexa\Contracts\Connector\Dam\ExternalAsset> $assets)` -- `public function getIterator(): \Traversable` -- `public function toArray(): array<string|int, \Ibexa\Contracts\Connector\Dam\ExternalAsset>` - -## Ibexa\Contracts\Connector\Dam\AssetIdentifier - -- `public function __construct(string $id)` -- `public function getId(): string` - -## Ibexa\Contracts\Connector\Dam\AssetMetadata implements ArrayAccess, IteratorAggregate - -- `public function __construct(array<string|int, mixed> $metadata)` -- `public function getIterator(): \Traversable` -- `public function offsetExists(mixed $offset): bool` -- `public function offsetGet(mixed $offset): mixed` -- `public function offsetSet(mixed $offset, mixed $value): never` -- `public function offsetUnset(mixed $offset): never` - -## Ibexa\Contracts\Connector\Dam\AssetService - -- `public function get(\Ibexa\Contracts\Connector\Dam\AssetIdentifier $identifier, \Ibexa\Contracts\Connector\Dam\AssetSource $source): \Ibexa\Contracts\Connector\Dam\Asset` -- `public function search(\Ibexa\Contracts\Connector\Dam\Search\Query $query, \Ibexa\Contracts\Connector\Dam\AssetSource $assetSource[, int $offset = 0 ][, int $limit = 20 ]): \Ibexa\Contracts\Connector\Dam\Search\AssetSearchResult` -- `public function transform(\Ibexa\Contracts\Connector\Dam\Asset $asset, \Ibexa\Contracts\Connector\Dam\Variation\Transformation $transformation): \Ibexa\Contracts\Connector\Dam\Variation\AssetVariation` - -## Ibexa\Contracts\Connector\Dam\AssetSource - -- `public function __construct(string $sourceIdentifier)` -- `public function getSourceIdentifier(): string` - -## Ibexa\Contracts\Connector\Dam\AssetUri - -- `public function __construct(string $path)` -- `public function getPath(): string` - -## Ibexa\Contracts\Connector\Dam\ExternalAsset - -- `public function getAssetMetadata(): \Ibexa\Contracts\Connector\Dam\AssetMetadata` -- `public function getAssetUri(): \Ibexa\Contracts\Connector\Dam\AssetUri` -- `public function getIdentifier(): \Ibexa\Contracts\Connector\Dam\AssetIdentifier` -- `public function getSource(): \Ibexa\Contracts\Connector\Dam\AssetSource` - -## Ibexa\Contracts\Connector\Dam\Handler\Handler - -- `public function fetchAsset(string $id): \Ibexa\Contracts\Connector\Dam\Asset` -- `public function search(\Ibexa\Contracts\Connector\Dam\Search\Query $query[, int $offset = 0 ][, int $limit = 20 ]): \Ibexa\Contracts\Connector\Dam\Search\AssetSearchResult` - -## Ibexa\Contracts\Connector\Dam\Search\AssetSearchResult implements IteratorAggregate - -- `public function getIterator(): \Iterator` -- `public function getResults(): \Ibexa\Contracts\Connector\Dam\AssetCollection` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Connector\Dam\Search\Query - -- `public function getPhrase(): string` - -## Ibexa\Contracts\Connector\Dam\Search\QueryFactory - -- `public function buildFromRequest(\Symfony\Component\HttpFoundation\Request $request): \Ibexa\Contracts\Connector\Dam\Search\Query` - -## Ibexa\Contracts\Connector\Dam\Variation\AssetVariation implements Ibexa\Contracts\Connector\Dam\ExternalAsset - -- `public function __construct(\Ibexa\Contracts\Connector\Dam\Asset $originalAsset, \Ibexa\Contracts\Connector\Dam\AssetUri $assetUri, \Ibexa\Contracts\Connector\Dam\Variation\Transformation $transformation)` -- `public function getAssetMetadata(): \Ibexa\Contracts\Connector\Dam\AssetMetadata` -- `public function getAssetUri(): \Ibexa\Contracts\Connector\Dam\AssetUri` -- `public function getIdentifier(): \Ibexa\Contracts\Connector\Dam\AssetIdentifier` -- `public function getOriginalAsset(): \Ibexa\Contracts\Connector\Dam\Asset` -- `public function getSource(): \Ibexa\Contracts\Connector\Dam\AssetSource` -- `public function getTransformation(): \Ibexa\Contracts\Connector\Dam\Variation\Transformation` - -## Ibexa\Contracts\Connector\Dam\Variation\AssetVariationGenerator - -- `public function generate(\Ibexa\Contracts\Connector\Dam\Asset $asset, \Ibexa\Contracts\Connector\Dam\Variation\Transformation $transformation): \Ibexa\Contracts\Connector\Dam\Variation\AssetVariation` - -## Ibexa\Contracts\Connector\Dam\Variation\Transformation - -- `public function __construct([string|null $name = null ][, array<string|int, string> $transformationProperties = [] ])` -- `public function getName(): string|null` -- `public function getTransformationProperties(): array<string|int, string>` - -## Ibexa\Contracts\Connector\Dam\Variation\TransformationFactory - -- `public function build([string|null $transformationName = null ][, array<string, scalar> $transformationParameters = [] ]): \Ibexa\Contracts\Connector\Dam\Variation\Transformation` -- `public function buildAll(): array<string|int, \Ibexa\Contracts\Connector\Dam\Variation\Transformation>` - -## Ibexa\Contracts\Connector\Dam\View\AssetView - -- `public function getAsset(): \Ibexa\Contracts\Connector\Dam\ExternalAsset` - -## Ibexa\Contracts\ContentForms\Content\Form\Provider\GroupedContentFormFieldsProviderInterface - -- `public function getGroupedFields(array<string|int, FormInterface<string|int, mixed>> $fieldsDataForm): array<string|int, mixed>` - -## Ibexa\Contracts\ContentForms\Data\Content\FieldData extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getField(): \Ibexa\Contracts\Core\Repository\Values\Content\Field` -- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` -- `public function getFieldTypeIdentifier(): string` -- `public function getValue(): mixed` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ContentForms\Event\AutosaveEnabled extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo)` -- `public function disableAutosave(): void` -- `public function enableAutosave(): void` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function isAutosaveEnabled(): bool` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ContentForms\FieldType\FieldValueFormMapperInterface - -- `public function mapFieldValueForm(\Symfony\Component\Form\FormInterface $fieldForm, \Ibexa\Contracts\ContentForms\Data\Content\FieldData $data): mixed` - -## Ibexa\Contracts\CorePersistence\Exception\MappingException extends Exception implements Ibexa\Contracts\CorePersistence\Exception\MappingExceptionInterface - -- `public function static noIdDefined(): self` -- `public function static singleIdNotAllowedOnCompositePrimaryKey(): self` - -## Ibexa\Contracts\CorePersistence\Gateway\AbstractDoctrineRelationship implements Ibexa\Contracts\CorePersistence\Gateway\DoctrineRelationshipInterface - -- `public function getForeignProperty(): string` -- `public function getRelatedClassIdColumn(): string` -- `public function getRelationshipClass(): string` - -## Ibexa\Contracts\CorePersistence\Gateway\AbstractTranslationGateway extends Ibexa\Contracts\CorePersistence\Gateway\AbstractDoctrineDatabase implements Ibexa\Contracts\CorePersistence\Gateway\TranslationGatewayInterface - -- `public function copy(int $fromId, int $toId): void` -- `public function countByTranslatableId(int $id): int` -- `public function delete(int $id, int $languageId): void` -- `public function exists(int $id, int $languageId): bool` -- `public function findByTranslatableId(int $id): array<string|int, \Ibexa\Contracts\CorePersistence\Gateway\T>` -- `public function findByTranslatableIds(array<string|int, mixed> $ids): array<string|int, \Ibexa\Contracts\CorePersistence\Gateway\T>` -- `public function getMetadata(): \Ibexa\Contracts\CorePersistence\Gateway\TranslationDoctrineSchemaMetadataInterface` -- `public function insert(int $id, int $languageId, array<string|int, mixed> $data): int` -- `public function save(int $id, int $languageId, array<string|int, mixed> $data): void` -- `public function update(int $id, int $languageId, array<string|int, mixed> $data): void` -- `protected function abstract buildMetadata(): \Ibexa\Contracts\CorePersistence\Gateway\TranslationDoctrineSchemaMetadataInterface` -- `protected function getLanguageIdColumn(): string` -- `protected function getTranslatableIdColumn(): string` - -## Ibexa\Contracts\CorePersistence\Gateway\DoctrineOneToManyRelationship extends Ibexa\Contracts\CorePersistence\Gateway\AbstractDoctrineRelationship - -- `public function getForeignKeyColumn(): string` -- `public function getForeignProperty(): string` -- `public function getJoinType(): string` -- `public function getRelatedClassIdColumn(): string` -- `public function getRelationshipClass(): string` -- `public function setJoinType(string $joinType): void` - -## Ibexa\Contracts\CorePersistence\Gateway\TranslationGatewayInterface - -- `public function copy(int $fromId, int $toId): void` -- `public function countByTranslatableId(int $id): int` -- `public function delete(int $id, int $languageId): void` -- `public function exists(int $id, int $languageId): bool` -- `public function findByTranslatableId(int $id): array<string|int, \Ibexa\Contracts\CorePersistence\Gateway\T>` -- `public function findByTranslatableIds(array<string|int, int> $ids): array<string|int, \Ibexa\Contracts\CorePersistence\Gateway\T>` -- `public function getMetadata(): \Ibexa\Contracts\CorePersistence\Gateway\TranslationDoctrineSchemaMetadataInterface` -- `public function insert(int $id, int $languageId, array<string, mixed> $data): int` -- `public function save(int $id, int $languageId, array<string, mixed> $data): void` -- `public function update(int $id, int $languageId, array<string, mixed> $data): void` - -## Ibexa\Contracts\CorePersistence\HandlerInterface - -- `public function countBy(array<string|int, scalar|array<string|int, scalar>|Expression> $criteria): int` -- `public function exists(int $id): bool` -- `public function find(int $id): \Ibexa\Contracts\CorePersistence\T` -- `public function findAll([int|null $limit = null ][, int $offset = 0 ]): array<string|int, \Ibexa\Contracts\CorePersistence\T>` -- `public function findBy(array<string|int, scalar|array<string|int, scalar>|Expression> $criteria[, array<string, mixed>|null $orderBy = null ][, int|null $limit = null ][, int $offset = 0 ]): array<string|int, \Ibexa\Contracts\CorePersistence\T>` - -## Ibexa\Contracts\CoreSearch\Persistence\CriterionMapper\AbstractCompositeCriterionMapper implements Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapperInterface - -- `public function canHandle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion): bool` -- `public function handle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion, \Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapper $mapper): \Doctrine\Common\Collections\Expr\CompositeExpression` -- `protected function abstract getHandledClass(): ">AbstractCompositeCriterion>` -- `protected function abstract getType(): string` - -## Ibexa\Contracts\CoreSearch\Persistence\CriterionMapper\AbstractFieldCriterionMapper implements Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapperInterface - -- `public function handle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion, \Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapper $mapper): \Doctrine\Common\Collections\Expr\Comparison` -- `protected function getComparisonField(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion $criterion): string` -- `protected function getComparisonOperator(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion $criterion): string` -- `protected function getComparisonValue(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion $criterion): mixed` - -## Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery implements Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause - -- `public function getDirection(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapper - -- `public function __construct(iterable<string|int, mixed> $mappers)` -- `public function handle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion): \Doctrine\Common\Collections\Expr\Expression` - -## Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapperInterface - -- `public function canHandle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion): bool` -- `public function handle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion, \Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapper $mapper): \Doctrine\Common\Collections\Expr\Expression` - -## Ibexa\Contracts\CoreSearch\Values\Query\Criterion\AbstractCompositeCriterion implements Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\AbstractCompositeCriterion - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\AbstractCompositeCriterion - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface - -- `public function getLimit(): int|null` -- `public function getOffset(): int` - -## Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\CoreSearch\Values\Query\SortDirection - -- `public const mixed ASC = 'ascending'` -- `public const mixed DESC = 'descending'` - -## Ibexa\Contracts\Core\Collection\AbstractInMemoryCollection implements Ibexa\Contracts\Core\Collection\CollectionInterface, Ibexa\Contracts\Core\Collection\StreamableInterface - -- `public function count(): int` -- `public function exists(\Closure $predicate): bool` -- `public function filter(\Closure $predicate): self` -- `public function forAll(\Closure $predicate): bool` -- `public function getIterator(): \Iterator` -- `public function isEmpty(): bool` -- `public function map(\Closure $function): self` -- `public function toArray(): array<string|int, mixed>` -- `protected function abstract createFrom(array<string|int, \Ibexa\Contracts\Core\Collection\TValueFrom> $items): self` - -## Ibexa\Contracts\Core\Collection\ArrayList extends Ibexa\Contracts\Core\Collection\AbstractInMemoryCollection implements Ibexa\Contracts\Core\Collection\ListInterface - -- `public function contains(mixed $value): bool` -- `public function count(): int` -- `public function exists(\Closure $predicate): bool` -- `public function filter(\Closure $predicate): self` -- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function forAll(\Closure $predicate): bool` -- `public function getIterator(): \Iterator` -- `public function isEmpty(): bool` -- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function map(\Closure $function): self` -- `public function toArray(): array<string|int, mixed>` -- `protected function createFrom(array<string|int, mixed> $items): self` - -## Ibexa\Contracts\Core\Collection\ArrayMap extends Ibexa\Contracts\Core\Collection\AbstractInMemoryCollection implements Ibexa\Contracts\Core\Collection\MapInterface - -- `public function count(): int` -- `public function exists(\Closure $predicate): bool` -- `public function filter(\Closure $predicate): self` -- `public function forAll(\Closure $predicate): bool` -- `public function get(mixed $key): \Ibexa\Contracts\Core\Collection\TValue` -- `public function getIterator(): \Iterator` -- `public function has(mixed $key): bool` -- `public function isEmpty(): bool` -- `public function map(\Closure $function): self` -- `public function toArray(): array<string|int, mixed>` -- `protected function createFrom(array<string|int, mixed> $items): self` - -## Ibexa\Contracts\Core\Collection\CollectionInterface extends Countable - -- `public function getIterator(): \Iterator` -- `public function isEmpty(): bool` -- `public function toArray(): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Collection\ListInterface extends Ibexa\Contracts\Core\Collection\CollectionInterface - -- `public function contains(\Ibexa\Contracts\Core\Collection\TValue $value): bool` -- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function getIterator(): \Iterator` -- `public function isEmpty(): bool` -- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function toArray(): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Collection\MapInterface extends Ibexa\Contracts\Core\Collection\CollectionInterface - -- `public function get(\Ibexa\Contracts\Core\Collection\TKey $key): \Ibexa\Contracts\Core\Collection\TValue` -- `public function getIterator(): \Iterator` -- `public function has(\Ibexa\Contracts\Core\Collection\TKey $key): bool` -- `public function isEmpty(): bool` -- `public function toArray(): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Collection\MutableArrayList extends Ibexa\Contracts\Core\Collection\ArrayList implements Ibexa\Contracts\Core\Collection\MutableListInterface - -- `public function append(mixed $value): void` -- `public function clear(): void` -- `public function contains(mixed $value): bool` -- `public function count(): int` -- `public function exists(\Closure $predicate): bool` -- `public function filter(\Closure $predicate): self` -- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function forAll(\Closure $predicate): bool` -- `public function getIterator(): \Iterator` -- `public function isEmpty(): bool` -- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function map(\Closure $function): self` -- `public function prepend(mixed $value): void` -- `public function remove(mixed $value): void` -- `public function toArray(): array<string|int, mixed>` -- `protected function createFrom(array<string|int, mixed> $items): \Ibexa\Contracts\Core\Collection\MutableArrayList` - -## Ibexa\Contracts\Core\Collection\MutableArrayMap extends Ibexa\Contracts\Core\Collection\ArrayMap implements Ibexa\Contracts\Core\Collection\MutableMapInterface - -- `public function clear(): void` -- `public function count(): int` -- `public function exists(\Closure $predicate): bool` -- `public function filter(\Closure $predicate): self` -- `public function forAll(\Closure $predicate): bool` -- `public function get(mixed $key): \Ibexa\Contracts\Core\Collection\TValue` -- `public function getIterator(): \Iterator` -- `public function has(mixed $key): bool` -- `public function isEmpty(): bool` -- `public function map(\Closure $function): self` -- `public function set(mixed $key, mixed $value): void` -- `public function toArray(): array<string|int, mixed>` -- `public function unset(mixed $key): void` -- `protected function createFrom(array<string|int, mixed> $items): \Ibexa\Contracts\Core\Collection\MutableArrayMap` - -## Ibexa\Contracts\Core\Collection\MutableListInterface extends Ibexa\Contracts\Core\Collection\ListInterface - -- `public function append(\Ibexa\Contracts\Core\Collection\TValue $value): void` -- `public function clear(): void` -- `public function contains(\Ibexa\Contracts\Core\Collection\TValue $value): bool` -- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function getIterator(): \Iterator` -- `public function isEmpty(): bool` -- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function prepend(\Ibexa\Contracts\Core\Collection\TValue $value): void` -- `public function remove(\Ibexa\Contracts\Core\Collection\TValue $value): void` -- `public function toArray(): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Collection\MutableMapInterface extends Ibexa\Contracts\Core\Collection\MapInterface - -- `public function clear(): void` -- `public function get(\Ibexa\Contracts\Core\Collection\TKey $key): \Ibexa\Contracts\Core\Collection\TValue` -- `public function getIterator(): \Iterator` -- `public function has(\Ibexa\Contracts\Core\Collection\TKey $key): bool` -- `public function isEmpty(): bool` -- `public function set(\Ibexa\Contracts\Core\Collection\TKey $key, \Ibexa\Contracts\Core\Collection\TValue $value): void` -- `public function toArray(): array<string|int, mixed>` -- `public function unset(\Ibexa\Contracts\Core\Collection\TKey $key): void` - -## Ibexa\Contracts\Core\Collection\StreamableInterface - -- `public function exists(\Closure $predicate): bool` -- `public function filter(\Closure $predicate): self` -- `public function forAll(\Closure $predicate): bool` -- `public function map(\Closure $function): self` - -## Ibexa\Contracts\Core\Container - -- `public function getRepository(): \Ibexa\Contracts\Core\Repository\Repository` - -## Ibexa\Contracts\Core\Container\ApiLoader\RepositoryConfigurationProviderInterface - -- `public function getCurrentRepositoryAlias(): string` -- `public function getDefaultRepositoryAlias(): string|null` -- `public function getRepositoryConfig(): array<string|int, mixed>` -- `public function getStorageConnectionName(): string` - -## Ibexa\Contracts\Core\Event\Mapper\ResolveMissingFieldEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Core\Persistence\Content $content, \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition $fieldDefinition, string $languageCode[, array<string|int, mixed> $context = [] ])` -- `public function getContent(): \Ibexa\Contracts\Core\Persistence\Content` -- `public function getContext(): array<string|int, mixed>` -- `public function getField(): \Ibexa\Contracts\Core\Persistence\Content\Field|null` -- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition` -- `public function getLanguageCode(): string` -- `public function isPropagationStopped(): bool` -- `public function setField(Field|null $field): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Event\NameSchema\AbstractNameSchemaEvent extends Ibexa\Contracts\Core\Event\NameSchema\AbstractSchemaEvent - -- `public function __construct(array<string, array<int, string>> $schemaIdentifiers, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, array<int|string, array<string, \Ibexa\Contracts\Core\FieldType\Value>> $fieldMap, array<string|int, string> $languageCodes)` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getFieldMap(): array<int|string, array<string, \Ibexa\Contracts\Core\FieldType\Value>>` -- `public function getLanguageCodes(): array<string|int, string>` -- `public function getSchemaIdentifiers(): array<string, array<int, string>>` -- `public function getTokenValues(): array<string, array<string, string>>` -- `public function isPropagationStopped(): bool` -- `public function setTokenValues(array<string, array<string, string>> $names): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Event\NameSchema\AbstractSchemaEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(array<string, array<int, string>> $schemaIdentifiers)` -- `public function getSchemaIdentifiers(): array<string, array<int, string>>` -- `public function getTokenValues(): array<string, array<string, string>>` -- `public function isPropagationStopped(): bool` -- `public function setTokenValues(array<string, array<string, string>> $names): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Event\NameSchema\ContentAwareEventInterface - -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` - -## Ibexa\Contracts\Core\Event\NameSchema\ResolveContentNameSchemaEvent extends Ibexa\Contracts\Core\Event\NameSchema\AbstractNameSchemaEvent implements Ibexa\Contracts\Core\Event\NameSchema\ContentAwareEventInterface - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, array<string, array<string|int, string>> $schemaIdentifiers, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, array<int|string, array<string, \Ibexa\Contracts\Core\FieldType\Value>> $fieldMap, array<string|int, string> $languageCodes)` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getFieldMap(): array<int|string, array<string, \Ibexa\Contracts\Core\FieldType\Value>>` -- `public function getLanguageCodes(): array<string|int, string>` -- `public function getSchemaIdentifiers(): array<string, array<int, string>>` -- `public function getTokenValues(): array<string, array<string, string>>` -- `public function isPropagationStopped(): bool` -- `public function setTokenValues(array<string, array<string, string>> $names): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Event\NameSchema\ResolveNameSchemaEvent extends Ibexa\Contracts\Core\Event\NameSchema\AbstractNameSchemaEvent - -- `public function __construct(array<string, array<int, string>> $schemaIdentifiers, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, array<int|string, array<string, \Ibexa\Contracts\Core\FieldType\Value>> $fieldMap, array<string|int, string> $languageCodes)` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getFieldMap(): array<int|string, array<string, \Ibexa\Contracts\Core\FieldType\Value>>` -- `public function getLanguageCodes(): array<string|int, string>` -- `public function getSchemaIdentifiers(): array<string, array<int, string>>` -- `public function getTokenValues(): array<string, array<string, string>>` -- `public function isPropagationStopped(): bool` -- `public function setTokenValues(array<string, array<string, string>> $names): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Event\NameSchema\ResolveUrlAliasSchemaEvent extends Ibexa\Contracts\Core\Event\NameSchema\AbstractSchemaEvent implements Ibexa\Contracts\Core\Event\NameSchema\ContentAwareEventInterface - -- `public function __construct(array<string, array<int, string>> $schemaIdentifiers, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getSchemaIdentifiers(): array<string, array<int, string>>` -- `public function getTokenValues(): array<string, array<string, string>>` -- `public function isPropagationStopped(): bool` -- `public function setTokenValues(array<string, array<string, string>> $names): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Event\View\PostBuildViewEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Core\MVC\Symfony\View\View $view)` -- `public function getView(): \Ibexa\Core\MVC\Symfony\View\View` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Exception\InvalidArgumentException extends Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException - -- `public function __construct(string $argumentName, string $whatIsWrong[, Exception|null $previous = null ])` - -## Ibexa\Contracts\Core\Exception\InvalidArgumentType extends Ibexa\Contracts\Core\Exception\InvalidArgumentException - -- `public function __construct(string $argumentName, string $expectedType[, mixed|null $value = null ][, Exception|null $previous = null ])` - -## Ibexa\Contracts\Core\FieldType\BinaryBase\PathGeneratorInterface - -- `public function getStoragePathForField(\Ibexa\Contracts\Core\Persistence\Content\Field $field, \Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo): mixed` - -## Ibexa\Contracts\Core\FieldType\BinaryBase\RouteAwarePathGenerator extends Ibexa\Contracts\Core\FieldType\BinaryBase\PathGeneratorInterface - -- `public function generate(string $route[, array<string|int, mixed> $parameters = [] ]): string` -- `public function getParameters(\Ibexa\Contracts\Core\Persistence\Content\Field $field, \Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo): array<string|int, mixed>` -- `public function getRoute(\Ibexa\Contracts\Core\Persistence\Content\Field $field, \Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo): string` -- `public function getStoragePathForField(\Ibexa\Contracts\Core\Persistence\Content\Field $field, \Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo): mixed` - -## Ibexa\Contracts\Core\FieldType\Comparable - -- `public function valuesEqual(\Ibexa\Contracts\Core\FieldType\Value $value1, \Ibexa\Contracts\Core\FieldType\Value $value2): bool` - -## Ibexa\Contracts\Core\FieldType\DefaultDataFieldStorage extends Ibexa\Contracts\Core\FieldType\FieldStorage - -- `public function deleteFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, array<string|int, mixed> $fieldIds): bool` -- `public function getDefaultFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Persistence\Content\Field $field): void` -- `public function getFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Persistence\Content\Field $field): mixed` -- `public function hasFieldData(): bool` -- `public function storeFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Persistence\Content\Field $field): mixed` - -## Ibexa\Contracts\Core\FieldType\FieldConstraintsStorage - -- `public function deleteFieldConstraintsData(int $fieldDefinitionId, int $status): void` -- `public function getFieldConstraintsData(int $fieldDefinitionId, int $status): \Ibexa\Contracts\Core\Persistence\Content\FieldTypeConstraints` -- `public function publishFieldConstraintsData(int $fieldDefinitionId): void` -- `public function storeFieldConstraintsData(int $fieldDefinitionId, int $status, \Ibexa\Contracts\Core\Persistence\Content\FieldTypeConstraints $fieldTypeConstraints): void` - -## Ibexa\Contracts\Core\FieldType\FieldStorage - -- `public function deleteFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, array<string|int, mixed> $fieldIds): bool` -- `public function getFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Persistence\Content\Field $field): mixed` -- `public function hasFieldData(): bool` -- `public function storeFieldData(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Persistence\Content\Field $field): mixed` - -## Ibexa\Contracts\Core\FieldType\FieldType - -- `public function abstract acceptValue(mixed $inputValue): \Ibexa\Contracts\Core\FieldType\Value` -- `public function abstract applyDefaultSettings(mixed &$fieldSettings): mixed` -- `public function abstract applyDefaultValidatorConfiguration(mixed &$validatorConfiguration): mixed` -- `public function abstract fieldSettingsFromHash(array<string|int, mixed>|scalar|null $fieldSettingsHash): mixed` -- `public function abstract fieldSettingsToHash(mixed $fieldSettings): array<string|int, mixed>|scalar|null` -- `public function abstract fromHash(mixed $hash): \Ibexa\Contracts\Core\FieldType\Value` -- `public function abstract fromPersistenceValue(\Ibexa\Contracts\Core\Persistence\Content\FieldValue $fieldValue): \Ibexa\Contracts\Core\FieldType\Value` -- `public function abstract getEmptyValue(): \Ibexa\Contracts\Core\FieldType\Value` -- `public function abstract getFieldTypeIdentifier(): string` -- `public function abstract getName(\Ibexa\Contracts\Core\FieldType\Value $value, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, string $languageCode): string` -- `public function abstract getRelations(\Ibexa\Contracts\Core\FieldType\Value $value): array<string|int, mixed>` -- `public function abstract getSettingsSchema(): mixed` -- `public function abstract getValidatorConfigurationSchema(): mixed` -- `public function abstract isEmptyValue(\Ibexa\Contracts\Core\FieldType\Value $value): bool` -- `public function abstract isSearchable(): bool` -- `public function abstract isSingular(): bool` -- `public function abstract onlyEmptyInstance(): bool` -- `public function abstract toHash(\Ibexa\Contracts\Core\FieldType\Value $value): mixed` -- `public function abstract toPersistenceValue(\Ibexa\Contracts\Core\FieldType\Value $value): \Ibexa\Contracts\Core\Persistence\Content\FieldValue` -- `public function abstract validate(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDef, \Ibexa\Contracts\Core\FieldType\Value $value): array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>` -- `public function abstract validateFieldSettings(mixed $fieldSettings): array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>` -- `public function abstract validateValidatorConfiguration(mixed $validatorConfiguration): array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>` -- `public function abstract validatorConfigurationFromHash(array<string|int, mixed>|scalar|null $validatorConfigurationHash): mixed` -- `public function abstract validatorConfigurationToHash(mixed $validatorConfiguration): array<string|int, mixed>|scalar|null` - -## Ibexa\Contracts\Core\FieldType\GatewayBasedStorage implements Ibexa\Contracts\Core\FieldType\FieldStorage - -- `public function copyLegacyField(\Ibexa\Contracts\Core\Persistence\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Persistence\Content\Field $field, \Ibexa\Contracts\Core\Persistence\Content\Field $originalField): bool|null` - -## Ibexa\Contracts\Core\FieldType\Generic\Type extends Ibexa\Contracts\Core\FieldType\FieldType - -- `public function acceptValue(mixed $inputValue): \Ibexa\Contracts\Core\FieldType\Value` -- `public function applyDefaultSettings(mixed &$fieldSettings): void` -- `public function applyDefaultValidatorConfiguration(mixed &$validatorConfiguration): void` -- `public function fieldSettingsFromHash(mixed $fieldSettingsHash): mixed` -- `public function fieldSettingsToHash(mixed $fieldSettings): array<string|int, mixed>|scalar|null` -- `public function fromHash(mixed $hash): \Ibexa\Contracts\Core\FieldType\Value` -- `public function fromPersistenceValue(\Ibexa\Contracts\Core\Persistence\Content\FieldValue $fieldValue): \Ibexa\Contracts\Core\FieldType\Value` -- `public function getEmptyValue(): \Ibexa\Contracts\Core\FieldType\Value` -- `public function abstract getFieldTypeIdentifier(): string` -- `public function getName(\Ibexa\Contracts\Core\FieldType\Value $value, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, string $languageCode): string` -- `public function getRelations(\Ibexa\Contracts\Core\FieldType\Value $value): array<string|int, mixed>` -- `public function getSettingsSchema(): mixed` -- `public function getValidatorConfigurationSchema(): mixed` -- `public function isEmptyValue(\Ibexa\Contracts\Core\FieldType\Value $value): bool` -- `public function isSearchable(): bool` -- `public function isSingular(): bool` -- `public function onlyEmptyInstance(): bool` -- `public function toHash(\Ibexa\Contracts\Core\FieldType\Value $value): mixed` -- `public function toPersistenceValue(\Ibexa\Contracts\Core\FieldType\Value $value): \Ibexa\Contracts\Core\Persistence\Content\FieldValue` -- `public function validate(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, \Ibexa\Contracts\Core\FieldType\Value $value): array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>` -- `public function validateFieldSettings(mixed $fieldSettings): array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>` -- `public function validateValidatorConfiguration(mixed $validatorConfiguration): array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>` -- `public function validatorConfigurationFromHash(mixed $validatorConfiguration): mixed` -- `public function validatorConfigurationToHash(mixed $validatorConfiguration): array<string|int, mixed>|scalar|null` -- `protected function checkValueType(mixed $value): void` -- `protected function createValueFromInput(mixed $inputValue): mixed` -- `protected function getFieldSettingsConstraints(): \Symfony\Component\Validator\Constraints\Collection|null` -- `protected function getFieldValueConstraints(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): \Symfony\Component\Validator\Constraints\Collection|null` -- `protected function getSortInfo(\Ibexa\Contracts\Core\FieldType\Value $value): mixed` -- `protected function getValueClass(): string` -- `protected function mapConstraintViolationList(\Symfony\Component\Validator\ConstraintViolationListInterface $constraintViolationList): array<string|int, mixed>` - -## Ibexa\Contracts\Core\FieldType\Generic\ValidationError\ConstraintViolationAdapter implements Ibexa\Contracts\Core\FieldType\ValidationError - -- `public function __construct(\Symfony\Component\Validator\ConstraintViolationInterface $violation)` -- `public function getTarget(): string` -- `public function getTranslatableMessage(): \Ibexa\Contracts\Core\Repository\Values\Translation` -- `public function setTarget(string $target): void` - -## Ibexa\Contracts\Core\FieldType\Indexable - -- `public function getDefaultMatchField(): string|null` -- `public function getDefaultSortField(): string|null` -- `public function getIndexData(\Ibexa\Contracts\Core\Search\Field $field, \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition $fieldDefinition): array<string|int, \Ibexa\Contracts\Core\Search\Field>` -- `public function getIndexDefinition(): array<string, \Ibexa\Contracts\Core\Search\FieldType>` - -## Ibexa\Contracts\Core\FieldType\StorageGateway implements Ibexa\Contracts\Core\FieldType\StorageGatewayInterface - -- `protected function getSequenceName(string $table, string $column): string` - -## Ibexa\Contracts\Core\FieldType\ValidationError extends Ibexa\Contracts\Core\Repository\Translatable - -- `public function getTarget(): string|null` -- `public function getTranslatableMessage(): \Ibexa\Contracts\Core\Repository\Values\Translation` -- `public function setTarget(string $target): void` - -## Ibexa\Contracts\Core\FieldType\ValidationError\NonConfigurableValidationError extends Ibexa\Contracts\Core\FieldType\ValidationError\AbstractValidationError - -- `public function __construct(string $fieldTypeValidatorIdentifier, string $target)` - -## Ibexa\Contracts\Core\FieldType\ValidationError\UnknownValidatorValidationError extends Ibexa\Contracts\Core\FieldType\ValidationError\AbstractValidationError - -- `public function __construct(string $validatorIdentifier, string $target)` - -## Ibexa\Contracts\Core\FieldType\Value - -- `public function __toString(): string` - -## Ibexa\Contracts\Core\FieldType\ValueSerializerInterface - -- `public function decode(string|null $data[, array<string|int, mixed> $context = [] ]): array<string|int, mixed>|null` -- `public function denormalize(array<string|int, mixed>|null $data, string $valueClass[, array<string|int, mixed> $context = [] ]): \Ibexa\Contracts\Core\FieldType\Value` -- `public function encode(array<string|int, mixed>|null $data[, array<string|int, mixed> $context = [] ]): string|null` -- `public function normalize(\Ibexa\Contracts\Core\FieldType\Value $value[, array<string|int, mixed> $context = [] ]): array<string|int, mixed>|null` - -## Ibexa\Contracts\Core\HashGenerator - -- `public function generate(): string` - -## Ibexa\Contracts\Core\IO\BinaryFileCreateStruct - -- `public function setInputStream(resource $inputStream): void` - -## Ibexa\Contracts\Core\IO\MimeTypeDetector - -- `public function getFromBuffer(string $buffer): string` -- `public function getFromPath(string $path): string` - -## Ibexa\Contracts\Core\Ibexa - -- `public const mixed VERSION = '5.0.4'` - -## Ibexa\Contracts\Core\Limitation\TargetAwareType extends Ibexa\Contracts\Core\Limitation\Type - -- `public function buildValue(array<int, mixed> $limitationValues): \Ibexa\Contracts\Core\Repository\Values\User\Limitation` -- `public function evaluate(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $value, \Ibexa\Contracts\Core\Repository\Values\User\UserReference $currentUser, \Ibexa\Contracts\Core\Repository\Values\ValueObject $object[, array<string|int, \Ibexa\Contracts\Core\Limitation\Target>|null $targets = null ]): bool|null` -- `public function getCriterion(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $value, \Ibexa\Contracts\Core\Repository\Values\User\UserReference $currentUser): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface` -- `public function validate(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitationValue): array<int, \Ibexa\Contracts\Core\FieldType\ValidationError>` -- `public function valueSchema(): int|array<string|int, mixed>` -- `public const mixed ACCESS_ABSTAIN = null` -- `public const mixed ACCESS_DENIED = false` -- `public const mixed ACCESS_GRANTED = true` -- `public const mixed VALUE_SCHEMA_LOCATION_ID = 1` -- `public const mixed VALUE_SCHEMA_LOCATION_PATH = 2` - -## Ibexa\Contracts\Core\Limitation\Target\Builder\VersionBuilder - -- `public function build(): \Ibexa\Contracts\Core\Limitation\Target\Version` -- `public function changeStatusTo(int $status): self` -- `public function createFromAnyContentTypeOf(array<int, int> $contentTypeIds): self` -- `public function publishTranslations(array<int, string> $languageCodes): self` -- `public function translateToAnyLanguageOf(array<string|int, mixed> $languageCodes): self` -- `public function updateFields(array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Field> $updatedFields): self` -- `public function updateFieldsTo(string|null $initialLanguageCode, array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Field> $fields): self` - -## Ibexa\Contracts\Core\Limitation\Target\DestinationLocation extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Limitation\Target - -- `public function __construct(int $locationId, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $targetContentInfo[, array<string|int, mixed> $properties = [] ])` -- `public function getLocationId(): int` -- `public function getTargetContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Limitation\Target\Version extends Ibexa\Contracts\Core\Persistence\ValueObject implements Ibexa\Contracts\Core\Limitation\Target - -- `public function deleteTranslations(array<string|int, string> $translationsToDelete): self` -- `public function getTranslationsToDelete(): array<string|int, string>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Limitation\Type - -- `public function buildValue(array<int, mixed> $limitationValues): \Ibexa\Contracts\Core\Repository\Values\User\Limitation` -- `public function evaluate(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $value, \Ibexa\Contracts\Core\Repository\Values\User\UserReference $currentUser, object $object[, array<int, object>|null $targets = null ]): bool|null` -- `public function getCriterion(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $value, \Ibexa\Contracts\Core\Repository\Values\User\UserReference $currentUser): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface` -- `public function validate(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitationValue): array<int, \Ibexa\Contracts\Core\FieldType\ValidationError>` -- `public function valueSchema(): int|array<string|int, mixed>` -- `public const mixed ACCESS_ABSTAIN = null` -- `public const mixed ACCESS_DENIED = false` -- `public const mixed ACCESS_GRANTED = true` -- `public const mixed VALUE_SCHEMA_LOCATION_ID = 1` -- `public const mixed VALUE_SCHEMA_LOCATION_PATH = 2` - -## Ibexa\Contracts\Core\MVC\EventSubscriber\ConfigScopeChangeSubscriber - -- `public function onConfigScopeChange(\Ibexa\Core\MVC\Symfony\Event\ScopeChangeEvent $event): void` - -## Ibexa\Contracts\Core\MVC\Templating\BaseRenderStrategy implements Ibexa\Contracts\Core\MVC\Templating\RenderStrategy - -- `protected function getFragmentRenderer(string $name): \Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface` - -## Ibexa\Contracts\Core\MVC\Templating\RenderStrategy - -- `public function render(\Ibexa\Contracts\Core\Repository\Values\ValueObject $valueObject, \Ibexa\Core\MVC\Symfony\Templating\RenderOptions $options): string` -- `public function supports(\Ibexa\Contracts\Core\Repository\Values\ValueObject $valueObject): bool` - -## Ibexa\Contracts\Core\MVC\View\VariableProvider - -- `public function getIdentifier(): string` -- `public function getTwigVariables(\Ibexa\Core\MVC\Symfony\View\View $view[, array<string|int, mixed> $options = [] ]): object` - -## Ibexa\Contracts\Core\MVC\View\ViewMatcherRegistryInterface - -- `public function getMatcher(string $matcherIdentifier): \Ibexa\Core\MVC\Symfony\Matcher\ViewMatcherInterface` -- `public function hasMatcher(string $matcherIdentifier): bool` -- `public function setMatcher(string $matcherIdentifier, \Ibexa\Core\MVC\Symfony\Matcher\ViewMatcherInterface $matcher): void` - -## Ibexa\Contracts\Core\Options\MutableOptionsBag extends Ibexa\Contracts\Core\Options\OptionsBag - -- `public function all(): array<string, mixed>` -- `public function get(string $key[, mixed $default = null ]): mixed` -- `public function has(string $key): bool` -- `public function remove(string $key): void` -- `public function set(string $key, mixed $value): void` - -## Ibexa\Contracts\Core\Options\OptionsBag - -- `public function all(): array<string, mixed>` -- `public function get(string $key[, mixed $default = null ]): mixed` -- `public function has(string $key): bool` - -## Ibexa\Contracts\Core\Persistence\Bookmark\Bookmark extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Bookmark\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Bookmark\Handler - -- `public function countUserBookmarks(int $userId): int` -- `public function create(\Ibexa\Contracts\Core\Persistence\Bookmark\CreateStruct $createStruct): \Ibexa\Contracts\Core\Persistence\Bookmark\Bookmark` -- `public function delete(int $bookmarkId): void` -- `public function loadByUserIdAndLocationId(int $userId, array<string|int, mixed> $locationIds): array<string|int, \Ibexa\Contracts\Core\Persistence\Bookmark\Bookmark>` -- `public function loadUserBookmarks(int $userId[, int $offset = 0 ][, int $limit = -1 ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Bookmark\Bookmark>` -- `public function loadUserIdsByLocation(\Ibexa\Contracts\Core\Persistence\Content\Location $location): array<string|int, int>` -- `public function locationSwapped(int $location1Id, int $location2Id): void` - -## Ibexa\Contracts\Core\Persistence\Content extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\ContentInfo extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed STATUS_DRAFT = 0` -- `public const mixed STATUS_PUBLISHED = 1` -- `public const mixed STATUS_TRASHED = 2` - -## Ibexa\Contracts\Core\Persistence\Content\ContentItem extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `public function getContent(): \Ibexa\Contracts\Core\Persistence\Content` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Persistence\Content\ContentInfo` -- `public function getType(): \Ibexa\Contracts\Core\Persistence\Content\Type` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Field extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `public function __construct([array<string, mixed> $properties = [] ])` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\FieldTypeConstraints extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\FieldValue extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Handler - -- `public function addRelation(\Ibexa\Contracts\Core\Persistence\Content\Relation\CreateStruct $createStruct): \Ibexa\Contracts\Core\Persistence\Content\Relation` -- `public function copy(mixed $contentId[, mixed|null $versionNo = null ][, int|null $newOwnerId = null ]): \Ibexa\Contracts\Core\Persistence\Content` -- `public function countDraftsForUser(int $userId): int` -- `public function countRelations(int $sourceContentId[, int|null $sourceContentVersionNo = null ][, int|null $type = null ]): int` -- `public function countReverseRelations(int $destinationContentId[, int|null $type = null ]): int` -- `public function create(\Ibexa\Contracts\Core\Persistence\Content\CreateStruct $content): \Ibexa\Contracts\Core\Persistence\Content` -- `public function createDraftFromVersion(mixed $contentId, mixed $srcVersion, mixed $userId[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Persistence\Content` -- `public function deleteContent(int $contentId): bool` -- `public function deleteTranslationFromContent(int $contentId, string $languageCode): mixed` -- `public function deleteTranslationFromDraft(int $contentId, int $versionNo, string $languageCode): \Ibexa\Contracts\Core\Persistence\Content` -- `public function deleteVersion(int $contentId, int $versionNo): bool` -- `public function listVersions(int $contentId[, mixed|null $status = null ][, int $limit = -1 ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\VersionInfo>` -- `public function load(int|string $id[, int|null $version = null ][, array<string|int, string>|null $translations = null ]): \Ibexa\Contracts\Core\Persistence\Content` -- `public function loadContentInfo(int|string $contentId): \Ibexa\Contracts\Core\Persistence\Content\ContentInfo` -- `public function loadContentInfoByRemoteId(mixed $remoteId): \Ibexa\Contracts\Core\Persistence\Content\ContentInfo` -- `public function loadContentInfoList(array<string|int, mixed> $contentIds): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\ContentInfo>` -- `public function loadContentList(array<string|int, int> $contentIds[, array<string|int, string>|null $translations = null ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content>` -- `public function loadDraftListForUser(int $userId[, int $offset = 0 ][, int $limit = -1 ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\VersionInfo>` -- `public function loadDraftsForUser(int $userId): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\VersionInfo>` -- `public function loadRelation(int $relationId): \Ibexa\Contracts\Core\Persistence\Content\Relation` -- `public function loadRelationList(int $sourceContentId, int $limit[, int $offset = 0 ][, int|null $sourceContentVersionNo = null ][, int|null $type = null ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Relation>` -- `public function loadReverseRelationList(int $destinationContentId[, int $offset = 0 ][, int $limit = -1 ][, int|null $type = null ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Relation>` -- `public function loadReverseRelations(mixed $destinationContentId[, int|null $type = null ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Relation>` -- `public function loadVersionInfo(int|string $contentId[, int|null $versionNo = null ]): \Ibexa\Contracts\Core\Persistence\Content\VersionInfo` -- `public function loadVersionInfoList(array<string|int, int> $contentIds): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\VersionInfo>` -- `public function loadVersionNoArchivedWithin(int $contentId, int $seconds): array<string|int, int>` -- `public function publish(int $contentId, int $versionNo, \Ibexa\Contracts\Core\Persistence\Content\MetadataUpdateStruct $metaDataUpdateStruct): \Ibexa\Contracts\Core\Persistence\Content` -- `public function removeRelation(int $relationId, int $type[, int|null $destinationContentId = null ]): mixed` -- `public function setStatus(int $contentId, int $status, int $version): bool` -- `public function updateContent(int $contentId, int $versionNo, \Ibexa\Contracts\Core\Persistence\Content\UpdateStruct $content): \Ibexa\Contracts\Core\Persistence\Content` -- `public function updateMetadata(int $contentId, \Ibexa\Contracts\Core\Persistence\Content\MetadataUpdateStruct $content): \Ibexa\Contracts\Core\Persistence\Content\ContentInfo` - -## Ibexa\Contracts\Core\Persistence\Content\Language extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Language\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Language\Handler - -- `public function create(\Ibexa\Contracts\Core\Persistence\Content\Language\CreateStruct $struct): \Ibexa\Contracts\Core\Persistence\Content\Language` -- `public function delete(mixed $id): mixed` -- `public function load(mixed $id): \Ibexa\Contracts\Core\Persistence\Content\Language` -- `public function loadAll(): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Language>` -- `public function loadByLanguageCode(string $languageCode): \Ibexa\Contracts\Core\Persistence\Content\Language` -- `public function loadList(array<string|int, mixed> $ids): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Language>|iterable<string|int, mixed>` -- `public function loadListByLanguageCodes(array<string|int, string> $languageCodes): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Language>|iterable<string|int, mixed>` -- `public function update(\Ibexa\Contracts\Core\Persistence\Content\Language $struct): mixed` - -## Ibexa\Contracts\Core\Persistence\Content\Location extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed SORT_FIELD_CLASS_IDENTIFIER = 6` -- `public const mixed SORT_FIELD_CLASS_NAME = 7` -- `public const mixed SORT_FIELD_CONTENTOBJECT_ID = 12` -- `public const mixed SORT_FIELD_DEPTH = 5` -- `public const mixed SORT_FIELD_MODIFIED = 3` -- `public const mixed SORT_FIELD_MODIFIED_SUBNODE = 10` -- `public const mixed SORT_FIELD_NAME = 9` -- `public const mixed SORT_FIELD_NODE_ID = 11` -- `public const mixed SORT_FIELD_PATH = 1` -- `public const mixed SORT_FIELD_PRIORITY = 8` -- `public const mixed SORT_FIELD_PUBLISHED = 2` -- `public const mixed SORT_FIELD_SECTION = 4` -- `public const mixed SORT_ORDER_ASC = 1` -- `public const mixed SORT_ORDER_DESC = 0` - -## Ibexa\Contracts\Core\Persistence\Content\LocationWithContentInfo extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `public function getContentInfo(): \Ibexa\Contracts\Core\Persistence\Content\ContentInfo` -- `public function getLocation(): \Ibexa\Contracts\Core\Persistence\Content\Location` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Location\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Location\Handler - -- `public function changeMainLocation(mixed $contentId, mixed $locationId): mixed` -- `public function copySubtree(mixed $sourceId, mixed $destinationParentId): \Ibexa\Contracts\Core\Persistence\Content\Location` -- `public function countAllLocations(): int` -- `public function countLocationsByContent(int $contentId): int` -- `public function create(\Ibexa\Contracts\Core\Persistence\Content\Location\CreateStruct $location): \Ibexa\Contracts\Core\Persistence\Content\Location` -- `public function deleteChildrenDrafts(int $locationId): void` -- `public function getSubtreeSize(string $path): int` -- `public function hide(mixed $id): mixed` -- `public function load(int $locationId[, array<string|int, string>|null $translations = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Persistence\Content\Location` -- `public function loadAllLocations(int $offset, int $limit): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Location>` -- `public function loadByRemoteId(string $remoteId[, array<string|int, string>|null $translations = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Persistence\Content\Location` -- `public function loadList(array<string|int, int> $locationIds[, array<string|int, string>|null $translations = null ][, bool $useAlwaysAvailable = true ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Location>|iterable<string|int, mixed>` -- `public function loadLocationsByContent(int $contentId[, int $rootLocationId = null ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Location>` -- `public function loadLocationsByTrashContent(int $contentId[, int|null $rootLocationId = null ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Location>` -- `public function loadParentLocationsForDraftContent(mixed $contentId): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Location>` -- `public function loadSubtreeIds(int $locationId): array<string|int, mixed>` -- `public function move(mixed $sourceId, mixed $destinationParentId): bool` -- `public function removeSubtree(mixed $locationId): bool` -- `public function setInvisible(int $id): void` -- `public function setSectionForSubtree(mixed $locationId, mixed $sectionId): mixed` -- `public function setVisible(int $id): void` -- `public function swap(mixed $locationId1, mixed $locationId2): bool` -- `public function unHide(mixed $id): mixed` -- `public function update(\Ibexa\Contracts\Core\Persistence\Content\Location\UpdateStruct $location, int $locationId): mixed` - -## Ibexa\Contracts\Core\Persistence\Content\Location\Trash\Handler - -- `public function deleteTrashItem(int $trashedId): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult` -- `public function emptyTrash(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList` -- `public function findTrashItems([CriterionInterface|null $criterion = null ][, int $offset = 0 ][, int $limit = null ][, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause> $sort = null ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Location\Trashed>|TrashResult` -- `public function loadTrashItem(int $id): \Ibexa\Contracts\Core\Persistence\Content\Location\Trashed` -- `public function recover(mixed $trashedId, mixed $newParentId): int` -- `public function trashSubtree(mixed $locationId): \Ibexa\Contracts\Core\Persistence\Content\Location\Trashed|null` - -## Ibexa\Contracts\Core\Persistence\Content\Location\Trash\TrashResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function getIterator(): \Traversable` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Location\Trashed extends Ibexa\Contracts\Core\Persistence\Content\Location - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed SORT_FIELD_CLASS_IDENTIFIER = 6` -- `public const mixed SORT_FIELD_CLASS_NAME = 7` -- `public const mixed SORT_FIELD_CONTENTOBJECT_ID = 12` -- `public const mixed SORT_FIELD_DEPTH = 5` -- `public const mixed SORT_FIELD_MODIFIED = 3` -- `public const mixed SORT_FIELD_MODIFIED_SUBNODE = 10` -- `public const mixed SORT_FIELD_NAME = 9` -- `public const mixed SORT_FIELD_NODE_ID = 11` -- `public const mixed SORT_FIELD_PATH = 1` -- `public const mixed SORT_FIELD_PRIORITY = 8` -- `public const mixed SORT_FIELD_PUBLISHED = 2` -- `public const mixed SORT_FIELD_SECTION = 4` -- `public const mixed SORT_ORDER_ASC = 1` -- `public const mixed SORT_ORDER_DESC = 0` - -## Ibexa\Contracts\Core\Persistence\Content\Location\UpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\MetadataUpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\ObjectState extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\ObjectState\Group extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\ObjectState\Handler - -- `public function create(mixed $groupId, \Ibexa\Contracts\Core\Persistence\Content\ObjectState\InputStruct $input): \Ibexa\Contracts\Core\Persistence\Content\ObjectState` -- `public function createGroup(\Ibexa\Contracts\Core\Persistence\Content\ObjectState\InputStruct $input): \Ibexa\Contracts\Core\Persistence\Content\ObjectState\Group` -- `public function delete(mixed $stateId): mixed` -- `public function deleteGroup(mixed $groupId): mixed` -- `public function getContentCount(mixed $stateId): int` -- `public function getContentState(mixed $contentId, mixed $stateGroupId): \Ibexa\Contracts\Core\Persistence\Content\ObjectState` -- `public function load(mixed $stateId): \Ibexa\Contracts\Core\Persistence\Content\ObjectState` -- `public function loadAllGroups([int $offset = 0 ][, int $limit = -1 ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\ObjectState\Group>` -- `public function loadByIdentifier(string $identifier, mixed $groupId): \Ibexa\Contracts\Core\Persistence\Content\ObjectState` -- `public function loadGroup(mixed $groupId): \Ibexa\Contracts\Core\Persistence\Content\ObjectState\Group` -- `public function loadGroupByIdentifier(string $identifier): \Ibexa\Contracts\Core\Persistence\Content\ObjectState\Group` -- `public function loadObjectStates(mixed $groupId): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\ObjectState>` -- `public function setContentState(mixed $contentId, mixed $groupId, mixed $stateId): bool` -- `public function setPriority(mixed $stateId, int $priority): mixed` -- `public function update(mixed $stateId, \Ibexa\Contracts\Core\Persistence\Content\ObjectState\InputStruct $input): \Ibexa\Contracts\Core\Persistence\Content\ObjectState` -- `public function updateGroup(mixed $groupId, \Ibexa\Contracts\Core\Persistence\Content\ObjectState\InputStruct $input): \Ibexa\Contracts\Core\Persistence\Content\ObjectState\Group` - -## Ibexa\Contracts\Core\Persistence\Content\ObjectState\InputStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Relation extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Relation\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Section extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Section\Handler - -- `public function assign(mixed $sectionId, mixed $contentId): mixed` -- `public function assignmentsCount(mixed $sectionId): int` -- `public function countRoleAssignmentsUsingSection(int $sectionId): int` -- `public function create(string $name, string $identifier): \Ibexa\Contracts\Core\Persistence\Content\Section` -- `public function delete(mixed $id): mixed` -- `public function load(mixed $id): \Ibexa\Contracts\Core\Persistence\Content\Section` -- `public function loadAll(): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Section>` -- `public function loadByIdentifier(string $identifier): \Ibexa\Contracts\Core\Persistence\Content\Section` -- `public function policiesCount(mixed $sectionId): int` -- `public function update(mixed $id, string $name, string $identifier): \Ibexa\Contracts\Core\Persistence\Content\Section` - -## Ibexa\Contracts\Core\Persistence\Content\Type extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Type\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `public function __construct([array<string, mixed> $properties = [] ])` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Type\CriterionHandlerInterface - -- `public function apply(\Ibexa\Core\Persistence\Legacy\Content\Type\Gateway\CriterionVisitor\CriterionVisitor $criterionVisitor, \Doctrine\DBAL\Query\QueryBuilder $qb, \Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface $criterion): string|CompositeExpression` -- `public function supports(\Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface $criterion): bool` - -## Ibexa\Contracts\Core\Persistence\Content\Type\DeleteByParamsStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Type\Group extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Type\Group\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Type\Group\UpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\Type\Handler - -- `public function addFieldDefinition(mixed $contentTypeId, int $status, \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition $fieldDefinition): \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition` -- `public function copy(mixed $userId, mixed $contentTypeId, int $status): \Ibexa\Contracts\Core\Persistence\Content\Type` -- `public function create(\Ibexa\Contracts\Core\Persistence\Content\Type\CreateStruct $contentType): \Ibexa\Contracts\Core\Persistence\Content\Type` -- `public function createDraft(mixed $modifierId, mixed $contentTypeId): \Ibexa\Contracts\Core\Persistence\Content\Type` -- `public function createGroup(\Ibexa\Contracts\Core\Persistence\Content\Type\Group\CreateStruct $group): \Ibexa\Contracts\Core\Persistence\Content\Type\Group` -- `public function delete(mixed $contentTypeId, int $status): mixed` -- `public function deleteByUserAndStatus(int $userId, int $status): void` -- `public function deleteGroup(mixed $groupId): mixed` -- `public function findContentTypes([ContentTypeQuery|null $query = null ][, array<int, string> $prioritizedLanguages = [] ]): array{count: int, items: array<string,mixed>}` -- `public function getContentCount(mixed $contentTypeId): int` -- `public function getFieldDefinition(mixed $id, int $status): \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition` -- `public function getSearchableFieldMap(): array<string|int, mixed>` -- `public function link(mixed $groupId, mixed $contentTypeId, int $status): mixed` -- `public function load(mixed $contentTypeId[, int $status = Type::STATUS_DEFINED ]): \Ibexa\Contracts\Core\Persistence\Content\Type` -- `public function loadAllGroups(): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Type\Group>` -- `public function loadByIdentifier(string $identifier): \Ibexa\Contracts\Core\Persistence\Content\Type` -- `public function loadByRemoteId(mixed $remoteId): \Ibexa\Contracts\Core\Persistence\Content\Type` -- `public function loadContentTypeList(array<string|int, mixed> $contentTypeIds): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Type>` -- `public function loadContentTypes(mixed $groupId[, int $status = Type::STATUS_DEFINED ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Type>` -- `public function loadContentTypesByFieldDefinitionIdentifier(string $identifier): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Type>` -- `public function loadGroup(mixed $groupId): \Ibexa\Contracts\Core\Persistence\Content\Type\Group` -- `public function loadGroupByIdentifier(string $identifier): \Ibexa\Contracts\Core\Persistence\Content\Type\Group` -- `public function loadGroups(array<string|int, mixed> $groupIds): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\Type\Group>` -- `public function publish(mixed $contentTypeId): mixed` -- `public function removeContentTypeTranslation(int $contentTypeId, string $languageCode): \Ibexa\Contracts\Core\Persistence\Content\Type` -- `public function removeFieldDefinition(int $contentTypeId, int $status, \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition $fieldDefinition): void` -- `public function unlink(mixed $groupId, mixed $contentTypeId, int $status): mixed` -- `public function update(mixed $contentTypeId, int $status, \Ibexa\Contracts\Core\Persistence\Content\Type\UpdateStruct $contentType): mixed` -- `public function updateFieldDefinition(mixed $contentTypeId, int $status, \Ibexa\Contracts\Core\Persistence\Content\Type\FieldDefinition $fieldDefinition): mixed` -- `public function updateGroup(\Ibexa\Contracts\Core\Persistence\Content\Type\Group\UpdateStruct $group): mixed` - -## Ibexa\Contracts\Core\Persistence\Content\Type\UpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\UpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\UrlAlias extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed LOCATION = 0` -- `public const mixed RESOURCE = 1` -- `public const mixed VIRTUAL = 2` - -## Ibexa\Contracts\Core\Persistence\Content\UrlAlias\Handler - -- `public function archiveUrlAliasesForDeletedTranslations(int $locationId, int $parentLocationId, array<string|int, mixed> $languageCodes): mixed` -- `public function createCustomUrlAlias(mixed $locationId, string $path[, bool $forwarding = false ][, string|null $languageCode = null ][, bool $alwaysAvailable = false ]): \Ibexa\Contracts\Core\Persistence\Content\UrlAlias` -- `public function createGlobalUrlAlias(string $resource, string $path[, bool $forwarding = false ][, string|null $languageCode = null ][, bool $alwaysAvailable = false ]): \Ibexa\Contracts\Core\Persistence\Content\UrlAlias` -- `public function deleteCorruptedUrlAliases(): int` -- `public function listGlobalURLAliases([string|null $languageCode = null ][, int $offset = 0 ][, int $limit = -1 ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\UrlAlias>` -- `public function listURLAliasesForLocation(mixed $locationId[, bool $custom = false ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\UrlAlias>` -- `public function loadUrlAlias(string $id): \Ibexa\Contracts\Core\Persistence\Content\UrlAlias` -- `public function locationCopied(mixed $locationId, mixed $newLocationId, mixed $newParentId): mixed` -- `public function locationDeleted(mixed $locationId): array<string|int, mixed>` -- `public function locationMoved(mixed $locationId, mixed $oldParentId, mixed $newParentId): mixed` -- `public function locationSwapped(string|int $location1Id, string|int $location1ParentId, string|int $location2Id, string|int $location2ParentId): mixed` -- `public function lookup(string $url): \Ibexa\Contracts\Core\Persistence\Content\UrlAlias` -- `public function publishUrlAliasForLocation(mixed $locationId, mixed $parentLocationId, string $name, string $languageCode[, bool $alwaysAvailable = false ]): string` -- `public function removeURLAliases(array<string|int, \Ibexa\Contracts\Core\Persistence\Content\UrlAlias> $urlAliases): bool` -- `public function repairBrokenUrlAliasesForLocation(int $locationId): mixed` -- `public function translationRemoved(array<string|int, int> $locationIds, string $languageCode): mixed` - -## Ibexa\Contracts\Core\Persistence\Content\UrlWildcard extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Content\UrlWildcard\Handler - -- `public function countAll(): int` -- `public function create(string $sourceUrl, string $destinationUrl[, bool $forward = false ]): \Ibexa\Contracts\Core\Persistence\Content\UrlWildcard` -- `public function exactSourceUrlExists(string $sourceUrl): bool` -- `public function find(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\URLWildcardQuery $query): array<string|int, mixed>` -- `public function load(mixed $id): \Ibexa\Contracts\Core\Persistence\Content\UrlWildcard` -- `public function loadAll([int $offset = 0 ][, int $limit = -1 ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Content\UrlWildcard>` -- `public function remove(mixed $id): mixed` -- `public function translate(string $sourceUrl): \Ibexa\Contracts\Core\Persistence\Content\UrlWildcard` -- `public function update(int $id, string $sourceUrl, string $destinationUrl, bool $forward): \Ibexa\Contracts\Core\Persistence\Content\UrlWildcard` - -## Ibexa\Contracts\Core\Persistence\Content\VersionInfo extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed STATUS_ARCHIVED = 3` -- `public const mixed STATUS_INTERNAL_DRAFT = 5` -- `public const mixed STATUS_PENDING = 2` -- `public const mixed STATUS_PUBLISHED = 1` -- `public const mixed STATUS_QUEUED = 7` -- `public const mixed STATUS_REJECTED = 4` -- `public const mixed STATUS_REPEAT = 6` - -## Ibexa\Contracts\Core\Persistence\FieldType - -- `public function getEmptyValue(): \Ibexa\Contracts\Core\Persistence\Content\FieldValue` -- `public function isEmptyValue(\Ibexa\Contracts\Core\Persistence\Content\FieldValue $fieldValue): bool` - -## Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder extends Doctrine\DBAL\Query\QueryBuilder - -- `public function buildOperatorBasedCriterionConstraint(string $columnName, array<string|int, mixed> $criterionValue, string $operator): string` -- `public function getExistingTableAliasJoinCondition(string $tableAlias): string` -- `public function joinAllLocations(): \Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder` -- `public function joinOnce(string $fromAlias, string $tableName, string $tableAlias, string $conditions): \Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder` -- `public function joinPublishedVersion(): \Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder` -- `public function leftJoinOnce(string $fromAlias, string $tableName, string $tableAlias, string $conditions): \Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder` -- `public const mixed SORT_ORDER_MAP = [\Ibexa\Contracts\Core\Repository\Values\Content\Query::SORT_ASC => 'ASC', \Ibexa\Contracts\Core\Repository\Values\Content\Query::SORT_DESC => 'DESC']` - -## Ibexa\Contracts\Core\Persistence\Handler - -- `public function bookmarkHandler(): \Ibexa\Contracts\Core\Persistence\Bookmark\Handler` -- `public function contentHandler(): \Ibexa\Contracts\Core\Persistence\Content\Handler` -- `public function contentLanguageHandler(): \Ibexa\Contracts\Core\Persistence\Content\Language\Handler` -- `public function contentTypeHandler(): \Ibexa\Contracts\Core\Persistence\Content\Type\Handler` -- `public function locationHandler(): \Ibexa\Contracts\Core\Persistence\Content\Location\Handler` -- `public function notificationHandler(): \Ibexa\Contracts\Core\Persistence\Notification\Handler` -- `public function objectStateHandler(): \Ibexa\Contracts\Core\Persistence\Content\ObjectState\Handler` -- `public function sectionHandler(): \Ibexa\Contracts\Core\Persistence\Content\Section\Handler` -- `public function settingHandler(): \Ibexa\Contracts\Core\Persistence\Setting\Handler` -- `public function transactionHandler(): \Ibexa\Contracts\Core\Persistence\TransactionHandler` -- `public function trashHandler(): \Ibexa\Contracts\Core\Persistence\Content\Location\Trash\Handler` -- `public function urlAliasHandler(): \Ibexa\Contracts\Core\Persistence\Content\UrlAlias\Handler` -- `public function urlHandler(): \Ibexa\Core\Persistence\Legacy\URL\Handler` -- `public function urlWildcardHandler(): \Ibexa\Contracts\Core\Persistence\Content\UrlWildcard\Handler` -- `public function userHandler(): \Ibexa\Contracts\Core\Persistence\User\Handler` -- `public function userPreferenceHandler(): \Ibexa\Contracts\Core\Persistence\UserPreference\Handler` - -## Ibexa\Contracts\Core\Persistence\Notification\CreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Notification\Handler - -- `public function bulkUpdateUserNotifications(int $ownerId, \Ibexa\Contracts\Core\Persistence\Notification\UpdateStruct $updateStruct[, bool $pendingOnly = false ][, array<string|int, int> $notificationIds = [] ]): array<string|int, int>` -- `public function countNotifications(int $currentUserId[, NotificationQuery|null $query = null ]): int` -- `public function countPendingNotifications(int $ownerId): int` -- `public function createNotification(\Ibexa\Contracts\Core\Persistence\Notification\CreateStruct $createStruct): \Ibexa\Contracts\Core\Persistence\Notification\Notification` -- `public function delete(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` -- `public function findUserNotifications(int $userId[, NotificationQuery|null $query = null ]): array<string|int, \Ibexa\Contracts\Core\Persistence\Notification\Notification>` -- `public function getNotificationById(int $notificationId): \Ibexa\Contracts\Core\Persistence\Notification\Notification` -- `public function loadUserNotifications(int $userId, int $offset, int $limit): array<string|int, \Ibexa\Contracts\Core\Persistence\Notification\Notification>` -- `public function updateNotification(\Ibexa\Contracts\Core\Persistence\Notification\Notification $notification, \Ibexa\Contracts\Core\Persistence\Notification\UpdateStruct $updateStruct): \Ibexa\Contracts\Core\Persistence\Notification\Notification` - -## Ibexa\Contracts\Core\Persistence\Notification\Notification extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Notification\UpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\Setting\Setting extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\TransactionHandler - -- `public function beginTransaction(): mixed` -- `public function commit(): mixed` -- `public function rollback(): mixed` - -## Ibexa\Contracts\Core\Persistence\URL\Handler - -- `public function find(\Ibexa\Contracts\Core\Repository\Values\URL\URLQuery $query): array<string|int, mixed>` -- `public function findUsages(int $id): array<string|int, mixed>` -- `public function loadById(int $id): \Ibexa\Contracts\Core\Persistence\URL\URL` -- `public function loadByUrl(string $url): \Ibexa\Contracts\Core\Persistence\URL\URL` -- `public function updateUrl(int $id, \Ibexa\Contracts\Core\Persistence\URL\URLUpdateStruct $urlUpdateStruct): \Ibexa\Contracts\Core\Persistence\URL\URL` - -## Ibexa\Contracts\Core\Persistence\URL\URL extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\URL\URLUpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\User extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\UserPreference\Handler - -- `public function countUserPreferences(int $userId): int` -- `public function getUserPreferenceByUserIdAndName(int $userId, string $name): \Ibexa\Contracts\Core\Persistence\UserPreference\UserPreference` -- `public function loadUserPreferences(int $userId, int $offset, int $limit): array<string|int, \Ibexa\Contracts\Core\Persistence\UserPreference\UserPreference>` -- `public function setUserPreference(\Ibexa\Contracts\Core\Persistence\UserPreference\UserPreferenceSetStruct $setStruct): \Ibexa\Contracts\Core\Persistence\UserPreference\UserPreference` - -## Ibexa\Contracts\Core\Persistence\UserPreference\UserPreference extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\UserPreference\UserPreferenceSetStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\User\Handler - -- `public function addPolicy(mixed $roleId, \Ibexa\Contracts\Core\Persistence\User\Policy $policy): \Ibexa\Contracts\Core\Persistence\User\Policy` -- `public function addPolicyByRoleDraft(mixed $roleId, \Ibexa\Contracts\Core\Persistence\User\Policy $policy): \Ibexa\Contracts\Core\Persistence\User\Policy` -- `public function assignRole(mixed $contentId, mixed $roleId[, array<string|int, mixed> $limitation = null ]): mixed` -- `public function copyRole(\Ibexa\Contracts\Core\Persistence\User\RoleCopyStruct $copyStruct): \Ibexa\Contracts\Core\Persistence\User\Role` -- `public function countRoleAssignments(int $roleId): int` -- `public function create(\Ibexa\Contracts\Core\Persistence\User $user): \Ibexa\Contracts\Core\Persistence\User` -- `public function createRole(\Ibexa\Contracts\Core\Persistence\User\RoleCreateStruct $createStruct): \Ibexa\Contracts\Core\Persistence\User\Role` -- `public function createRoleDraft(mixed $roleId): \Ibexa\Contracts\Core\Persistence\User\Role` -- `public function delete(mixed $userId): mixed` -- `public function deletePolicy(mixed $policyId, mixed $roleId): mixed` -- `public function deleteRole(mixed $roleId[, int $status = Role::STATUS_DEFINED ]): mixed` -- `public function expireUserToken(string $hash): mixed` -- `public function load(mixed $userId): \Ibexa\Contracts\Core\Persistence\User` -- `public function loadByEmail(string $email): \Ibexa\Contracts\Core\Persistence\User` -- `public function loadByLogin(string $login): \Ibexa\Contracts\Core\Persistence\User` -- `public function loadRole(mixed $roleId[, int $status = Role::STATUS_DEFINED ]): \Ibexa\Contracts\Core\Persistence\User\Role` -- `public function loadRoleAssignment(mixed $roleAssignmentId): \Ibexa\Contracts\Core\Persistence\User\RoleAssignment` -- `public function loadRoleAssignmentsByGroupId(mixed $groupId[, bool $inherit = false ]): array<string|int, \Ibexa\Contracts\Core\Persistence\User\RoleAssignment>` -- `public function loadRoleAssignmentsByRoleId(mixed $roleId): array<string|int, \Ibexa\Contracts\Core\Persistence\User\RoleAssignment>` -- `public function loadRoleAssignmentsByRoleIdWithOffsetAndLimit(int $roleId, int $offset, int|null $limit): array<string|int, \Ibexa\Contracts\Core\Persistence\User\RoleAssignment>` -- `public function loadRoleByIdentifier(string $identifier[, int $status = Role::STATUS_DEFINED ]): \Ibexa\Contracts\Core\Persistence\User\Role` -- `public function loadRoleDraftByRoleId(mixed $roleId): \Ibexa\Contracts\Core\Persistence\User\Role` -- `public function loadRoles(): array<string|int, \Ibexa\Contracts\Core\Persistence\User\Role>` -- `public function loadUserByToken(string $hash): \Ibexa\Contracts\Core\Persistence\User` -- `public function loadUsersByEmail(string $email): array<string|int, \Ibexa\Contracts\Core\Persistence\User>` -- `public function publishRoleDraft(mixed $roleDraftId): mixed` -- `public function removeRoleAssignment(mixed $roleAssignmentId): mixed` -- `public function unassignRole(mixed $contentId, mixed $roleId): mixed` -- `public function update(\Ibexa\Contracts\Core\Persistence\User $user): mixed` -- `public function updatePassword(\Ibexa\Contracts\Core\Persistence\User $user): void` -- `public function updatePolicy(\Ibexa\Contracts\Core\Persistence\User\Policy $policy): mixed` -- `public function updateRole(\Ibexa\Contracts\Core\Persistence\User\RoleUpdateStruct $role): mixed` -- `public function updateUserToken(\Ibexa\Contracts\Core\Persistence\User\UserTokenUpdateStruct $userTokenUpdateStruct): mixed` - -## Ibexa\Contracts\Core\Persistence\User\Policy extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\User\Role extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\User\RoleAssignment extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\User\RoleCopyStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\User\RoleCreateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\User\RoleUpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\User\UserTokenUpdateStruct extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Persistence\ValueObject extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([array<string, mixed> $properties = [] ])` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Pool\Pool implements Ibexa\Contracts\Core\Pool\PoolInterface - -- `public function __construct(string $class[, iterable<string|int, mixed> $entries = [] ])` -- `public function get(string $alias): mixed` -- `public function getEntries(): iterable<string|int, mixed>` -- `public function has(string $alias): bool` -- `public function setExceptionArgumentName(string $exceptionArgumentName): void` -- `public function setExceptionMessageTemplate(string $exceptionMessageTemplate): void` - -## Ibexa\Contracts\Core\Pool\PoolInterface - -- `public function get(string $alias): mixed` -- `public function getEntries(): iterable<string|int, mixed>` -- `public function has(string $alias): bool` -- `public function setExceptionArgumentName(string $exceptionArgumentName): void` -- `public function setExceptionMessageTemplate(string $exceptionMessageTemplate): void` - -## Ibexa\Contracts\Core\Repository\BookmarkService - -- `public function createBookmark(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` -- `public function deleteBookmark(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` -- `public function isBookmarked(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): bool` -- `public function loadBookmarks([int $offset = 0 ][, int $limit = 25 ]): \Ibexa\Contracts\Core\Repository\Values\Bookmark\BookmarkList` - -## Ibexa\Contracts\Core\Repository\Collections\TotalCountAwareInterface - -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Core\Repository\ContentService - -- `public function copyContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $destinationLocationCreateStruct[, VersionInfo|null $versionInfo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function count(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array<string|int, mixed>|null $languages = null ]): int` -- `public function countContentDrafts([\Ibexa\Contracts\Core\Repository\Values\User\User $user = null ]): int` -- `public function countRelations(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, RelationType|null $type = null ]): int` -- `public function countReverseRelations(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, RelationType|null $type = null ]): int` -- `public function createContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct $contentCreateStruct[, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct> $locationCreateStructs = [] ][, array<string|int, string>|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function createContentDraft(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, VersionInfo|null $versionInfo = null ][, User|null $creator = null ][, Language|null $language = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function deleteContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo): array<int, int>` -- `public function deleteRelation(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent): void` -- `public function deleteTranslation(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, string $languageCode): void` -- `public function deleteTranslationFromDraft(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, string $languageCode): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function deleteVersion(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo): void` -- `public function find(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array<string|int, mixed>|null $languages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\ContentList` -- `public function hideContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo): void` -- `public function loadContent(int $contentId[, array<int, string> $languages = null ][, int|null $versionNo = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function loadContentByContentInfo(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, array<int, string> $languages = null ][, int|null $versionNo = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function loadContentByRemoteId(string $remoteId[, array<string|int, string> $languages = null ][, int|null $versionNo = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function loadContentByVersionInfo(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, array<string|int, string> $languages = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function loadContentDraftList([User|null $user = null ][, int $offset = 0 ][, int $limit = -1 ]): \Ibexa\Contracts\Core\Repository\Values\Content\ContentDraftList` -- `public function loadContentInfo(int $contentId): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function loadContentInfoByRemoteId(string $remoteId): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function loadContentInfoList(array<int, int> $contentIds): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo>` -- `public function loadContentListByContentInfo(array<int, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo> $contentInfoList[, array<int, string> $languages = [] ][, bool $useAlwaysAvailable = true ]): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Content>` -- `public function loadRelationList(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, int $offset = 0 ][, int $limit = self::DEFAULT_PAGE_SIZE ][, RelationType|null $type = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\RelationList` -- `public function loadReverseRelationList(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, int $offset = 0 ][, int $limit = -1 ][, RelationType|null $type = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\RelationList` -- `public function loadReverseRelations(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, RelationType|null $type = null ]): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Relation>` -- `public function loadVersionInfo(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, int|null $versionNo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function loadVersionInfoById(int $contentId[, int|null $versionNo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function loadVersionInfoListByContentInfo(array<int, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo> $contentInfoList): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo>` -- `public function loadVersions(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, int|null $status = null ]): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo>` -- `public function newContentCreateStruct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, string $mainLanguageCode): \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct` -- `public function newContentMetadataUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct` -- `public function newContentUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct` -- `public function publishVersion(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, array<int, string> $translations = Language::ALL ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function revealContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo): void` -- `public function updateContent(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct $contentUpdateStruct[, array<int, string>|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function updateContentMetadata(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct $contentMetadataUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function validate(\Ibexa\Contracts\Core\Repository\Values\ValueObject $object, array<string|int, mixed> $context[, array<int, string>|null $fieldIdentifiersToValidate = null ]): array<string|int, mixed>` -- `public const mixed DEFAULT_PAGE_SIZE = 25` - -## Ibexa\Contracts\Core\Repository\ContentTypeService - -- `public function addFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct): void` -- `public function assignContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup): void` -- `public function copyContentType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType[, \Ibexa\Contracts\Core\Repository\Values\User\User $creator = null ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function createContentType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct, array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup> $contentTypeGroups): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function createContentTypeDraft(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function createContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function deleteContentType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType): void` -- `public function deleteContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup): void` -- `public function deleteUserDrafts(int $userId): void` -- `public function findContentTypes([ContentTypeQuery|null $query = null ][, array<int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\SearchResult` -- `public function isContentTypeUsed(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType): bool` -- `public function loadContentType(int $contentTypeId[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function loadContentTypeByIdentifier(string $identifier[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function loadContentTypeByRemoteId(string $remoteId[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function loadContentTypeDraft(int $contentTypeId[, bool $ignoreOwnership = false ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function loadContentTypeGroup(int $contentTypeGroupId[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function loadContentTypeGroupByIdentifier(string $contentTypeGroupIdentifier[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function loadContentTypeGroups([array<string|int, string> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup>` -- `public function loadContentTypeList(array<string|int, int> $contentTypeIds[, array<string|int, string> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType>|iterable<string|int, mixed>` -- `public function loadContentTypes(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup[, array<string|int, string> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType>` -- `public function newContentTypeCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct` -- `public function newContentTypeGroupCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct` -- `public function newContentTypeGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct` -- `public function newContentTypeUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct` -- `public function newFieldDefinitionCreateStruct(string $identifier, string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct` -- `public function newFieldDefinitionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct` -- `public function publishContentTypeDraft(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft): void` -- `public function removeContentTypeTranslation(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, string $languageCode): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function removeFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): void` -- `public function unassignContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup): void` -- `public function updateContentTypeDraft(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct): void` -- `public function updateContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct): void` -- `public function updateFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct): void` - -## Ibexa\Contracts\Core\Repository\Decorator\BookmarkServiceDecorator implements Ibexa\Contracts\Core\Repository\BookmarkService - -- `public function createBookmark(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` -- `public function deleteBookmark(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` -- `public function isBookmarked(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): bool` -- `public function loadBookmarks([int $offset = 0 ][, int $limit = 25 ]): \Ibexa\Contracts\Core\Repository\Values\Bookmark\BookmarkList` - -## Ibexa\Contracts\Core\Repository\Decorator\ContentServiceDecorator implements Ibexa\Contracts\Core\Repository\ContentService - -- `public function addRelation(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent): \Ibexa\Contracts\Core\Repository\Values\Content\Relation` -- `public function copyContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $destinationLocationCreateStruct[, VersionInfo|null $versionInfo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function count(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array<string|int, mixed>|null $languages = null ]): int` -- `public function countContentDrafts([User|null $user = null ]): int` -- `public function countRelations(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, RelationType|null $type = null ]): int` -- `public function countReverseRelations(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, RelationType|null $type = null ]): int` -- `public function createContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct $contentCreateStruct[, array<string|int, mixed> $locationCreateStructs = [] ][, array<string|int, mixed>|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function createContentDraft(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, VersionInfo|null $versionInfo = null ][, User|null $creator = null ][, Language|null $language = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function deleteContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo): array<int, int>` -- `public function deleteRelation(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent): void` -- `public function deleteTranslation(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, string $languageCode): void` -- `public function deleteTranslationFromDraft(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, string $languageCode): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function deleteVersion(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo): void` -- `public function find(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array<string|int, mixed>|null $languages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\ContentList` -- `public function hideContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo): void` -- `public function loadContent(int $contentId[, array<string|int, mixed>|null $languages = null ][, int|null $versionNo = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function loadContentByContentInfo(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, array<string|int, mixed>|null $languages = null ][, int|null $versionNo = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function loadContentByRemoteId(string $remoteId[, array<string|int, mixed>|null $languages = null ][, int|null $versionNo = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function loadContentByVersionInfo(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, array<string|int, mixed>|null $languages = null ][, bool $useAlwaysAvailable = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function loadContentDraftList([User|null $user = null ][, int $offset = 0 ][, int $limit = -1 ]): \Ibexa\Contracts\Core\Repository\Values\Content\ContentDraftList` -- `public function loadContentInfo(int $contentId): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function loadContentInfoByRemoteId(string $remoteId): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function loadContentInfoList(array<string|int, mixed> $contentIds): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo>` -- `public function loadContentListByContentInfo(array<string|int, mixed> $contentInfoList[, array<string|int, mixed> $languages = [] ][, bool $useAlwaysAvailable = true ]): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Content>` -- `public function loadRelationList(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, int $offset = 0 ][, int $limit = self::DEFAULT_PAGE_SIZE ][, RelationType|null $type = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\RelationList` -- `public function loadReverseRelationList(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, int $offset = 0 ][, int $limit = -1 ][, RelationType|null $type = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\RelationList` -- `public function loadReverseRelations(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, RelationType|null $type = null ]): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Relation>` -- `public function loadVersionInfo(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, int|null $versionNo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function loadVersionInfoById(int $contentId[, int|null $versionNo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function loadVersionInfoListByContentInfo(array<string|int, mixed> $contentInfoList): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo>` -- `public function loadVersions(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, int|null $status = null ]): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo>` -- `public function newContentCreateStruct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, string $mainLanguageCode): \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct` -- `public function newContentMetadataUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct` -- `public function newContentUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct` -- `public function publishVersion(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, array<string|int, mixed> $translations = Language::ALL ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function revealContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo): void` -- `public function updateContent(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct $contentUpdateStruct[, array<string|int, mixed>|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function updateContentMetadata(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct $contentMetadataUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function validate(\Ibexa\Contracts\Core\Repository\Values\ValueObject $object, array<string|int, mixed> $context[, array<string|int, mixed>|null $fieldIdentifiersToValidate = null ]): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Repository\Decorator\ContentTypeServiceDecorator implements Ibexa\Contracts\Core\Repository\ContentTypeService - -- `public function addFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct): void` -- `public function assignContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup): void` -- `public function copyContentType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType[, User|null $creator = null ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function createContentType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct, array<string|int, mixed> $contentTypeGroups): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function createContentTypeDraft(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function createContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function deleteContentType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType): void` -- `public function deleteContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup): void` -- `public function deleteUserDrafts(int $userId): void` -- `public function findContentTypes([ContentTypeQuery|null $query = null ][, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\SearchResult` -- `public function isContentTypeUsed(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType): bool` -- `public function loadContentType(int $contentTypeId[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function loadContentTypeByIdentifier(string $identifier[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function loadContentTypeByRemoteId(string $remoteId[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function loadContentTypeDraft(int $contentTypeId[, bool $ignoreOwnership = false ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function loadContentTypeGroup(int $contentTypeGroupId[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function loadContentTypeGroupByIdentifier(string $contentTypeGroupIdentifier[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function loadContentTypeGroups([array<string|int, mixed> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup>` -- `public function loadContentTypeList(array<string|int, mixed> $contentTypeIds[, array<string|int, mixed> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType>|iterable<string|int, mixed>` -- `public function loadContentTypes(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup[, array<string|int, mixed> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType>` -- `public function newContentTypeCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct` -- `public function newContentTypeGroupCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct` -- `public function newContentTypeGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct` -- `public function newContentTypeUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct` -- `public function newFieldDefinitionCreateStruct(string $identifier, string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct` -- `public function newFieldDefinitionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct` -- `public function publishContentTypeDraft(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft): void` -- `public function removeContentTypeTranslation(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, string $languageCode): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function removeFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): void` -- `public function unassignContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup): void` -- `public function updateContentTypeDraft(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct): void` -- `public function updateContentTypeGroup(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct): void` -- `public function updateFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct): void` - -## Ibexa\Contracts\Core\Repository\Decorator\FieldTypeServiceDecorator implements Ibexa\Contracts\Core\Repository\FieldTypeService - -- `public function getFieldType(string $identifier): \Ibexa\Contracts\Core\Repository\FieldType` -- `public function getFieldTypes(): array<string|int, \Ibexa\Contracts\Core\Repository\FieldType>` -- `public function hasFieldType(string $identifier): bool` - -## Ibexa\Contracts\Core\Repository\Decorator\LanguageServiceDecorator implements Ibexa\Contracts\Core\Repository\LanguageService - -- `public function createLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct $languageCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function deleteLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): void` -- `public function disableLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function enableLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getDefaultLanguageCode(): string` -- `public function loadLanguage(string $languageCode): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function loadLanguageById(int $languageId): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function loadLanguageListByCode(array<string|int, mixed> $languageCodes): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language>` -- `public function loadLanguageListById(array<string|int, mixed> $languageIds): iterable<int, \Ibexa\Contracts\Core\Repository\Values\Content\Language>` -- `public function loadLanguages(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language>` -- `public function newLanguageCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct` -- `public function updateLanguageName(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language, string $newName): \Ibexa\Contracts\Core\Repository\Values\Content\Language` - -## Ibexa\Contracts\Core\Repository\Decorator\LocationServiceDecorator implements Ibexa\Contracts\Core\Repository\LocationService - -- `public function copySubtree(\Ibexa\Contracts\Core\Repository\Values\Content\Location $subtree, \Ibexa\Contracts\Core\Repository\Values\Content\Location $targetParentLocation): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function count(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array<string|int, mixed>|null $languages = null ]): int` -- `public function createLocation(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $locationCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function deleteLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` -- `public function find(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array<string|int, mixed>|null $languages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\LocationList` -- `public function getAllLocationsCount(): int` -- `public function getLocationChildCount(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): int` -- `public function getSubtreeSize(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): int` -- `public function hideLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function loadAllLocations([int $offset = 0 ][, int $limit = 25 ]): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` -- `public function loadLocation(int $locationId[, array<string|int, mixed>|null $prioritizedLanguages = null ][, bool|null $useAlwaysAvailable = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function loadLocationByRemoteId(string $remoteId[, array<string|int, mixed>|null $prioritizedLanguages = null ][, bool|null $useAlwaysAvailable = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function loadLocationChildren(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, int $offset = 0 ][, int $limit = 25 ][, array<string|int, mixed>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\LocationList` -- `public function loadLocationList(array<string|int, mixed> $locationIds[, array<string|int, mixed>|null $prioritizedLanguages = null ][, bool|null $useAlwaysAvailable = null ]): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>|iterable<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` -- `public function loadLocations(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, Location|null $rootLocation = null ][, array<string|int, mixed>|null $prioritizedLanguages = null ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` -- `public function loadParentLocationsForDraftContent(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, array<string|int, mixed>|null $prioritizedLanguages = null ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` -- `public function moveSubtree(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Location $newParentLocation): void` -- `public function newLocationCreateStruct(int $parentLocationId): \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct` -- `public function newLocationUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct` -- `public function swapLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location1, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location2): void` -- `public function unhideLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function updateLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct $locationUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Location` - -## Ibexa\Contracts\Core\Repository\Decorator\NotificationServiceDecorator implements Ibexa\Contracts\Core\Repository\NotificationService - -- `public function createNotification(\Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct $createStruct): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` -- `public function deleteNotification(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` -- `public function findNotifications([NotificationQuery|null $query = null ]): \Ibexa\Contracts\Core\Repository\Values\Notification\NotificationList` -- `public function getNotification(int $notificationId): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` -- `public function getNotificationCount([NotificationQuery|null $query = null ]): int` -- `public function getPendingNotificationCount(): int` -- `public function loadNotifications(int $offset, int $limit): \Ibexa\Contracts\Core\Repository\Values\Notification\NotificationList` -- `public function markNotificationAsRead(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` -- `public function markNotificationAsUnread(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` -- `public function markUserNotificationsAsRead([array<string|int, mixed> $notificationIds = [] ]): void` - -## Ibexa\Contracts\Core\Repository\Decorator\ObjectStateServiceDecorator implements Ibexa\Contracts\Core\Repository\ObjectStateService - -- `public function createObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct $objectStateCreateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function createObjectStateGroup(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct $objectStateGroupCreateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function deleteObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState): void` -- `public function deleteObjectStateGroup(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup): void` -- `public function getContentCount(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState): int` -- `public function getContentState(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function loadObjectState(int $stateId[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function loadObjectStateByIdentifier(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, string $objectStateIdentifier[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function loadObjectStateGroup(int $objectStateGroupId[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function loadObjectStateGroupByIdentifier(string $objectStateGroupIdentifier[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function loadObjectStateGroups([int $offset = 0 ][, int $limit = -1 ][, array<string|int, mixed> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup>` -- `public function loadObjectStates(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup[, array<string|int, mixed> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState>` -- `public function newObjectStateCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct` -- `public function newObjectStateGroupCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct` -- `public function newObjectStateGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct` -- `public function newObjectStateUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct` -- `public function setContentState(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState): void` -- `public function setPriorityOfObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, int $priority): void` -- `public function updateObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct $objectStateUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function updateObjectStateGroup(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct $objectStateGroupUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` - -## Ibexa\Contracts\Core\Repository\Decorator\RoleServiceDecorator implements Ibexa\Contracts\Core\Repository\RoleService - -- `public function addPolicyByRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct $policyCreateStruct): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function assignRoleToUser(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\User $user[, RoleLimitation|null $roleLimitation = null ]): void` -- `public function assignRoleToUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, RoleLimitation|null $roleLimitation = null ]): void` -- `public function copyRole(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct $roleCopyStruct): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function countRoleAssignments(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): int` -- `public function createRole(\Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct $roleCreateStruct): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function createRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function deleteRole(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): void` -- `public function deleteRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft): void` -- `public function getLimitationType(string $identifier): \Ibexa\Contracts\Core\Limitation\Type` -- `public function getLimitationTypesByModuleFunction(string $module, string $function): array<string|int, \Ibexa\Contracts\Core\Limitation\Type>` -- `public function getRoleAssignments(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment>` -- `public function getRoleAssignmentsForUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user[, bool $inherited = false ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserRoleAssignment>|array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupRoleAssignment>` -- `public function getRoleAssignmentsForUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupRoleAssignment>` -- `public function loadRole(int $id): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function loadRoleAssignment(int $roleAssignmentId): \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment` -- `public function loadRoleAssignments(\Ibexa\Contracts\Core\Repository\Values\User\Role $role[, int $offset = 0 ][, int|null $limit = null ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment>` -- `public function loadRoleByIdentifier(string $identifier): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function loadRoleDraft(int $id): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function loadRoleDraftByRoleId(int $roleId): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function loadRoles(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\Role>` -- `public function newPolicyCreateStruct(string $module, string $function): \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct` -- `public function newPolicyUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct` -- `public function newRoleCopyStruct(string $name): \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct` -- `public function newRoleCreateStruct(string $name): \Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct` -- `public function newRoleUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct` -- `public function publishRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft): void` -- `public function removePolicyByRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policyDraft): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function removeRoleAssignment(\Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment $roleAssignment): void` -- `public function updatePolicyByRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policy, \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct $policyUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` -- `public function updateRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct $roleUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` - -## Ibexa\Contracts\Core\Repository\Decorator\SearchServiceDecorator implements Ibexa\Contracts\Core\Repository\SearchService - -- `public function findContent(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query[, array<string|int, mixed> $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Content>` -- `public function findContentInfo(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query[, array<string|int, mixed> $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo>` -- `public function findLocations(\Ibexa\Contracts\Core\Repository\Values\Content\LocationQuery $query[, array<string|int, mixed> $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` -- `public function findSingle(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $filter[, array<string|int, mixed> $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function suggest(string $prefix[, array<string|int, mixed> $fieldPaths = [] ][, int $limit = 10 ][, CriterionInterface|null $filter = null ]): mixed` -- `public function supports(int $capabilityFlag): bool` - -## Ibexa\Contracts\Core\Repository\Decorator\SectionServiceDecorator implements Ibexa\Contracts\Core\Repository\SectionService - -- `public function assignSection(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section): void` -- `public function assignSectionToSubtree(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section): void` -- `public function countAssignedContents(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section): int` -- `public function createSection(\Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct $sectionCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function deleteSection(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section): void` -- `public function isSectionUsed(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section): bool` -- `public function loadSection(int $sectionId): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function loadSectionByIdentifier(string $sectionIdentifier): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function loadSections(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Section>` -- `public function newSectionCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct` -- `public function newSectionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct` -- `public function updateSection(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section, \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct $sectionUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Section` - -## Ibexa\Contracts\Core\Repository\Decorator\SettingServiceDecorator implements Ibexa\Contracts\Core\Repository\SettingService - -- `public function createSetting(\Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct $settingCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` -- `public function deleteSetting(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting): void` -- `public function loadSetting(string $group, string $identifier): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` -- `public function newSettingCreateStruct([array<string|int, mixed> $properties = [] ]): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct` -- `public function newSettingUpdateStruct([array<string|int, mixed> $properties = [] ]): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct` -- `public function updateSetting(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting, \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct $settingUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` - -## Ibexa\Contracts\Core\Repository\Decorator\TokenServiceDecorator implements Ibexa\Contracts\Core\Repository\TokenService - -- `public function checkToken(string $tokenType, string $token[, string|null $identifier = null ]): bool` -- `public function deleteToken(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token): void` -- `public function generateToken(string $type, int $ttl[, string|null $identifier = null ][, int $tokenLength = 64 ][, TokenGeneratorInterface|null $tokenGenerator = null ]): \Ibexa\Contracts\Core\Repository\Values\Token\Token` -- `public function getToken(string $tokenType, string $token[, string|null $identifier = null ]): \Ibexa\Contracts\Core\Repository\Values\Token\Token` -- `public function revokeToken(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token): void` -- `public function revokeTokenByIdentifier(string $tokenType, string|null $identifier): void` - -## Ibexa\Contracts\Core\Repository\Decorator\TranslationServiceDecorator implements Ibexa\Contracts\Core\Repository\TranslationService - -- `public function translate(\Ibexa\Contracts\Core\Repository\Values\Translation $translation, mixed $locale): string` -- `public function translateString(mixed $translation, mixed $locale): string` - -## Ibexa\Contracts\Core\Repository\Decorator\TrashServiceDecorator implements Ibexa\Contracts\Core\Repository\TrashService - -- `public function deleteTrashItem(\Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult` -- `public function emptyTrash(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList` -- `public function findTrashItems(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\SearchResult` -- `public function loadTrashItem(int $trashItemId): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem` -- `public function recover(\Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem[, Location|null $newParentLocation = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function trash(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem|null` - -## Ibexa\Contracts\Core\Repository\Decorator\URLAliasServiceDecorator implements Ibexa\Contracts\Core\Repository\URLAliasService - -- `public function createGlobalUrlAlias(string $resource, string $path, string $languageCode[, bool $forwarding = false ][, bool $alwaysAvailable = false ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` -- `public function createUrlAlias(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, string $path, string $languageCode[, bool $forwarding = false ][, bool $alwaysAvailable = false ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` -- `public function deleteCorruptedUrlAliases(): int` -- `public function listGlobalAliases([string|null $languageCode = null ][, int $offset = 0 ][, int $limit = -1 ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias>` -- `public function listLocationAliases(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, bool $custom = true ][, string|null $languageCode = null ][, bool|null $showAllTranslations = null ][, array<string|int, mixed>|null $prioritizedLanguages = null ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias>` -- `public function load(string $id): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` -- `public function lookup(string $url[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` -- `public function refreshSystemUrlAliasesForLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` -- `public function removeAliases(array<string|int, mixed> $aliasList): void` -- `public function reverseLookup(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, string|null $languageCode = null ][, bool|null $showAllTranslations = null ][, array<string|int, mixed>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` - -## Ibexa\Contracts\Core\Repository\Decorator\URLServiceDecorator implements Ibexa\Contracts\Core\Repository\URLService - -- `public function createUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct` -- `public function findUrls(\Ibexa\Contracts\Core\Repository\Values\URL\URLQuery $query): \Ibexa\Contracts\Core\Repository\Values\URL\SearchResult` -- `public function findUsages(\Ibexa\Contracts\Core\Repository\Values\URL\URL $url[, int $offset = 0 ][, int $limit = -1 ]): \Ibexa\Contracts\Core\Repository\Values\URL\UsageSearchResult` -- `public function loadById(int $id): \Ibexa\Contracts\Core\Repository\Values\URL\URL` -- `public function loadByUrl(string $url): \Ibexa\Contracts\Core\Repository\Values\URL\URL` -- `public function updateUrl(\Ibexa\Contracts\Core\Repository\Values\URL\URL $url, \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct $struct): \Ibexa\Contracts\Core\Repository\Values\URL\URL` - -## Ibexa\Contracts\Core\Repository\Decorator\URLWildcardServiceDecorator implements Ibexa\Contracts\Core\Repository\URLWildcardService - -- `public function countAll(): int` -- `public function create(string $sourceUrl, string $destinationUrl[, bool $forward = false ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` -- `public function findUrlWildcards(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\URLWildcardQuery $query): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\SearchResult` -- `public function load(int $id): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` -- `public function loadAll([int $offset = 0 ][, int $limit = -1 ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard>` -- `public function remove(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard): void` -- `public function translate(string $url): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardTranslationResult` -- `public function update(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard, \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct $updateStruct): void` - -## Ibexa\Contracts\Core\Repository\Decorator\UserPreferenceServiceDecorator implements Ibexa\Contracts\Core\Repository\UserPreferenceService - -- `public function getUserPreference(string $userPreferenceName): \Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreference` -- `public function getUserPreferenceCount(): int` -- `public function loadUserPreferences([int $offset = 0 ][, int $limit = 25 ]): \Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreferenceList` -- `public function setUserPreference(array<string|int, mixed> $userPreferenceSetStructs): void` - -## Ibexa\Contracts\Core\Repository\Decorator\UserServiceDecorator implements Ibexa\Contracts\Core\Repository\UserService - -- `public function assignUserToUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): void` -- `public function checkUserCredentials(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $credentials): bool` -- `public function createUser(\Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct $userCreateStruct, array<string|int, mixed> $parentGroups): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function createUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct $userGroupCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $parentGroup): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function deleteUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): array<string|int, int>` -- `public function deleteUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): array<string|int, int>` -- `public function expireUserToken(string $hash): void` -- `public function getPasswordInfo(\Ibexa\Contracts\Core\Repository\Values\User\User $user): \Ibexa\Contracts\Core\Repository\Values\User\PasswordInfo` -- `public function isUser(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` -- `public function isUserGroup(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` -- `public function loadSubUserGroups(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, int $offset = 0 ][, int $limit = 25 ][, array<string|int, mixed> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup>` -- `public function loadUser(int $userId[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function loadUserByEmail(string $email[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function loadUserByLogin(string $login[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function loadUserByToken(string $hash[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function loadUserGroup(int $id[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function loadUserGroupByRemoteId(string $remoteId[, array<string|int, mixed> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function loadUserGroupsOfUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user[, int $offset = 0 ][, int $limit = 25 ][, array<string|int, mixed> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup>` -- `public function loadUsersByEmail(string $email[, array<string|int, mixed> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\User>` -- `public function loadUsersOfUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, int $offset = 0 ][, int $limit = 25 ][, array<string|int, mixed> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\User>` -- `public function moveUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $newParent): void` -- `public function newUserCreateStruct(string $login, string $email, string $password, string $mainLanguageCode[, ContentType|null $contentType = null ]): \Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct` -- `public function newUserGroupCreateStruct(string $mainLanguageCode[, ContentType|null $contentType = null ]): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct` -- `public function newUserGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct` -- `public function newUserUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct` -- `public function unAssignUserFromUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): void` -- `public function updateUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct $userUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function updateUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct $userGroupUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function updateUserPassword(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $newPassword): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function updateUserToken(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct $userTokenUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function validatePassword(string $password[, PasswordValidationContext|null $context = null ]): array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>` - -## Ibexa\Contracts\Core\Repository\Event\AfterEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Event\BeforeEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Bookmark\BeforeCreateBookmarkEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Bookmark\BeforeDeleteBookmarkEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Bookmark\CreateBookmarkEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Bookmark\DeleteBookmarkEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\AddFieldDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct)` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function getFieldDefinitionCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\AssignContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup)` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeAddFieldDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct)` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function getFieldDefinitionCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeAssignContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup)` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeCopyContentTypeEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType[, User|null $creator = null ])` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getContentTypeCopy(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function hasContentTypeCopy(): bool` -- `public function isPropagationStopped(): bool` -- `public function setContentTypeCopy(ContentType|null $contentTypeCopy): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeCreateContentTypeDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType)` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function hasContentTypeDraft(): bool` -- `public function isPropagationStopped(): bool` -- `public function setContentTypeDraft(ContentTypeDraft|null $contentTypeDraft): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeCreateContentTypeEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct, array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup> $contentTypeGroups)` -- `public function getContentTypeCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function getContentTypeGroups(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup>` -- `public function hasContentTypeDraft(): bool` -- `public function isPropagationStopped(): bool` -- `public function setContentTypeDraft(ContentTypeDraft|null $contentTypeDraft): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeCreateContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct)` -- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function getContentTypeGroupCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct` -- `public function hasContentTypeGroup(): bool` -- `public function isPropagationStopped(): bool` -- `public function setContentTypeGroup(ContentTypeGroup|null $contentTypeGroup): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeDeleteContentTypeEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType)` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeDeleteContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup)` -- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforePublishContentTypeDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft)` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeRemoveContentTypeTranslationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, string $languageCode)` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function getLanguageCode(): string` -- `public function getNewContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function hasNewContentTypeDraft(): bool` -- `public function isPropagationStopped(): bool` -- `public function setNewContentTypeDraft(ContentTypeDraft|null $newContentTypeDraft): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeRemoveFieldDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition)` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeUnassignContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup)` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeUpdateContentTypeDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct)` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function getContentTypeUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeUpdateContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct)` -- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function getContentTypeGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\BeforeUpdateFieldDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct)` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` -- `public function getFieldDefinitionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\CopyContentTypeEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentTypeCopy, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType[, User|null $creator = null ])` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getContentTypeCopy(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\CreateContentTypeDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType)` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\CreateContentTypeEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct, array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup> $contentTypeGroups)` -- `public function getContentTypeCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function getContentTypeGroups(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup>` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\CreateContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct)` -- `public function getContentTypeGroupCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct` -- `public function getReturnValue(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\DeleteContentTypeEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType)` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\DeleteContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup)` -- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\PublishContentTypeDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft)` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\RemoveContentTypeTranslationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $newContentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, string $languageCode)` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function getLanguageCode(): string` -- `public function getNewContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\RemoveFieldDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition)` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\UnassignContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup)` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\UpdateContentTypeDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct)` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function getContentTypeUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\UpdateContentTypeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct)` -- `public function getContentTypeGroup(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup` -- `public function getContentTypeGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ContentType\UpdateFieldDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct)` -- `public function getContentTypeDraft(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft` -- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` -- `public function getFieldDefinitionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\AddRelationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Relation $relation, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent)` -- `public function getDestinationContent(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getRelation(): \Ibexa\Contracts\Core\Repository\Values\Content\Relation` -- `public function getSourceVersion(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\BeforeAddRelationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent)` -- `public function getDestinationContent(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getRelation(): \Ibexa\Contracts\Core\Repository\Values\Content\Relation` -- `public function getSourceVersion(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function hasRelation(): bool` -- `public function isPropagationStopped(): bool` -- `public function setRelation(Relation|null $relation): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\BeforeCopyContentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $destinationLocationCreateStruct[, VersionInfo|null $versionInfo = null ])` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getDestinationLocationCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` -- `public function hasContent(): bool` -- `public function isPropagationStopped(): bool` -- `public function setContent(Content|null $content): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\BeforeCreateContentDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, VersionInfo|null $versionInfo = null ][, User|null $creator = null ][, Language|null $language = null ])` -- `public function getContentDraft(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language|null` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` -- `public function hasContentDraft(): bool` -- `public function isPropagationStopped(): bool` -- `public function setContentDraft(Content|null $contentDraft): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\BeforeCreateContentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct $contentCreateStruct, array<string|int, mixed> $locationCreateStructs[, array<string|int, mixed>|null $fieldIdentifiersToValidate = null ])` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function getLocationCreateStructs(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct>` -- `public function hasContent(): bool` -- `public function isPropagationStopped(): bool` -- `public function setContent(Content|null $content): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\BeforeDeleteContentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getLocations(): array<string|int, int>` -- `public function hasLocations(): bool` -- `public function isPropagationStopped(): bool` -- `public function setLocations(array<string|int, int>|null $locations): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\BeforeDeleteRelationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent)` -- `public function getDestinationContent(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getSourceVersion(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\BeforeDeleteTranslationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, string $languageCode)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getLanguageCode(): string` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\BeforeDeleteVersionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo)` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\BeforeHideContentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\BeforePublishVersionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, array<string|int, mixed> $translations)` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getTranslations(): array<string|int, mixed>` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function hasContent(): bool` -- `public function isPropagationStopped(): bool` -- `public function setContent(Content|null $content): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\BeforeRevealContentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\BeforeUpdateContentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct $contentUpdateStruct[, array<string|int, mixed>|null $fieldIdentifiersToValidate = null ])` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function hasContent(): bool` -- `public function isPropagationStopped(): bool` -- `public function setContent(Content|null $content): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\BeforeUpdateContentMetadataEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct $contentMetadataUpdateStruct)` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getContentMetadataUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct` -- `public function hasContent(): bool` -- `public function isPropagationStopped(): bool` -- `public function setContent(Content|null $content): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\CopyContentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $destinationLocationCreateStruct[, VersionInfo|null $versionInfo = null ])` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getDestinationLocationCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\CreateContentDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $contentDraft, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, VersionInfo|null $versionInfo = null ][, User|null $creator = null ][, Language|null $language = null ])` -- `public function getContentDraft(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language|null` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\CreateContentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct $contentCreateStruct, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct> $locationCreateStructs[, array<string|int, string>|null $fieldIdentifiersToValidate = null ])` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function getLocationCreateStructs(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct>` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\DeleteContentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(array<string|int, int> $locations, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getLocations(): array<string|int, int>` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\DeleteRelationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $sourceVersion, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $destinationContent)` -- `public function getDestinationContent(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getSourceVersion(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\DeleteTranslationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, string $languageCode)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getLanguageCode(): string` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\DeleteVersionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo)` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\HideContentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\PublishVersionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, array<string|int, mixed> $translations)` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getTranslations(): array<string|int, string>` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\RevealContentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\UpdateContentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct $contentUpdateStruct[, array<string|int, mixed>|null $fieldIdentifiersToValidate = null ])` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Content\UpdateContentMetadataEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct $contentMetadataUpdateStruct)` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getContentMetadataUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Language\BeforeCreateLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct $languageCreateStruct)` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getLanguageCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct` -- `public function hasLanguage(): bool` -- `public function isPropagationStopped(): bool` -- `public function setLanguage(Language|null $language): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Language\BeforeDeleteLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language)` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Language\BeforeDisableLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language)` -- `public function getDisabledLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function hasDisabledLanguage(): bool` -- `public function isPropagationStopped(): bool` -- `public function setDisabledLanguage(Language|null $disabledLanguage): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Language\BeforeEnableLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language)` -- `public function getEnabledLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function hasEnabledLanguage(): bool` -- `public function isPropagationStopped(): bool` -- `public function setEnabledLanguage(Language|null $enabledLanguage): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Language\BeforeUpdateLanguageNameEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language, string $newName)` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getNewName(): string` -- `public function getUpdatedLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function hasUpdatedLanguage(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedLanguage(Language|null $updatedLanguage): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Language\CreateLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language, \Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct $languageCreateStruct)` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getLanguageCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Language\DeleteLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language)` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Language\DisableLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $disabledLanguage, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language)` -- `public function getDisabledLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Language\EnableLanguageEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $enabledLanguage, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language)` -- `public function getEnabledLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Language\UpdateLanguageNameEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Language $updatedLanguage, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language, string $newName)` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getNewName(): string` -- `public function getUpdatedLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\BeforeCopySubtreeEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $subtree, \Ibexa\Contracts\Core\Repository\Values\Content\Location $targetParentLocation)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getSubtree(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getTargetParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function hasLocation(): bool` -- `public function isPropagationStopped(): bool` -- `public function setLocation(Location|null $location): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\BeforeCreateLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $locationCreateStruct)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getLocationCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct` -- `public function hasLocation(): bool` -- `public function isPropagationStopped(): bool` -- `public function setLocation(Location|null $location): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\BeforeDeleteLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\BeforeHideLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getHiddenLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function hasHiddenLocation(): bool` -- `public function isPropagationStopped(): bool` -- `public function setHiddenLocation(Location|null $hiddenLocation): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\BeforeMoveSubtreeEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Location $newParentLocation)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getNewParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\BeforeSwapLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location1, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location2)` -- `public function getLocation1(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getLocation2(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\BeforeUnhideLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getRevealedLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function hasRevealedLocation(): bool` -- `public function isPropagationStopped(): bool` -- `public function setRevealedLocation(Location|null $revealedLocation): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\BeforeUpdateLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct $locationUpdateStruct)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getLocationUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct` -- `public function getUpdatedLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function hasUpdatedLocation(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedLocation(Location|null $updatedLocation): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\CopySubtreeEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Location $subtree, \Ibexa\Contracts\Core\Repository\Values\Content\Location $targetParentLocation)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getSubtree(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getTargetParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\CreateLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $locationCreateStruct)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getLocationCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\DeleteLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\HideLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $hiddenLocation, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getHiddenLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\MoveSubtreeEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Location $newParentLocation)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getNewParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\SwapLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location1, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location2)` -- `public function getLocation1(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getLocation2(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\UnhideLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $revealedLocation, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getRevealedLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Location\UpdateLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $updatedLocation, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct $locationUpdateStruct)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getLocationUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct` -- `public function getUpdatedLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Notification\BeforeCreateNotificationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct $createStruct)` -- `public function getCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct` -- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` -- `public function hasNotification(): bool` -- `public function isPropagationStopped(): bool` -- `public function setNotification(Notification|null $notification): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Notification\BeforeDeleteNotificationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification)` -- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Notification\BeforeMarkNotificationAsReadEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification)` -- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Notification\BeforeMarkNotificationAsUnreadEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification)` -- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Notification\CreateNotificationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification, \Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct $createStruct)` -- `public function getCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct` -- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Notification\DeleteNotificationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification)` -- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Notification\MarkNotificationAsReadEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification)` -- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Notification\MarkNotificationAsUnreadEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification)` -- `public function getNotification(): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeCreateObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct $objectStateCreateStruct)` -- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function getObjectStateCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct` -- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function hasObjectState(): bool` -- `public function isPropagationStopped(): bool` -- `public function setObjectState(ObjectState|null $objectState): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeCreateObjectStateGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct $objectStateGroupCreateStruct)` -- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function getObjectStateGroupCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct` -- `public function hasObjectStateGroup(): bool` -- `public function isPropagationStopped(): bool` -- `public function setObjectStateGroup(ObjectStateGroup|null $objectStateGroup): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeDeleteObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState)` -- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeDeleteObjectStateGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup)` -- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeSetContentStateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeSetPriorityOfObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, int $priority)` -- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function getPriority(): int` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeUpdateObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct $objectStateUpdateStruct)` -- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function getObjectStateUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct` -- `public function getUpdatedObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function hasUpdatedObjectState(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedObjectState(ObjectState|null $updatedObjectState): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\BeforeUpdateObjectStateGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct $objectStateGroupUpdateStruct)` -- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function getObjectStateGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct` -- `public function getUpdatedObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function hasUpdatedObjectStateGroup(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedObjectStateGroup(ObjectStateGroup|null $updatedObjectStateGroup): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\CreateObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct $objectStateCreateStruct)` -- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function getObjectStateCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct` -- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\CreateObjectStateGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct $objectStateGroupCreateStruct)` -- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function getObjectStateGroupCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\DeleteObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState)` -- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\DeleteObjectStateGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup)` -- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\SetContentStateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\SetPriorityOfObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, int $priority)` -- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function getPriority(): int` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\UpdateObjectStateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $updatedObjectState, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct $objectStateUpdateStruct)` -- `public function getObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function getObjectStateUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct` -- `public function getUpdatedObjectState(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\ObjectState\UpdateObjectStateGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $updatedObjectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct $objectStateGroupUpdateStruct)` -- `public function getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function getObjectStateGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct` -- `public function getUpdatedObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\AddPolicyByRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $updatedRoleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct $policyCreateStruct)` -- `public function getPolicyCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function getUpdatedRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\AssignRoleToUserEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\User $user[, RoleLimitation|null $roleLimitation = null ])` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\AssignRoleToUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, RoleLimitation|null $roleLimitation = null ])` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforeAddPolicyByRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct $policyCreateStruct)` -- `public function getPolicyCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function getUpdatedRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function hasUpdatedRoleDraft(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedRoleDraft(RoleDraft|null $updatedRoleDraft): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforeAssignRoleToUserEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\User $user[, RoleLimitation|null $roleLimitation = null ])` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforeAssignRoleToUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, RoleLimitation|null $roleLimitation = null ])` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforeCopyRoleEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct $roleCopyStruct)` -- `public function getCopiedRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function getRoleCopyStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct` -- `public function hasCopiedRole(): bool` -- `public function isPropagationStopped(): bool` -- `public function setCopiedRole(Role|null $copiedRole): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforeCreateRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role)` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function hasRoleDraft(): bool` -- `public function isPropagationStopped(): bool` -- `public function setRoleDraft(RoleDraft|null $roleDraft): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforeCreateRoleEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct $roleCreateStruct)` -- `public function getRoleCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function hasRoleDraft(): bool` -- `public function isPropagationStopped(): bool` -- `public function setRoleDraft(RoleDraft|null $roleDraft): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforeDeletePolicyEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Policy $policy)` -- `public function getPolicy(): \Ibexa\Contracts\Core\Repository\Values\User\Policy` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforeDeleteRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft)` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforeDeleteRoleEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role)` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforePublishRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft)` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforeRemovePolicyByRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policyDraft)` -- `public function getPolicyDraft(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function getUpdatedRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function hasUpdatedRoleDraft(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedRoleDraft(RoleDraft|null $updatedRoleDraft): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforeRemoveRoleAssignmentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment $roleAssignment)` -- `public function getRoleAssignment(): \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforeUpdatePolicyByRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policy, \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct $policyUpdateStruct)` -- `public function getPolicy(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` -- `public function getPolicyUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function getUpdatedPolicyDraft(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` -- `public function hasUpdatedPolicyDraft(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedPolicyDraft(PolicyDraft|null $updatedPolicyDraft): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\BeforeUpdateRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct $roleUpdateStruct)` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function getRoleUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct` -- `public function getUpdatedRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function hasUpdatedRoleDraft(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedRoleDraft(RoleDraft|null $updatedRoleDraft): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\CopyRoleEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $copiedRole, \Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct $roleCopyStruct)` -- `public function getCopiedRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function getRoleCopyStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\CreateRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\Role $role)` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\CreateRoleEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct $roleCreateStruct)` -- `public function getRoleCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\DeletePolicyEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Policy $policy)` -- `public function getPolicy(): \Ibexa\Contracts\Core\Repository\Values\User\Policy` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\DeleteRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft)` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\DeleteRoleEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\Role $role)` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\PublishRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft)` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\RemovePolicyByRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $updatedRoleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policyDraft)` -- `public function getPolicyDraft(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function getUpdatedRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\RemoveRoleAssignmentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment $roleAssignment)` -- `public function getRoleAssignment(): \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\UpdatePolicyByRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $updatedPolicyDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policy, \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct $policyUpdateStruct)` -- `public function getPolicy(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` -- `public function getPolicyUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function getUpdatedPolicyDraft(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Role\UpdateRoleDraftEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $updatedRoleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct $roleUpdateStruct)` -- `public function getRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function getRoleUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct` -- `public function getUpdatedRoleDraft(): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Section\AssignSectionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Section\AssignSectionToSubtreeEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Section\BeforeAssignSectionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section)` -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Section\BeforeAssignSectionToSubtreeEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Section\BeforeCreateSectionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct $sectionCreateStruct)` -- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function getSectionCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct` -- `public function hasSection(): bool` -- `public function isPropagationStopped(): bool` -- `public function setSection(Section|null $section): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Section\BeforeDeleteSectionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section)` -- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Section\BeforeUpdateSectionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section, \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct $sectionUpdateStruct)` -- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function getSectionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct` -- `public function getUpdatedSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function hasUpdatedSection(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedSection(Section|null $updatedSection): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Section\CreateSectionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section, \Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct $sectionCreateStruct)` -- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function getSectionCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Section\DeleteSectionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section)` -- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Section\UpdateSectionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Section $updatedSection, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section, \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct $sectionUpdateStruct)` -- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function getSectionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct` -- `public function getUpdatedSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Setting\BeforeCreateSettingEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct $settingCreateStruct)` -- `public function getSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` -- `public function getSettingCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct` -- `public function hasSetting(): bool` -- `public function isPropagationStopped(): bool` -- `public function setSetting(Setting|null $setting): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Setting\BeforeDeleteSettingEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting)` -- `public function getSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Setting\BeforeUpdateSettingEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting, \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct $settingUpdateStruct)` -- `public function getSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` -- `public function getSettingUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct` -- `public function getUpdatedSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` -- `public function hasUpdatedSetting(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedSetting(Setting|null $updatedSetting): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Setting\CreateSettingEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting, \Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct $settingCreateStruct)` -- `public function getSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` -- `public function getSettingCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Setting\DeleteSettingEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting)` -- `public function getSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Setting\UpdateSettingEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $updatedSetting, \Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting, \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct $settingUpdateStruct)` -- `public function getSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` -- `public function getSettingUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct` -- `public function getUpdatedSetting(): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Token\BeforeCheckTokenEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(string $tokenType, string $token[, string|null $identifier = null ])` -- `public function getIdentifier(): string|null` -- `public function getResult(): bool` -- `public function getToken(): string` -- `public function getTokenType(): string` -- `public function hasResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResult(bool|null $result): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Token\BeforeDeleteTokenEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token)` -- `public function getToken(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Token\BeforeGenerateTokenEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(string $type, int $ttl[, string|null $identifier = null ][, int $tokenLength = 64 ][, TokenGeneratorInterface|null $tokenGenerator = null ])` -- `public function getIdentifier(): string|null` -- `public function getToken(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` -- `public function getTokenGenerator(): \Ibexa\Contracts\Core\Token\TokenGeneratorInterface|null` -- `public function getTokenLength(): int` -- `public function getTokenType(): string` -- `public function getTtl(): int` -- `public function hasToken(): bool` -- `public function isPropagationStopped(): bool` -- `public function setToken(Token|null $token): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Token\BeforeGetTokenEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(string $tokenType, string $token[, string|null $identifier = null ])` -- `public function getIdentifier(): string|null` -- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` -- `public function getToken(): string` -- `public function getTokenType(): string` -- `public function hasResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResult(Token|null $result): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Token\BeforeRevokeTokenByIdentifierEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(string $tokenType, string|null $identifier)` -- `public function getIdentifier(): string|null` -- `public function getTokenType(): string` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Token\BeforeRevokeTokenEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token)` -- `public function getToken(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Token\CheckTokenEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(bool $result, string $tokenType, string $token[, string|null $identifier = null ])` -- `public function getIdentifier(): string|null` -- `public function getResult(): bool` -- `public function getToken(): string` -- `public function getTokenType(): string` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Token\DeleteTokenEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token)` -- `public function getToken(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Token\GenerateTokenEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token, string $tokenType, int $ttl[, string|null $identifier = null ][, int $tokenLength = 64 ][, TokenGeneratorInterface|null $tokenGenerator = null ])` -- `public function getIdentifier(): string|null` -- `public function getToken(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` -- `public function getTokenGenerator(): \Ibexa\Contracts\Core\Token\TokenGeneratorInterface|null` -- `public function getTokenLength(): int` -- `public function getTokenType(): string` -- `public function getTtl(): int` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Token\GetTokenEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Token\Token $result, string $tokenType, string $token[, string|null $identifier = null ])` -- `public function getIdentifier(): string|null` -- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` -- `public function getToken(): string` -- `public function getTokenType(): string` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Token\RevokeTokenByIdentifierEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(string $tokenType, string|null $identifier)` -- `public function getIdentifier(): string|null` -- `public function getTokenType(): string` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Token\RevokeTokenEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token)` -- `public function getToken(): \Ibexa\Contracts\Core\Repository\Values\Token\Token` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Trash\BeforeDeleteTrashItemEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem)` -- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult` -- `public function getTrashItem(): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem` -- `public function hasResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResult(TrashItemDeleteResult|null $result): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Trash\BeforeEmptyTrashEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct()` -- `public function getResultList(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList` -- `public function hasResultList(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultList(TrashItemDeleteResultList|null $resultList): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Trash\BeforeRecoverEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem[, Location|null $newParentLocation = null ])` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getNewParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` -- `public function getTrashItem(): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem` -- `public function hasLocation(): bool` -- `public function isPropagationStopped(): bool` -- `public function setLocation(Location|null $location): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Trash\BeforeTrashEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem|null` -- `public function hasTrashItem(): bool` -- `public function isPropagationStopped(): bool` -- `public function isResultSet(): bool` -- `public function resetResult(): void` -- `public function setResult(TrashItem|null $result): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Trash\DeleteTrashItemEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult $result, \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem)` -- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult` -- `public function getTrashItem(): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Trash\EmptyTrashEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList $resultList)` -- `public function getResultList(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Trash\RecoverEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem[, Location|null $newParentLocation = null ])` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getNewParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` -- `public function getTrashItem(): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\Trash\TrashEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(TrashItem|null $trashItem, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getTrashItem(): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem|null` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLAlias\BeforeCreateGlobalUrlAliasEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(string $resource, string $path, string $languageCode, bool $forwarding, bool $alwaysAvailable)` -- `public function getAlwaysAvailable(): bool` -- `public function getForwarding(): bool` -- `public function getLanguageCode(): string` -- `public function getPath(): string` -- `public function getResource(): string` -- `public function getUrlAlias(): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` -- `public function hasUrlAlias(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUrlAlias(URLAlias|null $urlAlias): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLAlias\BeforeCreateUrlAliasEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, string $path, string $languageCode, bool $forwarding, bool $alwaysAvailable)` -- `public function getAlwaysAvailable(): bool` -- `public function getForwarding(): bool` -- `public function getLanguageCode(): string` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getPath(): string` -- `public function getUrlAlias(): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` -- `public function hasUrlAlias(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUrlAlias(URLAlias|null $urlAlias): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLAlias\BeforeRefreshSystemUrlAliasesForLocationEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLAlias\BeforeRemoveAliasesEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias> $aliasList)` -- `public function getAliasList(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias>` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLAlias\CreateGlobalUrlAliasEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLAlias $urlAlias, mixed $resource, mixed $path, mixed $languageCode, mixed $forwarding, mixed $alwaysAvailable)` -- `public function getAlwaysAvailable(): bool` -- `public function getForwarding(): bool` -- `public function getLanguageCode(): string` -- `public function getPath(): string` -- `public function getResource(): string` -- `public function getUrlAlias(): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLAlias\CreateUrlAliasEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLAlias $urlAlias, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location, mixed $path, mixed $languageCode, mixed $forwarding, mixed $alwaysAvailable)` -- `public function getAlwaysAvailable(): bool` -- `public function getForwarding(): bool` -- `public function getLanguageCode(): string` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getPath(): string` -- `public function getUrlAlias(): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLAlias\RefreshSystemUrlAliasesForLocationEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLAlias\RemoveAliasesEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias> $aliasList)` -- `public function getAliasList(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias>` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLWildcard\BeforeCreateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(string $sourceUrl, string $destinationUrl, bool $forward)` -- `public function getDestinationUrl(): string` -- `public function getForward(): bool` -- `public function getSourceUrl(): string` -- `public function getUrlWildcard(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` -- `public function hasUrlWildcard(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUrlWildcard(URLWildcard|null $urlWildcard): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLWildcard\BeforeRemoveEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard)` -- `public function getUrlWildcard(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLWildcard\BeforeTranslateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(string $url)` -- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardTranslationResult` -- `public function getUrl(): string` -- `public function hasResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResult(URLWildcardTranslationResult|null $result): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLWildcard\BeforeUpdateEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard, \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct $updateStruct)` -- `public function getUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct` -- `public function getUrlWildcard(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLWildcard\CreateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard, string $sourceUrl, string $destinationUrl, bool $forward)` -- `public function getDestinationUrl(): string` -- `public function getForward(): bool` -- `public function getSourceUrl(): string` -- `public function getUrlWildcard(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLWildcard\RemoveEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard)` -- `public function getUrlWildcard(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLWildcard\TranslateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardTranslationResult $result, mixed $url)` -- `public function getResult(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardTranslationResult` -- `public function getUrl(): string` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URLWildcard\UpdateEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard, \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct $updateStruct)` -- `public function getUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct` -- `public function getUrlWildcard(): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URL\BeforeUpdateUrlEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\URL\URL $url, \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct $struct)` -- `public function getStruct(): \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct` -- `public function getUpdatedUrl(): \Ibexa\Contracts\Core\Repository\Values\URL\URL` -- `public function getUrl(): \Ibexa\Contracts\Core\Repository\Values\URL\URL` -- `public function hasUpdatedUrl(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedUrl(URL|null $updatedUrl): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\URL\UpdateUrlEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\URL\URL $updatedUrl, \Ibexa\Contracts\Core\Repository\Values\URL\URL $url, \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct $struct)` -- `public function getStruct(): \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct` -- `public function getUpdatedUrl(): \Ibexa\Contracts\Core\Repository\Values\URL\URL` -- `public function getUrl(): \Ibexa\Contracts\Core\Repository\Values\URL\URL` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\UserPreference\BeforeSetUserPreferenceEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(array<string|int, mixed> $userPreferenceSetStructs)` -- `public function getUserPreferenceSetStructs(): array<string|int, mixed>` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\UserPreference\SetUserPreferenceEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(array<string|int, mixed> $userPreferenceSetStructs)` -- `public function getUserPreferenceSetStructs(): array<string|int, mixed>` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\AssignUserToUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup)` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\BeforeAssignUserToUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup)` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\BeforeCreateUserEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct $userCreateStruct, array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup> $parentGroups)` -- `public function getParentGroups(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup>` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUserCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct` -- `public function hasUser(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUser(User|null $user): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\BeforeCreateUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct $userGroupCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $parentGroup)` -- `public function getParentGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function getUserGroupCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct` -- `public function hasUserGroup(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUserGroup(UserGroup|null $userGroup): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\BeforeDeleteUserEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user)` -- `public function getLocations(): array<string|int, int>` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function hasLocations(): bool` -- `public function isPropagationStopped(): bool` -- `public function setLocations(array<string|int, int>|null $locations): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\BeforeDeleteUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup)` -- `public function getLocations(): array<string|int, int>` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function hasLocations(): bool` -- `public function isPropagationStopped(): bool` -- `public function setLocations(array<string|int, int>|null $locations): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\BeforeMoveUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $newParent)` -- `public function getNewParent(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\BeforeUnAssignUserFromUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup)` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\BeforeUpdateUserEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct $userUpdateStruct)` -- `public function getUpdatedUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUserUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct` -- `public function hasUpdatedUser(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedUser(User|null $updatedUser): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\BeforeUpdateUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct $userGroupUpdateStruct)` -- `public function getUpdatedUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function getUserGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct` -- `public function hasUpdatedUserGroup(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedUserGroup(UserGroup|null $updatedUserGroup): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\BeforeUpdateUserPasswordEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $newPassword)` -- `public function getNewPassword(): string` -- `public function getUpdatedUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function hasUpdatedUser(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedUser(User|null $updatedUser): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\BeforeUpdateUserTokenEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct $userTokenUpdateStruct)` -- `public function getUpdatedUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUserTokenUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct` -- `public function hasUpdatedUser(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedUser(User|null $updatedUser): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\CreateUserEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct $userCreateStruct, array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup> $parentGroups)` -- `public function getParentGroups(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup>` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUserCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\CreateUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct $userGroupCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $parentGroup)` -- `public function getParentGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function getUserGroupCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\DeleteUserEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(array<string|int, int> $locations, \Ibexa\Contracts\Core\Repository\Values\User\User $user)` -- `public function getLocations(): array<string|int, int>` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\DeleteUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(array<string|int, int> $locations, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup)` -- `public function getLocations(): array<string|int, int>` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\MoveUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $newParent)` -- `public function getNewParent(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\UnAssignUserFromUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup)` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\UpdateUserEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $updatedUser, \Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct $userUpdateStruct)` -- `public function getUpdatedUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUserUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\UpdateUserGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $updatedUserGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct $userGroupUpdateStruct)` -- `public function getUpdatedUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function getUserGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\UpdateUserPasswordEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $updatedUser, \Ibexa\Contracts\Core\Repository\Values\User\User $user, string $newPassword)` -- `public function getNewPassword(): string` -- `public function getUpdatedUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Events\User\UpdateUserTokenEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $updatedUser, \Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct $userTokenUpdateStruct)` -- `public function getUpdatedUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getUserTokenUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Core\Repository\Exceptions\ContentFieldValidationException extends Ibexa\Contracts\Core\Repository\Exceptions\ForbiddenException - -- `public function abstract getFieldErrors(): array<int, array<string, array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>>>` - -## Ibexa\Contracts\Core\Repository\Exceptions\ContentTypeFieldDefinitionValidationException extends Ibexa\Contracts\Core\Repository\Exceptions\ForbiddenException - -- `public function abstract getFieldErrors(): array<string, array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>>` - -## Ibexa\Contracts\Core\Repository\Exceptions\InvalidCriterionArgumentException extends Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException - -- `public function __construct(string|int $key, mixed $criterion, string $expectedCriterionFQCN)` - -## Ibexa\Contracts\Core\Repository\Exceptions\InvalidVariationException extends Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException - -- `public function __construct(string $variationName, string $variationType[, int $code = 0 ][, Throwable|null $previous = null ])` - -## Ibexa\Contracts\Core\Repository\Exceptions\LimitationValidationException extends Ibexa\Contracts\Core\Repository\Exceptions\ForbiddenException - -- `public function abstract getLimitationErrors(): array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>` - -## Ibexa\Contracts\Core\Repository\Exceptions\NotImplementedException extends Ibexa\Contracts\Core\Repository\Exceptions\ForbiddenException - -- `public function __construct(string $feature[, int $code = 0 ][, Throwable|null $previous = null ])` - -## Ibexa\Contracts\Core\Repository\Exceptions\PasswordInUnsupportedFormatException extends Symfony\Component\Security\Core\Exception\AuthenticationException - -- `public function __construct([Throwable|null $previous = null ])` - -## Ibexa\Contracts\Core\Repository\Exceptions\PropertyNotFoundException extends Exception implements Ibexa\Contracts\Core\Repository\Exceptions\Exception - -- `public function __construct(string $propertyName[, string|null $className = null ][, Throwable|null $previous = null ])` - -## Ibexa\Contracts\Core\Repository\Exceptions\PropertyReadOnlyException extends Exception implements Ibexa\Contracts\Core\Repository\Exceptions\Exception - -- `public function __construct(string $propertyName[, string|null $className = null ][, Throwable|null $previous = null ])` - -## Ibexa\Contracts\Core\Repository\FieldType - -- `public function fieldSettingsFromHash(array<string|int, mixed>|scalar|null $fieldSettingsHash): mixed` -- `public function fieldSettingsToHash(mixed $fieldSettings): array<string|int, mixed>|scalar|null` -- `public function fromHash(mixed $hash): mixed` -- `public function getEmptyValue(): mixed` -- `public function getFieldTypeIdentifier(): string` -- `public function getName(\Ibexa\Contracts\Core\FieldType\Value $value, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, string $languageCode): string` -- `public function getSettingsSchema(): mixed` -- `public function getValidatorConfigurationSchema(): mixed` -- `public function isEmptyValue(mixed $value): bool` -- `public function isSearchable(): bool` -- `public function isSingular(): bool` -- `public function onlyEmptyInstance(): bool` -- `public function toHash(mixed $value): mixed` -- `public function validateFieldSettings(mixed $fieldSettings): array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>` -- `public function validateValidatorConfiguration(mixed $validatorConfiguration): array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>` -- `public function validateValue(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDef, \Ibexa\Contracts\Core\FieldType\Value $value): array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>` -- `public function validatorConfigurationFromHash(array<string|int, mixed>|scalar|null $validatorConfigurationHash): mixed` -- `public function validatorConfigurationToHash(mixed $validatorConfiguration): array<string|int, mixed>|scalar|null` - -## Ibexa\Contracts\Core\Repository\FieldTypeService - -- `public function getFieldType(string $identifier): \Ibexa\Contracts\Core\Repository\FieldType` -- `public function getFieldTypes(): array<string|int, \Ibexa\Contracts\Core\Repository\FieldType>` -- `public function hasFieldType(string $identifier): bool` - -## Ibexa\Contracts\Core\Repository\Iterator\BatchIterator implements Iterator - -- `public function current(): mixed` -- `public function key(): int` -- `public function next(): void` -- `public function rewind(): void` -- `public function setBatchSize(int $batchSize): void` -- `public function valid(): bool` -- `public const mixed DEFAULT_BATCH_SIZE = 25` - -## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function fetch(int $offset, int $limit): \Iterator` - -## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\AbstractSearchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function fetch(int $offset, int $limit): \Iterator` -- `protected function abstract executeSearch(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` - -## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\ContentFilteringAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\Core\Repository\ContentService $contentService, \Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array<string|int, mixed>|null $languages = null ])` -- `public function fetch(int $offset, int $limit): \Iterator` - -## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\ContentInfoSearchAdapter extends Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\AbstractSearchAdapter - -- `public function fetch(int $offset, int $limit): \Iterator` -- `protected function executeSearch(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` - -## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\ContentSearchAdapter extends Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\AbstractSearchAdapter - -- `public function fetch(int $offset, int $limit): \Iterator` -- `protected function executeSearch(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` - -## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\LocationFilteringAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\Core\Repository\LocationService $locationService, \Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array<string|int, string>|null $languages = null ])` -- `public function fetch(int $offset, int $limit): \Iterator` - -## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\LocationSearchAdapter extends Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\AbstractSearchAdapter - -- `public function fetch(int $offset, int $limit): \Iterator` -- `protected function executeSearch(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` - -## Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter\RelationListIteratorAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\Core\Repository\ContentService $contentService, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, RelationType|null $relationType = null ])` -- `public function fetch(int $offset, int $limit): \Iterator` - -## Ibexa\Contracts\Core\Repository\LanguageResolver - -- `public function getPrioritizedLanguages([array<string|int, mixed>|null $forcedLanguages = null ]): array<string|int, string>` -- `public function getShowAllTranslations([bool|null $forcedShowAllTranslations = null ]): bool` -- `public function getUseAlwaysAvailable([bool|null $forcedUseAlwaysAvailable = null ]): bool` -- `public function setContextLanguage(string|null $contextLanguage): void` -- `public function setDefaultUseAlwaysAvailable(bool $defaultUseAlwaysAvailable): void` -- `public function setShowAllTranslations(bool $defaultShowAllTranslations): void` - -## Ibexa\Contracts\Core\Repository\LanguageService - -- `public function createLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct $languageCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function deleteLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): void` -- `public function disableLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function enableLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getDefaultLanguageCode(): string` -- `public function loadLanguage(string $languageCode): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function loadLanguageById(int $languageId): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function loadLanguageListByCode(array<string|int, string> $languageCodes): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language>` -- `public function loadLanguageListById(array<string|int, int> $languageIds): iterable<int, \Ibexa\Contracts\Core\Repository\Values\Content\Language>` -- `public function loadLanguages(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language>` -- `public function newLanguageCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct` -- `public function updateLanguageName(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language, string $newName): \Ibexa\Contracts\Core\Repository\Values\Content\Language` - -## Ibexa\Contracts\Core\Repository\Lists\UnauthorizedListItem - -- `public function __construct(string $module, string $function, array<string|int, mixed> $payload)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getPayload(): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Repository\LocationService - -- `public function copySubtree(\Ibexa\Contracts\Core\Repository\Values\Content\Location $subtree, \Ibexa\Contracts\Core\Repository\Values\Content\Location $targetParentLocation): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function count(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array<int, string>|null $languages = null ]): int` -- `public function createLocation(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct $locationCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function deleteLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` -- `public function find(\Ibexa\Contracts\Core\Repository\Values\Filter\Filter $filter[, array<int, string>|null $languages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\LocationList` -- `public function getAllLocationsCount(): int` -- `public function getLocationChildCount(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): int` -- `public function getSubtreeSize(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): int` -- `public function hideLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function loadAllLocations([int $offset = 0 ][, int $limit = 25 ]): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` -- `public function loadLocation(mixed $locationId[, array<string|int, string>|null $prioritizedLanguages = null ][, bool|null $useAlwaysAvailable = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function loadLocationByRemoteId(string $remoteId[, array<string|int, string>|null $prioritizedLanguages = null ][, bool|null $useAlwaysAvailable = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function loadLocationChildren(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, int $offset = 0 ][, int $limit = 25 ][, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\LocationList` -- `public function loadLocationList(array<string|int, mixed> $locationIds[, array<int, string>|null $prioritizedLanguages = null ][, bool|null $useAlwaysAvailable = null ]): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>|iterable<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` -- `public function loadLocations(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo[, \Ibexa\Contracts\Core\Repository\Values\Content\Location $rootLocation = null ][, array<string|int, string>|null $prioritizedLanguages = null ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` -- `public function loadParentLocationsForDraftContent(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, array<string|int, string>|null $prioritizedLanguages = null ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` -- `public function moveSubtree(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Location $newParentLocation): void` -- `public function newLocationCreateStruct(mixed $parentLocationId): \Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct` -- `public function newLocationUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct` -- `public function swapLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location1, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location2): void` -- `public function unhideLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function updateLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct $locationUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Location` - -## Ibexa\Contracts\Core\Repository\NameSchema\SchemaIdentifierExtractorInterface - -- `public function extract(string $schemaString): array<string, array<int, string>>` - -## Ibexa\Contracts\Core\Repository\NotificationService - -- `public function createNotification(\Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct $createStruct): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` -- `public function deleteNotification(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` -- `public function findNotifications([NotificationQuery|null $query = null ]): \Ibexa\Contracts\Core\Repository\Values\Notification\NotificationList` -- `public function getNotification(int $notificationId): \Ibexa\Contracts\Core\Repository\Values\Notification\Notification` -- `public function getNotificationCount([NotificationQuery|null $query = null ]): int` -- `public function getPendingNotificationCount(): int` -- `public function loadNotifications(int $offset, int $limit): \Ibexa\Contracts\Core\Repository\Values\Notification\NotificationList` -- `public function markNotificationAsRead(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` -- `public function markNotificationAsUnread(\Ibexa\Contracts\Core\Repository\Values\Notification\Notification $notification): void` -- `public function markUserNotificationsAsRead([array<string|int, int> $notificationIds = [] ]): void` - -## Ibexa\Contracts\Core\Repository\ObjectStateService - -- `public function createObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct $objectStateCreateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function createObjectStateGroup(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct $objectStateGroupCreateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function deleteObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState): void` -- `public function deleteObjectStateGroup(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup): void` -- `public function getContentCount(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState): int` -- `public function getContentState(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function loadObjectState(mixed $stateId[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function loadObjectStateByIdentifier(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, string $objectStateIdentifier[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function loadObjectStateGroup(mixed $objectStateGroupId[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function loadObjectStateGroupByIdentifier(string $objectStateGroupIdentifier[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `public function loadObjectStateGroups([int $offset = 0 ][, int $limit = -1 ][, array<string|int, string> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup>` -- `public function loadObjectStates(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup[, array<string|int, string> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState>` -- `public function newObjectStateCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct` -- `public function newObjectStateGroupCreateStruct(string $identifier): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct` -- `public function newObjectStateGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct` -- `public function newObjectStateUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct` -- `public function setContentState(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState): void` -- `public function setPriorityOfObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, int $priority): void` -- `public function updateObjectState(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState $objectState, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct $objectStateUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState` -- `public function updateObjectStateGroup(\Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup, \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct $objectStateGroupUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` - -## Ibexa\Contracts\Core\Repository\PasswordHashService - -- `public function createPasswordHash(string $plainPassword[, int|null $hashType = null ]): string` -- `public function getDefaultHashType(): int` -- `public function getSupportedHashTypes(): array<string|int, int>` -- `public function isHashTypeSupported(int $hashType): bool` -- `public function isValidPassword(string $plainPassword, string $passwordHash[, int|null $hashType = null ]): bool` - -## Ibexa\Contracts\Core\Repository\PermissionCriterionResolver - -- `public function getPermissionsCriterion([string $module = 'content' ][, string $function = 'read' ][, array<string|int, mixed>|null $targets = null ]): bool|CriterionInterface` -- `public function getQueryPermissionsCriterion(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface` - -## Ibexa\Contracts\Core\Repository\PermissionResolver - -- `public function canUser(string $module, string $function, object $object[, array<string|int, object> $targets = [] ]): bool` -- `public function getCurrentUserReference(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` -- `public function hasAccess(string $module, string $function[, UserReference|null $userReference = null ]): bool|array<string|int, mixed>` -- `public function lookupLimitations(string $module, string $function, object $object[, array<string|int, object> $targets = [] ][, array<string|int, string> $limitationsIdentifiers = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\LookupLimitationResult` -- `public function setCurrentUserReference(\Ibexa\Contracts\Core\Repository\Values\User\UserReference $userReference): void` - -## Ibexa\Contracts\Core\Repository\PermissionService extends Ibexa\Contracts\Core\Repository\PermissionResolver - -- `public function canUser(string $module, string $function, object $object[, array<string|int, object> $targets = [] ]): bool` -- `public function getCurrentUserReference(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` -- `public function getPermissionsCriterion([string $module = 'content' ][, string $function = 'read' ][, array<string|int, mixed>|null $targets = null ]): bool|CriterionInterface` -- `public function getQueryPermissionsCriterion(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface` -- `public function hasAccess(string $module, string $function[, UserReference|null $userReference = null ]): bool|array<string|int, mixed>` -- `public function lookupLimitations(string $module, string $function, object $object[, array<string|int, object> $targets = [] ][, array<string|int, string> $limitationsIdentifiers = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\LookupLimitationResult` -- `public function setCurrentUserReference(\Ibexa\Contracts\Core\Repository\Values\User\UserReference $userReference): void` - -## Ibexa\Contracts\Core\Repository\Repository - -- `public function beginTransaction(): void` -- `public function commit(): void` -- `public function getBookmarkService(): \Ibexa\Contracts\Core\Repository\BookmarkService` -- `public function getContentLanguageService(): \Ibexa\Contracts\Core\Repository\LanguageService` -- `public function getContentService(): \Ibexa\Contracts\Core\Repository\ContentService` -- `public function getContentTypeService(): \Ibexa\Contracts\Core\Repository\ContentTypeService` -- `public function getFieldTypeService(): \Ibexa\Contracts\Core\Repository\FieldTypeService` -- `public function getLocationService(): \Ibexa\Contracts\Core\Repository\LocationService` -- `public function getNotificationService(): \Ibexa\Contracts\Core\Repository\NotificationService` -- `public function getObjectStateService(): \Ibexa\Contracts\Core\Repository\ObjectStateService` -- `public function getPermissionResolver(): \Ibexa\Contracts\Core\Repository\PermissionResolver` -- `public function getRoleService(): \Ibexa\Contracts\Core\Repository\RoleService` -- `public function getSearchService(): \Ibexa\Contracts\Core\Repository\SearchService` -- `public function getSectionService(): \Ibexa\Contracts\Core\Repository\SectionService` -- `public function getTrashService(): \Ibexa\Contracts\Core\Repository\TrashService` -- `public function getURLAliasService(): \Ibexa\Contracts\Core\Repository\URLAliasService` -- `public function getURLService(): \Ibexa\Contracts\Core\Repository\URLService` -- `public function getURLWildcardService(): \Ibexa\Contracts\Core\Repository\URLWildcardService` -- `public function getUserPreferenceService(): \Ibexa\Contracts\Core\Repository\UserPreferenceService` -- `public function getUserService(): \Ibexa\Contracts\Core\Repository\UserService` -- `public function rollback(): void` -- `public function sudo(callable $callback[, Repository|null $outerRepository = null ]): \Ibexa\Contracts\Core\Repository\T` - -## Ibexa\Contracts\Core\Repository\RoleService - -- `public function addPolicyByRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct $policyCreateStruct): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function assignRoleToUser(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\User $user[, RoleLimitation|null $roleLimitation = null ]): void` -- `public function assignRoleToUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, RoleLimitation|null $roleLimitation = null ]): void` -- `public function copyRole(\Ibexa\Contracts\Core\Repository\Values\User\Role $role, \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct $roleCopyStruct): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function countRoleAssignments(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): int` -- `public function createRole(\Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct $roleCreateStruct): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function createRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function deleteRole(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): void` -- `public function deleteRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft): void` -- `public function getLimitationType(string $identifier): \Ibexa\Contracts\Core\Limitation\Type` -- `public function getLimitationTypesByModuleFunction(string $module, string $function): array<string|int, \Ibexa\Contracts\Core\Limitation\Type>` -- `public function getRoleAssignments(\Ibexa\Contracts\Core\Repository\Values\User\Role $role): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment>` -- `public function getRoleAssignmentsForUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user[, bool $inherited = false ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserRoleAssignment>|array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupRoleAssignment>` -- `public function getRoleAssignmentsForUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupRoleAssignment>` -- `public function loadRole(int $id): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function loadRoleAssignment(int $roleAssignmentId): \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment` -- `public function loadRoleAssignments(\Ibexa\Contracts\Core\Repository\Values\User\Role $role[, int $offset = 0 ][, int|null $limit = null ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment>` -- `public function loadRoleByIdentifier(string $identifier): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function loadRoleDraft(int $id): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function loadRoleDraftByRoleId(int $roleId): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function loadRoles(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\Role>` -- `public function newPolicyCreateStruct(string $module, string $function): \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct` -- `public function newPolicyUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct` -- `public function newRoleCopyStruct(string $name): \Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct` -- `public function newRoleCreateStruct(string $name): \Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct` -- `public function newRoleUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct` -- `public function publishRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft): void` -- `public function removePolicyByRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policyDraft): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` -- `public function removeRoleAssignment(\Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment $roleAssignment): void` -- `public function updatePolicyByRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft $policy, \Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct $policyUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft` -- `public function updateRoleDraft(\Ibexa\Contracts\Core\Repository\Values\User\RoleDraft $roleDraft, \Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct $roleUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\RoleDraft` - -## Ibexa\Contracts\Core\Repository\SearchService - -- `public function findContentInfo(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query[, array<string, mixed>|array<int, string> $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo>` -- `public function findLocations(\Ibexa\Contracts\Core\Repository\Values\Content\LocationQuery $query[, array<string, mixed>|array<int, string> $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` -- `public function findSingle(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion $filter[, array<string, mixed>|array<int, string> $languageFilter = [] ][, bool $filterOnUserPermissions = true ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function suggest(string $prefix[, array<string|int, string> $fieldPaths = [] ][, int $limit = 10 ][, CriterionInterface|null $filter = null ]): mixed` -- `public function supports(int $capabilityFlag): bool` -- `public const mixed CAPABILITY_ADVANCED_FULLTEXT = 64` -- `public const mixed CAPABILITY_AGGREGATIONS = 128` -- `public const mixed CAPABILITY_CUSTOM_FIELDS = 4` -- `public const mixed CAPABILITY_SCORING = 1` -- `public const mixed CAPABILITY_SPELLCHECK = 8` -- `public const mixed CAPABILITY_SUGGEST = 32` - -## Ibexa\Contracts\Core\Repository\SectionService - -- `public function assignSection(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $contentInfo, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section): void` -- `public function assignSectionToSubtree(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, \Ibexa\Contracts\Core\Repository\Values\Content\Section $section): void` -- `public function countAssignedContents(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section): int` -- `public function createSection(\Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct $sectionCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function deleteSection(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section): void` -- `public function isSectionUsed(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section): bool` -- `public function loadSection(int $sectionId): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function loadSectionByIdentifier(string $sectionIdentifier): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function loadSections(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Section>` -- `public function newSectionCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct` -- `public function newSectionUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct` -- `public function updateSection(\Ibexa\Contracts\Core\Repository\Values\Content\Section $section, \Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct $sectionUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Section` - -## Ibexa\Contracts\Core\Repository\SettingService - -- `public function createSetting(\Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct $settingCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` -- `public function deleteSetting(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting): void` -- `public function loadSetting(string $group, string $identifier): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` -- `public function newSettingCreateStruct([array<string|int, mixed> $properties = [] ]): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct` -- `public function newSettingUpdateStruct([array<string|int, mixed> $properties = [] ]): \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct` -- `public function updateSetting(\Ibexa\Contracts\Core\Repository\Values\Setting\Setting $setting, \Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct $settingUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\Setting\Setting` - -## Ibexa\Contracts\Core\Repository\Strategy\ContentThumbnail\Field\FieldTypeBasedThumbnailStrategy extends Ibexa\Contracts\Core\Repository\Strategy\ContentThumbnail\Field\ThumbnailStrategy - -- `public function getFieldTypeIdentifier(): string` -- `public function getThumbnail(\Ibexa\Contracts\Core\Repository\Values\Content\Field $field[, VersionInfo|null $versionInfo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` - -## Ibexa\Contracts\Core\Repository\Strategy\ContentThumbnail\Field\ThumbnailStrategy - -- `public function getThumbnail(\Ibexa\Contracts\Core\Repository\Values\Content\Field $field[, VersionInfo|null $versionInfo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` - -## Ibexa\Contracts\Core\Repository\Strategy\ContentThumbnail\ThumbnailStrategy - -- `public function getThumbnail(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, array<string|int, mixed> $fields[, VersionInfo|null $versionInfo = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` - -## Ibexa\Contracts\Core\Repository\TokenService - -- `public function checkToken(string $tokenType, string $token[, string|null $identifier = null ]): bool` -- `public function deleteToken(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token): void` -- `public function generateToken(string $type, int $ttl[, string|null $identifier = null ][, int $tokenLength = 64 ][, TokenGeneratorInterface|null $tokenGenerator = null ]): \Ibexa\Contracts\Core\Repository\Values\Token\Token` -- `public function getToken(string $tokenType, string $token[, string|null $identifier = null ]): \Ibexa\Contracts\Core\Repository\Values\Token\Token` -- `public function revokeToken(\Ibexa\Contracts\Core\Repository\Values\Token\Token $token): void` -- `public function revokeTokenByIdentifier(string $tokenType, string|null $identifier): void` - -## Ibexa\Contracts\Core\Repository\Translatable - -- `public function getTranslatableMessage(): \Ibexa\Contracts\Core\Repository\Values\Translation` - -## Ibexa\Contracts\Core\Repository\TranslationService - -- `public function translate(\Ibexa\Contracts\Core\Repository\Values\Translation $translation, string $locale): string` -- `public function translateString(string $translation, string $locale): string` - -## Ibexa\Contracts\Core\Repository\TrashService - -- `public function deleteTrashItem(\Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult` -- `public function emptyTrash(): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList` -- `public function findTrashItems(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query): \Ibexa\Contracts\Core\Repository\Values\Content\Trash\SearchResult` -- `public function loadTrashItem(int $trashItemId): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem` -- `public function recover(\Ibexa\Contracts\Core\Repository\Values\Content\TrashItem $trashItem[, \Ibexa\Contracts\Core\Repository\Values\Content\Location $newParentLocation = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function trash(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): \Ibexa\Contracts\Core\Repository\Values\Content\TrashItem|null` - -## Ibexa\Contracts\Core\Repository\URLAliasService - -- `public function createGlobalUrlAlias(string $resource, string $path, string $languageCode[, bool $forwarding = false ][, bool $alwaysAvailable = false ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` -- `public function createUrlAlias(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, string $path, string $languageCode[, bool $forwarding = false ][, bool $alwaysAvailable = false ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` -- `public function deleteCorruptedUrlAliases(): int` -- `public function listGlobalAliases([string|null $languageCode = null ][, int $offset = 0 ][, int $limit = -1 ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias>` -- `public function listLocationAliases(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, bool $custom = true ][, string|null $languageCode = null ][, bool|null $showAllTranslations = null ][, array<string|int, string>|null $prioritizedLanguages = null ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias>` -- `public function load(string $id): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` -- `public function lookup(string $url[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` -- `public function refreshSystemUrlAliasesForLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): void` -- `public function removeAliases(array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias> $aliasList): void` -- `public function reverseLookup(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, string|null $languageCode = null ][, bool|null $showAllTranslations = null ][, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLAlias` - -## Ibexa\Contracts\Core\Repository\URLService - -- `public function createUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct` -- `public function findUrls(\Ibexa\Contracts\Core\Repository\Values\URL\URLQuery $query): \Ibexa\Contracts\Core\Repository\Values\URL\SearchResult` -- `public function findUsages(\Ibexa\Contracts\Core\Repository\Values\URL\URL $url[, int $offset = 0 ][, int $limit = -1 ]): \Ibexa\Contracts\Core\Repository\Values\URL\UsageSearchResult` -- `public function loadById(int $id): \Ibexa\Contracts\Core\Repository\Values\URL\URL` -- `public function loadByUrl(string $url): \Ibexa\Contracts\Core\Repository\Values\URL\URL` -- `public function updateUrl(\Ibexa\Contracts\Core\Repository\Values\URL\URL $url, \Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct $struct): \Ibexa\Contracts\Core\Repository\Values\URL\URL` - -## Ibexa\Contracts\Core\Repository\URLWildcardService - -- `public function countAll(): int` -- `public function create(string $sourceUrl, string $destinationUrl[, bool $forward = false ]): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` -- `public function findUrlWildcards(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\URLWildcardQuery $query): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\SearchResult` -- `public function load(int $id): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard` -- `public function loadAll([int $offset = 0 ][, int $limit = -1 ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard>` -- `public function remove(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard): void` -- `public function translate(string $url): \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardTranslationResult` -- `public function update(\Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard $urlWildcard, \Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct $updateStruct): void` - -## Ibexa\Contracts\Core\Repository\UserPreferenceService - -- `public function getUserPreference(string $userPreferenceName): \Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreference` -- `public function getUserPreferenceCount(): int` -- `public function loadUserPreferences([int $offset = 0 ][, int $limit = 25 ]): \Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreferenceList` -- `public function setUserPreference(array<string|int, \Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreferenceSetStruct> $userPreferenceSetStructs): void` - -## Ibexa\Contracts\Core\Repository\UserService - -- `public function assignUserToUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): void` -- `public function checkUserCredentials(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $credentials): bool` -- `public function createUser(\Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct $userCreateStruct, array<string|int, mixed> $parentGroups): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function createUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct $userGroupCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $parentGroup): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function deleteUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): array<string|int, int>` -- `public function deleteUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): array<string|int, int>` -- `public function expireUserToken(string $hash): void` -- `public function getPasswordInfo(\Ibexa\Contracts\Core\Repository\Values\User\User $user): \Ibexa\Contracts\Core\Repository\Values\User\PasswordInfo` -- `public function isUser(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` -- `public function isUserGroup(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` -- `public function loadSubUserGroups(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, int $offset = 0 ][, int $limit = 25 ][, array<string|int, string> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup>` -- `public function loadUser(mixed $userId[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function loadUserByEmail(string $email[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function loadUserByLogin(string $login[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function loadUserByToken(string $hash[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function loadUserGroup(int $id[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function loadUserGroupByRemoteId(string $remoteId[, array<string|int, string> $prioritizedLanguages = [] ]): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function loadUserGroupsOfUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user[, int $offset = 0 ][, int $limit = 25 ][, array<string|int, string> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup>` -- `public function loadUsersByEmail(string $email[, array<string|int, string> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\User>` -- `public function loadUsersOfUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup[, int $offset = 0 ][, int $limit = 25 ][, array<string|int, string> $prioritizedLanguages = [] ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\User>` -- `public function moveUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $newParent): void` -- `public function newUserCreateStruct(string $login, string $email, string $password, string $mainLanguageCode[, ContentType|null $contentType = null ]): \Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct` -- `public function newUserGroupCreateStruct(string $mainLanguageCode[, ContentType|null $contentType = null ]): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct` -- `public function newUserGroupUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct` -- `public function newUserUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct` -- `public function unAssignUserFromUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup): void` -- `public function updateUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct $userUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function updateUserGroup(\Ibexa\Contracts\Core\Repository\Values\User\UserGroup $userGroup, \Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct $userGroupUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `public function updateUserPassword(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $newPassword): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function updateUserToken(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct $userTokenUpdateStruct): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function validatePassword(string $password[, PasswordValidationContext|null $context = null ]): array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>` - -## Ibexa\Contracts\Core\Repository\Validator\ContentValidator - -- `public function supports(\Ibexa\Contracts\Core\Repository\Values\ValueObject $object): bool` -- `public function validate(\Ibexa\Contracts\Core\Repository\Values\ValueObject $object[, array<string|int, mixed> $context = [] ][, array<string|int, string>|null $fieldIdentifiers = null ]): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Repository\Values\Bookmark\BookmarkList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function getIterator(): \Traversable` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\MultiLanguageName, Ibexa\Contracts\Core\Repository\Values\MultiLanguageDescription - -- `public function abstract getContentTypeGroups(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup>` -- `public function getFieldDefinition(string $fieldDefinitionIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition|null` -- `public function abstract getFieldDefinitions(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` -- `public function getFieldDefinitionsOfType(string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` -- `public function getFirstFieldDefinitionOfType(string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition|null` -- `public function getIdentifier(): string` -- `public function hasFieldDefinition(string $fieldDefinitionIdentifier): bool` -- `public function hasFieldDefinitionOfType(string $fieldTypeIdentifier): bool` -- `public function isContainer(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function abstract addFieldDefinition(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDef): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeDraft extends Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType - -- `public function abstract getContentTypeGroups(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup>` -- `public function getFieldDefinition(string $fieldDefinitionIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition|null` -- `public function abstract getFieldDefinitions(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` -- `public function getFieldDefinitionsOfType(string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` -- `public function getFirstFieldDefinitionOfType(string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition|null` -- `public function getIdentifier(): string` -- `public function hasFieldDefinition(string $fieldDefinitionIdentifier): bool` -- `public function hasFieldDefinitionOfType(string $fieldTypeIdentifier): bool` -- `public function isContainer(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroup extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\MultiLanguageName, Ibexa\Contracts\Core\Repository\Values\MultiLanguageDescription - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupStruct - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeGroupStruct - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\MultiLanguageName, Ibexa\Contracts\Core\Repository\Values\MultiLanguageDescription - -- `public function getDefaultValue(): mixed` -- `public function getFieldGroup(): string` -- `public function abstract getFieldSettings(): array<string|int, mixed>` -- `public function getFieldTypeIdentifier(): string` -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getMainLanguageCode(): string` -- `public function getPosition(): int` -- `public function abstract getValidatorConfiguration(): array<string|int, mixed>` -- `public function isInfoCollector(): bool` -- `public function isRequired(): bool` -- `public function isSearchable(): bool` -- `public function isThumbnail(): bool` -- `public function isTranslatable(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection extends Countable - -- `public function all(\Closure $predicate): bool` -- `public function any(\Closure $predicate): bool` -- `public function anyInGroup(string $fieldGroup): bool` -- `public function anyOfType(string $fieldTypeIdentifier): bool` -- `public function filter(\Closure $predicate): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` -- `public function filterByGroup(string $fieldGroup): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` -- `public function filterByType(string $fieldTypeIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection` -- `public function first(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` -- `public function get(string $fieldDefinitionIdentifier): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` -- `public function has(string $fieldDefinitionIdentifier): bool` -- `public function isEmpty(): bool` -- `public function last(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` -- `public function map(\Closure $predicate): array<string|int, mixed>` -- `public function partition(\Closure $predicate): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCollection>` -- `public function toArray(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\ContentTypeQuery - -- `public function addSortClause(\Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause $sortClause): void` -- `public function getCriterion(): \Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface|null` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getSortClauses(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause>` -- `public function setCriterion(CriterionInterface|null $criterion): void` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\ContainsFieldDefinitionId implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface - -- `public function __construct(array<int, int>|int $value)` -- `public function getValue(): array<int, int>|int` -- `public function setValue(array<int, int>|int $value): void` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\ContentTypeGroupId implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface - -- `public function __construct(array<int, int>|int $value)` -- `public function getValue(): array<int, int>|int` -- `public function setValue(array<int, int>|int $value): void` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\ContentTypeGroupName implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface - -- `public function __construct(array<int, string>|string $value)` -- `public function getValue(): array<int, string>|string` -- `public function setValue(array<int, string>|string $value): void` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\ContentTypeId implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface - -- `public function __construct(array<int, int>|int $value)` -- `public function getValue(): array<int, int>|int` -- `public function setValue(array<int, int>|int $value): void` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\ContentTypeIdentifier implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface - -- `public function __construct(array<int, string>|string $value)` -- `public function getValue(): array<int, string>|string` -- `public function setValue(array<int, string>|string $value): void` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\IsSystem implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface - -- `public function __construct([bool $value = true ])` -- `public function getValue(): bool` -- `public function setValue(bool $value): void` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalAnd extends Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalOperator - -- `public function __construct(array<int, \Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface> $criteria)` -- `public function getCriteria(): array<int, \Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalNot extends Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalOperator - -- `public function __construct(array<int, \Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface> $criteria)` -- `public function getCriteria(): array<int, \Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalOperator implements Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface - -- `public function __construct(array<int, \Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface> $criteria)` -- `public function getCriteria(): array<int, \Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalOr extends Ibexa\Contracts\Core\Repository\Values\ContentType\Query\Criterion\LogicalOperator - -- `public function __construct(array<int, \Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface> $criteria)` -- `public function getCriteria(): array<int, \Ibexa\Contracts\Core\Repository\Values\ContentType\Query\CriterionInterface>` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause - -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Id extends Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause - -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Identifier extends Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause - -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Name extends Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause - -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\Core\Repository\Values\ContentType\SearchResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function getContentTypes(): array<int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType>` -- `public function getIterator(): \Traversable<int, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType>` -- `public function getTotalCount(): int` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Content extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function abstract getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function abstract getDefaultLanguageCode(): string` -- `public function abstract getField(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Field|null` -- `public function abstract getFields(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Field>` -- `public function abstract getFieldsByLanguage([string|null $languageCode = null ]): iterable<string, \Ibexa\Contracts\Core\Repository\Values\Content\Field>` -- `public function abstract getFieldValue(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\FieldType\Value|null` -- `public function getId(): int` -- `public function getName([string|null $languageCode = null ]): string|null` -- `public function abstract getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` -- `public function abstract getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\ContentAwareInterface - -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` - -## Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentStruct - -- `public function abstract setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\ContentDraftList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function getIterator(): \Traversable` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getId(): int` -- `public function getMainLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getMainLanguageCode(): string` -- `public function getMainLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` -- `public function getMainLocationId(): int|null` -- `public function getName(): string` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getSection(): \Ibexa\Contracts\Core\Repository\Values\Content\Section` -- `public function getSectionId(): int` -- `public function isDraft(): bool` -- `public function isHidden(): bool` -- `public function isPublished(): bool` -- `public function isTrashed(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed STATUS_DRAFT = 0` -- `public const mixed STATUS_PUBLISHED = 1` -- `public const mixed STATUS_TRASHED = 2` - -## Ibexa\Contracts\Core\Repository\Values\Content\ContentList implements IteratorAggregate, Ibexa\Contracts\Core\Repository\Collections\TotalCountAwareInterface - -- `public function getIterator(): \ArrayIterator<int, \Ibexa\Contracts\Core\Repository\Values\Content\Content>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\ContentStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function abstract setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentStruct - -- `public function abstract setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\DraftList\ContentDraftListItemInterface - -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` -- `public function hasVersionInfo(): bool` - -## Ibexa\Contracts\Core\Repository\Values\Content\DraftList\Item\ContentDraftListItem implements Ibexa\Contracts\Core\Repository\Values\Content\DraftList\ContentDraftListItemInterface - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo)` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` -- `public function hasVersionInfo(): bool` - -## Ibexa\Contracts\Core\Repository\Values\Content\DraftList\Item\UnauthorizedContentDraftListItem implements Ibexa\Contracts\Core\Repository\Values\Content\DraftList\ContentDraftListItemInterface - -- `public function __construct(string $module, string $function, array<string, mixed> $payload)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getPayload(): array<string, mixed>` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo|null` -- `public function hasVersionInfo(): bool` - -## Ibexa\Contracts\Core\Repository\Values\Content\EmbeddingQuery extends Ibexa\Contracts\Core\Repository\Values\Content\Query - -- `public function getAggregations(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation>` -- `public function getEmbedding(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding|null` -- `public function getFilter(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface|null` -- `public function getLimit(): int` -- `public function getOffset(): int` -- `public function getPerformCount(): bool` -- `public function isValid(): bool` -- `public function setAggregations(array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation> $aggregations): void` -- `public function setEmbedding([Embedding|null $embedding = null ]): void` -- `public function setFilter([CriterionInterface|null $filter = null ]): void` -- `public function setLimit(int $limit): void` -- `public function setOffset(int $offset): void` -- `public function setPerformCount(bool $performCount): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\Core\Repository\Values\Content\EmbeddingQueryBuilder - -- `public function build(): \Ibexa\Contracts\Core\Repository\Values\Content\EmbeddingQuery` -- `public function static create(): self` -- `public function setAggregations(array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation> $aggregations): self` -- `public function setFilter(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion $filter): self` -- `public function setLimit(int $limit): self` -- `public function setOffset(int $offset): self` -- `public function setPerformCount(bool $performCount): self` -- `public function withEmbedding(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding $embed): self` - -## Ibexa\Contracts\Core\Repository\Values\Content\Field extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getFieldDefinitionIdentifier(): string` -- `public function getFieldTypeIdentifier(): string` -- `public function getId(): int|null` -- `public function getLanguageCode(): string|null` -- `public function getValue(): mixed` -- `public function isVirtual(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Language extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getId(): int` -- `public function getLanguageCode(): string` -- `public function getName(): string` -- `public function isEnabled(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed ALL = []` - -## Ibexa\Contracts\Core\Repository\Values\Content\LanguageCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Location extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __get(mixed $property): mixed` -- `public function __isset(mixed $property): mixed` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentId(): int` -- `public function abstract getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getDepth(): int` -- `public function getId(): int` -- `public function abstract getParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` -- `public function getPath(): array<string|int, mixed>` -- `public function getPathString(): string` -- `public function getSortClauses(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause>` -- `public function isDraft(): bool` -- `public function isHidden(): bool` -- `public function isInvisible(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed SORT_FIELD_CLASS_IDENTIFIER = 6` -- `public const mixed SORT_FIELD_CLASS_NAME = 7` -- `public const mixed SORT_FIELD_CONTENTOBJECT_ID = 12` -- `public const mixed SORT_FIELD_DEPTH = 5` -- `public const mixed SORT_FIELD_MODIFIED = 3` -- `public const mixed SORT_FIELD_NAME = 9` -- `public const mixed SORT_FIELD_NODE_ID = 11` -- `public const mixed SORT_FIELD_PATH = 1` -- `public const mixed SORT_FIELD_PRIORITY = 8` -- `public const mixed SORT_FIELD_PUBLISHED = 2` -- `public const mixed SORT_FIELD_SECTION = 4` -- `public const mixed SORT_ORDER_ASC = 1` -- `public const mixed SORT_ORDER_DESC = 0` -- `public const mixed SORT_ORDER_MAP = [self::SORT_ORDER_DESC => \Ibexa\Contracts\Core\Repository\Values\Content\Query::SORT_DESC, self::SORT_ORDER_ASC => \Ibexa\Contracts\Core\Repository\Values\Content\Query::SORT_ASC]` -- `public const mixed STATUS_DRAFT = 0` -- `public const mixed STATUS_PUBLISHED = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\LocationCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\LocationList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate, Ibexa\Contracts\Core\Repository\Collections\TotalCountAwareInterface - -- `public function getIterator(): \Iterator` -- `public function getTotalCount(): int` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\LocationQuery extends Ibexa\Contracts\Core\Repository\Values\Content\Query - -- `public function isValid(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\Core\Repository\Values\Content\LocationUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\Content\QueryValidatorInterface - -- `public function isValid(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\Core\Repository\Values\Content\QueryValidatorInterface - -- `public function isValid(): bool` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation - -- `public function getName(): string` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation - -- `public function getName(): string` -- `public function getRanges(): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation - -- `public function getName(): string` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation - -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\ContentTypeGroupTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation - -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\ContentTypeTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation - -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\DateMetadataRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation - -- `public function static fromGenerator(string $name, string $type, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` -- `public function getName(): string` -- `public function getRanges(): array<string|int, mixed>` -- `public function getType(): string` -- `public const mixed CREATED = 'created'` -- `public const mixed MODIFIED = 'modified'` -- `public const mixed PUBLISHED = 'published'` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\FieldAggregation - -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\FieldAggregation - -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getName(): string` -- `public function getRanges(): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\FieldAggregation - -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getName(): string` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\FieldAggregation - -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AuthorTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldTermAggregation - -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\CheckboxTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldTermAggregation - -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\CountryTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldTermAggregation - -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function getType(): int` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` -- `public const mixed TYPE_ALPHA_2 = 4` -- `public const mixed TYPE_ALPHA_3 = 8` -- `public const mixed TYPE_IDC = 2` -- `public const mixed TYPE_NAME = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\DateRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldRangeAggregation - -- `public function static fromGenerator(string $name, string $contentTypeIdentifier, string $fieldDefinitionIdentifier, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getName(): string` -- `public function getRanges(): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\DateTimeRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldRangeAggregation - -- `public function static fromGenerator(string $name, string $contentTypeIdentifier, string $fieldDefinitionIdentifier, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getName(): string` -- `public function getRanges(): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\FieldAggregationTrait - -- `public function getFieldDefinitionIdentifier(): string` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\FloatRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldRangeAggregation - -- `public function static fromGenerator(string $name, string $contentTypeIdentifier, string $fieldDefinitionIdentifier, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getName(): string` -- `public function getRanges(): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\FloatStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldStatsAggregation - -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getName(): string` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\IntegerRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldRangeAggregation - -- `public function static fromGenerator(string $name, string $contentTypeIdentifier, string $fieldDefinitionIdentifier, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getName(): string` -- `public function getRanges(): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\IntegerStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldStatsAggregation - -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getName(): string` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\KeywordTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldTermAggregation - -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\SelectionTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldTermAggregation - -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\TimeRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Field\AbstractFieldRangeAggregation - -- `public function static fromGenerator(string $name, string $contentTypeIdentifier, string $fieldDefinitionIdentifier, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` -- `public function getContentTypeIdentifier(): string` -- `public function getFieldDefinitionIdentifier(): string` -- `public function getName(): string` -- `public function getRanges(): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\LanguageTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation - -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Location\LocationChildrenTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\LocationAggregation - -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Location\SubtreeTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\LocationAggregation - -- `public function static fromLocation(string $name, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location): self` -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function getPathString(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\ObjectStateTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation - -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function getObjectStateGroupIdentifier(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Range extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __toString(): string` -- `public function equalsTo(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Range $value): bool` -- `public function getFrom(): mixed` -- `public function getLabel(): string|null` -- `public function getTo(): mixed` -- `public function static ofDateTime(DateTimeInterface|null $from, DateTimeInterface|null $to): self` -- `public function static ofFloat(float|null $from, float|null $to): self` -- `public function static ofInt(int|null $from, int|null $to): self` -- `public function setLabel(string|null $label): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed INF = null` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\DateTimeStepRangesGenerator implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface - -- `public function __construct(\DateTimeInterface $start, \DateTimeInterface $end)` -- `public function generate(): array<string|int, Range<string|int, \DateTimeInterface>>` -- `public function getEnd(): \DateTimeInterface` -- `public function getStart(): \DateTimeInterface` -- `public function getStep(): \DateInterval` -- `public function isLeftOpen(): bool` -- `public function isRightOpen(): bool` -- `public function setEnd(\DateTimeInterface $end): self` -- `public function setLeftOpen(bool $isLeftOpen): void` -- `public function setRightOpen(bool $isRightOpen): self` -- `public function setStart(\DateTimeInterface $start): self` -- `public function setStep(\DateInterval $step): self` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\FloatStepRangesGenerator implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface - -- `public function __construct(float $start, float $end)` -- `public function generate(): array<string|int, Range<string|int, float>>` -- `public function getEnd(): float` -- `public function getStart(): float` -- `public function getStep(): float` -- `public function isLeftOpen(): bool` -- `public function isRightOpen(): bool` -- `public function setEnd(float $end): self` -- `public function setLeftOpen(bool $isLeftOpen): self` -- `public function setRightOpen(bool $isRightOpen): self` -- `public function setStart(float $start): self` -- `public function setStep(float $step): self` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\IntegerStepRangesGenerator implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface - -- `public function __construct(int $start, int $end)` -- `public function generate(): array<string|int, Range<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\TValue>>` -- `public function getEnd(): int` -- `public function getStart(): int` -- `public function getStep(): int` -- `public function isLeftOpen(): bool` -- `public function isRightOpen(): bool` -- `public function setEnd(int $end): self` -- `public function setLeftOpen(bool $isLeftOpen): self` -- `public function setRightOpen(bool $isRightOpen): self` -- `public function setStart(int $start): self` -- `public function setStep(int $step): self` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface - -- `public function generate(): array<string|int, Range<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\TValue>>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawAggregation - -- `public function getFieldName(): string` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawAggregation - -- `public function static fromGenerator(string $name, string $fieldName, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Ranges\RangesGeneratorInterface $generator): self` -- `public function getFieldName(): string` -- `public function getName(): string` -- `public function getRanges(): array<string|int, mixed>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawAggregation - -- `public function getFieldName(): string` -- `public function getName(): string` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation implements Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawAggregation - -- `public function getFieldName(): string` -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\SectionTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation - -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\UserMetadataTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation - -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function getType(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` -- `public const mixed GROUP = 'group'` -- `public const mixed MODIFIER = 'modifier'` -- `public const mixed OWNER = 'owner'` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\VisibilityTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation - -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface - -- `public function abstract getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Ancestor extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\CompositeCriterion extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ContentId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ContentName extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion - -- `public function getSpecifications(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ContentTypeGroupId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ContentTypeId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion, Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ContentTypeIdentifier extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\CustomField extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\DateMetadata extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion, Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `public const mixed CREATED = 'created'` -- `public const mixed MODIFIED = 'modified'` -- `public const mixed PUBLISHED = 'published'` -- `public const mixed TARGETS = [self::MODIFIED, self::CREATED, self::PUBLISHED, self::TRASHED]` -- `public const mixed TRASHED = 'trashed'` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Field extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Content\Query\CustomFieldInterface - -- `public function getCustomField(string $type, string $field): string|null` -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `public function setCustomField(string $type, string $field, string $customField): void` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\FieldRelation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\FullText extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Content\Query\CustomFieldInterface - -- `public function getCustomField(string $type, string $field): string|null` -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `public function setCustomField(string $type, string $field, string $customField): void` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageCompositeCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `protected function buildCriteria(string $fieldDefIdentifier, array<string|int, mixed> $imageCriteriaData): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion>` -- `protected function getMaxValue(array<string|int, mixed> $data): int|float|string|null` -- `protected function getMinValue(array<string|int, mixed> $data): int|float|string` -- `protected function getSupportedCriteria(): array<string|int, string>` -- `protected function validate(array<string|int, mixed> $imageCriteriaData, array<string|int, string> $supportedCriteria): void` -- `public const mixed IMAGE_SEARCH_CRITERIA = ['mimeTypes', 'size', 'width', 'height', 'orientation']` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageCompositeCriterion extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\CompositeCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `protected function abstract buildCriteria(string $fieldDefIdentifier, array<string|int, mixed> $imageCriteriaData): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion>` -- `protected function getMaxValue(array<string|int, mixed> $data): int|float|string|null` -- `protected function getMinValue(array<string|int, mixed> $data): int|float|string` -- `protected function abstract getSupportedCriteria(): array<string|int, string>` -- `protected function validate(array<string|int, mixed> $imageCriteriaData, array<string|int, string> $supportedCriteria): void` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageRangeCriterion extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `protected function validate(int|float|string|null $minValue, int|float|string|null $maxValue): void` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\Dimensions extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageCompositeCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `protected function buildCriteria(string $fieldDefIdentifier, array<string|int, mixed> $imageCriteriaData): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion>` -- `protected function getMaxValue(array<string|int, mixed> $data): int|float|string|null` -- `protected function getMinValue(array<string|int, mixed> $data): int|float|string` -- `protected function getSupportedCriteria(): array<string|int, string>` -- `protected function validate(array<string|int, mixed> $imageCriteriaData, array<string|int, string> $supportedCriteria): void` -- `public const mixed IMAGE_DIMENSIONS_CRITERIA = ['width', 'height']` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\FileSize extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageRangeCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `protected function validate(int|float|string|null $minValue, int|float|string|null $maxValue): void` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\Height extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageRangeCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `protected function validate(int|float|string|null $minValue, int|float|string|null $maxValue): void` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\MimeType extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\Orientation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\Width extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Image\AbstractImageRangeCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `protected function validate(int|float|string|null $minValue, int|float|string|null $maxValue): void` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\IsContainer extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\IsFieldEmpty extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\IsUserBased extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\IsUserEnabled extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\LanguageCode extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function abstract getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\LocationId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\LocationRemoteId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location\Depth extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location\IsBookmarked extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location\IsMainLocation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `public const mixed MAIN = 0` -- `public const mixed NOT_MAIN = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location\Priority extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\MapLocationDistance extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Content\Query\CustomFieldInterface - -- `public function getCustomField(string $type, string $field): string|null` -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `public function setCustomField(string $type, string $field, string $customField): void` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\MatchAll extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion, Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\MatchNone extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion, Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\MoreLikeThis extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `public const mixed CONTENT = 1` -- `public const mixed TEXT = 2` -- `public const mixed URL = 3` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ObjectStateId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ObjectStateIdentifier extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator - -- `public const mixed BETWEEN = 'between'` -- `public const mixed CONTAINS = 'contains'` -- `public const mixed EQ = '='` -- `public const mixed GT = '>'` -- `public const mixed GTE = '>='` -- `public const mixed IN = 'in'` -- `public const mixed LIKE = 'like'` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications - -- `public const mixed FORMAT_ARRAY = 2` -- `public const mixed FORMAT_SINGLE = 1` -- `public const mixed TYPE_BOOLEAN = 4` -- `public const mixed TYPE_INTEGER = 1` -- `public const mixed TYPE_STRING = 2` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\ParentLocationId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\RemoteId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\SectionId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion, Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\SectionIdentifier extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Sibling extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\CompositeCriterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function static fromLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location): self` -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Subtree extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\UserEmail extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\UserId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\UserLogin extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\UserMetadata extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Trash\Query\Criterion, Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `public const mixed GROUP = 'group'` -- `public const mixed MODIFIER = 'modifier'` -- `public const mixed OWNER = 'owner'` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Visibility extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `public const mixed HIDDEN = 1` -- `public const mixed VISIBLE = 0` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\CustomFieldInterface - -- `public function getCustomField(string $type, string $field): string|null` -- `public function setCustomField(string $type, string $field, string $customField): void` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getValue(): array<string|int, float>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause\Field extends Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause implements Ibexa\Contracts\Core\Repository\Values\Content\Query\CustomFieldInterface - -- `public function getCustomField(string $type, string $field): string|null` -- `public function setCustomField(string $type, string $field, string $customField): void` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause\MapLocationDistance extends Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause implements Ibexa\Contracts\Core\Repository\Values\Content\Query\CustomFieldInterface - -- `public function getCustomField(string $type, string $field): string|null` -- `public function setCustomField(string $type, string $field, string $customField): void` - -## Ibexa\Contracts\Core\Repository\Values\Content\Query\Spellcheck extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $query)` -- `public function getQuery(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Relation extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function abstract getDestinationContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function abstract getSourceContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed ASSET = 16` -- `public const mixed COMMON = 1` -- `public const mixed EMBED = 2` -- `public const mixed FIELD = 8` -- `public const mixed LINK = 4` - -## Ibexa\Contracts\Core\Repository\Values\Content\RelationList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function getIterator(): \Iterator<int, \Ibexa\Contracts\Core\Repository\Values\Content\RelationList\RelationListItemInterface>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\RelationList\Item\RelationListItem implements Ibexa\Contracts\Core\Repository\Values\Content\RelationList\RelationListItemInterface - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Relation $relation)` -- `public function getRelation(): \Ibexa\Contracts\Core\Repository\Values\Content\Relation|null` -- `public function hasRelation(): bool` - -## Ibexa\Contracts\Core\Repository\Values\Content\RelationList\Item\UnauthorizedRelationListItem extends Ibexa\Contracts\Core\Repository\Lists\UnauthorizedListItem implements Ibexa\Contracts\Core\Repository\Values\Content\RelationList\RelationListItemInterface - -- `public function __construct(string $module, string $function, array<string|int, mixed> $payload)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getPayload(): array<string|int, mixed>` -- `public function getRelation(): \Ibexa\Contracts\Core\Repository\Values\Content\Relation|null` -- `public function hasRelation(): bool` - -## Ibexa\Contracts\Core\Repository\Values\Content\RelationList\RelationListItemInterface - -- `public function getRelation(): \Ibexa\Contracts\Core\Repository\Values\Content\Relation|null` -- `public function hasRelation(): bool` - -## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $name)` -- `public function getName(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResultAwareInterface - -- `public function getAggregations(): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResultCollection|null` - -## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResultCollection implements Countable, IteratorAggregate - -- `public function __construct([array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult> $results = [] ])` -- `public function count(): int` -- `public function first(): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult` -- `public function get(string $name): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult` -- `public function getIterator(): \Iterator` -- `public function has(string $name): bool` -- `public function isEmpty(): bool` -- `public function last(): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult` -- `public function toArray(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\RangeAggregationResult extends Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult implements IteratorAggregate, Countable - -- `public function __construct(string $name[, array<string|int, RangeAggregationResultEntry<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\TValue>> $entries = [] ])` -- `public function count(): int` -- `public function getEntries(): array<string|int, RangeAggregationResultEntry<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\TValue>>` -- `public function getEntry(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Range $key): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\RangeAggregationResultEntry|null` -- `public function getIterator(): \Iterator<Range<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\TValue>, int>` -- `public function getKeys(): iterable<string|int, Range<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\TValue>>` -- `public function getName(): string` -- `public function hasEntry(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Range $key): bool` -- `public function isEmpty(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\RangeAggregationResultEntry extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(Range<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\TValue> $key, int $count)` -- `public function getCount(): int` -- `public function getKey(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\Range` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\StatsAggregationResult extends Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult - -- `public function getAvg(): float|null` -- `public function getCount(): int|null` -- `public function getMax(): float|null` -- `public function getMin(): float|null` -- `public function getName(): string` -- `public function getSum(): float|null` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\TermAggregationResult extends Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult implements IteratorAggregate, Countable - -- `public function __construct(string $name[, iterable<string|int, mixed> $entries = [] ])` -- `public function count(): int` -- `public function static createForAggregation(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation[, iterable<string|int, mixed> $entries = [] ]): self` -- `public function getEntries(): iterable<string|int, mixed>` -- `public function getEntry(mixed $key): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\TermAggregationResultEntry|null` -- `public function getIterator(): \Iterator` -- `public function getKeys(): iterable<string|int, mixed>` -- `public function getName(): string` -- `public function hasEntry(mixed $key): bool` -- `public function isEmpty(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult\TermAggregationResultEntry extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(mixed $key, int $count)` -- `public function getCount(): int` -- `public function getKey(): mixed` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchHit extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate, Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResultAwareInterface - -- `public function getAggregations(): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResultCollection|null` -- `public function getIterator(): \Iterator` -- `public function getSpellcheck(): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SpellcheckResult|null` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Search\SpellcheckResult - -- `public function __construct(string|null $query[, bool $incorrect = true ])` -- `public function getQuery(): string|null` -- `public function isIncorrect(): bool` - -## Ibexa\Contracts\Core\Repository\Values\Content\Section extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getName(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\SectionCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\SectionStruct - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\SectionStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\SectionUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\SectionStruct - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\TrashItem extends Ibexa\Contracts\Core\Repository\Values\Content\Location - -- `public function __get(mixed $property): mixed` -- `public function __isset(mixed $property): mixed` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentId(): int` -- `public function abstract getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function getDepth(): int` -- `public function getId(): int` -- `public function abstract getParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` -- `public function getPath(): array<string|int, mixed>` -- `public function getPathString(): string` -- `public function getSortClauses(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause>` -- `public function isDraft(): bool` -- `public function isHidden(): bool` -- `public function isInvisible(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed SORT_FIELD_CLASS_IDENTIFIER = 6` -- `public const mixed SORT_FIELD_CLASS_NAME = 7` -- `public const mixed SORT_FIELD_CONTENTOBJECT_ID = 12` -- `public const mixed SORT_FIELD_DEPTH = 5` -- `public const mixed SORT_FIELD_MODIFIED = 3` -- `public const mixed SORT_FIELD_NAME = 9` -- `public const mixed SORT_FIELD_NODE_ID = 11` -- `public const mixed SORT_FIELD_PATH = 1` -- `public const mixed SORT_FIELD_PRIORITY = 8` -- `public const mixed SORT_FIELD_PUBLISHED = 2` -- `public const mixed SORT_FIELD_SECTION = 4` -- `public const mixed SORT_ORDER_ASC = 1` -- `public const mixed SORT_ORDER_DESC = 0` -- `public const mixed SORT_ORDER_MAP = [self::SORT_ORDER_DESC => \Ibexa\Contracts\Core\Repository\Values\Content\Query::SORT_DESC, self::SORT_ORDER_ASC => \Ibexa\Contracts\Core\Repository\Values\Content\Query::SORT_ASC]` -- `public const mixed STATUS_DRAFT = 0` -- `public const mixed STATUS_PUBLISHED = 1` - -## Ibexa\Contracts\Core\Repository\Values\Content\Trash\SearchResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function getIterator(): \Traversable` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResultList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function getIterator(): \ArrayIterator<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Trash\TrashItemDeleteResult>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\URLAlias extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed LOCATION = 0` -- `public const mixed RESOURCE = 1` -- `public const mixed VIRTUAL = 2` - -## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardTranslationResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\URLWildcardStruct - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\Query\SortClause - -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\Query\SortClause\DestinationUrl extends Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\Query\SortClause - -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\Query\SortClause\Id extends Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\Query\SortClause - -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\SearchResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function getIterator(): \Traversable` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\URLWildcard\URLWildcardQuery extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\MultiLanguageName - -- `public function abstract getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function abstract getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function abstract getInitialLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getLanguageCodes(): array<string|int, string>` -- `public function abstract getLanguages(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language>` -- `public function getVersionNo(): int` -- `public function isArchived(): bool` -- `public function isDraft(): bool` -- `public function isPublished(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed STATUS_ARCHIVED = 3` -- `public const mixed STATUS_DRAFT = 0` -- `public const mixed STATUS_PUBLISHED = 1` - -## Ibexa\Contracts\Core\Repository\Values\Filter\CriterionQueryBuilder - -- `public function accepts(\Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion $criterion): bool` -- `public function buildQueryConstraint(\Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder $queryBuilder, \Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion $criterion): string|null` - -## Ibexa\Contracts\Core\Repository\Values\Filter\Filter - -- `public function __clone(): mixed` -- `public function __construct([FilteringCriterion|null $criterion = null ][, array<string|int, mixed> $sortClauses = [] ])` -- `public function andWithCriterion(\Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion $criterion): self` -- `public function getCriterion(): \Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion|null` -- `public function getLimit(): int` -- `public function getOffset(): int` -- `public function getSortClauses(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Filter\FilteringSortClause>` -- `public function orWithCriterion(\Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion $criterion): self` -- `public function reset(): self` -- `public function sliceBy(int $limit, int $offset): self` -- `public function withCriterion(\Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion $criterion): self` -- `public function withLimit(int $limit): self` -- `public function withOffset(int $offset): self` -- `public function withSortClause(\Ibexa\Contracts\Core\Repository\Values\Filter\FilteringSortClause $sortClause): self` - -## Ibexa\Contracts\Core\Repository\Values\Filter\SortClauseQueryBuilder - -- `public function accepts(\Ibexa\Contracts\Core\Repository\Values\Filter\FilteringSortClause $sortClause): bool` -- `public function buildQuery(\Ibexa\Contracts\Core\Persistence\Filter\Doctrine\FilteringQueryBuilder $queryBuilder, \Ibexa\Contracts\Core\Repository\Values\Filter\FilteringSortClause $sortClause): void` - -## Ibexa\Contracts\Core\Repository\Values\MultiLanguageDescription - -- `public function getDescription([string|null $languageCode = null ]): string|null` -- `public function getDescriptions(): array<string|int, string>` - -## Ibexa\Contracts\Core\Repository\Values\MultiLanguageName - -- `public function getName([string|null $languageCode = null ]): string|null` -- `public function getNames(): array<string|int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Notification\CreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Notification\CriterionHandlerInterface - -- `public function apply(\Doctrine\DBAL\Query\QueryBuilder $qb, \Ibexa\Contracts\Core\Repository\Values\Notification\T $criterion): void` -- `public function supports(\Ibexa\Contracts\Core\Repository\Values\Notification\Query\CriterionInterface $criterion): bool` - -## Ibexa\Contracts\Core\Repository\Values\Notification\Notification extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Notification\NotificationList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function getIterator(): \Traversable` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Notification\Query\Criterion\DateCreated implements Ibexa\Contracts\Core\Repository\Values\Notification\Query\CriterionInterface - -- `public function __construct([DateTimeInterface|null $from = null ][, DateTimeInterface|null $to = null ])` -- `public function getFrom(): \DateTimeInterface|null` -- `public function getTo(): \DateTimeInterface|null` -- `public function setFrom(DateTimeInterface|null $from): void` -- `public function setTo(DateTimeInterface|null $to): void` - -## Ibexa\Contracts\Core\Repository\Values\Notification\Query\Criterion\Status implements Ibexa\Contracts\Core\Repository\Values\Notification\Query\CriterionInterface - -- `public function __construct(array<string|int, string> $statuses)` -- `public function getStatuses(): array<string|int, string>` -- `public function setStatuses(array<string|int, string> $statuses): void` - -## Ibexa\Contracts\Core\Repository\Values\Notification\Query\Criterion\Type implements Ibexa\Contracts\Core\Repository\Values\Notification\Query\CriterionInterface - -- `public function __construct(string $value)` -- `public function getValue(): string` -- `public function setValue(string $value): void` - -## Ibexa\Contracts\Core\Repository\Values\Notification\Query\NotificationQuery - -- `public function __construct([array<string|int, \Ibexa\Contracts\Core\Repository\Values\Notification\Query\CriterionInterface> $criteria = [] ][, int $offset = 0 ][, int $limit = 25 ])` -- `public function addCriterion(\Ibexa\Contracts\Core\Repository\Values\Notification\Query\CriterionInterface $criterion): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Notification\Query\CriterionInterface>` -- `public function getLimit(): int` -- `public function getOffset(): int` -- `public function setLimit(int $limit): void` -- `public function setOffset(int $offset): void` - -## Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectState extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\MultiLanguageName, Ibexa\Contracts\Core\Repository\Values\MultiLanguageDescription - -- `public function abstract getObjectStateGroup(): \Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroup extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\MultiLanguageName, Ibexa\Contracts\Core\Repository\Values\MultiLanguageDescription - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateGroupUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ObjectState\ObjectStateUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Setting\Setting extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Setting\SettingCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Setting\Setting - -- `public function setGroup(string $group): void` -- `public function setIdentifier(string $identifier): void` -- `public function setValue(mixed $value): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Setting\SettingUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Setting\Setting - -- `public function setValue(mixed $value): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Token\Token extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __toString(): string` -- `public function getCreated(): \DateTimeImmutable` -- `public function getExpires(): \DateTimeImmutable` -- `public function getId(): int` -- `public function getIdentifier(): string|null` -- `public function getToken(): string` -- `public function getType(): string` -- `public function isRevoked(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed MAX_LENGTH = 255` - -## Ibexa\Contracts\Core\Repository\Values\Translation extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Stringable - -- `public function __construct([array<string, mixed> $properties = [] ])` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Translation\Message extends Ibexa\Contracts\Core\Repository\Values\Translation - -- `public function __toString(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\Translation\Plural extends Ibexa\Contracts\Core\Repository\Values\Translation - -- `public function __toString(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\URL\Query\SortClause - -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\Core\Repository\Values\URL\Query\SortClause\Id extends Ibexa\Contracts\Core\Repository\Values\URL\Query\SortClause - -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\Core\Repository\Values\URL\Query\SortClause\URL extends Ibexa\Contracts\Core\Repository\Values\URL\Query\SortClause - -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\Core\Repository\Values\URL\SearchResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function getIterator(): \Traversable` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\URL\URL extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getCreated(): \DateTimeInterface|null` -- `public function getId(): int` -- `public function getLastChecked(): \DateTimeInterface|null` -- `public function getModified(): \DateTimeInterface|null` -- `public function getUrl(): string` -- `public function isValid(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\URL\URLQuery extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\URL\URLUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\URL\UsageSearchResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function getIterator(): \Traversable` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreference extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreferenceList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function getIterator(): \Traversable` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\UserPreference\UserPreferenceSetStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function abstract getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\BlockingLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ChangeOwnerLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed IDENTIFIER = 'ChangeOwner'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LIMITATION_VALUE_SELF = -1` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ContentTypeLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\LanguageLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\LocationLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\MemberOfLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed IDENTIFIER = 'MemberOf'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\NewObjectStateLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\NewSectionLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ObjectStateLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\OwnerLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ParentContentTypeLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ParentDepthLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ParentOwnerLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\ParentUserGroupLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function abstract getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\SectionLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\SiteAccessLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\StatusLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\SubtreeLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\UserGroupLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\Limitation\UserRoleLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed IDENTIFIER = 'Role'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Core\Repository\Values\User\LookupLimitationResult extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getLookupPolicyLimitations(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\LookupPolicyLimitations>` -- `public function getRoleLimitations(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\Limitation>` -- `public function hasAccess(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\LookupPolicyLimitations extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\PasswordInfo extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([DateTimeImmutable|null $expirationDate = null ][, DateTimeImmutable|null $expirationWarningDate = null ])` -- `public function getExpirationDate(): \DateTimeImmutable|null` -- `public function getExpirationWarningDate(): \DateTimeImmutable|null` -- `public function hasExpirationDate(): bool` -- `public function hasExpirationWarningDate(): bool` -- `public function isPasswordExpired(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\PasswordValidationContext extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\Policy extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function abstract getLimitations(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\Limitation>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct extends Ibexa\Contracts\Core\Repository\Values\User\PolicyStruct - -- `public function abstract addLimitation(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitation): void` -- `public function abstract getLimitations(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\Limitation>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\PolicyDraft extends Ibexa\Contracts\Core\Repository\Values\User\Policy - -- `public function abstract getLimitations(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\Limitation>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\PolicyStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([array<string, mixed> $properties = [] ])` -- `public function abstract addLimitation(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitation): void` -- `public function abstract getLimitations(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\Limitation>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\PolicyUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\User\PolicyStruct - -- `public function __construct([array<string, mixed> $properties = [] ])` -- `public function abstract addLimitation(\Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitation): void` -- `public function abstract getLimitations(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\Limitation>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\Role extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function abstract getPolicies(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\Policy>` -- `public function getStatus(): int` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getId(): int` -- `public function abstract getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function abstract getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\RoleCopyStruct extends Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct - -- `public function abstract addPolicy(\Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct $policyCreateStruct): void` -- `public function abstract getPolicies(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\RoleCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function abstract addPolicy(\Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct $policyCreateStruct): void` -- `public function abstract getPolicies(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\PolicyCreateStruct>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\RoleDraft extends Ibexa\Contracts\Core\Repository\Values\User\Role - -- `public function abstract getPolicies(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\Policy>` -- `public function getStatus(): int` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\RoleUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\User extends Ibexa\Contracts\Core\Repository\Values\Content\Content implements Ibexa\Contracts\Core\Repository\Values\User\UserReference - -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function abstract getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function abstract getDefaultLanguageCode(): string` -- `public function abstract getField(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Field|null` -- `public function abstract getFields(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Field>` -- `public function abstract getFieldsByLanguage([string|null $languageCode = null ]): iterable<string, \Ibexa\Contracts\Core\Repository\Values\Content\Field>` -- `public function abstract getFieldValue(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\FieldType\Value|null` -- `public function getId(): int` -- `public function getLogin(): string` -- `public function getName([string|null $languageCode = null ]): string|null` -- `public function getPasswordHash(): string` -- `public function abstract getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` -- `public function getUserId(): int` -- `public function abstract getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed DEFAULT_PASSWORD_HASH = self::PASSWORD_HASH_PHP_DEFAULT` -- `public const mixed PASSWORD_HASH_BCRYPT = 6` -- `public const mixed PASSWORD_HASH_INVALID = 256` -- `public const mixed PASSWORD_HASH_PHP_DEFAULT = 7` - -## Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct - -- `public function abstract setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\UserGroup extends Ibexa\Contracts\Core\Repository\Values\Content\Content - -- `public function getContentInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo` -- `public function abstract getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function abstract getDefaultLanguageCode(): string` -- `public function abstract getField(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Field|null` -- `public function abstract getFields(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Field>` -- `public function abstract getFieldsByLanguage([string|null $languageCode = null ]): iterable<string, \Ibexa\Contracts\Core\Repository\Values\Content\Field>` -- `public function abstract getFieldValue(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\FieldType\Value|null` -- `public function getId(): int` -- `public function getName([string|null $languageCode = null ]): string|null` -- `public function abstract getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` -- `public function abstract getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\UserGroupCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct - -- `public function abstract setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\UserGroupRoleAssignment extends Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment - -- `public function getId(): int` -- `public function abstract getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function abstract getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` -- `public function abstract getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\UserGroupUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\UserReference - -- `public function getUserId(): int` - -## Ibexa\Contracts\Core\Repository\Values\User\UserRoleAssignment extends Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment - -- `public function getId(): int` -- `public function abstract getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function abstract getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` -- `public function abstract getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\UserTokenUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([array<string, mixed> $properties = [] ])` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\Capable - -- `public function supports(int $capabilityFlag): bool` - -## Ibexa\Contracts\Core\Search\ContentTranslationHandler - -- `public function deleteTranslation(int $contentId, string $languageCode): void` - -## Ibexa\Contracts\Core\Search\Document extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\Embedding\EmbeddingConfigurationInterface - -- `public function getDefaultModel(): array{name: string, dimensions: int, field_suffix: string, embedding_provider: string}` -- `public function getDefaultModelFieldSuffix(): string` -- `public function getDefaultModelIdentifier(): string` -- `public function getDefaultProvider(): string` -- `public function getModel(string $identifier): array{name: string, dimensions: int, field_suffix: string, embedding_provider: string}` -- `public function getModelIdentifiers(): array<string|int, string>` -- `public function getModels(): array<string, array{name: string, dimensions: int, field_suffix: string, embedding_provider: string}>` - -## Ibexa\Contracts\Core\Search\Embedding\EmbeddingProviderInterface - -- `public function getEmbedding(string $content[, string|null $model = null ][, int|null $maxTokens = null ]): array<string|int, float>` - -## Ibexa\Contracts\Core\Search\Embedding\EmbeddingProviderRegistryInterface - -- `public function getEmbeddingProvider(string $identifier): \Ibexa\Contracts\Core\Search\Embedding\EmbeddingProviderInterface` -- `public function getEmbeddingProviders(): array<string|int, \Ibexa\Contracts\Core\Search\Embedding\EmbeddingProviderInterface>` -- `public function hasEmbeddingProvider(string $identifier): bool` - -## Ibexa\Contracts\Core\Search\Embedding\EmbeddingProviderResolverInterface - -- `public function resolve(): \Ibexa\Contracts\Core\Search\Embedding\EmbeddingProviderInterface` - -## Ibexa\Contracts\Core\Search\Embedding\EmbeddingResolverNotFoundException extends RuntimeException - -- `public function __construct(string $embeddingProvider)` - -## Ibexa\Contracts\Core\Search\Field extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `public function getName(): string` -- `public function getType(): \Ibexa\Contracts\Core\Search\FieldType` -- `public function getValue(): mixed` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\BooleanField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\CustomField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\DateField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\DocumentField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\EmbeddingField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function static create(string $type): self` -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\EmbeddingFieldFactory - -- `public function __construct(\Ibexa\Contracts\Core\Search\Embedding\EmbeddingConfigurationInterface $config)` -- `public function create([string|null $type = null ]): \Ibexa\Contracts\Core\Search\FieldType\EmbeddingField` - -## Ibexa\Contracts\Core\Search\FieldType\FloatField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\FullTextField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\GeoLocationField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\IdentifierField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\IntegerField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\MultipleBooleanField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\MultipleIdentifierField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\MultipleIntegerField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\MultipleRemoteIdentifierField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\MultipleStringField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\PriceField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\RemoteIdentifierField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\StringField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\FieldType\TextField extends Ibexa\Contracts\Core\Search\FieldType - -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Search\Handler - -- `public function deleteContent(int $contentId[, int|null $versionId = null ]): mixed` -- `public function deleteLocation(mixed $locationId, mixed $contentId): mixed` -- `public function findContent(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query[, array<string|int, mixed> $languageFilter = [] ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` -- `public function findLocations(\Ibexa\Contracts\Core\Repository\Values\Content\LocationQuery $query[, array<string|int, mixed> $languageFilter = [] ]): \Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchResult` -- `public function findSingle(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $filter[, array<string|int, mixed> $languageFilter = [] ]): \Ibexa\Contracts\Core\Persistence\Content\ContentInfo` -- `public function indexContent(\Ibexa\Contracts\Core\Persistence\Content $content): mixed` -- `public function indexLocation(\Ibexa\Contracts\Core\Persistence\Content\Location $location): mixed` -- `public function purgeIndex(): mixed` -- `public function suggest(string $prefix[, array<string|int, string> $fieldPaths = [] ][, int $limit = 10 ][, Criterion|null $filter = null ]): mixed` - -## Ibexa\Contracts\Core\SiteAccess\ConfigResolverInterface - -- `public function getDefaultNamespace(): string` -- `public function getParameter(string $paramName[, string $namespace = null ][, string $scope = null ]): mixed` -- `public function hasParameter(string $paramName[, string $namespace = null ][, string $scope = null ]): bool` -- `public function setDefaultNamespace(string $defaultNamespace): void` - -## Ibexa\Contracts\Core\Specification\AbstractSpecification implements Ibexa\Contracts\Core\Specification\SpecificationInterface - -- `public function and(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` -- `public function abstract isSatisfiedBy(mixed $item): bool` -- `public function not(): \Ibexa\Contracts\Core\Specification\SpecificationInterface` -- `public function or(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` - -## Ibexa\Contracts\Core\Specification\AndSpecification extends Ibexa\Contracts\Core\Specification\AbstractSpecification - -- `public function __construct(\Ibexa\Contracts\Core\Specification\SpecificationInterface $one, \Ibexa\Contracts\Core\Specification\SpecificationInterface $two)` -- `public function and(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` -- `public function isSatisfiedBy(mixed $item): bool` -- `public function not(): \Ibexa\Contracts\Core\Specification\SpecificationInterface` -- `public function or(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` - -## Ibexa\Contracts\Core\Specification\Content\ContentContainerSpecification implements Ibexa\Contracts\Core\Specification\Content\ContentSpecification - -- `public function isSatisfiedBy(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` - -## Ibexa\Contracts\Core\Specification\Content\ContentSpecification - -- `public function isSatisfiedBy(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` - -## Ibexa\Contracts\Core\Specification\Content\ContentTypeSpecification implements Ibexa\Contracts\Core\Specification\Content\ContentSpecification - -- `public function __construct(string $expectedType)` -- `public function isSatisfiedBy(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` - -## Ibexa\Contracts\Core\Specification\NotSpecification extends Ibexa\Contracts\Core\Specification\AbstractSpecification - -- `public function __construct(\Ibexa\Contracts\Core\Specification\SpecificationInterface $specification)` -- `public function and(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` -- `public function isSatisfiedBy(mixed $item): bool` -- `public function not(): \Ibexa\Contracts\Core\Specification\SpecificationInterface` -- `public function or(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` - -## Ibexa\Contracts\Core\Specification\OrSpecification extends Ibexa\Contracts\Core\Specification\AbstractSpecification - -- `public function __construct(\Ibexa\Contracts\Core\Specification\SpecificationInterface $one, \Ibexa\Contracts\Core\Specification\SpecificationInterface $two)` -- `public function and(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` -- `public function isSatisfiedBy(mixed $item): bool` -- `public function not(): \Ibexa\Contracts\Core\Specification\SpecificationInterface` -- `public function or(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` - -## Ibexa\Contracts\Core\Specification\SpecificationInterface - -- `public function and(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` -- `public function isSatisfiedBy(mixed $item): bool` -- `public function not(): \Ibexa\Contracts\Core\Specification\SpecificationInterface` -- `public function or(\Ibexa\Contracts\Core\Specification\SpecificationInterface $other): \Ibexa\Contracts\Core\Specification\SpecificationInterface` - -## Ibexa\Contracts\Core\Token\TokenGeneratorInterface - -- `public function generateToken([int $length = 64 ]): string` - -## Ibexa\Contracts\Core\Validation\AbstractValidationStructWrapper implements Ibexa\Contracts\Core\Validation\ValidationStructWrapperInterface - -- `public function getStruct(): object` - -## Ibexa\Contracts\Core\Validation\Constraint\UniqueIdentifier extends Symfony\Component\Validator\Constraint implements JMS\TranslationBundle\Translation\TranslationContainerInterface - -- `public function getRequiredOptions(): array<string|int, mixed>` -- `public function getTargets(): array<string|int, self::*>` -- `public function static getTranslationMessages(): array<string|int, mixed>` -- `protected function static getMessageDesc(): string` -- `protected const mixed MESSAGE = 'ibexa.identifier_already_exists'` - -## Ibexa\Contracts\Core\Validation\Constraint\UniqueIdentifierValidator extends Symfony\Component\Validator\ConstraintValidator - -- `public function __construct(\Symfony\Component\PropertyAccess\PropertyAccessorInterface $propertyAccessor)` -- `public function validate(mixed $value, \Symfony\Component\Validator\Constraint $constraint): void` -- `protected function abstract getExistingIdForIdentifier(string $identifier): string|int|null` - -## Ibexa\Contracts\Core\Validation\StructValidator - -- `public function __construct(\Symfony\Component\Validator\Validator\ValidatorInterface $validator)` -- `public function assertValidStruct(string $name, object $struct, array<string|int, string> $groups): void` - -## Ibexa\Contracts\Core\Validation\StructWrapperValidator implements Symfony\Component\Validator\Validator\ValidatorInterface - -- `public function __construct(\Symfony\Component\Validator\Validator\ValidatorInterface $inner)` -- `public function getMetadataFor(mixed $value): \Symfony\Component\Validator\Mapping\MetadataInterface` -- `public function hasMetadataFor(mixed $value): bool` -- `public function inContext(\Symfony\Component\Validator\Context\ExecutionContextInterface $context): \Symfony\Component\Validator\Validator\ContextualValidatorInterface` -- `public function startContext(): \Symfony\Component\Validator\Validator\ContextualValidatorInterface` -- `public function validate(mixed $value[, Constraint|array<string|int, mixed>|null $constraints = null ][, mixed $groups = null ]): \Symfony\Component\Validator\ConstraintViolationListInterface` -- `public function validateProperty(object $object, string $propertyName[, mixed $groups = null ]): \Symfony\Component\Validator\ConstraintViolationListInterface` -- `public function validatePropertyValue(mixed $objectOrClass, string $propertyName, mixed $value[, mixed $groups = null ]): \Symfony\Component\Validator\ConstraintViolationListInterface` - -## Ibexa\Contracts\Core\Validation\ValidationFailedException extends Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException - -- `public function __construct(string $argumentName, \Symfony\Component\Validator\ConstraintViolationListInterface $errors[, Exception|null $previous = null ])` -- `public function getErrors(): \Symfony\Component\Validator\ConstraintViolationListInterface` - -## Ibexa\Contracts\Core\Validation\ValidationStructWrapperInterface - -- `public function getStruct(): object` - -## Ibexa\Contracts\Core\Variation\Values\ImageVariation extends Ibexa\Contracts\Core\Variation\Values\Variation - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Variation\Values\Variation extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Core\Variation\VariationHandler - -- `public function getVariation(\Ibexa\Contracts\Core\Repository\Values\Content\Field $field, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, string $variationName[, array<string, mixed> $parameters = [] ]): \Ibexa\Contracts\Core\Variation\Values\Variation` - -## Ibexa\Contracts\Core\Variation\VariationPathGenerator - -- `public function getVariationPath(string $path, string $variation): string` - -## Ibexa\Contracts\Core\Variation\VariationPurger - -- `public function purge(array<string|int, string> $aliasNames): void` - -## Ibexa\Contracts\CorporateAccount\CustomerPortal\CustomerPortalResolver - -- `public function resolveCustomerPortalLocation(\Ibexa\Contracts\CorporateAccount\Values\Member $member, string $siteAccessName): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` - -## Ibexa\Contracts\CorporateAccount\CustomerPortal\PickRule\CustomerPortalPickRule - -- `public function pick(\Ibexa\Contracts\CorporateAccount\Values\Member $member, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Location> $possibleLocations): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` - -## Ibexa\Contracts\CorporateAccount\Event\Application\BeforeCreateApplicationEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct $applicationCreateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ])` -- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` -- `public function getApplicationCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function hasApplication(): bool` -- `public function isPropagationStopped(): bool` -- `public function setApplication(Application|null $application): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Application\BeforeDeleteApplicationEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Application $application)` -- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Application\BeforeUpdateApplicationEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Application $application, \Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct $applicationUpdateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ])` -- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` -- `public function getApplicationUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function getUpdatedApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` -- `public function hasUpdatedApplication(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedApplication(Application|null $updatedApplication): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Application\CreateApplicationEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Application $application, \Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct $applicationCreateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ])` -- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` -- `public function getApplicationCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Application\DeleteApplicationEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Application $application)` -- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Application\MapCompanyCreateStructEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct $companyCreateStruct, \Ibexa\Contracts\CorporateAccount\Values\Application $application, \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup, int $salesRepId)` -- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` -- `public function getCompanyCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct` -- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` -- `public function getSalesRepId(): int` -- `public function isPropagationStopped(): bool` -- `public function setCompanyCreateStruct(\Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct $companyCreateStruct): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Application\MapShippingAddressUpdateStructEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct $companyUpdateStruct, \Ibexa\Contracts\CorporateAccount\Values\Application $application)` -- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` -- `public function getShippingAddressUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function setShippingAddressUpdateStruct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct $companyUpdateStruct): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Application\UpdateApplicationEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Application $updatedApplication, \Ibexa\Contracts\CorporateAccount\Values\Application $application, \Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct $applicationUpdateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ])` -- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` -- `public function getApplicationUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function getUpdatedApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Application\Workflow\ApplicationWorkflowFormEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Application $application, \Ibexa\Contracts\CorporateAccount\Values\ApplicationState $applicationState, \Symfony\Component\Form\FormInterface $form, array<string, mixed>|null $data, string $previousState, string $nextState[, Response|null $response = null ])` -- `public function getApplication(): \Ibexa\Contracts\CorporateAccount\Values\Application` -- `public function getApplicationState(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationState` -- `public function getData(): array<string, mixed>|null` -- `public function getForm(): \Symfony\Component\Form\FormInterface` -- `public function getNextState(): string` -- `public function getPreviousState(): string` -- `public function getResponse(): \Symfony\Component\HttpFoundation\Response|null` -- `public function isPropagationStopped(): bool` -- `public function setResponse(Response|null $response): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Application\Workflow\MapApplicationWorkflowFormEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(string $state[, array<string, mixed>|object|null $data = null ][, FormInterface|null $form = null ])` -- `public function getData(): array<string, mixed>|object|null` -- `public function getForm(): \Symfony\Component\Form\FormInterface|null` -- `public function getState(): string` -- `public function isPropagationStopped(): bool` -- `public function setForm(FormInterface|null $form): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeCreateCompanyAddressBookFolderEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function hasContent(): bool` -- `public function isPropagationStopped(): bool` -- `public function setContent(Content|null $content): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeCreateCompanyEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct $companyCreateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ])` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getCompanyCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function hasCompany(): bool` -- `public function isPropagationStopped(): bool` -- `public function setCompany(Company|null $company): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeCreateCompanyMembersUserGroupEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function hasContent(): bool` -- `public function isPropagationStopped(): bool` -- `public function setContent(Content|null $content): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeDeleteCompanyEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeSetCompanyAddressBookRelationEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeSetCompanyMembersRelationEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeSetContactEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\Member $contact)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getContact(): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeSetDefaultShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\BeforeUpdateCompanyEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct $companyUpdateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ])` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getCompanyUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function getUpdatedCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function hasUpdatedCompany(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedCompany(Company|null $updatedCompany): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\CreateCompanyAddressBookFolderEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\CorporateAccount\Values\Company $company)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\CreateCompanyEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct $companyCreateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ])` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getCompanyCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\CreateCompanyMembersUserGroupEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\CorporateAccount\Values\Company $company)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\DeleteCompanyEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\SetCompanyAddressBookRelationEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\SetCompanyMembersRelationEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\SetContactEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\Member $contact)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getContact(): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\SetDefaultShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Company\UpdateCompanyEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $updatedCompany, \Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct $companyUpdateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ])` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getCompanyUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function getUpdatedCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Member\BeforeCreateMemberEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct $memberCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\Role $role)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public function getMemberCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function hasMember(): bool` -- `public function isPropagationStopped(): bool` -- `public function setMember(Member|null $member): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Member\BeforeDeleteMemberEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member)` -- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Member\BeforeSetMemberRoleEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\Core\Repository\Values\User\Role $role)` -- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Member\BeforeUpdateMemberEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct $memberUpdateStruct)` -- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public function getMemberUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct` -- `public function getUpdatedMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public function hasUpdatedMember(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedMember(Member|null $updatedMember): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Member\CreateMemberEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct $memberCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\Role $role)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public function getMemberCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Member\DeleteMemberEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member)` -- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Member\SetMemberRoleEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\Core\Repository\Values\User\Role $role)` -- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\Member\UpdateMemberEvent - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $updatedMember, \Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct $memberUpdateStruct)` -- `public function getMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public function getMemberUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct` -- `public function getUpdatedMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` - -## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\BeforeCreateShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct $shippingAddressCreateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ])` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function getShippingAddressCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct` -- `public function hasShippingAddress(): bool` -- `public function isPropagationStopped(): bool` -- `public function setShippingAddress(ShippingAddress|null $shippingAddress): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\BeforeCreateShippingAddressFromCompanyBillingAddressEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Company $company)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function hasShippingAddress(): bool` -- `public function isPropagationStopped(): bool` -- `public function setShippingAddress(ShippingAddress|null $shippingAddress): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\BeforeDeleteShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress)` -- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\BeforeUpdateShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct $shippingAddressUpdateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ])` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function getShippingAddressUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct` -- `public function getUpdatedShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function hasUpdatedShippingAddress(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedShippingAddress(ShippingAddress|null $updatedShippingAddress): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\CreateShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress, \Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct $shippingAddressCreateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ])` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function getShippingAddressCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\CreateShippingAddressFromCompanyBillingAddressEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress, \Ibexa\Contracts\CorporateAccount\Values\Company $company)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\DeleteShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress)` -- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Event\ShippingAddress\UpdateShippingAddressEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $updatedShippingAddress, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct $shippingAddressUpdateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ])` -- `public function getFieldIdentifiersToValidate(): array<string|int, string>|null` -- `public function getShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function getShippingAddressUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct` -- `public function getUpdatedShippingAddress(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\CorporateAccount\Exception\CustomerPortalMainPageNotFoundException extends Ibexa\Contracts\Core\Repository\Exceptions\NotFoundException - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $customerPortalLocation[, int $code = 0 ][, Throwable|null $previous = null ])` - -## Ibexa\Contracts\CorporateAccount\Exception\CustomerPortalNotFoundException extends Ibexa\Contracts\Core\Repository\Exceptions\NotFoundException - -- `public function __construct(\Ibexa\Contracts\CorporateAccount\Values\Member $member[, int $code = 0 ][, Throwable|null $previous = null ])` - -## Ibexa\Contracts\CorporateAccount\Exception\UnauthorizedOrderUser extends Ibexa\Contracts\Core\Repository\Exceptions\BadStateException - -- `public function __construct(int $orderId, int $companyId)` - -## Ibexa\Contracts\CorporateAccount\Exception\ValidationFailedExceptionInterface extends Throwable - -- `public function getErrors(): \Symfony\Component\Validator\ConstraintViolationListInterface` - -## Ibexa\Contracts\CorporateAccount\Permission\MemberResolver - -- `public function getCurrentMember(): \Ibexa\Contracts\CorporateAccount\Values\Member` - -## Ibexa\Contracts\CorporateAccount\SalesRepresentatives\SalesRepresentativesFilterBuilderInterface - -- `public function buildFilterForGetAllQuery(int $offset, int $limit): \Ibexa\Contracts\Core\Repository\Values\Filter\Filter` - -## Ibexa\Contracts\CorporateAccount\Service\ApplicationService - -- `public function createApplication(\Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct $applicationCreateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\CorporateAccount\Values\Application` -- `public function deleteApplication(\Ibexa\Contracts\CorporateAccount\Values\Application $application): void` -- `public function getApplication(int $id): \Ibexa\Contracts\CorporateAccount\Values\Application` -- `public function getApplications([CriterionInterface|null $filter = null ][, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause> $sortClauses = [] ][, int|null $limit = 25 ][, int $offset = 0 ]): array<string|int, \Ibexa\Contracts\CorporateAccount\Values\Application>` -- `public function getApplicationsCount([CriterionInterface|null $filter = null ]): int` -- `public function getApplicationsStates(array<string|int, \Ibexa\Contracts\CorporateAccount\Values\Application> $applications): array<string|int, \Ibexa\Contracts\CorporateAccount\Values\ApplicationState>` -- `public function getApplicationState(\Ibexa\Contracts\CorporateAccount\Values\Application $application): \Ibexa\Contracts\CorporateAccount\Values\ApplicationState` -- `public function newApplicationCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct` -- `public function newApplicationUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct` -- `public function updateApplication(\Ibexa\Contracts\CorporateAccount\Values\Application $application, \Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct $applicationUpdateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\CorporateAccount\Values\Application` - -## Ibexa\Contracts\CorporateAccount\Service\CompanyService - -- `public function createCompanyAddressBookFolder(\Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function createCompanyMembersUserGroup(\Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function deleteCompany(\Ibexa\Contracts\CorporateAccount\Values\Company $company): void` -- `public function getCompanies([CriterionInterface|null $filter = null ][, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause> $sortClauses = [] ][, int|null $limit = self::DEFAULT_COMPANY_LIST_LIMIT ][, int $offset = 0 ]): array<string|int, \Ibexa\Contracts\CorporateAccount\Values\Company>` -- `public function getCompaniesCount([CriterionInterface|null $filter = null ]): int` -- `public function getCompany(int $id): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getCompanySalesRepresentative(\Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function newCompanyCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct` -- `public function newCompanyUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct` -- `public function setCompanyAddressBookRelation(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content): void` -- `public function setCompanyMembersRelation(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content): void` -- `public function setContact(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\Member $contact): void` -- `public function setDefaultShippingAddress(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress): void` -- `public function updateCompany(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct $companyUpdateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public const mixed DEFAULT_COMPANY_LIST_LIMIT = 25` - -## Ibexa\Contracts\CorporateAccount\Service\CorporateAccountService - -- `public function createCompany(\Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct $companyCreateStruct): \Ibexa\Contracts\CorporateAccount\Values\Company` - -## Ibexa\Contracts\CorporateAccount\Service\CustomerPortalService - -- `public function getMainPage(\Ibexa\Contracts\Core\Repository\Values\Content\Location $customerPortalLocation): \Ibexa\Contracts\Core\Repository\Values\Content\Content` - -## Ibexa\Contracts\CorporateAccount\Service\MemberService - -- `public function createMember(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct $memberCreateStruct, \Ibexa\Contracts\Core\Repository\Values\User\Role $role): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public function deleteMember(\Ibexa\Contracts\CorporateAccount\Values\Member $member): void` -- `public function getCompanyContact(\Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\CorporateAccount\Values\Member|null` -- `public function getCompanyMembers(\Ibexa\Contracts\CorporateAccount\Values\Company $company[, CriterionInterface|null $filter = null ][, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause> $sortClauses = [] ][, int|null $limit = self::DEFAULT_COMPANY_MEMBERS_LIST_LIMIT ][, int $offset = 0 ]): array<string|int, \Ibexa\Contracts\CorporateAccount\Values\Member>` -- `public function getMember(int $memberId, \Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public function getMemberAssignment(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\CorporateAccount\Values\MemberAssignment` -- `public function getMemberAssignmentByUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\CorporateAccount\Values\MemberAssignment` -- `public function getMemberAssignments(\Ibexa\Contracts\CorporateAccount\Values\Member $member): iterable<string|int, \Ibexa\Contracts\CorporateAccount\Values\MemberAssignment>` -- `public function getMemberAssignmentsByMemberId(int $memberId): iterable<string|int, \Ibexa\Contracts\CorporateAccount\Values\MemberAssignment>` -- `public function getRoleAssignment(\Ibexa\Contracts\CorporateAccount\Values\Member $member): \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment` -- `public function getRoleAssignmentByUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\Core\Repository\Values\User\Role $role, string $locationPath): \Ibexa\Contracts\Core\Repository\Values\User\RoleAssignment` -- `public function newMemberCreateStruct(string $login, string $email, string $password[, ContentType|null $contentType = null ]): \Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct` -- `public function newMemberUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct` -- `public function setMemberRole(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\Core\Repository\Values\User\Role $role): void` -- `public function updateMember(\Ibexa\Contracts\CorporateAccount\Values\Member $member, \Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct $memberUpdateStruct): \Ibexa\Contracts\CorporateAccount\Values\Member` -- `public const mixed DEFAULT_COMPANY_MEMBERS_LIST_LIMIT = 25` - -## Ibexa\Contracts\CorporateAccount\Service\SalesRepresentativesService - -- `public const mixed DEFAULT_PAGE_LIMIT = 25` - -## Ibexa\Contracts\CorporateAccount\Service\ShippingAddressService - -- `public function createShippingAddress(\Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct $shippingAddressCreateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function createShippingAddressFromCompanyBillingAddress(\Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function deleteShippingAddress(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress): void` -- `public function getCompanyDefaultShippingAddress(\Ibexa\Contracts\CorporateAccount\Values\Company $company): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress|null` -- `public function getCompanyShippingAddresses(\Ibexa\Contracts\CorporateAccount\Values\Company $company[, int $limit = 25 ][, int $offset = 0 ]): array<string|int, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress>` -- `public function getShippingAddress(int $id): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` -- `public function newShippingAddressCreateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct` -- `public function newShippingAddressUpdateStruct(): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct` -- `public function updateShippingAddress(\Ibexa\Contracts\CorporateAccount\Values\ShippingAddress $shippingAddress, \Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct $shippingAddressUpdateStruct[, array<string|int, string>|null $fieldIdentifiersToValidate = null ]): \Ibexa\Contracts\CorporateAccount\Values\ShippingAddress` - -## Ibexa\Contracts\CorporateAccount\Values\Application extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getId(): int` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` -- `public function getName(): string|null` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\CorporateAccount\Values\ApplicationCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct - -- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\CorporateAccount\Values\ApplicationState - -- `public function getApplicationId(): int` -- `public function getCompanyId(): int|null` -- `public function getId(): int` -- `public function getState(): string` - -## Ibexa\Contracts\CorporateAccount\Values\ApplicationUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct - -- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\CorporateAccount\Values\Company extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` -- `public function getAddressBookId(): int|null` -- `public function getBillingAddress(): \Ibexa\FieldTypeAddress\FieldType\Value` -- `public function getContactId(): int|null` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` -- `public function getDefaultAddressId(): int|null` -- `public function getId(): int` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` -- `public function getLocationPath(): string` -- `public function getMembersId(): int|null` -- `public function getName(): string|null` -- `public function getSalesRepresentativeId(): int|null` -- `public function isActive(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\CorporateAccount\Values\CompanyCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct - -- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\CorporateAccount\Values\CompanyHistory - -- `public function getApplicationId(): int` -- `public function getCompanyId(): int|null` -- `public function getCreated(): \DateTimeImmutable` -- `public function getEventData(): array<string, mixed>|null` -- `public function getEventName(): string` -- `public function getId(): int` -- `public function getUserId(): int|null` - -## Ibexa\Contracts\CorporateAccount\Values\CompanyUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct - -- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\CorporateAccount\Values\Limitation\ApplicationStateLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed IDENTIFIER = 'ApplicationState'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\CorporateAccount\Values\Member extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Contracts\CorporateAccount\Values\Company $company, \Ibexa\Contracts\Core\Repository\Values\User\Role $role)` -- `public function getCompany(): \Ibexa\Contracts\CorporateAccount\Values\Company` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getDefaultLanguageCode(): string` -- `public function getField(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Field|null` -- `public function getFields(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Field>` -- `public function getFieldsByLanguage([string|null $languageCode = null ]): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Field>` -- `public function getFieldValue(string $fieldDefIdentifier[, string|null $languageCode = null ]): \Ibexa\Contracts\Core\FieldType\Value|null` -- `public function getId(): int` -- `public function getName(): string|null` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role` -- `public function getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\CorporateAccount\Values\MemberAssignment - -- `public function getCompanyId(): int` -- `public function getCompanyLocationId(): int` -- `public function getId(): int` -- `public function getMemberId(): int` -- `public function getMemberRole(): string` -- `public function getMemberRoleAssignmentId(): int` - -## Ibexa\Contracts\CorporateAccount\Values\MemberCreateStruct extends Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct - -- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\CorporateAccount\Values\MemberUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct - -- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\CorporateAccount\Values\Query\Criterion\ApplicationEmail extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Field - -- `public function getCustomField(string $type, string $field): string|null` -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `public function setCustomField(string $type, string $field, string $customField): void` - -## Ibexa\Contracts\CorporateAccount\Values\Query\Criterion\ApplicationName extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Field - -- `public function getCustomField(string $type, string $field): string|null` -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `public function setCustomField(string $type, string $field, string $customField): void` - -## Ibexa\Contracts\CorporateAccount\Values\Query\Criterion\ApplicationState extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\CorporateAccount\Values\Query\Criterion\CompanyName extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Field - -- `public function getCustomField(string $type, string $field): string|null` -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `public function setCustomField(string $type, string $field, string $customField): void` - -## Ibexa\Contracts\CorporateAccount\Values\Query\Criterion\CompanyStatus extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Field - -- `public function getCustomField(string $type, string $field): string|null` -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `public function setCustomField(string $type, string $field, string $customField): void` - -## Ibexa\Contracts\CorporateAccount\Values\SalesRepresentativesList implements IteratorAggregate - -- `public function __construct([array<string|int, \Ibexa\Contracts\Core\Repository\Values\User\User> $salesRepresentatives = [] ])` -- `public function append(\Ibexa\Contracts\Core\Repository\Values\User\User $user): void` -- `public function getIterator(): \ArrayIterator<string|int, \Ibexa\Contracts\Core\Repository\Values\User\User>` - -## Ibexa\Contracts\CorporateAccount\Values\ShippingAddress extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content)` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getId(): int` -- `public function getName(): string|null` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\CorporateAccount\Values\ShippingAddressCreateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct - -- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\CorporateAccount\Values\ShippingAddressUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct - -- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Dashboard\Block\QuickActions\ActionInterface - -- `public function getConfiguration(): TUDWActionArray}` -- `public function static getIdentifier(): string` - -## Ibexa\Contracts\Dashboard\DashboardServiceInterface - -- `public function createCustomDashboardDraft([Location|null $location = null ]): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function createDashboard(\Ibexa\Contracts\Dashboard\Values\DashboardCreateStruct $dashboardCreateStruct): \Ibexa\Contracts\Core\Repository\Values\Content\Content` - -## Ibexa\Contracts\Dashboard\Iterator\BatchIteratorAdapter\DashboardFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\Core\Repository\LocationService $locationService, \Ibexa\Contracts\Core\Repository\Values\Content\Location $location)` -- `public function fetch(int $offset, int $limit): \Iterator<mixed, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` - -## Ibexa\Contracts\DesignEngine\DesignAwareInterface - -- `public const mixed DESIGN_NAMESPACE = 'ibexadesign'` - -## Ibexa\Contracts\DiscountsCodes\DiscountCodeServiceInterface - -- `public function codeExists(string $code): bool` -- `public function createDiscountCode(\Ibexa\Contracts\DiscountsCodes\Value\Struct\DiscountCodeCreateStruct $createStruct): \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface` -- `public function findCodeUsages(\Ibexa\Contracts\DiscountsCodes\Value\Query\DiscountCodeUsageQuery $query): array<string|int, \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUsageInterface>` -- `public function findOneByCode(string $code): \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface` -- `public function isCodeUsable(\Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface $code, \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser $user): bool` -- `public function registerUsage(\Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface $code, \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser $user, \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order): void` -- `public function updateDiscountCode(\Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface $discountCode, \Ibexa\Contracts\DiscountsCodes\Value\Struct\DiscountCodeUpdateStruct $updateStruct): \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface` - -## Ibexa\Contracts\DiscountsCodes\Event\BeforeDiscountCodeApplyEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\DiscountsCodes\Exception\DiscountCodeNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException - -- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` - -## Ibexa\Contracts\DiscountsCodes\Exception\DiscountCodeRateLimitExceededException extends RuntimeException - -- `public function __construct(\Symfony\Component\RateLimiter\LimiterInterface $limiter[, string $message = '' ][, int $code = 0 ][, Throwable|null $previous = null ])` -- `public function getLimiter(): \Symfony\Component\RateLimiter\LimiterInterface` - -## Ibexa\Contracts\DiscountsCodes\Exception\DiscountCodeUnusableException extends RuntimeException - -- `public function __construct(\Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface $discountCode, \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser $user)` -- `public function getDiscountCode(): \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface` -- `public function getUser(): \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser` - -## Ibexa\Contracts\DiscountsCodes\Exception\DiscountCodeUserInvalidArgumentException extends InvalidArgumentException - -- `public function __construct(string $type)` -- `public function getType(): string` - -## Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface - -- `public function getCode(): string` -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getCreatorId(): int` -- `public function getGlobalLimit(): int|null` -- `public function getId(): int` -- `public function getUsedCount(): int` -- `public function getUsedLimit(): int|null` - -## Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUsageInterface - -- `public function getDiscountCodeId(): int` -- `public function getId(): int` -- `public function getUsedAt(): \DateTimeImmutable` - -## Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser - -- `public function getIdentifier(): int|string` -- `public function getType(): string` -- `public function setType(string $type): void` -- `public const mixed TYPE_EMAIL = 'email'` -- `public const mixed TYPE_USER = 'user'` - -## Ibexa\Contracts\DiscountsCodes\Value\Query\DiscountCodeUsageQuery - -- `public function getDiscountCodes(): array<string|int, \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface>|null` -- `public function getDiscountCodeUser(): \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeUser|null` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function setDiscountCodes(array<string|int, \Ibexa\Contracts\DiscountsCodes\Value\DiscountCodeInterface>|null $discountCodes): $this` -- `public function setDiscountCodeUser(DiscountCodeUser|null $discountCodeUser): $this` -- `public function setLimit(int|null $limit): $this` -- `public function setOffset(int $offset): $this` - -## Ibexa\Contracts\DiscountsCodes\Value\Struct\DiscountCodeCreateStruct - -- `public function __construct(string $code, int|null $globalUsageLimit, int|null $userUsageLimit, int|null $creatorId, \DateTimeImmutable $createdAt)` -- `public function getCode(): string` -- `public function getCreatedAt(): \DateTimeImmutable` -- `public function getCreatorId(): int|null` -- `public function getGlobalUsageLimit(): int|null` -- `public function getUserUsageLimit(): int|null` - -## Ibexa\Contracts\DiscountsCodes\Value\Struct\DiscountCodeUpdateStruct - -- `public function __construct(string|null $code, int|null $globalUsageLimit, int|null $userUsageLimit, int|null $creatorId, DateTimeImmutable|null $createdAt)` -- `public function getCode(): string|null` -- `public function getCreatedAt(): \DateTimeImmutable|null` -- `public function getCreatorId(): int|null` -- `public function getGlobalUsageLimit(): int|null` -- `public function getUserUsageLimit(): int|null` - -## Ibexa\Contracts\Discounts\Admin\FormMapper\ConditionsMapperInterface - -- `public function createFormData(string $type, string $ruleType): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` -- `public function mapCreateDataToStruct(\Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct): void` -- `public function mapDiscountToFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` -- `public function mapUpdateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct): void` - -## Ibexa\Contracts\Discounts\Admin\FormMapper\DiscountValueMapperInterface - -- `public function createFormData(string $type, string $ruleType): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` -- `public function mapCreateDataToStruct(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct): void` -- `public function mapDiscountToFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` -- `public function mapUpdateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct): void` - -## Ibexa\Contracts\Discounts\Admin\FormMapper\GeneralPropertiesMapperInterface - -- `public function createFormData(string $type, string $ruleType, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` -- `public function mapCreateDataToStruct(\Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct): void` -- `public function mapDiscountToFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` -- `public function mapUpdateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct): void` - -## Ibexa\Contracts\Discounts\Admin\FormMapper\ProductConditionsMapperInterface - -- `public function createFormData(string $type, string $ruleType): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` -- `public function mapCreateDataToStruct(\Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct): void` -- `public function mapDiscountToFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` -- `public function mapUpdateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct): void` - -## Ibexa\Contracts\Discounts\Admin\FormMapper\StepDataObjectMapperInterface - -- `public function mapDataToFormType(object $data): string` - -## Ibexa\Contracts\Discounts\Admin\FormMapper\UserConditionsMapperInterface - -- `public function createFormData(string $type, string $ruleType): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` -- `public function mapCreateDataToStruct(\Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct): void` -- `public function mapDiscountToFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` -- `public function mapUpdateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct): void` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractConditions extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountStep implements Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface - -- `public function addData(object $data): self` -- `public function getData(): array<string|int, mixed>` -- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` -- `public function getMinimumPurchaseAmount(): numeric-string|null` -- `public function getMinimumPurchaseQuantity(): int|null` -- `public function getType(): string|null` -- `public function removeData(object $data): self` -- `public function setData(array<string|int, mixed> $data): self` -- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` -- `public function setMinimumPurchaseAmount(string|null $value): $this` -- `public function setMinimumPurchaseQuantity(int|null $value): self` -- `public function setType(string|null $type): $this` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractCreateDiscountData extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountData implements Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface - -- `public function __construct(string $type, string $ruleType, \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface $generalProperties, \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface $userCondition, \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface $productCondition, \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $conditions, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $value)` -- `public function getConditions(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` -- `public function getGeneralProperties(): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` -- `public function getProducts(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` -- `public function getRuleType(): string` -- `public function getStepByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData<string|int, object>|null` -- `public function getSteps(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData` -- `public function getTargetGroup(): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` -- `public function static getTranslationMessages(): array<string|int, mixed>` -- `public function getType(): string` -- `public function getValue(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` -- `public function withStep(object $data, string $identifier, string $label[, int $priority = 0 ][, bool $active = false ]): static` -- `public function withSteps(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData $steps): self` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountData implements Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface, JMS\TranslationBundle\Translation\TranslationContainerInterface - -- `public function __construct(\Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface $generalProperties, \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface $userCondition, \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface $productCondition, \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $conditions, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $value)` -- `public function getConditions(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` -- `public function getGeneralProperties(): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` -- `public function getProducts(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` -- `public function getStepByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData<string|int, object>|null` -- `public function getSteps(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData` -- `public function getTargetGroup(): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` -- `public function static getTranslationMessages(): array<string|int, mixed>` -- `public function getValue(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` -- `public function withStep(object $data, string $identifier, string $label[, int $priority = 0 ][, bool $active = false ]): static` -- `public function withSteps(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData $steps): self` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountStep implements Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataAwareInterface - -- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` -- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountValue extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountStep implements Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface - -- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` -- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractEditDiscountData extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountData implements Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface $generalProperties, \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface $userCondition, \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface $productCondition, \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $conditions, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $value)` -- `public function getConditions(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` -- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function getGeneralProperties(): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` -- `public function getProducts(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` -- `public function getRuleType(): string` -- `public function getStepByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData<string|int, object>|null` -- `public function getSteps(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData` -- `public function getTargetGroup(): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` -- `public function static getTranslationMessages(): array<string|int, mixed>` -- `public function getType(): string` -- `public function getValue(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` -- `public function withStep(object $data, string $identifier, string $label[, int $priority = 0 ][, bool $active = false ]): static` -- `public function withSteps(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData $steps): self` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractGeneralProperties extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountStep implements Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface - -- `public function addData(object $data): self` -- `public function addRegion(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): $this` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` -- `public function getData(): array<string|int, mixed>` -- `public function getDescription(): string|null` -- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` -- `public function getEndTime(): \DateTimeImmutable|null` -- `public function getIdentifier(): string` -- `public function getLabel(): string|null` -- `public function getLabelDescription(): string|null` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getName(): string` -- `public function getPriority(): int` -- `public function getRegions(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\RegionInterface>` -- `public function getStartTime(): \DateTimeImmutable|null` -- `public function isEnabled(): bool` -- `public function isPermanent(): bool` -- `public function removeData(object $data): self` -- `public function removeRegion(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): $this` -- `public function setCurrency(CurrencyInterface|null $currency): $this` -- `public function setData(array<string|int, mixed> $data): self` -- `public function setDescription(string|null $description): $this` -- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` -- `public function setEnabled(bool $enabled): $this` -- `public function setEndTime(DateTimeInterface|null $endTime): $this` -- `public function setIdentifier(string|null $identifier): $this` -- `public function setLabel(string|null $label): $this` -- `public function setLabelDescription(string|null $labelDescription): $this` -- `public function setLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): $this` -- `public function setName(string|null $name): $this` -- `public function setPermanent(bool $permanent): $this` -- `public function setPriority(int|null $priority): $this` -- `public function setStartTime(DateTimeInterface|null $startTime): $this` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractProductCondition extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountStep implements Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface - -- `public function addData(object $data): self` -- `public function getCategories(): array<string|int, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry>` -- `public function getData(): array<string|int, mixed>` -- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` -- `public function getProducts(): \Ibexa\Contracts\ProductCatalog\Form\Data\ProductsSelectorData` -- `public function getType(): string` -- `public function removeData(object $data): self` -- `public function setCategories(array<string|int, mixed>|null $categories): self` -- `public function setData(array<string|int, mixed> $data): self` -- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` -- `public function setProducts(ProductsSelectorData|null $products): self` -- `public function setType(string|null $type): $this` -- `public const mixed TYPE_ALL = 'all'` -- `public const mixed TYPE_CATEGORIES = 'categories'` -- `public const mixed TYPE_PRODUCTS = 'products'` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractUserCondition extends Ibexa\Contracts\Discounts\Admin\Form\Data\AbstractDiscountStep implements Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface - -- `public function getCustomerGroups(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface>` -- `public function getData(): array<string|int, mixed>` -- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` -- `public function getType(): string` -- `public function removeData(object $data): self` -- `public function setCustomerGroups(array<string|int, mixed> $customerGroups): $this` -- `public function setData(array<string|int, mixed> $data): self` -- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` -- `public function setType(string|null $type): $this` -- `public const mixed TYPE_ALL = 'all'` -- `public const mixed TYPE_CUSTOMER_GROUPS = 'customer_groups'` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\CustomDataAwareInterface - -- `public function getData(): array<string|int, object>` -- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` -- `public function getMinimumPurchaseAmount(): numeric-string|null` -- `public function getMinimumPurchaseQuantity(): int|null` -- `public function getType(): string|null` -- `public function removeData(object $data): $this` -- `public function setData(array<string|int, object> $data): $this` -- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` -- `public function setMinimumPurchaseAmount(numeric-string|null $value): $this` -- `public function setMinimumPurchaseQuantity(int|null $value): self` -- `public function setType(string|null $type): $this` -- `public const mixed IDENTIFIER = 'conditions'` -- `public const mixed LABEL_KEY = 'discount.step.conditions.label'` -- `public const mixed TYPE_MINIMUM_PURCHASE_AMOUNT = 'minimum_purchase_amount'` -- `public const mixed TYPE_MINIMUM_PURCHASE_QUANTITY = 'minimum_purchase_quantity'` -- `public const mixed TYPE_NONE = null` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface - -- `public function getConditions(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` -- `public function getGeneralProperties(): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` -- `public function getProducts(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` -- `public function getRuleType(): string` -- `public function getStepByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData<string|int, object>|null` -- `public function getSteps(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData` -- `public function getTargetGroup(): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` -- `public function getType(): string` -- `public function getValue(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` -- `public function withStep(object $data, string $identifier, string $label[, int $priority = 0 ][, bool $active = false ]): static` -- `public function withSteps(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData $steps): self` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\CustomDataAwareInterface - -- `public function addData(object $data): $this` -- `public function getData(): array<string|int, object>` -- `public function removeData(object $data): $this` -- `public function setData(array<string|int, object> $data): $this` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\CustomDataAwareTrait - -- `public function addData(object $data): self` -- `public function getData(): array<string|int, mixed>` -- `public function removeData(object $data): self` -- `public function setData(array<string|int, mixed> $data): self` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataAwareInterface - -- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` -- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface - -- `public function getConditions(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` -- `public function getGeneralProperties(): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` -- `public function getProducts(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` -- `public function getRuleType(): string` -- `public function getStepByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData<string|int, object>|null` -- `public function getSteps(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData` -- `public function getTargetGroup(): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` -- `public function getType(): string` -- `public function getValue(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` -- `public function withStep(object $data, string $identifier, string $label[, int $priority = 0 ][, bool $active = false ]): static` -- `public function withSteps(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData $steps): self` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData implements Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepDataInterface - -- `public function __construct(string $identifier, object $step, string $label[, int $priority = 0 ][, bool $active = false ])` -- `public function getIdentifier(): string` -- `public function getPriority(): int` -- `public function getStepData(): object` -- `public function getStepLabel(): string` -- `public function getValidationGroups(): array<string|int, mixed>` -- `public function isActive(): bool` -- `public function isSubmitted(): bool` -- `public function setActive(bool $active): $this` -- `public function setPriority(int $priority): $this` -- `public function setSubmitted(bool $submitted): $this` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepDataInterface - -- `public function getIdentifier(): string` -- `public function getPriority(): int` -- `public function getStepData(): object` -- `public function getStepLabel(): string` -- `public function getValidationGroups(): array<string|int, mixed>` -- `public function isActive(): bool` -- `public function isSubmitted(): bool` -- `public function setActive(bool $active): $this` -- `public function setPriority(int $priority): $this` -- `public function setSubmitted(bool $submitted): $this` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData implements IteratorAggregate, ArrayAccess - -- `public function advance(): self` -- `public function canGoToPreviousStep(): bool` -- `public function getActiveStep(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepDataInterface|null` -- `public function getActiveStepIdentifier(): string` -- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` -- `public function getExpectedAction(): string|null` -- `public function getIterator(): \Iterator` -- `public function goBack(): $this` -- `public function isLastStepActive(): bool` -- `public function isStepVisitedByIdentifier(string $identifier): bool` -- `public function offsetExists(mixed $offset): bool` -- `public function offsetGet(mixed $offset): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepDataInterface|null` -- `public function offsetSet(mixed $offset, mixed $value): void` -- `public function offsetUnset(mixed $offset): void` -- `public function setActiveStep(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepDataInterface $step): $this` -- `public function setActiveStepByIdentifier(string $identifier): $this` -- `public function setExpectedAction(string|null $expectedAction): $this` -- `public const mixed ACTION_ADVANCE = 'advance'` -- `public const mixed ACTION_PREVIOUS = 'previous'` -- `public const mixed ACTION_SAVE = 'save'` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataAwareInterface - -- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` -- `public const mixed IDENTIFIER = 'discount_value'` -- `public const mixed LABEL_KEY = 'discount.step.discount_value.label'` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface - -- `public function getConditions(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface` -- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function getGeneralProperties(): \Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface` -- `public function getProducts(): \Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface` -- `public function getRuleType(): string` -- `public function getStepByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepData<string|int, object>|null` -- `public function getSteps(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData` -- `public function getTargetGroup(): \Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface` -- `public function getType(): string` -- `public function getValue(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface` -- `public function withStep(object $data, string $identifier, string $label[, int $priority = 0 ][, bool $active = false ]): static` -- `public function withSteps(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountStepsData $steps): self` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\GeneralPropertiesInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataAwareInterface - -- `public function addRegion(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): $this` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` -- `public function getData(): array<string|int, object>` -- `public function getDescription(): string|null` -- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` -- `public function getEndTime(): \DateTimeImmutable|null` -- `public function getIdentifier(): string` -- `public function getLabel(): string|null` -- `public function getLabelDescription(): string|null` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getName(): string` -- `public function getPriority(): int` -- `public function getRegions(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\RegionInterface>` -- `public function getStartTime(): \DateTimeImmutable|null` -- `public function isEnabled(): bool` -- `public function isPermanent(): bool` -- `public function removeData(object $data): $this` -- `public function removeRegion(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): $this` -- `public function setCurrency(CurrencyInterface|null $currency): $this` -- `public function setData(array<string|int, object> $data): $this` -- `public function setDescription(string|null $description): $this` -- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` -- `public function setEnabled(bool $enabled): $this` -- `public function setEndTime(DateTimeInterface|null $endTime): $this` -- `public function setIdentifier(string|null $identifier): $this` -- `public function setLabel(string|null $label): $this` -- `public function setLabelDescription(string|null $labelDescription): $this` -- `public function setLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): $this` -- `public function setName(string|null $name): $this` -- `public function setPermanent(bool $permanent): $this` -- `public function setPriority(int $priority): $this` -- `public function setStartTime(DateTimeInterface|null $startTime): $this` -- `public const mixed IDENTIFIER = 'general_properties'` -- `public const mixed LABEL_KEY = 'discount.step.general_properties.label'` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\ProductConditionInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataAwareInterface - -- `public function getCategories(): array<string|int, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry>` -- `public function getData(): array<string|int, object>` -- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` -- `public function getProducts(): \Ibexa\Contracts\ProductCatalog\Form\Data\ProductsSelectorData` -- `public function getType(): string` -- `public function removeData(object $data): $this` -- `public function setCategories(array<string|int, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry>|null $categories): self` -- `public function setData(array<string|int, object> $data): $this` -- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` -- `public function setProducts(ProductsSelectorData|null $products): self` -- `public function setType(string $type): $this` -- `public const mixed IDENTIFIER = 'products'` -- `public const mixed LABEL_KEY = 'discount.step.products.label'` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\TranslateDiscountData implements Ibexa\Contracts\Discounts\Admin\Form\Data\CustomDataAwareInterface - -- `public function addData(object $data): self` -- `public function getData(): array<string|int, mixed>` -- `public function getDescription(): string|null` -- `public function getLabel(): string|null` -- `public function getLabelDescription(): string|null` -- `public function getName(): string` -- `public function removeData(object $data): self` -- `public function setData(array<string|int, mixed> $data): self` -- `public function setDescription(string|null $description): self` -- `public function setLabel(string|null $label): self` -- `public function setLabelDescription(string|null $labelDescription): self` -- `public function setName(string|null $name): self` - -## Ibexa\Contracts\Discounts\Admin\Form\Data\UserConditionInterface extends Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataAwareInterface - -- `public function getCustomerGroups(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface>` -- `public function getData(): array<string|int, object>` -- `public function getDiscountData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` -- `public function getType(): string` -- `public function removeData(object $data): $this` -- `public function setCustomerGroups(array<string|int, \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface> $customerGroups): $this` -- `public function setData(array<string|int, object> $data): $this` -- `public function setDiscountData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $discountData): void` -- `public function setType(string $type): $this` -- `public const mixed IDENTIFIER = 'target_group'` -- `public const mixed LABEL_KEY = 'discount.label.target_group.label'` - -## Ibexa\Contracts\Discounts\Admin\Form\DiscountValueFormTypeMapperInterface - -- `public function getFormTypeForData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data): string|null` -- `public function getFormTypeOptionsForData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data): array<string, mixed>` -- `public function hasFormTypeForData(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data): bool` - -## Ibexa\Contracts\Discounts\Admin\Form\Event\PreDiscountCreateEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct)` -- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface` -- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Admin\Form\Event\PreDiscountUpdateEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface $data, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct)` -- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface` -- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Admin\Form\FormThemeProviderInterface - -- `public function getFormThemes(): array<int, string>` - -## Ibexa\Contracts\Discounts\Admin\Form\Listener\AbstractConditionsFormFormEventSubscriber implements Ibexa\Contracts\Discounts\Admin\Form\Listener\ConditionsFormEventListenerInterface - -- `public function getPriority(): int` - -## Ibexa\Contracts\Discounts\Admin\Form\Listener\AbstractDiscountFormListener implements Ibexa\Contracts\Discounts\Admin\Form\Listener\DiscountFormEventListenerInterface - -- `public function getPriority(): int` - -## Ibexa\Contracts\Discounts\Admin\Form\Listener\AbstractDiscountValueFormFormEventSubscriber implements Ibexa\Contracts\Discounts\Admin\Form\Listener\DiscountValueFormEventListenerInterface - -- `public function getPriority(): int` - -## Ibexa\Contracts\Discounts\Admin\Form\Listener\AbstractStepFormListener implements Ibexa\Contracts\Discounts\Admin\Form\Listener\StepFormEventListenerInterface - -- `public function getPriority(): int` - -## Ibexa\Contracts\Discounts\Admin\Form\Listener\ConditionsFormEventListenerInterface - -- `public function addFields(FormInterface<string|int, \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface> $form, \Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $data, \Symfony\Component\Form\FormEvent $event): void` -- `public function getPriority(): int` -- `public function isDataSupported(\Ibexa\Contracts\Discounts\Admin\Form\Data\ConditionsInterface $data): bool` - -## Ibexa\Contracts\Discounts\Admin\Form\Listener\DiscountFormEventListenerInterface - -- `public function addFields(FormInterface<string|int, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface> $form, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $data, \Symfony\Component\Form\Event\PreSetDataEvent $event): void` -- `public function getPriority(): int` -- `public function isDataSupported(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface $data): bool` - -## Ibexa\Contracts\Discounts\Admin\Form\Listener\DiscountValueFormEventListenerInterface - -- `public function addFields(FormInterface<string|int, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface> $form, \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data, \Symfony\Component\Form\FormEvent $event): void` -- `public function getPriority(): int` -- `public function isDataSupported(\Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountValueInterface $data): bool` - -## Ibexa\Contracts\Discounts\Admin\Form\Listener\StepFormEventListenerInterface - -- `public function addFields(FormInterface<string|int, DiscountStepData<string|int, object>> $form, DiscountStepData<string|int, object> $data, \Symfony\Component\Form\Event\PreSetDataEvent $event): void` -- `public function getPriority(): int` -- `public function isDataSupported(DiscountStepData<string|int, object> $data): bool` - -## Ibexa\Contracts\Discounts\DiscountConditionCriterionMapperInterface - -- `public function getCriterion(\Ibexa\Contracts\Discounts\Value\DiscountConditionInterface $discountCondition): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface|null` - -## Ibexa\Contracts\Discounts\DiscountFormMapperInterface - -- `public function createFormData(string $type, string $ruleType, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface` -- `public function getDiscountRuleTypes(string|null $type): array<string|int, string>` -- `public function mapCreateDataToStruct(\Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface $data): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct` -- `public function mapDiscountToFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface` -- `public function mapDiscountToTranslateFormData(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language[, Language|null $baseLanguage = null ]): \Ibexa\Contracts\Discounts\Admin\Form\Data\TranslateDiscountData` -- `public function mapEditTranslateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\TranslateDiscountData $data, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` -- `public function mapUpdateDataToStruct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface $data): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` -- `public function supports(string $type, string $ruleType): bool` - -## Ibexa\Contracts\Discounts\DiscountPrioritizationStrategyInterface - -- `public function getOrder(): array<string|int, \Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface>` - -## Ibexa\Contracts\Discounts\DiscountServiceDecorator implements Ibexa\Contracts\Discounts\DiscountServiceInterface - -- `public function createDiscount(\Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $createStruct): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function deleteDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` -- `public function deleteTranslation(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, int $languageId): void` -- `public function disableDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` -- `public function enableDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` -- `public function findDiscounts([DiscountQuery|null $discountQuery = null ]): \Ibexa\Contracts\Discounts\Value\DiscountListInterface` -- `public function getDiscountById(int $id): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function getDiscountByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function markIndexed(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` -- `public function updateDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $updateStruct): \Ibexa\Contracts\Discounts\Value\DiscountInterface` - -## Ibexa\Contracts\Discounts\DiscountServiceInterface - -- `public function createDiscount(\Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $createStruct): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function deleteDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` -- `public function deleteTranslation(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, int $languageId): void` -- `public function disableDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` -- `public function enableDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` -- `public function findDiscounts([DiscountQuery|null $query = null ]): \Ibexa\Contracts\Discounts\Value\DiscountListInterface` -- `public function getDiscountById(int $id): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function getDiscountByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function markIndexed(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount): void` -- `public function updateDiscount(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $updateStruct): \Ibexa\Contracts\Discounts\Value\DiscountInterface` - -## Ibexa\Contracts\Discounts\DiscountValueFormatterInterface - -- `public function format(\Ibexa\Contracts\Discounts\Value\DiscountRuleInterface $discountRule[, Money|null $money = null ]): string` - -## Ibexa\Contracts\Discounts\DiscountVariablesResolverInterface - -- `public function getVariables(\Ibexa\Contracts\ProductCatalog\Values\Price\PriceContextInterface $priceContext): array<string, mixed>` - -## Ibexa\Contracts\Discounts\Event\BeforeCreateDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $createStruct[, DiscountInterface|null $discountResult = null ])` -- `public function getCreateStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct` -- `public function getDiscountResult(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function hasDiscountResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setDiscountResult(DiscountInterface|null $discountResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\BeforeDeleteDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\BeforeDisableDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` -- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\BeforeEnableDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` -- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\BeforeUpdateDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $updateStruct[, DiscountInterface|null $discountResult = null ])` -- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function getDiscountResult(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` -- `public function hasDiscountResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setDiscountResult(DiscountInterface|null $discountResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\CreateDiscountCreateStructEvent extends Symfony\Contracts\EventDispatcher\Event implements Ibexa\Contracts\Discounts\Event\DiscountStructEventInterface - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct, \Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface $data)` -- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface` -- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\CreateDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $createStruct, \Ibexa\Contracts\Discounts\Value\DiscountInterface $discountResult)` -- `public function getCreateStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct` -- `public function getDiscountResult(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\CreateDiscountUpdateStructEvent extends Symfony\Contracts\EventDispatcher\Event implements Ibexa\Contracts\Discounts\Event\DiscountStructEventInterface - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct, \Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface $data, \Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` -- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface` -- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\CreateFormDataEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface $data)` -- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface` -- `public function isPropagationStopped(): bool` -- `public function setData(\Ibexa\Contracts\Discounts\Admin\Form\Data\CreateDiscountDataInterface $data): $this` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\DeleteDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\DisableDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` -- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\DiscountStructEventInterface - -- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\DiscountDataInterface` -- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountStructInterface` - -## Ibexa\Contracts\Discounts\Event\EnableDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` -- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\MapDiscountToFormDataEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface $data, \Ibexa\Contracts\Discounts\Value\DiscountInterface $discount)` -- `public function getData(): \Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface` -- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function isPropagationStopped(): bool` -- `public function setData(\Ibexa\Contracts\Discounts\Admin\Form\Data\EditDiscountDataInterface $data): $this` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\Step\CreateFormDataEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(object $step, string $discountType, string $ruleType)` -- `public function static createEventName(string $stepName): string` -- `public function getDiscountType(): string` -- `public function getRuleType(): string` -- `public function getStep(): object` -- `public function isPropagationStopped(): bool` -- `public function setStep(object $step): $this` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\Step\MapCreateDataToStructEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct $struct, object $step)` -- `public function static createEventName(string $stepName): string` -- `public function getStep(): object` -- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\Step\MapDiscountToFormDataEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, object $step)` -- `public function static createEventName(string $stepName): string` -- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function getStep(): object` -- `public function isPropagationStopped(): bool` -- `public function setStep(object $step): $this` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\Step\MapUpdateDataToStructEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $struct, object $step)` -- `public function static createEventName(string $stepName): string` -- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function getStep(): object` -- `public function getStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Event\UpdateDiscountEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Discounts\Value\DiscountInterface $discount, \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct $updateStruct, \Ibexa\Contracts\Discounts\Value\DiscountInterface $discountResult)` -- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function getDiscountResult(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Discounts\Exception\DiscountConditionNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException - -- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` - -## Ibexa\Contracts\Discounts\Exception\DiscountExpressionInvalidArgumentException extends Ibexa\Contracts\Core\Exception\InvalidArgumentException - -- `public function __construct(string $argumentName, string $whatIsWrong[, Exception|null $previous = null ])` - -## Ibexa\Contracts\Discounts\Exception\DiscountExpressionRuntimeException extends RuntimeException - -- `public function __construct(string $message[, Throwable|null $previous = null ])` - -## Ibexa\Contracts\Discounts\Exception\DiscountNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException - -- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` - -## Ibexa\Contracts\Discounts\Exception\DiscountRuleNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException - -- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` - -## Ibexa\Contracts\Discounts\Exception\DiscountValueResolutionException extends RuntimeException - -- `public function __construct(string $message[, Throwable|null $previous = null ])` - -## Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function getModule(): string` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Discounts\Policy\Create extends Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy - -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` -- `public const mixed CREATE = 'create'` - -## Ibexa\Contracts\Discounts\Policy\Delete extends Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy - -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Discounts\Value\DiscountInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` -- `public const mixed DELETE = 'delete'` - -## Ibexa\Contracts\Discounts\Policy\Disable extends Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy - -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Discounts\Value\DiscountInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` -- `public const mixed DISABLE = 'disable'` - -## Ibexa\Contracts\Discounts\Policy\Enable extends Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy - -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Discounts\Value\DiscountInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` -- `public const mixed ENABLE = 'enable'` - -## Ibexa\Contracts\Discounts\Policy\Update extends Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy - -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Discounts\Value\DiscountInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` -- `public const mixed UPDATE = 'update'` - -## Ibexa\Contracts\Discounts\Policy\View extends Ibexa\Contracts\Discounts\Policy\AbstractDiscountPolicy - -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Discounts\Value\DiscountInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` -- `public const mixed VIEW = 'view'` - -## Ibexa\Contracts\Discounts\Value\DiscountConditionInterface extends Ibexa\Contracts\Discounts\Value\DiscountExpressionAwareInterface - -- `public function getExpression(): string` -- `public function getExpressionValues(): array<string, mixed>|null` -- `public function getIdentifier(): string` - -## Ibexa\Contracts\Discounts\Value\DiscountConditionsInterface - -- `public function getConditionByClassName(string $class): \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface|null` -- `public function getConditionByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface|null` -- `public function getConditions(): array<string|int, \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface>` - -## Ibexa\Contracts\Discounts\Value\DiscountExpressionAwareInterface - -- `public function getExpression(): string` -- `public function getExpressionValues(): array<string, mixed>|null` - -## Ibexa\Contracts\Discounts\Value\DiscountInterface extends Ibexa\Contracts\Discounts\Value\DiscountConditionsInterface - -- `public function getConditionByClassName(string $class): \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface|null` -- `public function getConditionByIdentifier(string $identifier): \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface|null` -- `public function getConditions(): array<string|int, \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface>` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getDescription([int|null $languageId = null ]): string|null` -- `public function getEndDate(): \DateTimeInterface|null` -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getIndexDate(): \DateTimeInterface|null` -- `public function getLabel([int|null $languageId = null ]): string|null` -- `public function getLabelDescription([int|null $languageId = null ]): string|null` -- `public function getLastContributor(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getName([int|null $languageId = null ]): string` -- `public function getPriority(): int` -- `public function getRule(): \Ibexa\Contracts\Discounts\Value\DiscountRuleInterface` -- `public function getStartDate(): \DateTimeInterface` -- `public function getTranslations(): array<string|int, \Ibexa\Contracts\Discounts\Value\DiscountTranslationInterface>` -- `public function getType(): string` -- `public function getUpdatedAt(): \DateTimeInterface` -- `public function isActive(): bool` -- `public function isEnabled(): bool` - -## Ibexa\Contracts\Discounts\Value\DiscountListInterface extends IteratorAggregate - -- `public function getDiscounts(): array<string|int, \Ibexa\Contracts\Discounts\Value\DiscountInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Discounts\Value\DiscountRuleInterface extends Ibexa\Contracts\Discounts\Value\DiscountExpressionAwareInterface - -- `public function getExpression(): string` -- `public function getExpressionValues(): array<string, mixed>|null` -- `public function getType(): string` - -## Ibexa\Contracts\Discounts\Value\DiscountTranslationInterface - -- `public function getDescription(): string|null` -- `public function getDiscount(): \Ibexa\Contracts\Discounts\Value\DiscountInterface` -- `public function getLabel(): string|null` -- `public function getLabelDescription(): string|null` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getName(): string` - -## Ibexa\Contracts\Discounts\Value\DiscountType - -- `public const mixed CART = 'cart'` -- `public const mixed CATALOG = 'catalog'` - -## Ibexa\Contracts\Discounts\Value\DiscountValueInterface - -- `public function getValue(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>` - -## Ibexa\Contracts\Discounts\Value\Query\Criterion\CreatedAtCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Discounts\Value\Query\Criterion\CreatorCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Discounts\Value\Query\Criterion\EndDateCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Discounts\Value\Query\Criterion\IdentifierCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Discounts\Value\Query\Criterion\IndexedAtCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Discounts\Value\Query\Criterion\IsEnabledCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Discounts\Value\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\Discounts\Value\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\Discounts\Value\Query\Criterion\NameCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Discounts\Value\Query\Criterion\PriorityCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Discounts\Value\Query\Criterion\StartDateCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Discounts\Value\Query\Criterion\TypeCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Discounts\Value\Query\Criterion\UpdatedAtCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Discounts\Value\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Discounts\Value\Query\DiscountQuery - -- `public function getLimit(): int` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<string|int, \Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface>` -- `public function setLimit(int $limit): void` -- `public function setOffset(int $offset): void` -- `public function setSortClauses(array<string|int, \Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\Discounts\Value\Query\SortClause\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Discounts\Value\Query\SortClause\EndDate extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Discounts\Value\Query\SortClause\Id extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Discounts\Value\Query\SortClause\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Discounts\Value\Query\SortClause\OverridePrioritization extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Discounts\Value\Query\SortClause\Priority extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Discounts\Value\Query\SortClause\StartDate extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Discounts\Value\Query\SortClause\Type extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Discounts\Value\Query\SortClause\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Discounts\Value\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Discounts\Value\Struct\DiscountCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Discounts\Value\Struct\TranslationAwareDiscountStructInterface, Ibexa\Contracts\Discounts\Value\Struct\DiscountStructInterface - -- `public function __construct([string|null $identifier = null ][, string|null $type = null ][, int|null $priority = null ][, bool|null $isEnabled = null ][, User|null $user = null ][, DiscountRuleInterface|null $rule = null ][, DateTimeInterface|null $startDate = null ][, array<string|int, \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface> $conditions = [] ][, array<string|int, \Ibexa\Contracts\Discounts\Value\Struct\DiscountTranslationStruct> $translations = [] ][, DateTimeInterface|null $endDate = null ][, DateTimeInterface|null $createdAt = null ][, DateTimeInterface|null $updatedAt = null ][, MapInterface<string, mixed>|null $context = null ])` -- `public function addCondition(\Ibexa\Contracts\Discounts\Value\DiscountConditionInterface $condition): $this` -- `public function getConditions(): array<string|int, \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface>` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getCreatedAt(): \DateTimeInterface|null` -- `public function getEndDate(): \DateTimeInterface|null` -- `public function getIdentifier(): string|null` -- `public function getPriority(): int|null` -- `public function getRule(): \Ibexa\Contracts\Discounts\Value\DiscountRuleInterface|null` -- `public function getStartDate(): \DateTimeInterface|null` -- `public function getTranslations(): array<string|int, \Ibexa\Contracts\Discounts\Value\Struct\DiscountTranslationStruct>` -- `public function getType(): string|null` -- `public function getUpdatedAt(): \DateTimeInterface|null` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function isEnabled(): bool|null` -- `public function setConditions(array<string|int, mixed> $conditions): $this` -- `public function setContext(MapInterface|null $context): self` -- `public function setCreatedAt(DateTimeInterface|null $createdAt): $this` -- `public function setEnabled(bool $isEnabled): $this` -- `public function setEndDate(DateTimeInterface|null $endDate): $this` -- `public function setIdentifier(string $identifier): $this` -- `public function setPriority(int $priority): $this` -- `public function setRule(\Ibexa\Contracts\Discounts\Value\DiscountRuleInterface $rule): $this` -- `public function setStartDate(\DateTimeInterface $startDate): $this` -- `public function setTranslations(array<string|int, \Ibexa\Contracts\Discounts\Value\Struct\DiscountTranslationStruct> $translations): $this` -- `public function setType(string $type): $this` -- `public function setUpdatedAt(DateTimeInterface|null $updatedAt): $this` -- `public function setUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): $this` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Discounts\Value\Struct\DiscountStructInterface - -- `public function addCondition(\Ibexa\Contracts\Discounts\Value\DiscountConditionInterface $condition): $this` -- `public function getConditions(): array<string|int, \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface>` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getCreatedAt(): \DateTimeInterface|null` -- `public function getEndDate(): \DateTimeInterface|null` -- `public function getIdentifier(): string|null` -- `public function getPriority(): int|null` -- `public function getRule(): \Ibexa\Contracts\Discounts\Value\DiscountRuleInterface|null` -- `public function getStartDate(): \DateTimeInterface|null` -- `public function getUpdatedAt(): \DateTimeInterface|null` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function isEnabled(): bool|null` -- `public function setConditions(array<string|int, \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface> $conditions): $this` -- `public function setContext(MapInterface<string, mixed>|null $context): self` -- `public function setCreatedAt(DateTimeInterface|null $createdAt): $this` -- `public function setEnabled(bool $isEnabled): $this` -- `public function setEndDate(DateTimeInterface|null $endDate): $this` -- `public function setIdentifier(string $identifier): $this` -- `public function setPriority(int $priority): $this` -- `public function setRule(\Ibexa\Contracts\Discounts\Value\DiscountRuleInterface $rule): $this` -- `public function setStartDate(\DateTimeInterface $startDate): $this` -- `public function setUpdatedAt(DateTimeInterface|null $updatedAt): $this` -- `public function setUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): $this` - -## Ibexa\Contracts\Discounts\Value\Struct\DiscountTranslationStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $languageCode, string $name, string|null $description, string|null $label, string|null $labelDescription)` -- `public function getDescription(): string|null` -- `public function getLabel(): string|null` -- `public function getLabelDescription(): string|null` -- `public function getLanguageCode(): string` -- `public function getName(): string` -- `public function setDescription(string|null $description): $this` -- `public function setLabel(string|null $label): $this` -- `public function setLabelDescription(string|null $labelDescription): $this` -- `public function setLanguageCode(string $languageCode): $this` -- `public function setName(string $name): $this` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Discounts\Value\Struct\DiscountUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Discounts\Value\Struct\TranslationAwareDiscountStructInterface, Ibexa\Contracts\Discounts\Value\Struct\DiscountStructInterface - -- `public function __construct([string|null $identifier = null ][, int|null $priority = null ][, bool|null $isEnabled = null ][, User|null $user = null ][, User|null $lastContributor = null ][, DiscountRuleInterface|null $rule = null ][, DateTimeInterface|null $startDate = null ][, array<string|int, \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface> $conditions = null ][, array<string|int, \Ibexa\Contracts\Discounts\Value\Struct\DiscountTranslationStruct> $translations = [] ][, DateTimeInterface|null $endDate = null ][, DateTimeInterface|null $createdAt = null ][, DateTimeInterface|null $updatedAt = null ][, MapInterface<string, mixed>|null $context = null ])` -- `public function addCondition(\Ibexa\Contracts\Discounts\Value\DiscountConditionInterface $condition): $this` -- `public function getConditions(): array<string|int, \Ibexa\Contracts\Discounts\Value\DiscountConditionInterface>` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getCreatedAt(): \DateTimeInterface|null` -- `public function getEndDate(): \DateTimeInterface|null` -- `public function getIdentifier(): string|null` -- `public function getLastContributor(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function getPriority(): int|null` -- `public function getRule(): \Ibexa\Contracts\Discounts\Value\DiscountRuleInterface|null` -- `public function getStartDate(): \DateTimeInterface|null` -- `public function getTranslations(): array<string|int, \Ibexa\Contracts\Discounts\Value\Struct\DiscountTranslationStruct>` -- `public function getUpdatedAt(): \DateTimeInterface|null` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function isEnabled(): bool|null` -- `public function setConditions(array<string|int, mixed>|null $conditions): $this` -- `public function setContext(MapInterface|null $context): self` -- `public function setCreatedAt(DateTimeInterface|null $createdAt): $this` -- `public function setEnabled(bool|null $isEnabled): $this` -- `public function setEndDate(DateTimeInterface|null $endDate): $this` -- `public function setIdentifier(string|null $identifier): $this` -- `public function setLastContributor(User|null $lastContributor): self` -- `public function setPriority(int|null $priority): $this` -- `public function setRule(DiscountRuleInterface|null $rule): $this` -- `public function setStartDate(DateTimeInterface|null $startDate): $this` -- `public function setTranslations(array<string|int, \Ibexa\Contracts\Discounts\Value\Struct\DiscountTranslationStruct> $translations): $this` -- `public function setUpdatedAt(DateTimeInterface|null $updatedAt): $this` -- `public function setUser(User|null $user): $this` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Discounts\Value\Struct\TranslationAwareDiscountStructInterface - -- `public function getTranslations(): array<string|int, \Ibexa\Contracts\Discounts\Value\Struct\DiscountTranslationStruct>` -- `public function setTranslations(array<string|int, \Ibexa\Contracts\Discounts\Value\Struct\DiscountTranslationStruct> $translations): $this` - -## Ibexa\Contracts\Discounts\Value\Struct\TranslationAwareDiscountStructTrait - -- `public function getTranslations(): array<string|int, \Ibexa\Contracts\Discounts\Value\Struct\DiscountTranslationStruct>` -- `public function setTranslations(array<string|int, \Ibexa\Contracts\Discounts\Value\Struct\DiscountTranslationStruct> $translations): $this` - -## Ibexa\Contracts\DoctrineSchema\Builder\SchemaBuilderInterface - -- `public function buildSchema(): \Doctrine\DBAL\Schema\Schema` -- `public function importSchemaFromFile(string $schemaFilePath): \Doctrine\DBAL\Schema\Schema` - -## Ibexa\Contracts\DoctrineSchema\DbPlatformFactoryInterface - -- `public function createDatabasePlatformFromDriverName(string $driverName): \Doctrine\DBAL\Platforms\AbstractPlatform|null` - -## Ibexa\Contracts\DoctrineSchema\Event\SchemaBuilderEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\DoctrineSchema\Builder\SchemaBuilderInterface $schemaBuilder, \Doctrine\DBAL\Schema\Schema $schema)` -- `public function getSchema(): \Doctrine\DBAL\Schema\Schema` -- `public function getSchemaBuilder(): \Ibexa\Contracts\DoctrineSchema\Builder\SchemaBuilderInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\DoctrineSchema\Exception\InvalidConfigurationException extends Exception - -- `public function __construct([string $message = '' ][, int $code = 1 ][, Throwable|null $previous = null ])` - -## Ibexa\Contracts\DoctrineSchema\SchemaBuilderEvents - -- `public const mixed BUILD_SCHEMA = 'ibexa.schema.build_schema'` - -## Ibexa\Contracts\DoctrineSchema\SchemaExporterInterface - -- `public function export(\Doctrine\DBAL\Schema\Schema $schemaDefinition): string` - -## Ibexa\Contracts\DoctrineSchema\SchemaImporterInterface - -- `public function importFromFile(string $schemaFilePath[, Schema|null $targetSchema = null ]): \Doctrine\DBAL\Schema\Schema` -- `public function importFromSource(string $schemaDefinition[, Schema|null $targetSchema = null ]): \Doctrine\DBAL\Schema\Schema` - -## Ibexa\Contracts\Elasticsearch\ElasticSearch\Index\Group\GroupResolverInterface - -- `public function resolveDocumentGroup(\Ibexa\Contracts\Elasticsearch\Mapping\BaseDocument $document): string` - -## Ibexa\Contracts\Elasticsearch\Mapping\BaseDocument extends Ibexa\Contracts\Core\Search\Document - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Elasticsearch\Mapping\ContentDocument extends Ibexa\Contracts\Elasticsearch\Mapping\BaseDocument - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Elasticsearch\Mapping\Event\ContentIndexCreateEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Core\Persistence\Content $content, \Ibexa\Contracts\Elasticsearch\Mapping\ContentDocument $document)` -- `public function getContent(): \Ibexa\Contracts\Core\Persistence\Content` -- `public function getDocument(): \Ibexa\Contracts\Elasticsearch\Mapping\ContentDocument` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Elasticsearch\Mapping\Event\LocationIndexCreateEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Core\Persistence\Content\Location $location, \Ibexa\Contracts\Elasticsearch\Mapping\LocationDocument $document)` -- `public function getDocument(): \Ibexa\Contracts\Elasticsearch\Mapping\LocationDocument` -- `public function getLocation(): \Ibexa\Contracts\Core\Persistence\Content\Location` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Elasticsearch\Mapping\LocationDocument extends Ibexa\Contracts\Elasticsearch\Mapping\BaseDocument - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Elasticsearch\Query\AggregationResultExtractor - -- `public function extract(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter, array<string|int, mixed> $data): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult` -- `public function supports(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): bool` - -## Ibexa\Contracts\Elasticsearch\Query\AggregationVisitor - -- `public function supports(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): bool` -- `public function visit(\Ibexa\Contracts\Elasticsearch\Query\AggregationVisitor $dispatcher, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): array<string|int, mixed>` - -## Ibexa\Contracts\Elasticsearch\Query\CriterionVisitor - -- `public function supports(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $criterion, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): bool` -- `public function visit(\Ibexa\Contracts\Elasticsearch\Query\CriterionVisitor $dispatcher, \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $criterion, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): array<string|int, mixed>` - -## Ibexa\Contracts\Elasticsearch\Query\EmbeddingVisitor - -- `public function supports(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding $embedding): bool` -- `public function visit(\Ibexa\Contracts\Elasticsearch\Query\EmbeddingVisitor $dispatcher, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding $embedding): string` - -## Ibexa\Contracts\Elasticsearch\Query\Event\QueryFilterEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Query $query, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter)` -- `public function getLanguageFilter(): \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter` -- `public function getQuery(): \Ibexa\Contracts\Core\Repository\Values\Content\Query` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Elasticsearch\Query\LanguageFilter - -- `public function __construct(array<string|int, mixed> $languages, bool $useAlwaysAvailable, bool $excludeTranslationsFromAlwaysAvailable)` -- `public function static fromArray(array<string|int, mixed> $data): self` -- `public function getExcludeTranslationsFromAlwaysAvailable(): bool` -- `public function getLanguages(): array<string|int, string>` -- `public function getUseAlwaysAvailable(): bool` - -## Ibexa\Contracts\Elasticsearch\Query\SortClauseVisitor - -- `public function supports(\Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): bool` -- `public function visit(\Ibexa\Contracts\Elasticsearch\Query\SortClauseVisitor $visitor, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause, \Ibexa\Contracts\Elasticsearch\Query\LanguageFilter $languageFilter): array<string|int, mixed>` - -## Ibexa\Contracts\Elasticsearch\Repository\Values\Content\Query\Pinned extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function getOrganicCriteria(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion` -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Elasticsearch\Repository\Values\Content\Query\RandomScore extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function getCriterion(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface` -- `public function getSeed(): int|null` -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` -- `public function hasSeed(): bool` - -## Ibexa\Contracts\FieldTypeAddress\Event\Events - -- `public function static getMapFieldEventName(string $identifier[, string|null $type = null ][, string|null $country = null ]): string` -- `public function static getMapFieldEventNames(string $identifier, string $type, string|null $country): array<string|int, string>` - -## Ibexa\Contracts\FieldTypeAddress\Event\MapFieldEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(string $identifier, string $addressType[, string|null $country = null ])` -- `public function getAddressType(): string` -- `public function getCountry(): string|null` -- `public function getIdentifier(): string` -- `public function getLabel(): bool|string|null` -- `public function getOptions(): array<string, mixed>` -- `public function getType(): string|null` -- `public function isPropagationStopped(): bool` -- `public function setLabel(bool|string|null $label): void` -- `public function setOption(string $option, mixed $value): void` -- `public function setOptions(array<string, mixed> $options): void` -- `public function setType(string $type): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Attribute - -- `public function __construct(string $id, string $name, mixed $value)` -- `public function getId(): string` -- `public function getName(): string` -- `public function getValue(): mixed` -- `public function setId(string $id): void` -- `public function setName(string $name): void` -- `public function setValue(mixed $value): void` - -## Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue - -- `public function __construct(string $id, non-empty-string $type, string|null $name, string $view, string|null $class, string|null $style, string|null $compiled[, DateTime|null $since = null ][, DateTime|null $till = null ][, array<string|int, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Attribute> $attributes = [] ])` -- `public function getAttribute(string $name): \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Attribute|null` -- `public function getAttributes(): array<string|int, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Attribute>` -- `public function getClass(): string|null` -- `public function getCompiled(): string|null` -- `public function getId(): string` -- `public function getName(): string|null` -- `public function getSince(): \DateTime|null` -- `public function getStyle(): string|null` -- `public function getTill(): \DateTime|null` -- `public function getType(): non-empty-string` -- `public function getView(): string` -- `public function isVisible([DateTimeInterface|null $dateTime = null ]): bool` -- `public function setAttribute(string $name, mixed $value): void` -- `public function setAttributes(array<string|int, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Attribute> $attributes): void` -- `public function setClass(string|null $class): void` -- `public function setCompiled(string|null $compiled): void` -- `public function setId(string $id): void` -- `public function setName(string|null $name): void` -- `public function setSince(DateTime|null $since): void` -- `public function setStyle(string|null $style): void` -- `public function setTill(DateTime|null $till): void` -- `public function setType(non-empty-string $type): void` -- `public function setView(string $view): void` - -## Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Page - -- `public function __construct([string $layout = '' ][, array<string|int, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Zone> $zones = [] ])` -- `public function getBlockById(string $id): \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue` -- `public function getBlockIterator(): array<string|int, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue>` -- `public function getLayout(): string` -- `public function getZoneByIdentifier(string $id): \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Zone` -- `public function getZoneByName(string $name): \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Zone` -- `public function getZones(): array<string|int, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Zone>` -- `public function setLayout(string $layout): void` -- `public function setZones(array<string|int, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Zone> $zones): void` - -## Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\Zone - -- `public function __construct(string $id, string $name[, array<string|int, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue> $blocks = [] ])` -- `public function addBlock(\Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue $block): void` -- `public function getBlocks(): array<string|int, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue>` -- `public function getId(): string` -- `public function getName(): string` -- `public function setBlocks(array<string|int, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue> $blocks): void` -- `public function setId(string $id): void` -- `public function setName(string $name): void` - -## Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Attribute\FormTypeMapper\AttributeFormTypeMapperInterface - -- `public function map(\Symfony\Component\Form\FormBuilderInterface $formBuilder, \Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockDefinition $blockDefinition, \Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockAttributeDefinition $blockAttributeDefinition[, array<string|int, \Symfony\Component\Validator\Constraint> $constraints = [] ]): \Symfony\Component\Form\FormBuilderInterface` - -## Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Attribute\ValueConverter\ValueConverterInterface - -- `public function fromStorageValue(string $storageValue): mixed` -- `public function toStorageValue(mixed $value): string` - -## Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockAttributeDefinition - -- `public function getConstraints(): array<string, string|array<string, mixed>>` -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function getOptions(): array<string|int, mixed>` -- `public function getType(): string` -- `public function getValue(): mixed` -- `public function setCategory(string $category): void` -- `public function setConstraints(array<string, string|array<string, mixed>> $constraints): void` -- `public function setIdentifier(string $identifier): void` -- `public function setName(string $name): void` -- `public function setOptions(array<string|int, mixed> $options): void` -- `public function setType(string $type): void` -- `public function setValue(mixed $value): void` - -## Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockDefinition - -- `public function getAttributes(): array<string, \Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockAttributeDefinition>` -- `public function getCategory(): string` -- `public function getConfigurationTemplate(): string` -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function getThumbnail(): string` -- `public function getViews(): array<string|int, string>` -- `public function isVisible(): bool` -- `public function setAttributes(array<string, \Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockAttributeDefinition> $attributes): void` -- `public function setCategory(string $category): void` -- `public function setConfigurationTemplate(string $configurationTemplate): void` -- `public function setIdentifier(string $identifier): void` -- `public function setName(string $name): void` -- `public function setThumbnail(string $thumbnail): void` -- `public function setViews(array<string|int, string> $views): void` -- `public function setVisible(bool $visible): void` - -## Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockDefinitionEvents - -- `public function static getBlockDefinitionEventName(string $blockIdentifier): string` -- `public const mixed BLOCK_ATTRIBUTE_DEFINITION_PATTERN = 'ezplatform.ibexa_landing_page.block.definition.%s.attribute.%s'` -- `public const mixed BLOCK_DEFINITION_PATTERN = 'ezplatform.ibexa_landing_page.block.definition.%s'` - -## Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\ReactBlockDefinition extends Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockDefinition - -- `public function getAttributes(): array<string, \Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockAttributeDefinition>` -- `public function getCategory(): string` -- `public function getComponent(): string` -- `public function getConfigurationTemplate(): string` -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function getThumbnail(): string` -- `public function getViews(): array<string|int, string>` -- `public function isVisible(): bool` -- `public function setAttributes(array<string, \Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockAttributeDefinition> $attributes): void` -- `public function setCategory(string $category): void` -- `public function setComponent(string $component): void` -- `public function setConfigurationTemplate(string $configurationTemplate): void` -- `public function setIdentifier(string $identifier): void` -- `public function setName(string $name): void` -- `public function setThumbnail(string $thumbnail): void` -- `public function setViews(array<string|int, string> $views): void` -- `public function setVisible(bool $visible): void` - -## Ibexa\Contracts\FieldTypePage\FieldType\Page\Service\BlockServiceInterface - -- `public function render(\Ibexa\FieldTypePage\FieldType\Page\Block\Context\BlockContextInterface $blockContext, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue $blockValue): string` -- `public function validateBlock(\Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue $block, \Ibexa\Contracts\FieldTypePage\FieldType\Page\Block\Definition\BlockDefinition $blockDefinition): array<string|int, \Ibexa\Contracts\Core\FieldType\ValidationError>` -- `public const mixed BLOCK_NAME_MAX_LENGTH = 255` - -## Ibexa\Contracts\FieldTypePage\ScheduleBlock\Timeline\Event\EventInterface - -- `public function getDateTime(): \DateTimeInterface` -- `public function getId(): string` -- `public function getType(): string` - -## Ibexa\Contracts\FieldTypePage\ScheduleBlock\Timeline\Event\Processor\ProcessorInterface - -- `public function getSupportedEventType(): string` -- `public function process(\Ibexa\Contracts\FieldTypePage\ScheduleBlock\Timeline\Event\EventInterface $event, \Ibexa\Contracts\FieldTypePage\FieldType\LandingPage\Model\BlockValue $blockValue): void` - -## Ibexa\Contracts\FieldTypeQuery\QueryFieldLocationService - -- `public function countContentItemsForLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, string $fieldDefinitionIdentifier): int` -- `public function loadContentItemsForLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, string $fieldDefinitionIdentifier): iterable<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Content>` -- `public function loadContentItemsSliceForLocation(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location, string $fieldDefinitionIdentifier, int $offset, int $limit): iterable<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Content>` - -## Ibexa\Contracts\FieldTypeQuery\QueryFieldServiceInterface - -- `public function countContentItems(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $fieldDefinitionIdentifier): int` -- `public function getPaginationConfiguration(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $fieldDefinitionIdentifier): int` -- `public function loadContentItems(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $fieldDefinitionIdentifier): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Content>` -- `public function loadContentItemsSlice(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $fieldDefinitionIdentifier, int $offset, int $limit): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Content>` - -## Ibexa\Contracts\FieldTypeRichTextRTE\ChannelIdGeneratorInterface - -- `public function generate(\Ibexa\Contracts\Collaboration\Session\SessionInterface $session, string $fieldName): string` - -## Ibexa\Contracts\FieldTypeRichTextRTE\Config\LicenseKeyProviderInterface - -- `public function getLicenseKey([bool $forceCheck = false ]): string` - -## Ibexa\Contracts\FieldTypeRichTextRTE\Config\LocalStorageInterface - -- `public function load(string $key): string|int` -- `public function save(string $key, string|int $value): void` - -## Ibexa\Contracts\FieldTypeRichTextRTE\ToS\LicenseTermsStatusServiceInterface - -- `public function sendLicenseRequest(): \Symfony\Contracts\HttpClient\ResponseInterface` - -## Ibexa\Contracts\FieldTypeRichTextRTE\ToS\Status - -- `public function getDaysLeftInGracePeriod(): int|null` -- `public function getTos(): array{accepted: array{version: string, acceptedAt: string}, current: array{version: string, acceptanceDeadline: string}}` -- `public function isAccepted(): bool` -- `public function isInGracePeriod(): bool` -- `public function setTos(array{accepted: array{version: string, acceptedAt: string}, current: array{version: string, acceptanceDeadline: string}} $tos): void` - -## Ibexa\Contracts\FieldTypeRichTextRTE\ToS\ToSServiceInterface - -- `public function getStatus([bool $forceCheck = false ]): \Ibexa\Contracts\FieldTypeRichTextRTE\ToS\Status` - -## Ibexa\Contracts\FieldTypeRichTextRTE\TokenServiceInterface - -- `public function createToken([User|null $user = null ]): string` - -## Ibexa\Contracts\FieldTypeRichText\Configuration\Provider - -- `public function getConfiguration(): array<string, mixed>` -- `public function getName(): string` - -## Ibexa\Contracts\FieldTypeRichText\Configuration\ProviderConfiguratorInterface - -- `public function getConfiguration(array<string, mixed> $configuration): array<string, mixed>` - -## Ibexa\Contracts\FieldTypeRichText\Configuration\ProviderService - -- `public function getConfiguration(): array<string, mixed>` - -## Ibexa\Contracts\FieldTypeRichText\RichText\Converter - -- `public function convert(\DOMDocument $xmlDoc): \DOMDocument` - -## Ibexa\Contracts\FieldTypeRichText\RichText\InputHandlerInterface - -- `public function fromDocument(\DOMDocument $inputValue): \DOMDocument` -- `public function fromString([string|null $inputValue = null ]): \DOMDocument` -- `public function getRelations(\DOMDocument $document): array<int, array{locationIds: array<int,int>, contentIds: array<int,int>}>` -- `public function validate(\DOMDocument $document): array<int, string>` - -## Ibexa\Contracts\FieldTypeRichText\RichText\RendererInterface - -- `public function renderContentEmbed(int $contentId, string $viewType, array<string|int, mixed> $parameters, bool $isInline): string|null` -- `public function renderLocationEmbed(int $locationId, string $viewType, array<string|int, mixed> $parameters, bool $isInline): string|null` -- `public function renderTemplate(string $name, string $type, array<string|int, mixed> $parameters, bool $isInline): string|null` - -## Ibexa\Contracts\FieldTypeRichText\RichText\TextExtractorInterface - -- `public function extractText(\DOMDocument $document): string` - -## Ibexa\Contracts\FieldTypeRichText\RichText\ValidatorInterface - -- `public function validateDocument(\DOMDocument $xmlDocument): array<string|int, string>` - -## Ibexa\Contracts\FormBuilder\FieldType\Field\FieldMapperInterface - -- `public function getSupportedField(): string` -- `public function mapField(\Symfony\Component\Form\FormBuilderInterface $builder, \Ibexa\Contracts\FormBuilder\FieldType\Model\Field $field[, array<string|int, \Symfony\Component\Validator\Constraint> $constraints = [] ]): void` - -## Ibexa\Contracts\FormBuilder\FieldType\Model\Attribute - -- `public function __construct([string|null $identifier = null ][, string|null $value = null ])` -- `public function getIdentifier(): string|null` -- `public function getValue(): string|null` -- `public function setIdentifier(string|null $identifier): void` -- `public function setValue(string|null $value): void` - -## Ibexa\Contracts\FormBuilder\FieldType\Model\Field - -- `public function __construct([string|null $id = null ][, string|null $identifier = null ][, string|null $name = null ][, array<string|int, \Ibexa\Contracts\FormBuilder\FieldType\Model\Attribute> $attributes = [] ][, array<string|int, \Ibexa\Contracts\FormBuilder\FieldType\Model\Validator> $validators = [] ])` -- `public function getAttribute(string $identifier): \Ibexa\Contracts\FormBuilder\FieldType\Model\Attribute` -- `public function getAttributes(): array<string|int, \Ibexa\Contracts\FormBuilder\FieldType\Model\Attribute>` -- `public function getAttributeValue(string $identifier): mixed` -- `public function getId(): string|null` -- `public function getIdentifier(): string|null` -- `public function getName(): string|null` -- `public function getValidators(): array<string|int, \Ibexa\Contracts\FormBuilder\FieldType\Model\Validator>` -- `public function hasAttribute(string $identifier): bool` -- `public function setAttributes(array<string|int, \Ibexa\Contracts\FormBuilder\FieldType\Model\Attribute> $attributes): void` -- `public function setId(string|null $id): void` -- `public function setIdentifier(string|null $identifier): void` -- `public function setName(string|null $name): void` -- `public function setValidators(array<string|int, \Ibexa\Contracts\FormBuilder\FieldType\Model\Validator> $validators): void` - -## Ibexa\Contracts\FormBuilder\FieldType\Model\FieldValue - -- `public function __construct(string $identifier, string $name[, mixed $value = null ][, string|null $displayValue = null ])` -- `public function getDisplayValue(): string|null` -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function getValue(): mixed` - -## Ibexa\Contracts\FormBuilder\FieldType\Model\Form - -- `public function __construct([int|null $contentId = null ][, int|null $contentFieldId = null ][, string|null $languageCode = null ][, array<string|int, \Ibexa\Contracts\FormBuilder\FieldType\Model\Field> $fields = [] ])` -- `public function getContentFieldId(): int|null` -- `public function getContentId(): int|null` -- `public function getFieldById(string $id): \Ibexa\Contracts\FormBuilder\FieldType\Model\Field` -- `public function getFieldByIdentifier(string $identifier): \Ibexa\Contracts\FormBuilder\FieldType\Model\Field` -- `public function getFields(): array<string|int, \Ibexa\Contracts\FormBuilder\FieldType\Model\Field>` -- `public function getLanguageCode(): string|null` -- `public function setContentFieldId(int|null $contentFieldId): void` -- `public function setContentId(int|null $contentId): void` -- `public function setFields(array<string|int, \Ibexa\Contracts\FormBuilder\FieldType\Model\Field> $fields): void` -- `public function setLanguageCode(string|null $languageCode): void` - -## Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmission - -- `public function __construct(int $id, int $userId, string $languageCode, array<string|int, \Ibexa\Contracts\FormBuilder\FieldType\Model\FieldValue> $values[, DateTimeInterface|null $created = null ])` -- `public function static fromRawData(int $id, int $userId, string $languageCode, array<string|int, mixed> $data[, DateTimeInterface|null $created = null ]): self` -- `public function getCreated(): \DateTimeInterface` -- `public function getId(): int` -- `public function getLanguageCode(): string` -- `public function getUserId(): int` -- `public function getValues(): array<string|int, \Ibexa\Contracts\FormBuilder\FieldType\Model\FieldValue>` - -## Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmissionList implements IteratorAggregate - -- `public function __construct([int $totalCount = 0 ][, array<string|int, \Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmission> $items = [] ][, array<string|int, string> $headers = [] ])` -- `public function getHeaders(): array<string|int, string>` -- `public function getItems(): array<string|int, \Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmission>` -- `public function getIterator(): \Traversable` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\FormBuilder\FieldType\Model\Validator - -- `public function __construct([string|null $identifier = null ][, string|null $value = null ])` -- `public function getIdentifier(): string|null` -- `public function getValue(): string|null` -- `public function setIdentifier(string|null $identifier): void` -- `public function setValue(string|null $value): void` - -## Ibexa\Contracts\FormBuilder\FormSubmission\FormSubmissionServiceInterface - -- `public function create(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $content, string $languageCode, \Ibexa\Contracts\FormBuilder\FieldType\Model\Form $form, array<string|int, array{id: int, identifier: string, name: string, value: mixed}> $data): \Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmission` -- `public function delete(\Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmission $submission): void` -- `public function getCount(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $content[, string|null $languageCode = null ]): int` -- `public function loadAllByContentForExport(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $content[, string|null $languageCode = null ]): array<int, array<int, array{id: int, identifier: string, name: string, value: mixed}>>` -- `public function loadByContent(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $content[, string|null $languageCode = null ][, int $offset = 0 ][, int $limit = 25 ]): \Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmissionList` -- `public function loadById(int $id): \Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmission` -- `public function loadHeaders(\Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo $content[, string|null $languageCode = null ]): array<int, string>` - -## Ibexa\Contracts\FormBuilder\Notifications\FormSubmitted extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface - -- `public function __construct(string $template, \Twig\Environment $twig, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\FormBuilder\FieldType\Model\Form $form, \Ibexa\Contracts\FormBuilder\FieldType\Model\FormSubmission $data)` -- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` - -## Ibexa\Contracts\GraphQL\Mutation\InputHandler\FieldTypeInputHandler - -- `public function toFieldValue(mixed $input[, mixed $inputFormat = null ]): \Ibexa\Contracts\Core\FieldType\Value` - -## Ibexa\Contracts\GraphQL\Mutation\InputHandler\FieldType\RichText\RichTextInputConverter - -- `public function convertToXml(mixed $text): \DOMDocument` - -## Ibexa\Contracts\GraphQL\Schema\Domain\Content\Mapper\FieldDefinition\FieldDefinitionMapper - -- `public function mapToFieldDefinitionType(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): string|null` -- `public function mapToFieldValueArgsBuilder(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): string|null` -- `public function mapToFieldValueInputType(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): string|null` -- `public function mapToFieldValueResolver(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): string|null` -- `public function mapToFieldValueType(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): string|null` - -## Ibexa\Contracts\HttpCache\Handler\ContentTagInterface - -- `public function addContentTypeTags(array<string|int, mixed> $contentTypeIds): mixed` -- `public function addLocationTags(array<string|int, mixed> $locationIds): mixed` -- `public function addParentLocationTags(array<string|int, mixed> $parentLocationIds): mixed` -- `public function addPathTags(array<string|int, mixed> $locationIds): mixed` -- `public function addRelationLocationTags(array<string|int, mixed> $locationIds): mixed` -- `public function addRelationTags(array<string|int, mixed> $contentIds): mixed` -- `public const mixed ALL_TAG = 'ez-all'` -- `public const mixed CONTENT_ALL_TRANSLATIONS_PREFIX = 'ca'` -- `public const mixed CONTENT_PREFIX = 'c'` -- `public const mixed CONTENT_TYPE_PREFIX = 'ct'` -- `public const mixed CONTENT_VERSION_PREFIX = 'cv'` -- `public const mixed LOCATION_PREFIX = 'l'` -- `public const mixed PARENT_LOCATION_PREFIX = 'pl'` -- `public const mixed PATH_PREFIX = 'p'` -- `public const mixed RELATION_LOCATION_PREFIX = 'rl'` -- `public const mixed RELATION_PREFIX = 'r'` - -## Ibexa\Contracts\HttpCache\PurgeClient\PurgeClientInterface - -- `public function purge(array<string|int, mixed> $tags): void` -- `public function purgeAll(): void` - -## Ibexa\Contracts\HttpCache\ResponseTagger\ResponseTagger - -- `public function tag(mixed $value): mixed` - -## Ibexa\Contracts\ImageEditor\Optimizer\OptimizerInterface - -- `public function optimize(string $filePath): void` - -## Ibexa\Contracts\Measurement\Converter\UnitConverterInterface - -- `public function convert(\Ibexa\Contracts\Measurement\Converter\T $sourceValue, \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface $targetUnit): \Ibexa\Contracts\Measurement\Converter\T` -- `public function supports(\Ibexa\Contracts\Measurement\Value\ValueInterface $sourceValue, \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface $toUnit): bool` - -## Ibexa\Contracts\Measurement\MeasurementServiceInterface - -- `public function buildRangeValue(string $typeName, float $minValue, float $maxValue, string $unitName): \Ibexa\Contracts\Measurement\Value\RangeValueInterface` -- `public function buildSimpleValue(string $typeName, float $value, string $unitName): \Ibexa\Contracts\Measurement\Value\SimpleValueInterface` -- `public function convert(\Ibexa\Contracts\Measurement\T $sourceValue, \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface $destinationUnit): \Ibexa\Contracts\Measurement\T` - -## Ibexa\Contracts\Measurement\MeasurementTypeFactoryInterface - -- `public function buildType(string $typeName): \Ibexa\Contracts\Measurement\Value\Definition\MeasurementInterface` -- `public function getAvailableTypes(): array<string|int, string>` -- `public function hasType(string $typeName): bool` - -## Ibexa\Contracts\Measurement\Product\Query\Criterion\AbstractMeasurementAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute - -- `public function getIdentifier(): string` -- `public function getOperator(): string` -- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` -- `public function setOperator(string $operator): void` - -## Ibexa\Contracts\Measurement\Product\Query\Criterion\RangeMeasurementAttributeMaximum extends Ibexa\Contracts\Measurement\Product\Query\Criterion\AbstractMeasurementAttribute - -- `public function getIdentifier(): string` -- `public function getOperator(): string` -- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` -- `public function setOperator(string $operator): void` - -## Ibexa\Contracts\Measurement\Product\Query\Criterion\RangeMeasurementAttributeMinimum extends Ibexa\Contracts\Measurement\Product\Query\Criterion\AbstractMeasurementAttribute - -- `public function getIdentifier(): string` -- `public function getOperator(): string` -- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` -- `public function setOperator(string $operator): void` - -## Ibexa\Contracts\Measurement\Product\Query\Criterion\SimpleMeasurementAttribute extends Ibexa\Contracts\Measurement\Product\Query\Criterion\AbstractMeasurementAttribute - -- `public function getIdentifier(): string` -- `public function getOperator(): string` -- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` -- `public function setOperator(string $operator): void` - -## Ibexa\Contracts\Measurement\Value\Definition\MeasurementInterface extends Stringable - -- `public function equals(\Ibexa\Contracts\Measurement\Value\Definition\MeasurementInterface $measurement): bool` -- `public function getBaseUnit(): \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface` -- `public function getName(): string` -- `public function getUnit(string $unitName): \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface` -- `public function getUnitBySymbol(string $symbol): \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface` -- `public function getUnitList(): iterable<string, \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface>` -- `public function hasUnit(string $unitName): bool` - -## Ibexa\Contracts\Measurement\Value\Definition\Sign - -- `public function static isValidSign(string $sign): bool` -- `public const mixed SIGN_GT = 'gt'` -- `public const mixed SIGN_GTE = 'gte'` -- `public const mixed SIGN_LT = 'lt'` -- `public const mixed SIGN_LTE = 'lte'` -- `public const mixed SIGN_NONE = 'none'` -- `public const mixed SIGN_PM = 'pm'` - -## Ibexa\Contracts\Measurement\Value\Definition\UnitInterface extends Stringable - -- `public function equals(\Ibexa\Contracts\Measurement\Value\Definition\UnitInterface $unit): bool` -- `public function getIdentifier(): string` -- `public function getSymbol(): string` -- `public function isBaseUnit(): bool` - -## Ibexa\Contracts\Measurement\Value\RangeValueInterface extends Ibexa\Contracts\Measurement\Value\ValueInterface - -- `public function equals(RangeValueInterface|null $value): bool` -- `public function getMaxValue(): float` -- `public function getMeasurement(): \Ibexa\Contracts\Measurement\Value\Definition\MeasurementInterface` -- `public function getMinValue(): float` -- `public function getUnit(): \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface` - -## Ibexa\Contracts\Measurement\Value\SimpleValueInterface extends Ibexa\Contracts\Measurement\Value\ValueInterface - -- `public function equals(SimpleValueInterface|null $value): bool` -- `public function getMeasurement(): \Ibexa\Contracts\Measurement\Value\Definition\MeasurementInterface` -- `public function getUnit(): \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface` -- `public function getValue(): float` - -## Ibexa\Contracts\Measurement\Value\ValueInterface extends Stringable - -- `public function getMeasurement(): \Ibexa\Contracts\Measurement\Value\Definition\MeasurementInterface` -- `public function getUnit(): \Ibexa\Contracts\Measurement\Value\Definition\UnitInterface` - -## Ibexa\Contracts\Messenger\Transport\MessageProviderInterface - -- `public function getHandledClasses(): iterable<string|int, class-string>` - -## Ibexa\Contracts\Migration\Event\AbstractMigrationEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Migration\Repository\Migration $migration)` -- `public function getMigration(): \Ibexa\Migration\Repository\Migration` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Migration\Event\BeforeMigrationEvent extends Ibexa\Contracts\Migration\Event\AbstractMigrationEvent - -- `public function __construct(\Ibexa\Migration\Repository\Migration $migration)` -- `public function getMigration(): \Ibexa\Migration\Repository\Migration` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Migration\Event\MigrationEvent extends Ibexa\Contracts\Migration\Event\AbstractMigrationEvent - -- `public function __construct(\Ibexa\Migration\Repository\Migration $migration)` -- `public function getMigration(): \Ibexa\Migration\Repository\Migration` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Migration\Exception\InvalidMigrationException extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException - -- `public function __construct(\Ibexa\Migration\Repository\Migration $migration, \InvalidArgumentException $e)` - -## Ibexa\Contracts\Migration\Exception\MetadataStorageError extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException - -- `public function static notInitialized(): self` -- `public function static notUpToDate(): self` - -## Ibexa\Contracts\Migration\Exception\MigrationAlreadyExecutedException extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException - -- `public function __construct(string $migrationName)` - -## Ibexa\Contracts\Migration\Exception\MigrationAlreadyExistsException extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException - -- `public function static failedReadFallback(\Ibexa\Migration\Repository\Migration $migration): self` -- `public function static new(\Ibexa\Migration\Repository\Migration $migration): self` - -## Ibexa\Contracts\Migration\Exception\MigrationNotExecuted extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException - -- `public function __construct(string $name)` - -## Ibexa\Contracts\Migration\Exception\MigrationNotFoundException extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException - -- `public function __construct(string $name)` - -## Ibexa\Contracts\Migration\Exception\UnhandledMigrationException extends RuntimeException implements Ibexa\Contracts\Migration\MigrationException - -- `public function __construct(\Ibexa\Migration\Repository\Migration $migration, \Throwable $e)` - -## Ibexa\Contracts\Migration\Metadata\Storage\MetadataStorage - -- `public function complete(\Ibexa\Migration\Metadata\ExecutionResult $result): void` -- `public function ensureInitialized(): void` -- `public function getExecutedMigrations(): \Ibexa\Migration\Metadata\ExecutedMigrationsList` -- `public function reset(): void` - -## Ibexa\Contracts\Migration\MigrationExecutor - -- `public function execute(\Ibexa\Migration\Repository\Migration $migration): void` - -## Ibexa\Contracts\Migration\MigrationService - -- `public function add(\Ibexa\Migration\Repository\Migration $migration): void` -- `public function executeAll([string|null $userLogin = null ]): void` -- `public function executeOne(\Ibexa\Migration\Repository\Migration $migration[, string|null $userLogin = null ]): void` -- `public function findOneByName(string $name): \Ibexa\Migration\Repository\Migration|null` -- `public function isMigrationExecuted(\Ibexa\Migration\Repository\Migration $migration): bool` -- `public function listMigrations(): array<string|int, \Ibexa\Migration\Repository\Migration>` - -## Ibexa\Contracts\Migration\MigrationStorage - -- `public function loadAll(): array<string|int, \Ibexa\Migration\Repository\Migration>` -- `public function loadOne(string $name): \Ibexa\Migration\Repository\Migration|null` -- `public function store(\Ibexa\Migration\Repository\Migration $migration): void` - -## Ibexa\Contracts\Migration\Serializer\AbstractActionNormalizer implements Ibexa\Contracts\Migration\Serializer\Normalizer\ActionNormalizerInterface, Ibexa\Contracts\Migration\Serializer\Denormalizer\ActionDenormalizerInterface - -- `public function getSupportedTypes(string|null $format): array<string|int, mixed>` - -## Ibexa\Contracts\Migration\Serializer\AbstractStepNormalizer implements Symfony\Component\Serializer\Normalizer\DenormalizerInterface, Symfony\Component\Serializer\Normalizer\NormalizerInterface, Symfony\Component\Serializer\Normalizer\DenormalizerAwareInterface, Symfony\Component\Serializer\Normalizer\NormalizerAwareInterface, Ibexa\Bundle\Migration\Serializer\Denormalizer\StepNormalizerInterface - -- `public function abstract getHandledClassType(): string` -- `public function getSupportedTypes(string|null $format): array<string|int, mixed>` -- `public function normalize(\Ibexa\Contracts\Migration\Serializer\T $object[, string|null $format = null ][, array<string|int, mixed> $context = [] ]): array<string|int, mixed>` -- `public function supportsDenormalization(mixed $data, string $type[, string|null $format = null ][, array<string|int, mixed> $context = [] ]): bool` -- `public function supportsNormalization(mixed $data[, string|null $format = null ][, array<string|int, mixed> $context = [] ]): bool` -- `protected function abstract denormalizeStep(array<string|int, mixed> $data, string $type, string $format[, array<string|int, mixed> $context = [] ]): \Ibexa\Migration\ValueObject\Step\StepInterface` -- `protected function abstract normalizeStep(\Ibexa\Migration\ValueObject\Step\StepInterface $object[, string|null $format = null ][, array<string|int, mixed> $context = [] ]): array<string, mixed>` -- `public const mixed CONTEXT_STEP_CLASS_KEY = 'step_class'` - -## Ibexa\Contracts\Migration\Serializer\Denormalizer\AbstractActionDenormalizer implements Ibexa\Contracts\Migration\Serializer\Denormalizer\ActionDenormalizerInterface - -- `public function getSupportedTypes(string|null $format): array<string|int, mixed>` - -## Ibexa\Contracts\Migration\Serializer\Normalizer\AbstractActionNormalizer implements Ibexa\Contracts\Migration\Serializer\Normalizer\ActionNormalizerInterface - -- `public function getSupportedTypes(string|null $format): array<string|int, mixed>` - -## Ibexa\Contracts\Migration\StepExecutor\AbstractStepExecutor implements Ibexa\Migration\StepExecutor\StepExecutorInterface, Ibexa\Migration\StepExecutor\UserContextAwareStepExecutorInterface, Symfony\Contracts\Service\ServiceSubscriberInterface - -- `public function handle(\Ibexa\Migration\ValueObject\Step\StepInterface $step): void` -- `public function setContainer(\Psr\Container\ContainerInterface $container): \Psr\Container\ContainerInterface|null` -- `protected function doCollectReferences(\Ibexa\Migration\ValueObject\Step\ReferenceAwareStepInterface $step, object|array<string|int, object>|null $executionResults): void` -- `protected function abstract doHandle(\Ibexa\Migration\ValueObject\Step\StepInterface $step): \Ibexa\Contracts\Core\Repository\Values\ValueObject|array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>|null` -- `protected function handleActions(\Ibexa\Migration\ValueObject\Step\ActionsAwareStepInterface $step, object|array<string|int, object>|null $executionResult): void` - -## Ibexa\Contracts\Notifications\Service\NotificationServiceInterface - -- `public function send(\Ibexa\Contracts\Notifications\Value\NotificationInterface $notification[, array<string|int, \Ibexa\Contracts\Notifications\Value\RecipientInterface> $recipients = [] ]): void` - -## Ibexa\Contracts\Notifications\SystemNotification\SystemMessage implements Symfony\Component\Notifier\Message\MessageInterface - -- `public function getContext(): array<string, mixed>` -- `public function getOptions(): \Symfony\Component\Notifier\Message\MessageOptionsInterface|null` -- `public function getRecipientId(): string|null` -- `public function getSubject(): string` -- `public function getTransport(): string|null` -- `public function getType(): string` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` -- `public function setContext(array<string, mixed> $context): void` -- `public function setSubject(string $subject): void` -- `public function setType(string $type): void` -- `public function setUser(\Ibexa\Contracts\Core\Repository\Values\User\UserReference $user): void` -- `public const mixed DEFAULT_TYPE = 'system'` - -## Ibexa\Contracts\Notifications\SystemNotification\SystemNotification extends Symfony\Component\Notifier\Notification\Notification implements Ibexa\Contracts\Notifications\SystemNotification\SystemNotificationInterface - -- `public function asSystemNotification(\Ibexa\Contracts\Notifications\Value\Recipent\UserRecipientInterface $recipient[, string|null $transport = null ]): \Ibexa\Contracts\Notifications\SystemNotification\SystemMessage` -- `public function getIcon(): string|null` -- `public function getRoute(): \Ibexa\Core\MVC\Symfony\Routing\RouteReference|null` -- `public function setContent(string $content): void` -- `public function setIcon(string|null $icon): void` -- `public function setRoute(RouteReference|null $route): void` - -## Ibexa\Contracts\Notifications\SystemNotification\SystemNotificationInterface - -- `public function asSystemNotification(\Ibexa\Contracts\Notifications\Value\Recipent\UserRecipientInterface $recipient[, string|null $transport = null ]): \Ibexa\Contracts\Notifications\SystemNotification\SystemMessage|null` - -## Ibexa\Contracts\Notifications\Value\NotificationInterface - -- `public function getType(): string` - -## Ibexa\Contracts\Notifications\Value\Notification\SymfonyNotificationAdapter implements Ibexa\Contracts\Notifications\Value\NotificationInterface - -- `public function __construct(\Symfony\Component\Notifier\Notification\Notification $notification)` -- `public function getNotification(): \Symfony\Component\Notifier\Notification\Notification` -- `public function getType(): string` - -## Ibexa\Contracts\Notifications\Value\Recipent\SymfonyRecipientAdapter implements Ibexa\Contracts\Notifications\Value\RecipientInterface - -- `public function __construct(\Symfony\Component\Notifier\Recipient\RecipientInterface $recipient)` -- `public function getMail(): string` -- `public function getPhone(): string` -- `public function getRecipient(): \Symfony\Component\Notifier\Recipient\RecipientInterface` - -## Ibexa\Contracts\Notifications\Value\Recipent\UserRecipient implements Symfony\Component\Notifier\Recipient\EmailRecipientInterface, Ibexa\Contracts\Notifications\Value\Recipent\UserRecipientInterface - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user)` -- `public function getEmail(): string` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` - -## Ibexa\Contracts\Notifications\Value\Recipent\UserRecipientInterface extends Symfony\Component\Notifier\Recipient\RecipientInterface - -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference` - -## Ibexa\Contracts\Notifications\Value\RecipientInterface - -- `public function getMail(): string` -- `public function getPhone(): string` - -## Ibexa\Contracts\OAuth2Client\Client\ClientRegistry - -- `public function getClient(string $identifier): \KnpU\OAuth2ClientBundle\Client\OAuth2ClientInterface` -- `public function hasClient(string $identifier): bool` - -## Ibexa\Contracts\OAuth2Client\Exception\Client\DisabledClientException extends RuntimeException implements Ibexa\Contracts\OAuth2Client\Exception\OAuth2ClientException - -- `public function __construct([string|null $message = null ][, int $code = 0 ][, Throwable|null $previous = null ])` - -## Ibexa\Contracts\OAuth2Client\Exception\Client\UnavailableClientException extends RuntimeException implements Ibexa\Contracts\OAuth2Client\Exception\OAuth2ClientException - -- `public function __construct(string $client[, int $code = 0 ][, Throwable|null $previous = null ])` -- `public function getClient(): string` - -## Ibexa\Contracts\OAuth2Client\Exception\ResourceOwner\MapperNotFoundException extends InvalidArgumentException implements Ibexa\Contracts\OAuth2Client\Exception\OAuth2ClientException - -- `public function __construct(string $client[, int $code = 0 ][, Throwable|null $previous = null ])` -- `public function getClient(): string` - -## Ibexa\Contracts\OAuth2Client\Repository\OAuth2UserService - -- `public function isOAuth2User(\Ibexa\Contracts\Core\Repository\Values\User\User $user): bool` -- `public function newOAuth2UserCreateStruct(string $login, string $email, string $mainLanguageCode[, ContentType|null $contentType = null ]): \Ibexa\Contracts\Core\Repository\Values\User\UserCreateStruct` -- `public function newOAuth2UserUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\User\UserUpdateStruct` - -## Ibexa\Contracts\OAuth2Client\ResourceOwner\ResourceOwnerMapper - -- `public function getUser(\League\OAuth2\Client\Provider\ResourceOwnerInterface $resourceOwner, UserProviderInterface<string|int, \Symfony\Component\Security\Core\User\UserInterface> $userProvider): \Symfony\Component\Security\Core\User\UserInterface|null` - -## Ibexa\Contracts\OAuth2Client\ResourceOwner\ResourceOwnerMapperRegistry - -- `public function getResourceOwnerMapper(string $identifier): \Ibexa\Contracts\OAuth2Client\ResourceOwner\ResourceOwnerMapper` - -## Ibexa\Contracts\OrderManagement\Event\BeforeCancelOrderEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order)` -- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\OrderManagement\Event\BeforeCreateOrderEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct $createStruct[, OrderInterface|null $orderResult = null ])` -- `public function getCreateStruct(): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct` -- `public function getOrderResult(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function hasOrderResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setOrderResult(OrderInterface|null $orderResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\OrderManagement\Event\BeforeUpdateOrderEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order, \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct $updateStruct[, OrderInterface|null $orderResult = null ])` -- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function getOrderResult(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct` -- `public function hasOrderResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setOrderResult(OrderInterface|null $orderResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\OrderManagement\Event\CancelOrderEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order)` -- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\OrderManagement\Event\CreateOrderEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct $createStruct, \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $orderResult)` -- `public function getCreateStruct(): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct` -- `public function getOrderResult(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\OrderManagement\Event\UpdateOrderEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order, \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct $updateStruct, \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $orderResult)` -- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function getOrderResult(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\OrderManagement\Exception\OrderItemNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException - -- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` - -## Ibexa\Contracts\OrderManagement\Exception\OrderNotFoundException extends Ibexa\Core\Base\Exceptions\NotFoundException - -- `public function __construct(mixed $identifier[, Exception|null $previous = null ])` - -## Ibexa\Contracts\OrderManagement\Exception\ValidationFailedExceptionInterface extends Throwable - -- `public function getErrors(): \Symfony\Component\Validator\ConstraintViolationListInterface` - -## Ibexa\Contracts\OrderManagement\Notification\OrderAwareNotificationInterface - -- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` - -## Ibexa\Contracts\OrderManagement\Notification\OrderStatusChange extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface, Symfony\Component\Notifier\Notification\SmsNotificationInterface, Ibexa\Contracts\OrderManagement\Notification\OrderAwareNotificationInterface - -- `public function __construct(\Ibexa\Contracts\OrderManagement\Workflow\WorkflowSubjectInterface $workflowSubject, \Symfony\Component\Workflow\WorkflowInterface $workflow, Transition|null $transition, \Symfony\Component\Workflow\Marking $marking, array<string|int, mixed> $context)` -- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` -- `public function asSmsMessage(\Symfony\Component\Notifier\Recipient\SmsRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\SmsMessage|null` -- `public function getContext(): array<string|int, mixed>` -- `public function getMarking(): \Symfony\Component\Workflow\Marking` -- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function getTransition(): \Symfony\Component\Workflow\Transition|null` -- `public function getWorkflow(): \Symfony\Component\Workflow\WorkflowInterface` -- `public function getWorkflowSubject(): \Ibexa\Contracts\OrderManagement\Workflow\WorkflowSubjectInterface` - -## Ibexa\Contracts\OrderManagement\OrderServiceDecorator implements Ibexa\Contracts\OrderManagement\OrderServiceInterface - -- `public function cancelOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order): void` -- `public function createOrder(\Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct $createStruct): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function findOrders([OrderQuery|null $orderQuery = null ]): \Ibexa\Contracts\OrderManagement\Value\Order\OrderListInterface` -- `public function getOrder(int $id): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function getOrderByIdentifier(string $identifier): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function updateOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order, \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct $updateStruct): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` - -## Ibexa\Contracts\OrderManagement\OrderServiceInterface - -- `public function cancelOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order): void` -- `public function createOrder(\Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct $createStruct): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function findOrders([OrderQuery|null $orderQuery = null ]): \Ibexa\Contracts\OrderManagement\Value\Order\OrderListInterface` -- `public function getOrder(int $id): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function getOrderByIdentifier(string $identifier): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function updateOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order, \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct $updateStruct): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` - -## Ibexa\Contracts\OrderManagement\Policy\AbstractOrderPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function getModule(): string` -- `public function getTargets(): array<string|int, mixed>|array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\OrderManagement\Policy\Order\Cancel extends Ibexa\Contracts\OrderManagement\Policy\AbstractOrderPolicy - -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface|null` -- `public function getTargets(): array<string|int, mixed>|array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` -- `public const mixed CANCEL = 'cancel'` - -## Ibexa\Contracts\OrderManagement\Policy\Order\Create extends Ibexa\Contracts\OrderManagement\Policy\AbstractOrderPolicy - -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct|null` -- `public function getTargets(): array<string|int, mixed>|array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` -- `public const mixed CREATE = 'create'` - -## Ibexa\Contracts\OrderManagement\Policy\Order\Update extends Ibexa\Contracts\OrderManagement\Policy\AbstractOrderPolicy - -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct|null` -- `public function getTargets(): array<string|int, mixed>|array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` -- `public const mixed UPDATE = 'update'` - -## Ibexa\Contracts\OrderManagement\Policy\Order\View extends Ibexa\Contracts\OrderManagement\Policy\AbstractOrderPolicy - -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface|null` -- `public function getTargets(): array<string|int, mixed>|array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` -- `public const mixed VIEW = 'view'` - -## Ibexa\Contracts\OrderManagement\Value\OrderCompany implements Ibexa\Contracts\OrderManagement\Value\Order\OrderCompanyInterface - -- `public function __construct(int $id, string $name)` -- `public function getId(): int` -- `public function getName(): string` - -## Ibexa\Contracts\OrderManagement\Value\OrderCurrency implements Ibexa\Contracts\OrderManagement\Value\Order\OrderCurrencyInterface - -- `public function __construct(int $id, non-empty-string $code)` -- `public function getCode(): non-empty-string` -- `public function getId(): int` - -## Ibexa\Contracts\OrderManagement\Value\OrderItem extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemInterface - -- `public function __toString(): string` -- `public function getContext(): array<string, mixed>` -- `public function getProduct(): \Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemProductInterface` -- `public function getQuantity(): int` -- `public function getValue(): \Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemValueInterface` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\OrderManagement\Value\OrderItemProduct implements Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemProductInterface - -- `public function __construct(int|null $id, string $code, string $name)` -- `public function getCode(): string` -- `public function getId(): int|null` -- `public function getName(): string` - -## Ibexa\Contracts\OrderManagement\Value\OrderItemValue implements Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemValueInterface - -- `public function __construct(\Money\Money $unitPriceGross, \Money\Money $unitPriceNet, numeric-string $vatRate, \Money\Money $subtotalPriceGross, \Money\Money $subtotalPriceNet)` -- `public function getSubtotalPriceGross(): \Money\Money` -- `public function getSubtotalPriceNet(): \Money\Money` -- `public function getUnitPriceGross(): \Money\Money` -- `public function getUnitPriceNet(): \Money\Money` -- `public function getVatRate(): numeric-string` - -## Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemInterface - -- `public function getContext(): array<string, mixed>` -- `public function getProduct(): \Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemProductInterface` -- `public function getQuantity(): int` -- `public function getValue(): \Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemValueInterface` - -## Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemProductInterface - -- `public function getCode(): string` -- `public function getId(): int|null` -- `public function getName(): string` - -## Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemValueInterface - -- `public function getSubtotalPriceGross(): \Money\Money` -- `public function getSubtotalPriceNet(): \Money\Money` -- `public function getUnitPriceGross(): \Money\Money` -- `public function getUnitPriceNet(): \Money\Money` -- `public function getVatRate(): numeric-string` - -## Ibexa\Contracts\OrderManagement\Value\OrderUser implements Ibexa\Contracts\OrderManagement\Value\Order\OrderUserInterface - -- `public function __construct(int|null $id, string $name, string $email)` -- `public function getEmail(): string` -- `public function getId(): int|null` -- `public function getName(): string` - -## Ibexa\Contracts\OrderManagement\Value\OrderValue implements Ibexa\Contracts\OrderManagement\Value\Order\OrderValueInterface - -- `public function __construct(\Money\Money $vat, \Money\Money $totalGross, \Money\Money $totalNet)` -- `public function getTotalGross(): \Money\Money` -- `public function getTotalNet(): \Money\Money` -- `public function getVat(): \Money\Money` - -## Ibexa\Contracts\OrderManagement\Value\Order\OrderCompanyAssignmentInterface - -- `public function getCompanyId(): int` -- `public function getOrderId(): int` - -## Ibexa\Contracts\OrderManagement\Value\Order\OrderCompanyInterface - -- `public function getId(): int` -- `public function getName(): string` - -## Ibexa\Contracts\OrderManagement\Value\Order\OrderCurrencyAssignmentInterface - -- `public function getCurrencyId(): int` -- `public function getOrderId(): int` - -## Ibexa\Contracts\OrderManagement\Value\Order\OrderCurrencyInterface - -- `public function getCode(): non-empty-string` -- `public function getId(): int` - -## Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface extends Ibexa\Contracts\OrderManagement\Workflow\WorkflowSubjectInterface - -- `public function getCompany(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderCompanyInterface|null` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getCurrency(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderCurrencyInterface` -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getItems(): array<string|int, \Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemInterface>` -- `public function getModifiedAt(): \DateTimeInterface` -- `public function getSource(): string` -- `public function getStatus(): string` -- `public function getUser(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderUserInterface` -- `public function getValue(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderValueInterface` - -## Ibexa\Contracts\OrderManagement\Value\Order\OrderListInterface extends IteratorAggregate - -- `public function getOrders(): array<string|int, \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\OrderManagement\Value\Order\OrderQuery - -- `public function getLimit(): int` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<string|int, \Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClauseInterface>` -- `public function setLimit(int $limit): void` -- `public function setOffset(int $offset): void` -- `public function setSortClauses(array<string|int, \Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClauseInterface> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\OrderManagement\Value\Order\OrderUserAssignmentInterface - -- `public function getOrderId(): int` -- `public function getUserId(): int` - -## Ibexa\Contracts\OrderManagement\Value\Order\OrderUserInterface - -- `public function getEmail(): string` -- `public function getId(): int|null` -- `public function getName(): string` - -## Ibexa\Contracts\OrderManagement\Value\Order\OrderValueInterface - -- `public function getTotalGross(): \Money\Money` -- `public function getTotalNet(): \Money\Money` -- `public function getVat(): \Money\Money` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\CompanyIdCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\CompanyNameCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\CreatedAtCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\CurrencyCodeCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\CustomerNameCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\IdentifierCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\IsCompanyAssociatedCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\OwnerCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\PriceCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\SourceCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\Criterion\StatusCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\OrderManagement\Value\Order\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClause\Created extends Ibexa\Contracts\ProductCatalog\Values\Common\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClause\Id extends Ibexa\Contracts\ProductCatalog\Values\Common\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClause\Status extends Ibexa\Contracts\ProductCatalog\Values\Common\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClause\Updated extends Ibexa\Contracts\ProductCatalog\Values\Common\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\OrderManagement\Value\Order\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\OrderManagement\Value\Struct\OrderCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\OrderManagement\Workflow\WorkflowSubjectInterface - -- `public function __construct(\Ibexa\Contracts\OrderManagement\Value\Order\OrderUserInterface $user, \Ibexa\Contracts\OrderManagement\Value\Order\OrderCurrencyInterface $currency, \Ibexa\Contracts\OrderManagement\Value\Order\OrderValueInterface $value, string $source, array<string|int, \Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemInterface> $items[, OrderCompanyInterface|null $company = null ][, MapInterface<string, mixed>|null $context = null ])` -- `public function getCompany(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderCompanyInterface|null` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getCurrency(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderCurrencyInterface` -- `public function getItems(): array<string|int, \Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemInterface>` -- `public function getSource(): string` -- `public function getStatus(): string` -- `public function getUser(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderUserInterface` -- `public function getValue(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderValueInterface` -- `public function setContext(MapInterface<string, mixed>|null $context): void` -- `public function setStatus(string $status): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\OrderManagement\Value\Struct\OrderUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $status[, string|null $transition = null ][, UserReference|null $owner = null ][, MapInterface<string, mixed>|null $context = null ])` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` -- `public function getStatus(): string` -- `public function getTransition(): string|null` -- `public function setContext(MapInterface<string, mixed>|null $context): void` -- `public function setOwner(UserReference|null $owner): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\OrderManagement\Workflow\WorkflowResolverInterface - -- `public function resolveWorkflow(\Ibexa\Contracts\OrderManagement\Workflow\WorkflowSubjectInterface $subject): \Symfony\Component\Workflow\WorkflowInterface` - -## Ibexa\Contracts\OrderManagement\Workflow\WorkflowSubjectInterface - -- `public function getItems(): array<string|int, \Ibexa\Contracts\OrderManagement\Value\OrderItem\OrderItemInterface>` -- `public function getStatus(): string` - -## Ibexa\Contracts\PageBuilder\Event\GenerateContentPreviewUrlEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function addParameter(string $parameterName, string $parameterValue): void` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getParameters(): array<string|int, mixed>` -- `public function getReferenceType(): int` -- `public function getRouteName(): string` -- `public function isPropagationStopped(): bool` -- `public function setContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): void` -- `public function setParameters(array<string|int, mixed> $parameters): void` -- `public function setReferenceType(int $referenceType): void` -- `public function setRouteName(string $routeName): void` -- `public function stopPropagation(): void` -- `public const mixed NAME = 'ibexa.page_builder.generate_content_preview_url'` - -## Ibexa\Contracts\PageBuilder\PageBuilder\ConfigurationResolverInterface - -- `public function get(string $name[, string|null $siteaccess = null ][, mixed $fallbackValue = null ]): mixed` -- `public function getSiteaccessHosts(string $siteaccessName): array<string|int, string>` -- `public function getSiteaccessList([string|null $siteaccess = null ]): array<string|int, string>` -- `public function reverseAdminSiteaccessMatch(string $siteaccessName): array<string|int, string>` - -## Ibexa\Contracts\PageBuilder\PageBuilder\Timeline\BaseEvent implements Ibexa\Contracts\PageBuilder\Timeline\EventInterface - -- `public function getDate(): \DateTimeInterface` -- `public function getDescription(): string` -- `public function getIcon(): string` -- `public function getName(): string` -- `public function setDate(\DateTimeInterface $date): void` -- `public function setDescription(string $description): void` -- `public function setIcon(string $icon): void` -- `public function setName(string $name): void` - -## Ibexa\Contracts\PageBuilder\Siteaccess\Selector\SelectorStrategy - -- `public function selectSiteAccess(\Ibexa\Contracts\PageBuilder\Siteaccess\Selector\Context $context, array<string|int, string> $siteAccessNameList): string|null` - -## Ibexa\Contracts\PageBuilder\Siteaccess\Selector\SiteAccessSelector - -- `public function selectSiteAccess(\Ibexa\Contracts\PageBuilder\Siteaccess\Selector\Context $context, array<string|int, string> $siteAccessNameList): string` - -## Ibexa\Contracts\PageBuilder\Siteaccess\SiteaccessServiceInterface - -- `public function filterAvailableSiteaccesses(array<string|int, mixed> $siteaccesses): array<string|int, mixed>` -- `public function getLanguages(string $siteaccess): array<string|int, mixed>` -- `public function getRootLocation(string $siteaccess): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` - -## Ibexa\Contracts\PageBuilder\Timeline\EventInterface - -- `public function getDate(): \DateTimeInterface` -- `public function getDescription(): string` -- `public function getIcon(): string` -- `public function getName(): string` -- `public function getType(): string` - -## Ibexa\Contracts\Payment\Exception\ValidationFailedExceptionInterface extends Throwable - -- `public function getErrors(): \Symfony\Component\Validator\ConstraintViolationListInterface` - -## Ibexa\Contracts\Payment\Notification\PaymentAwareNotificationInterface - -- `public function getPayment(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` - -## Ibexa\Contracts\Payment\Notification\PaymentStatusChange extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface, Symfony\Component\Notifier\Notification\SmsNotificationInterface, Ibexa\Contracts\Payment\Notification\PaymentAwareNotificationInterface, Ibexa\Contracts\OrderManagement\Notification\OrderAwareNotificationInterface - -- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Symfony\Component\Workflow\WorkflowInterface $workflow, \Symfony\Component\Workflow\Transition $transition, \Symfony\Component\Workflow\Marking $marking, array<string|int, mixed> $context)` -- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` -- `public function asSmsMessage(\Symfony\Component\Notifier\Recipient\SmsRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\SmsMessage|null` -- `public function getContext(): array<string|int, mixed>` -- `public function getMarking(): \Symfony\Component\Workflow\Marking` -- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function getPayment(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function getTransition(): \Symfony\Component\Workflow\Transition` -- `public function getWorkflow(): \Symfony\Component\Workflow\WorkflowInterface` - -## Ibexa\Contracts\Payment\PaymentMethodServiceDecorator implements Ibexa\Contracts\Payment\PaymentMethodServiceInterface - -- `public function createPaymentMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct $createStruct): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function deletePaymentMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod): void` -- `public function findPaymentMethods([PaymentMethodQuery|null $query = null ][, array<string|int, mixed>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodListInterface` -- `public function getPaymentMethod(int $id[, array<string|int, mixed>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function getPaymentMethodByIdentifier(string $identifier[, array<string|int, mixed>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function isPaymentMethodUsed(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod): bool` -- `public function updatePaymentMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod, \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct $updateStruct): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` - -## Ibexa\Contracts\Payment\PaymentMethodServiceInterface - -- `public function createPaymentMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct $createStruct): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function deletePaymentMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod): void` -- `public function findPaymentMethods([PaymentMethodQuery|null $query = null ][, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodListInterface` -- `public function getPaymentMethod(int $id[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function getPaymentMethodByIdentifier(string $identifier[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function isPaymentMethodUsed(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod): bool` -- `public function updatePaymentMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod, \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct $updateStruct): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` - -## Ibexa\Contracts\Payment\PaymentMethod\Event\BeforeCreatePaymentMethodEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct $createStruct[, PaymentMethodInterface|null $paymentMethodResult = null ])` -- `public function getCreateStruct(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct` -- `public function getPaymentMethodResult(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function hasPaymentMethodResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setPaymentMethodResult(PaymentMethodInterface|null $paymentMethodResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Payment\PaymentMethod\Event\BeforeDeletePaymentMethodEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod)` -- `public function getPaymentMethod(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Payment\PaymentMethod\Event\BeforeUpdatePaymentMethodEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod, \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct $updateStruct[, PaymentMethodInterface|null $paymentMethodResult = null ])` -- `public function getPaymentMethod(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function getPaymentMethodResult(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct` -- `public function hasPaymentMethodResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setPaymentMethodResult(PaymentMethodInterface|null $paymentMethodResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Payment\PaymentMethod\Event\CreatePaymentMethodEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct $createStruct, \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethodResult)` -- `public function getCreateStruct(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct` -- `public function getPaymentMethodResult(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Payment\PaymentMethod\Event\DeletePaymentMethodEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod)` -- `public function getPaymentMethod(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Payment\PaymentMethod\Event\UpdatePaymentMethodEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod, \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct $updateStruct, \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethodResult)` -- `public function getPaymentMethod(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function getPaymentMethodResult(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Payment\PaymentMethod\Iterator\BatchIteratorAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethodServiceInterface $paymentMethodService[, PaymentMethodQuery|null $query = null ])` -- `public function fetch(int $offset, int $limit): \Iterator` - -## Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $identifier, \Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface $type)` -- `public function getDescription(string $languageCode): string|null` -- `public function getDescriptions(): array<string, string|null>` -- `public function getIdentifier(): string` -- `public function getName(string $languageCode): string` -- `public function getNames(): array<string, string>` -- `public function getOptions(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>` -- `public function getType(): \Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface` -- `public function isEnabled(): bool` -- `public function setDescription(string $languageCode, string|null $description): void` -- `public function setDescriptions(array<string, string|null> $descriptions): void` -- `public function setEnabled(bool $enabled): void` -- `public function setIdentifier(string $identifier): void` -- `public function setName(string $languageCode, string $name): void` -- `public function setNames(array<string, string> $names): void` -- `public function setOptions(MapInterface<string, mixed> $options): void` -- `public function setType(\Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface $type): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface - -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getDescription([string|null $languageCode = null ]): string|null` -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getLanguages(): array<string|int, string>` -- `public function getMainLanguageCode(): string` -- `public function getName([string|null $languageCode = null ]): string` -- `public function getOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` -- `public function getType(): \Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface` -- `public function getUpdatedAt(): \DateTimeInterface` -- `public function isEnabled(): bool` - -## Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodListInterface extends IteratorAggregate - -- `public function getPaymentMethods(): array<string|int, \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([array<string, mixed> $properties = [] ])` -- `public function getDescriptions(): array<string, string|null>|null` -- `public function getIdentifier(): string|null` -- `public function getNames(): array<string, string|null>|null` -- `public function getOptions(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function isEnabled(): bool|null` -- `public function setDescriptions(array<string, string|null>|null $descriptions): void` -- `public function setEnabled(bool|null $enabled): void` -- `public function setIdentifier(string|null $identifier): void` -- `public function setNames(array<string, string|null>|null $names): void` -- `public function setOptions(MapInterface<string, mixed>|null $options): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Payment\PaymentMethod\Permission\Create implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct(PaymentMethodCreateStruct|null $createStruct)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodCreateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Payment\PaymentMethod\Permission\Delete implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Payment\PaymentMethod\Permission\Edit implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $paymentMethod)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Payment\PaymentMethod\Permission\View implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct([PaymentMethodInterface|null $paymentMethod = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\Enabled extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\Id extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\Name extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\Type extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\Criterion\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\PaymentMethod\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\SortClause\CreatedAt extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\PaymentMethod\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\SortClause\Enabled extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\PaymentMethod\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\SortClause\Id extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\PaymentMethod\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\SortClause\Identifier extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\PaymentMethod\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Payment\PaymentMethod\Query\SortClause\UpdatedAt extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\PaymentMethod\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsFormMapperInterface - -- `public function createOptionsForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder[, array<string, mixed> $context = [] ]): void` - -## Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsFormMapperRegistryInterface - -- `public function getMapper(string $type): \Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsFormMapperInterface` -- `public function hasMapper(string $type): bool` - -## Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsValidatorError - -- `public function __construct(string|null $target, string $message[, array<string, scalar> $parameters = [] ])` -- `public function getMessage(): string` -- `public function getParameters(): array<string, scalar>` -- `public function getTarget(): string|null` - -## Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsValidatorInterface - -- `public function validateOptions(\Ibexa\Contracts\Core\Options\OptionsBag $options): array<string|int, \Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsValidatorError>` - -## Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsValidatorRegistryInterface - -- `public function getValidator(string $type): \Ibexa\Contracts\Payment\PaymentMethod\Type\OptionsValidatorInterface` -- `public function hasValidator(string $type): bool` - -## Ibexa\Contracts\Payment\PaymentMethod\Type\TypeFactoryInterface - -- `public function createType(string $identifier[, string|null $name = null ][, string|null $domain = null ]): \Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface` - -## Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface - -- `public function getIdentifier(): string` -- `public function getName(): string` - -## Ibexa\Contracts\Payment\PaymentMethod\Type\TypeRegistryInterface - -- `public function getPaymentMethodType(string $identifier): \Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface` -- `public function getPaymentMethodTypes(): iterable<string|int, \Ibexa\Contracts\Payment\PaymentMethod\Type\TypeInterface>` -- `public function hasPaymentMethodType(string $identifier): bool` - -## Ibexa\Contracts\Payment\PaymentMethod\Voter\AbstractVoter implements Ibexa\Contracts\Payment\PaymentMethod\Voter\VoterInterface - -- `public function vote(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` -- `protected function abstract getVote(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` - -## Ibexa\Contracts\Payment\PaymentMethod\Voter\VoterInterface - -- `public function vote(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` - -## Ibexa\Contracts\Payment\PaymentMethod\Voter\VoterRegistryInterface - -- `public function getVoter(string $identifier): \Ibexa\Contracts\Payment\PaymentMethod\Voter\VoterInterface` -- `public function hasVoter(string $identifier): bool` - -## Ibexa\Contracts\Payment\PaymentServiceDecorator implements Ibexa\Contracts\Payment\PaymentServiceInterface - -- `public function createPayment(\Ibexa\Contracts\Payment\Payment\PaymentCreateStruct $createStruct): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function deletePayment(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment): void` -- `public function findPayments([PaymentQuery|null $query = null ]): \Ibexa\Contracts\Payment\Payment\PaymentListInterface` -- `public function getPayment(int $id): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function getPaymentByIdentifier(string $identifier): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function updatePayment(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct $updateStruct): \Ibexa\Contracts\Payment\Payment\PaymentInterface` - -## Ibexa\Contracts\Payment\PaymentServiceInterface - -- `public function createPayment(\Ibexa\Contracts\Payment\Payment\PaymentCreateStruct $createStruct): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function deletePayment(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment): void` -- `public function findPayments([PaymentQuery|null $query = null ]): \Ibexa\Contracts\Payment\Payment\PaymentListInterface` -- `public function getPayment(int $id): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function getPaymentByIdentifier(string $identifier): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function updatePayment(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct $updateStruct): \Ibexa\Contracts\Payment\Payment\PaymentInterface` - -## Ibexa\Contracts\Payment\Payment\Event\BeforeCreatePaymentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentCreateStruct $createStruct[, PaymentInterface|null $paymentResult = null ])` -- `public function getCreateStruct(): \Ibexa\Contracts\Payment\Payment\PaymentCreateStruct` -- `public function getPaymentResult(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function hasPaymentResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setPaymentResult(PaymentInterface|null $paymentResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Payment\Payment\Event\BeforeDeletePaymentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment)` -- `public function getPayment(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Payment\Payment\Event\BeforeUpdatePaymentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct $updateStruct[, PaymentInterface|null $paymentResult = null ])` -- `public function getPayment(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function getPaymentResult(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct` -- `public function hasPaymentResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setPaymentResult(PaymentInterface|null $paymentResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Payment\Payment\Event\CreatePaymentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentCreateStruct $createStruct, \Ibexa\Contracts\Payment\Payment\PaymentInterface $paymentResult)` -- `public function getCreateStruct(): \Ibexa\Contracts\Payment\Payment\PaymentCreateStruct` -- `public function getPaymentResult(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Payment\Payment\Event\DeletePaymentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment)` -- `public function getPayment(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Payment\Payment\Event\UpdatePaymentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment, \Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct $updateStruct, \Ibexa\Contracts\Payment\Payment\PaymentInterface $paymentResult)` -- `public function getPayment(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function getPaymentResult(): \Ibexa\Contracts\Payment\Payment\PaymentInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Payment\Payment\PaymentCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Payment\Payment\Workflow\WorkflowSubjectInterface - -- `public function __construct(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $method, \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order[, Money|null $amount = null ])` -- `public function getAmount(): \Money\Money` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getIdentifier(): string|null` -- `public function getMethod(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` -- `public function setAmount(\Money\Money $amount): void` -- `public function setContext(MapInterface<string, mixed>|null $context): void` -- `public function setIdentifier(string|null $identifier): void` -- `public function setMethod(\Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface $method): void` -- `public function setOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order): void` -- `public function setOwner(UserReference|null $owner): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Payment\Payment\PaymentInterface extends Ibexa\Contracts\Payment\Payment\Workflow\WorkflowSubjectInterface - -- `public function getAmount(): \Money\Money` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getMethod(): \Ibexa\Contracts\Payment\PaymentMethod\PaymentMethodInterface` -- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function getStatus(): string` -- `public function getUpdatedAt(): \DateTimeInterface` - -## Ibexa\Contracts\Payment\Payment\PaymentListInterface extends IteratorAggregate - -- `public function getPayments(): array<string|int, \Ibexa\Contracts\Payment\Payment\PaymentInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Payment\Payment\PaymentQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\Payment\Payment\PaymentUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([string|null $transition = null ][, string|null $identifier = null ][, UserReference|null $owner = null ][, MapInterface<string, mixed>|null $context = null ])` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getIdentifier(): string|null` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` -- `public function getTransition(): string|null` -- `public function setContext(MapInterface<string, mixed>|null $context): void` -- `public function setIdentifier(string|null $identifier): void` -- `public function setOwner(UserReference|null $owner): void` -- `public function setTransition(string|null $transition): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Payment\Payment\Permission\Create implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct(PaymentCreateStruct|null $createStruct)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Payment\Payment\PaymentCreateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Payment\Payment\Permission\Delete implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Payment\Payment\Permission\Edit implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct(\Ibexa\Contracts\Payment\Payment\PaymentInterface $payment)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Payment\Payment\Permission\View implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct([PaymentInterface|null $payment = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Payment\Payment\Query\Criterion\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\Payment\Query\Criterion\Currency extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\Payment\Query\Criterion\Id extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\Payment\Query\Criterion\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\Payment\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\Payment\Payment\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\Payment\Payment\Query\Criterion\Order extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\Payment\Query\Criterion\Owner extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\Payment\Query\Criterion\PaymentMethod extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\Payment\Query\Criterion\Status extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\Payment\Query\Criterion\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Payment\Payment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Payment\Payment\Query\SortClause\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Payment\Payment\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Payment\Payment\Query\SortClause\Id extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Payment\Payment\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Payment\Payment\Query\SortClause\Identifier extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\Payment\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Payment\Payment\Query\SortClause\Status extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\Payment\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Payment\Payment\Query\SortClause\UpdatedAt extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause implements Ibexa\Contracts\Payment\Payment\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Payment\Payment\Workflow\WorkflowResolverInterface - -- `public function resolveWorkflow(\Ibexa\Contracts\Payment\Payment\Workflow\WorkflowSubjectInterface $subject): \Symfony\Component\Workflow\WorkflowInterface` - -## Ibexa\Contracts\Permissions\Repository\Values\User\Limitation\FieldGroupLimitation extends Ibexa\Contracts\Core\Repository\Values\User\Limitation - -- `public function getIdentifier(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed CONTENTTYPE = 'Class'` -- `public const mixed LANGUAGE = 'Language'` -- `public const mixed LOCATION = 'Node'` -- `public const mixed NEWSECTION = 'NewSection'` -- `public const mixed NEWSTATE = 'NewState'` -- `public const mixed OWNER = 'Owner'` -- `public const mixed PARENTCONTENTTYPE = 'ParentClass'` -- `public const mixed PARENTDEPTH = 'ParentDepth'` -- `public const mixed PARENTOWNER = 'ParentOwner'` -- `public const mixed PARENTUSERGROUP = 'ParentGroup'` -- `public const mixed SECTION = 'Section'` -- `public const mixed SITEACCESS = 'SiteAccess'` -- `public const mixed STATE = 'State'` -- `public const mixed STATUS = 'Status'` -- `public const mixed SUBTREE = 'Subtree'` -- `public const mixed USERGROUP = 'Group'` - -## Ibexa\Contracts\Personalization\Criteria\CriteriaInterface - -- `public function getItemTypeIdentifiers(): array<string|int, string>` -- `public function getLanguages(): array<string|int, string>` -- `public function getLimit(): int` -- `public function getOffset(): int` - -## Ibexa\Contracts\Personalization\Serializer\Normalizer\DestinationValueAwareInterface extends Ibexa\Contracts\Personalization\Serializer\Normalizer\ValueNormalizerInterface - -- `public function normalize(\Ibexa\Contracts\Core\FieldType\Value $value): array<string|int, scalar|null>|scalar|null` -- `public function supportsValue(\Ibexa\Contracts\Core\FieldType\Value $value): bool` - -## Ibexa\Contracts\Personalization\Serializer\Normalizer\ValueNormalizerInterface - -- `public function normalize(\Ibexa\Contracts\Core\FieldType\Value $value): array<string|int, scalar|null>|scalar|null` -- `public function supportsValue(\Ibexa\Contracts\Core\FieldType\Value $value): bool` - -## Ibexa\Contracts\Personalization\Storage\DataSourceInterface - -- `public function countItems(\Ibexa\Contracts\Personalization\Criteria\CriteriaInterface $criteria): int` -- `public function fetchItem(string $id, string $language): \Ibexa\Contracts\Personalization\Value\ItemInterface` -- `public function fetchItems(\Ibexa\Contracts\Personalization\Criteria\CriteriaInterface $criteria): iterable<string|int, \Ibexa\Contracts\Personalization\Value\ItemInterface>` - -## Ibexa\Contracts\Personalization\Value\ItemGroupInterface - -- `public function getIdentifier(): string` -- `public function getItems(): \Ibexa\Contracts\Personalization\Value\ItemListInterface` - -## Ibexa\Contracts\Personalization\Value\ItemGroupListInterface extends Traversable - -- `public function getGroups(): iterable<string|int, \Ibexa\Contracts\Personalization\Value\ItemGroupInterface>` - -## Ibexa\Contracts\Personalization\Value\ItemInterface - -- `public function getAttributes(): array<string, string|int|array<string|int, mixed>>` -- `public function getId(): string` -- `public function getLanguage(): string` -- `public function getType(): \Ibexa\Contracts\Personalization\Value\ItemTypeInterface` - -## Ibexa\Contracts\Personalization\Value\ItemListInterface extends Traversable - -- `public function filter(callable $predicate): self` -- `public function first(): \Ibexa\Contracts\Personalization\Value\ItemInterface` -- `public function get(string $identifier, string $language): \Ibexa\Contracts\Personalization\Value\ItemInterface` -- `public function has(string $identifier, string $language): bool` -- `public function slice(int $offset[, int|null $length = null ]): self` - -## Ibexa\Contracts\Personalization\Value\ItemTypeInterface - -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getName(): string` - -## Ibexa\Contracts\ProductCatalogDateTimeAttribute\Search\Criterion\DateTimeAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute - -- `public function __construct(string $identifier, DateTimeImmutable|null $value)` -- `public function getIdentifier(): string` -- `public function getOperator(): string` -- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` -- `public function setOperator(string $operator): void` - -## Ibexa\Contracts\ProductCatalogDateTimeAttribute\Search\Criterion\DateTimeAttributeRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion - -- `public function __construct(string $identifier[, DateTimeImmutable|null $min = null ][, DateTimeImmutable|null $max = null ])` -- `public function getIdentifier(): string` -- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` -- `public function getMax(): \DateTimeImmutable|null` -- `public function getMin(): \DateTimeImmutable|null` - -## Ibexa\Contracts\ProductCatalogSymbolAttribute\Search\Criterion\SymbolAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute - -- `public function __construct(string $identifier, array<string|int, string>|null $value)` -- `public function getIdentifier(): string` -- `public function getOperator(): string` -- `public function getValue(): array<string|int, string>|null` -- `public function setOperator(string $operator): void` - -## Ibexa\Contracts\ProductCatalogSymbolAttribute\Value\ChecksumInterface - -- `public function validate(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, string $value): bool` - -## Ibexa\Contracts\ProductCatalog\AssetServiceInterface - -- `public function findAssets(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, bool $onlyAvailable = false ]): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` -- `public function getAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, string $identifier): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` - -## Ibexa\Contracts\ProductCatalog\AttributeDefinitionServiceInterface - -- `public function findAttributesDefinitions([AttributeDefinitionQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\AttributeDefinitionListInterface` -- `public function getAttributeDefinition(string $identifier[, iterable<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` - -## Ibexa\Contracts\ProductCatalog\AttributeGroupServiceInterface - -- `public function findAttributeGroups([AttributeGroupQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroup\AttributeGroupListInterface` -- `public function getAttributeGroup(string $identifier[, iterable<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` - -## Ibexa\Contracts\ProductCatalog\AttributeTypeServiceInterface - -- `public function getAttributeType(string $identifier): \Ibexa\Contracts\ProductCatalog\Values\AttributeTypeInterface` -- `public function getAttributeTypes(): iterable<string, \Ibexa\Contracts\ProductCatalog\Values\AttributeTypeInterface>` -- `public function hasAttributeType(string $identifier): bool` - -## Ibexa\Contracts\ProductCatalog\CapabilitiesServiceInterface - -- `public function hasCapability(\Ibexa\Contracts\ProductCatalog\CapabilitiesEnum $capability): bool` - -## Ibexa\Contracts\ProductCatalog\CatalogFilters\Attribute\FilterDefinitionFactoryInterface - -- `public function createFilterDefinition(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, string $identifier): \Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterDefinitionInterface` - -## Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterDefinitionInterface - -- `public function getGroupName(): string` -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function supports(\Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface $criterion): bool` - -## Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterDefinitionProviderInterface - -- `public function getDefaultFilterIdentifiers(): array<string|int, string>` -- `public function getFilterDefinition(string $identifier): \Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterDefinitionInterface` -- `public function getFilterDefinitions(): array<string|int, \Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterDefinitionInterface>` -- `public function hasFilterDefinition(string $identifier): bool` - -## Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterFormMapperInterface - -- `public function createFilterForm(\Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterDefinitionInterface $filterDefinition, \Symfony\Component\Form\FormBuilderInterface $builder[, array<string, mixed> $context = [] ]): void` -- `public function supports(\Ibexa\Contracts\ProductCatalog\CatalogFilters\FilterDefinitionInterface $filterDefinition): bool` - -## Ibexa\Contracts\ProductCatalog\CatalogServiceDecorator implements Ibexa\Contracts\ProductCatalog\CatalogServiceInterface - -- `public function copyCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCopyStruct $copyStruct): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function createCatalog(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function deleteCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog): void` -- `public function deleteCatalogTranslation(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogDeleteTranslationStruct $struct): void` -- `public function findCatalogs([CatalogQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogListInterface` -- `public function getCatalog(int $id[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function getCatalogByIdentifier(string $identifier[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function updateCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` - -## Ibexa\Contracts\ProductCatalog\CatalogServiceInterface - -- `public function copyCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCopyStruct $copyStruct): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function createCatalog(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function deleteCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog): void` -- `public function deleteCatalogTranslation(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogDeleteTranslationStruct $struct): void` -- `public function findCatalogs([CatalogQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogListInterface` -- `public function getCatalog(int $id[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function getCatalogByIdentifier(string $identifier[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function updateCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` - -## Ibexa\Contracts\ProductCatalog\CurrencyResolverInterface - -- `public function resolveCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` - -## Ibexa\Contracts\ProductCatalog\CurrencyServiceDecorator implements Ibexa\Contracts\ProductCatalog\CurrencyServiceInterface - -- `public function createCurrency(\Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function deleteCurrency(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency): void` -- `public function findCurrencies([CurrencyQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyListInterface` -- `public function getCurrency(int $id): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getCurrencyByCode(string $code): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function updateCurrency(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` - -## Ibexa\Contracts\ProductCatalog\CurrencyServiceInterface - -- `public function createCurrency(\Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function deleteCurrency(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency): void` -- `public function findCurrencies([CurrencyQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyListInterface` -- `public function getCurrency(int $id): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getCurrencyByCode(string $code): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function updateCurrency(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` - -## Ibexa\Contracts\ProductCatalog\CustomerGroupAssignedItemsServiceDecorator implements Ibexa\Contracts\ProductCatalog\CustomerGroupAssignedItemsServiceInterface - -- `public function getAssignedItems(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup[, int|null $limit = null ][, int $offset = 0 ]): iterable<string|int, \Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\AssignedItemInterface>` - -## Ibexa\Contracts\ProductCatalog\CustomerGroupAssignedItemsServiceInterface - -- `public function getAssignedItems(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup[, int|null $limit = null ][, int $offset = 0 ]): iterable<string|int, \Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\AssignedItemInterface>` - -## Ibexa\Contracts\ProductCatalog\CustomerGroupResolverInterface - -- `public function resolveCustomerGroup([User|null $user = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` - -## Ibexa\Contracts\ProductCatalog\CustomerGroupServiceDecorator implements Ibexa\Contracts\ProductCatalog\CustomerGroupServiceInterface - -- `public function canBeDeleted(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup): bool` -- `public function createCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` -- `public function deleteCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup): void` -- `public function deleteCustomerGroupTranslation(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupDeleteTranslationStruct $struct): void` -- `public function findCustomerGroups([CustomerGroupQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupListInterface` -- `public function getCustomerGroup(int $id[, array<string|int, mixed>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` -- `public function getCustomerGroupByIdentifier(string $identifier[, array<string|int, mixed>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` -- `public function updateCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` - -## Ibexa\Contracts\ProductCatalog\CustomerGroupServiceInterface - -- `public function canBeDeleted(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup): bool` -- `public function createCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` -- `public function deleteCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup): void` -- `public function deleteCustomerGroupTranslation(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupDeleteTranslationStruct $struct): void` -- `public function findCustomerGroups([CustomerGroupQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupListInterface` -- `public function getCustomerGroup(int $id[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` -- `public function getCustomerGroupByIdentifier(string $identifier[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` -- `public function updateCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` - -## Ibexa\Contracts\ProductCatalog\Events\BeforeCreateCurrencyEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct $createStruct)` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct` -- `public function getResultCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function hasResultCurrency(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultCurrency(CurrencyInterface|null $resultCurrency): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\BeforeCreatePriceEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface $createStruct)` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface` -- `public function getResultPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function hasResultPrice(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultPrice(PriceInterface|null $resultPrice): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\BeforeDeleteCurrencyEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency)` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\BeforeDeletePriceEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface $deleteStruct)` -- `public function getDeleteStruct(): \Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\BeforeExecutePriceStructsEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(iterable<string|int, \Ibexa\Contracts\ProductCatalog\Values\Price\ProductPriceStructInterface> $structs)` -- `public function getPriceStructs(): iterable<string|int, \Ibexa\Contracts\ProductCatalog\Values\Price\ProductPriceStructInterface>` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\BeforeUpdateCurrencyEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct $updateStruct)` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getResultCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct` -- `public function hasResultCurrency(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultCurrency(CurrencyInterface|null $resultCurrency): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\BeforeUpdatePriceEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface $updateStruct)` -- `public function getResultPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface` -- `public function hasResultPrice(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultPrice(PriceInterface|null $resultPrice): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\CreateCurrencyEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct $createStruct, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency)` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\CreatePriceEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface $createStruct, \Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price)` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface` -- `public function getPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\CurrencyResolveEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct([CurrencyInterface|null $currency = null ])` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` -- `public function isPropagationStopped(): bool` -- `public function setCurrency(CurrencyInterface|null $currency): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\CustomerGroupCanBeDeletedEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup[, bool $canBeDeleted = true ])` -- `public function canBeDeleted(): bool` -- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` -- `public function getReason(): string` -- `public function isPropagationStopped(): bool` -- `public function preventDelete(string $reason): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\DeleteCurrencyEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency)` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\DeletePriceEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface $deleteStruct)` -- `public function getDeleteStruct(): \Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\ExecutePriceStructsEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(iterable<string|int, \Ibexa\Contracts\ProductCatalog\Values\Price\ProductPriceStructInterface> $priceStructs)` -- `public function getPriceStructs(): iterable<string|int, \Ibexa\Contracts\ProductCatalog\Values\Price\ProductPriceStructInterface>` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\RegionResolveEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct([RegionInterface|null $region = null ])` -- `public function getRegion(): \Ibexa\Contracts\ProductCatalog\Values\RegionInterface|null` -- `public function isPropagationStopped(): bool` -- `public function setRegion(RegionInterface|null $region): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\UpdateCurrencyEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct $updateStruct)` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Events\UpdatePriceEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price, \Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface $updateStruct)` -- `public function getPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Form\Data\ProductSelectorData - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, array<string|int, \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface>|null $productVariants)` -- `public function addVariant(\Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface $product): $this` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getProductCode(): string` -- `public function getProductVariantCodes(): array<string|int, string>|null` -- `public function getProductVariants(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface>|null` - -## Ibexa\Contracts\ProductCatalog\Form\Data\ProductsSelectorData implements Countable - -- `public function addProduct(\Ibexa\Contracts\ProductCatalog\Form\Data\ProductSelectorData $product): self` -- `public function count(): int` -- `public function getProductByCode(string $productCode): \Ibexa\Contracts\ProductCatalog\Form\Data\ProductSelectorData|null` -- `public function getProducts(): array<string|int, \Ibexa\Contracts\ProductCatalog\Form\Data\ProductSelectorData>` -- `public function removeProduct(\Ibexa\Contracts\ProductCatalog\Form\Data\ProductSelectorData $product): self` -- `public function setProducts(array<string|int, \Ibexa\Contracts\ProductCatalog\Form\Data\ProductSelectorData> $products): $this` - -## Ibexa\Contracts\ProductCatalog\Form\Type\ProductSelectorType extends Symfony\Component\Form\AbstractType - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\ProductServiceInterface $productService)` -- `public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder, array<string|int, mixed> $options): void` -- `public function configureOptions(\Symfony\Component\OptionsResolver\OptionsResolver $resolver): void` -- `public function getBlockPrefix(): string` -- `public function getParent(): string` - -## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\AttributeDefinitionFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\AttributeDefinitionServiceInterface $attributeDefinitionService[, AttributeDefinitionQuery|null $query = null ])` -- `public function fetch(int $offset, int $limit): \Iterator<mixed, \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface>` - -## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\AttributeGroupFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\AttributeGroupServiceInterface $attributeGroupService[, AttributeGroupQuery|null $query = null ])` -- `public function fetch(int $offset, int $limit): \Iterator<mixed, \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface>` - -## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\CurrencyFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\CurrencyServiceInterface $currencyService[, CurrencyQuery|null $query = null ])` -- `public function fetch(int $offset, int $limit): \Iterator<string|int, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface>` - -## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\ProductFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\ProductServiceInterface $productService, \Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery $query[, LanguageSettings|null $languageSettings = null ])` -- `public function fetch(int $offset, int $limit): \Iterator<string|int, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface>` - -## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\ProductTypeListAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\ProductTypeServiceInterface $productTypeService)` -- `public function fetch(int $offset, int $limit): \Iterator<string|int, \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface>` - -## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\ProductVariantFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\ProductServiceInterface $productService, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, ProductVariantQuery|null $query = null ])` -- `public function fetch(int $offset, int $limit): \Iterator<string|int, \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface>` - -## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\RegionFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\RegionServiceInterface $regionService[, RegionQuery|null $query = null ])` -- `public function fetch(int $offset, int $limit): \Iterator<mixed, \Ibexa\Contracts\ProductCatalog\Values\RegionInterface>` - -## Ibexa\Contracts\ProductCatalog\Iterator\BatchIteratorAdapter\VariantFetchAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\ProductServiceInterface $productService, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, ProductVariantQuery|null $query = null ])` -- `public function fetch(int $offset, int $limit): \Iterator<string|int, \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface>` - -## Ibexa\Contracts\ProductCatalog\Local\Attribute\AbstractValidatorError - -- `public function __construct(string|null $target, string $message[, array<string, scalar> $parameters = [] ])` -- `public function getMessage(): string` -- `public function getParameters(): array<string, scalar>` -- `public function getTarget(): string|null` - -## Ibexa\Contracts\ProductCatalog\Local\Attribute\ContextAwareValueValidatorInterface extends Ibexa\Contracts\ProductCatalog\Local\Attribute\ValueValidatorInterface - -- `public function validateValue(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, mixed $value[, array<string, mixed> $context = [] ]): array<string|int, \Ibexa\Contracts\ProductCatalog\Local\Attribute\ValueValidationError>` - -## Ibexa\Contracts\ProductCatalog\Local\Attribute\IndexDataProviderInterface - -- `public function getFieldsForAttribute(\Ibexa\ProductCatalog\Local\Persistence\Values\AttributeDefinition $attributeDefinition, Attribute<string|int, TValue|null> $attribute): iterable<string|int, \Ibexa\Contracts\Core\Search\Field>` - -## Ibexa\Contracts\ProductCatalog\Local\Attribute\OptionsFormMapperInterface - -- `public function createOptionsForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder[, array<string, mixed> $context = [] ]): void` - -## Ibexa\Contracts\ProductCatalog\Local\Attribute\OptionsValidatorError extends Ibexa\Contracts\ProductCatalog\Local\Attribute\AbstractValidatorError - -- `public function __construct(string|null $target, string $message[, array<string, scalar> $parameters = [] ])` -- `public function getMessage(): string` -- `public function getParameters(): array<string, scalar>` -- `public function getTarget(): string|null` - -## Ibexa\Contracts\ProductCatalog\Local\Attribute\OptionsValidatorInterface - -- `public function validateOptions(\Ibexa\Contracts\Core\Options\OptionsBag $options): array<string|int, \Ibexa\Contracts\ProductCatalog\Local\Attribute\OptionsValidatorError>` - -## Ibexa\Contracts\ProductCatalog\Local\Attribute\StorageConverterInterface - -- `public function fromPersistence(\Ibexa\Contracts\ProductCatalog\Local\Attribute\TPersistenceValue $data): \Ibexa\Contracts\ProductCatalog\Local\Attribute\TValue|null` -- `public function toPersistence(TValue|null $value): \Ibexa\Contracts\ProductCatalog\Local\Attribute\TPersistenceValue` - -## Ibexa\Contracts\ProductCatalog\Local\Attribute\StorageDefinitionInterface - -- `public function getColumns(): array<string|int, mixed>` -- `public function getTableName(): string` - -## Ibexa\Contracts\ProductCatalog\Local\Attribute\ValueFormMapperInterface - -- `public function createValueForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder, \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionAssignmentInterface $assignment[, array<string, mixed> $context = [] ]): void` - -## Ibexa\Contracts\ProductCatalog\Local\Attribute\ValueFormatterInterface - -- `public function formatValue(\Ibexa\Contracts\ProductCatalog\Values\AttributeInterface $attribute[, array<string, mixed> $parameters = [] ]): string|null` - -## Ibexa\Contracts\ProductCatalog\Local\Attribute\ValueValidationError extends Ibexa\Contracts\ProductCatalog\Local\Attribute\AbstractValidatorError - -- `public function __construct(string|null $target, string $message[, array<string, scalar> $parameters = [] ])` -- `public function getMessage(): string` -- `public function getParameters(): array<string, scalar>` -- `public function getTarget(): string|null` - -## Ibexa\Contracts\ProductCatalog\Local\Attribute\ValueValidatorInterface - -- `public function validateValue(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, mixed $value): array<string|int, \Ibexa\Contracts\ProductCatalog\Local\Attribute\ValueValidationError>` - -## Ibexa\Contracts\ProductCatalog\Local\Attribute\VariantFormMapperInterface - -- `public function createForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder, \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionAssignmentInterface $assignment[, array<string, mixed> $context = [] ]): void` - -## Ibexa\Contracts\ProductCatalog\Local\CodeGenerator\CodeGeneratorContext - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $type[, array<string, mixed> $attributes = [] ][, ProductInterface|null $baseProduct = null ][, int|null $index = null ])` -- `public function getAttributes(): array<string, mixed>` -- `public function getBaseProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface|null` -- `public function getIndex(): int|null` -- `public function getType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` -- `public function hasBaseProduct(): bool` -- `public function hasIndex(): bool` -- `public function setAttributes(array<string, mixed> $attributes): void` -- `public function setBaseProduct(ProductInterface|null $baseProduct): void` -- `public function setIndex(int|null $index): void` - -## Ibexa\Contracts\ProductCatalog\Local\CodeGenerator\CodeGeneratorInterface - -- `public function generateCode(\Ibexa\Contracts\ProductCatalog\Local\CodeGenerator\CodeGeneratorContext $context): string` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeCreateAttributeDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct $createStruct)` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct` -- `public function getResultAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function hasResultAttributeDefinition(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultAttributeDefinition(AttributeDefinitionInterface|null $resultAttributeDefinition): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeCreateAttributeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct $createStruct)` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct` -- `public function getResultAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` -- `public function hasResultAttributeGroup(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultAttributeGroup(AttributeGroupInterface|null $resultAttributeGroup): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeCreateCatalogEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct $createStruct)` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct` -- `public function getResultCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function hasResultCatalog(): bool` -- `public function isPropagationStopped(): bool` -- `public function setCatalog(CatalogInterface|null $catalog): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeCreateProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct $createStruct)` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct` -- `public function getResultProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function hasResultProductAvailability(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultProductAvailability(AvailabilityInterface|null $resultProductAvailability): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeCreateProductEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct $createStruct)` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct` -- `public function getResultProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function hasResultProduct(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultProduct(ProductInterface|null $resultProduct): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeCreateProductVariantsEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, iterable<string|int, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantCreateStruct> $createStructs)` -- `public function getCreateStructs(): iterable<string|int, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantCreateStruct>` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDecreaseProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, int $amount)` -- `public function getAmount(): int` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getResultProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function hasResultProductAvailability(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultProductAvailability(AvailabilityInterface|null $resultProductAvailability): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDeleteAttributeDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition)` -- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDeleteAttributeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup)` -- `public function getAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDeleteBaseProductVariantsEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $baseProduct)` -- `public function getBaseProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDeleteCatalogEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog)` -- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDeleteProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product)` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeDeleteProductEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product)` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeIncreaseProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, int $amount)` -- `public function getAmount(): int` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getResultProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function hasResultProductAvailability(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultProductAvailability(AvailabilityInterface|null $resultProductAvailability): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeUpdateAttributeDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct $updateStruct)` -- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function getResultAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct` -- `public function hasResultAttributeDefinition(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultAttributeDefinition(AttributeDefinitionInterface|null $resultAttributeDefinition): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeUpdateAttributeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct $updateStruct)` -- `public function getAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` -- `public function getResultAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct` -- `public function hasResultAttributeGroup(): bool` -- `public function isPropagationStopped(): bool` -- `public function setAttributeGroup(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup): void` -- `public function setResultAttributeGroup(AttributeGroupInterface|null $resultAttributeGroup): void` -- `public function setUpdateStruct(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct $updateStruct): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeUpdateCatalogEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct $updateStruct)` -- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function getResultCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct` -- `public function hasResultCatalog(): bool` -- `public function isPropagationStopped(): bool` -- `public function setCatalog(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog): void` -- `public function setResultCatalog(CatalogInterface|null $resultCatalog): void` -- `public function setUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct $updateStruct): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeUpdateProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct $updateStruct)` -- `public function getResultProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct` -- `public function hasResultProductAvailability(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultProductAvailability(AvailabilityInterface|null $resultProductAvailability): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeUpdateProductEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct $updateStruct)` -- `public function getResultProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct` -- `public function hasResultProduct(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultProduct(ProductInterface|null $resultProduct): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\BeforeUpdateProductVariantEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface $productVariant, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct $updateStruct)` -- `public function getProductVariant(): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` -- `public function getResultProductVariant(): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct` -- `public function hasResultProductVariant(): bool` -- `public function isPropagationStopped(): bool` -- `public function setResultProductVariant(ProductVariantInterface|null $resultProductVariant): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\CreateAttributeDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct $createStruct, \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition)` -- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\CreateAttributeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct $createStruct, \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup)` -- `public function getAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\CreateCatalogEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct $createStruct, \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog)` -- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\CreateProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct $createStruct, \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface $productAvailability)` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct` -- `public function getProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\CreateProductEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct $createStruct, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product)` -- `public function getCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\CreateProductVariantsEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, iterable<string|int, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantCreateStruct> $createStructs)` -- `public function getCreateStructs(): iterable<string|int, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantCreateStruct>` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\DecreaseProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface $productAvailability, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, int $amount)` -- `public function getAmount(): int` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\DeleteAttributeDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition)` -- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\DeleteAttributeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup)` -- `public function getAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\DeleteBaseProductVariantsEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $baseProduct[, array<string|int, string> $deletedVariantCodes = [] ])` -- `public function getBaseProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getDeletedVariantCodes(): array<string|int, string>` -- `public function isPropagationStopped(): bool` -- `public function setDeletedVariantCodes(array<string|int, string> $deletedVariantCodes): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\DeleteCatalogEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog)` -- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\DeleteProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product)` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\DeleteProductEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product)` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\IncreaseProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface $productAvailability, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, int $amount)` -- `public function getAmount(): int` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\UpdateAttributeDefinitionEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct $updateStruct)` -- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\UpdateAttributeGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct $updateStruct)` -- `public function getAttributeGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\UpdateCatalogEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct $updateStruct)` -- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\UpdateProductAvailabilityEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface $productAvailability, \Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct $updateStruct)` -- `public function getProductAvailability(): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\UpdateProductEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct $updateStruct)` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\Events\UpdateProductVariantEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface $productVariant, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct $updateStruct)` -- `public function getProductVariant(): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` -- `public function getUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\ProductCatalog\Local\LocalAssetServiceDecorator implements Ibexa\Contracts\ProductCatalog\Local\LocalAssetServiceInterface - -- `public function createAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` -- `public function deleteAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface $asset): void` -- `public function findAssets(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, bool $onlyAvailable = false ]): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` -- `public function getAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, string $identifier): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` -- `public function newAssetCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetCreateStruct` -- `public function newAssetUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetUpdateStruct` -- `public function updateAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface $asset, \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` - -## Ibexa\Contracts\ProductCatalog\Local\LocalAssetServiceInterface extends Ibexa\Contracts\ProductCatalog\AssetServiceInterface - -- `public function createAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` -- `public function deleteAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface $asset): void` -- `public function findAssets(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, bool $onlyAvailable = false ]): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` -- `public function getAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, string $identifier): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` -- `public function newAssetCreateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetCreateStruct` -- `public function newAssetUpdateStruct(): \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetUpdateStruct` -- `public function updateAsset(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface $asset, \Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface` - -## Ibexa\Contracts\ProductCatalog\Local\LocalAttributeDefinitionServiceDecorator implements Ibexa\Contracts\ProductCatalog\Local\LocalAttributeDefinitionServiceInterface - -- `public function createAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function deleteAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): void` -- `public function deleteAttributeDefinitionTranslation(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, string $languageCode): void` -- `public function findAttributesDefinitions([AttributeDefinitionQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\AttributeDefinitionListInterface` -- `public function getAttributeDefinition(string $identifier[, iterable<string|int, mixed>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function isAttributeDefinitionUsed(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): bool` -- `public function newAttributeDefinitionCreateStruct(string $identifier): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct` -- `public function newAttributeDefinitionUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct` -- `public function updateAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` - -## Ibexa\Contracts\ProductCatalog\Local\LocalAttributeDefinitionServiceInterface extends Ibexa\Contracts\ProductCatalog\AttributeDefinitionServiceInterface - -- `public function createAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function deleteAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): void` -- `public function deleteAttributeDefinitionTranslation(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, string $languageCode): void` -- `public function findAttributesDefinitions([AttributeDefinitionQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\AttributeDefinitionListInterface` -- `public function getAttributeDefinition(string $identifier[, iterable<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function isAttributeDefinitionUsed(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): bool` -- `public function newAttributeDefinitionCreateStruct(string $identifier): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct` -- `public function newAttributeDefinitionUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct` -- `public function updateAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` - -## Ibexa\Contracts\ProductCatalog\Local\LocalAttributeGroupServiceDecorator implements Ibexa\Contracts\ProductCatalog\Local\LocalAttributeGroupServiceInterface - -- `public function createAttributeGroup(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` -- `public function deleteAttributeGroup(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $group): void` -- `public function deleteAttributeGroupTranslation(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup, string $languageCode): void` -- `public function findAttributeGroups([AttributeGroupQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroup\AttributeGroupListInterface` -- `public function getAttributeGroup(string $identifier[, iterable<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` -- `public function isAttributeGroupUsed(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup): bool` -- `public function newAttributeGroupCreateStruct(string $identifier): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct` -- `public function newAttributeGroupUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $group): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct` -- `public function updateAttributeGroup(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` - -## Ibexa\Contracts\ProductCatalog\Local\LocalAttributeGroupServiceInterface extends Ibexa\Contracts\ProductCatalog\AttributeGroupServiceInterface - -- `public function createAttributeGroup(\Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` -- `public function deleteAttributeGroup(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $group): void` -- `public function deleteAttributeGroupTranslation(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup, string $languageCode): void` -- `public function findAttributeGroups([AttributeGroupQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroup\AttributeGroupListInterface` -- `public function getAttributeGroup(string $identifier[, iterable<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` -- `public function isAttributeGroupUsed(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup): bool` -- `public function newAttributeGroupCreateStruct(string $identifier): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct` -- `public function newAttributeGroupUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $group): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct` -- `public function updateAttributeGroup(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $attributeGroup, \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` - -## Ibexa\Contracts\ProductCatalog\Local\LocalProductServiceDecorator implements Ibexa\Contracts\ProductCatalog\Local\LocalProductServiceInterface - -- `public function createProduct(\Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function createProductVariants(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, iterable<string|int, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantCreateStruct> $createStructs): void` -- `public function deleteProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): void` -- `public function deleteProductTranslation(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): void` -- `public function deleteProductVariantsByBaseProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $baseProduct): array<string|int, string>` -- `public function findProducts(\Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery $query[, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductListInterface` -- `public function findProductVariants(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, ProductVariantQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductVariantListInterface` -- `public function getDistinctProductVariantsAttributesValues(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): array<string, array<int, \Ibexa\Contracts\ProductCatalog\Values\AttributeInterface>>` -- `public function getProduct(string $code[, LanguageSettings|null $settings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getProductFromContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getProductVariant(string $code[, LanguageSettings|null $settings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` -- `public function isProduct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` -- `public function newProductCreateStruct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, string $mainLanguageCode): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct` -- `public function newProductUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct` -- `public function updateProduct(\Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function updateProductVariant(\Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface $productVariant, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` - -## Ibexa\Contracts\ProductCatalog\Local\LocalProductServiceInterface extends Ibexa\Contracts\ProductCatalog\ProductServiceInterface - -- `public function createProductVariants(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, iterable<string|int, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantCreateStruct> $createStructs): void` -- `public function deleteProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): void` -- `public function deleteProductTranslation(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\Core\Repository\Values\Content\Language $language): void` -- `public function deleteProductVariantsByBaseProduct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $baseProduct): array<string|int, string>` -- `public function findProducts(\Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery $query[, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductListInterface` -- `public function findProductVariants(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, ProductVariantQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductVariantListInterface` -- `public function getDistinctProductVariantsAttributesValues(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): array<string, array<int, \Ibexa\Contracts\ProductCatalog\Values\AttributeInterface>>` -- `public function getProduct(string $code[, LanguageSettings|null $settings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getProductFromContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getProductVariant(string $code[, LanguageSettings|null $settings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` -- `public function isProduct(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content): bool` -- `public function newProductCreateStruct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, string $mainLanguageCode): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct` -- `public function newProductUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct` -- `public function updateProduct(\Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function updateProductVariant(\Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface $productVariant, \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` -- `public const mixed TYPE = 'local'` - -## Ibexa\Contracts\ProductCatalog\Local\LocalProductTypeServiceDecorator implements Ibexa\Contracts\ProductCatalog\Local\LocalProductTypeServiceInterface - -- `public function addContentTypeFieldDefinition(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct): void` -- `public function createProductType(\Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` -- `public function deleteProductType(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType): void` -- `public function deleteProductTypeTranslation(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, string $languageCode): void` -- `public function findProductTypes([ProductTypeQuery|null $query = null ][, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductType\ProductTypeListInterface` -- `public function getProductType(string $identifier[, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` -- `public function isProductTypeUsed(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType): bool` -- `public function newProductTypeCreateStruct(string $identifier, string $mainLanguageCode): \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeCreateStruct` -- `public function newProductTypeUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType): \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeUpdateStruct` -- `public function removeContentTypeFieldDefinition(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): void` -- `public function updateProductType(\Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` - -## Ibexa\Contracts\ProductCatalog\Local\LocalProductTypeServiceInterface extends Ibexa\Contracts\ProductCatalog\ProductTypeServiceInterface - -- `public function addContentTypeFieldDefinition(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct): void` -- `public function createProductType(\Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeCreateStruct $createStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` -- `public function deleteProductType(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType): void` -- `public function deleteProductTypeTranslation(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, string $languageCode): void` -- `public function findProductTypes([ProductTypeQuery|null $query = null ][, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductType\ProductTypeListInterface` -- `public function getProductType(string $identifier[, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` -- `public function isProductTypeUsed(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType): bool` -- `public function newProductTypeCreateStruct(string $identifier, string $mainLanguageCode): \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeCreateStruct` -- `public function newProductTypeUpdateStruct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType): \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeUpdateStruct` -- `public function removeContentTypeFieldDefinition(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition): void` -- `public function updateProductType(\Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeUpdateStruct $updateStruct): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` - -## Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([string|null $uri = null ][, array<string, mixed> $tags = [] ])` -- `public function getTags(): array<string, mixed>` -- `public function getUri(): string|null` -- `public function setTags(array<string, mixed> $tags): void` -- `public function setUri(string|null $uri): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Local\Values\Asset\AssetUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([string|null $uri = null ][, array<string|int, string>|null $tags = null ])` -- `public function getTags(): array<string|int, string>|null` -- `public function getUri(): string|null` -- `public function setTags(array<string|int, string>|null $tags): void` -- `public function setUri(string|null $uri): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $identifier)` -- `public function getDescriptions(): array<string, string>` -- `public function getGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` -- `public function getIdentifier(): string` -- `public function getNames(): array<string, string>` -- `public function getOptions(): array<string, mixed>` -- `public function getPosition(): int` -- `public function getType(): \Ibexa\Contracts\ProductCatalog\Values\AttributeTypeInterface` -- `public function setDescription(string $languageCode, string $description): void` -- `public function setGroup(\Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface $group): void` -- `public function setIdentifier(string $identifier): void` -- `public function setName(string $languageCode, string $name): void` -- `public function setOptions(array<string, mixed> $options): void` -- `public function setPosition(int $position): void` -- `public function setType(\Ibexa\Contracts\ProductCatalog\Values\AttributeTypeInterface $type): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([array<string, mixed> $properties = [] ])` -- `public function getDescriptions(): array<string, string>` -- `public function getGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface|null` -- `public function getIdentifier(): string|null` -- `public function getNames(): array<string, string>` -- `public function getOptions(): array<string, mixed>|null` -- `public function getPosition(): int|null` -- `public function setDescription(string $languageCode, string $description): void` -- `public function setDescriptions(array<string, string> $descriptions): void` -- `public function setGroup(AttributeGroupInterface|null $group): void` -- `public function setIdentifier(string|null $identifier): void` -- `public function setName(string $languageCode, string $name): void` -- `public function setNames(array<string, string> $names): void` -- `public function setOptions(array<string, mixed>|null $options): void` -- `public function setPosition(int|null $position): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $identifier[, array<string, string> $names = [] ][, int $position = 0 ])` -- `public function getIdentifier(): string` -- `public function getNames(): array<string, string>` -- `public function getPosition(): int` -- `public function setIdentifier(string $identifier): void` -- `public function setNames(array<string, string> $names): void` -- `public function setPosition(int $position): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([string|null $identifier = null ][, array<string, string> $names = [] ][, int|null $position = null ])` -- `public function getIdentifier(): string|null` -- `public function getNames(): array<string, string>` -- `public function getPosition(): int|null` -- `public function setIdentifier(string|null $identifier): void` -- `public function setNames(array<string, string> $names): void` -- `public function setPosition(int|null $position): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\AssignAttributeDefinitionStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition[, bool $required = true ][, bool $isDiscriminator = false ])` -- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function isDiscriminator(): bool` -- `public function isRequired(): bool` -- `public function setAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition): void` -- `public function setDiscriminator(bool $isDiscriminator): void` -- `public function setRequired(bool $required): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct, string $mainLanguageCode[, array<string|int, \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\AssignAttributeDefinitionStruct> $assignedAttributesDefinitions = [] ][, bool $isVirtual = false ])` -- `public function getAssignedAttributesDefinitions(): array<string|int, \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\AssignAttributeDefinitionStruct>` -- `public function getContentTypeCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeCreateStruct` -- `public function getMainLanguageCode(): string` -- `public function isVirtual(): bool` -- `public function setAssignedAttributesDefinitions(array<string|int, \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\AssignAttributeDefinitionStruct> $assignedAttributesDefinitions): void` -- `public function setVirtual(bool $isVirtual): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct)` -- `public function addAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\AssignAttributeDefinitionStruct $struct): void` -- `public function getAttributeDefinitionStructs(): array<string|int, \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\AssignAttributeDefinitionStruct>` -- `public function getContentTypeUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct` -- `public function getProductType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` -- `public function isVirtual(): bool` -- `public function removeAttributeDefinition(\Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\AssignAttributeDefinitionStruct $struct): void` -- `public function setAttributeDefinitionStructs(array<string|int, \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\AssignAttributeDefinitionStruct> $attributeDefinitionStructs): void` -- `public function setContentTypeUpdateStruct(\Ibexa\Contracts\Core\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct): void` -- `public function setVirtual(bool $isVirtual): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface $productType, \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct $contentCreateStruct[, string|null $code = null ])` -- `public function getAttributes(): array<string, mixed>` -- `public function getCode(): string|null` -- `public function getContentCreateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentCreateStruct` -- `public function getProductType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` -- `public function setAttribute(string $name, mixed $value): void` -- `public function setAttributes(array<string, mixed> $attributes): void` -- `public function setCode(string|null $code): void` -- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(ProductInterface|\Ibexa\Contracts\ProductCatalog\Values\ContentAwareProductInterface $product, \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct $contentUpdateStruct)` -- `public function getAttributes(): array<string, mixed>` -- `public function getCode(): string|null` -- `public function getContentMetadataUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentMetadataUpdateStruct|null` -- `public function getContentUpdateStruct(): \Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface|ContentAwareProductInterface` -- `public function setAttribute(string $name, mixed $value): void` -- `public function setAttributes(array<string, mixed> $attributes): void` -- `public function setCode(string|null $code): void` -- `public function setContentMetadataUpdateStruct(ContentMetadataUpdateStruct|null $contentMetadataUpdateStruct): void` -- `public function setContentUpdateStruct(\Ibexa\Contracts\Core\Repository\Values\Content\ContentUpdateStruct $contentUpdateStruct): void` -- `public function setField(string $fieldDefIdentifier, mixed $value[, string|null $language = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantCreateStruct - -- `public function __construct(array<int|string, mixed> $attributes[, string|null $code = null ])` -- `public function getAttribute(string $identifier[, mixed|null $default = null ]): mixed|null` -- `public function getAttributes(): array<int|string, mixed>` -- `public function getCode(): string|null` -- `public function setAttribute(string $identifier, mixed $value): void` -- `public function setAttributes(array<string, mixed> $attributes): void` -- `public function setCode(string|null $code): void` - -## Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantGenerateStruct - -- `public function __construct(array<string, array<string|int, mixed>> $attributes)` -- `public function getAttribute(string $identifier): array<string|int, mixed>|null` -- `public function getAttributes(): array<string, array<string|int, mixed>>` -- `public function setAttribute(string $identifier, array<string|int, mixed> $value): void` -- `public function setAttributes(array<string, array<string|int, mixed>> $attributes): void` - -## Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductVariantUpdateStruct - -- `public function __construct([array<string, object|scalar|array<string|int, mixed>|null> $attributes = [] ][, string|null $code = null ])` -- `public function getAttribute(string $identifier[, object|scalar|array<string|int, mixed>|null $default = null ]): object|scalar|array<string|int, mixed>|null` -- `public function getAttributes(): array<string, object|scalar|array<string|int, mixed>|null>` -- `public function getCode(): string|null` -- `public function hasAttribute(string $identifier): bool` -- `public function hasAttributes(): bool` -- `public function setAttribute(string $identifier, object|scalar|array<string|int, mixed>|null $value): void` -- `public function setAttributes(array<string, object|scalar|array<string|int, mixed>|null> $attributes): void` -- `public function setCode(string|null $code): void` - -## Ibexa\Contracts\ProductCatalog\NameSchema\NameSchemaStrategyInterface - -- `public function resolve(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, mixed $value, string $languageCode): string` -- `public function supports(\Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface $attributeDefinition, mixed $value): bool` - -## Ibexa\Contracts\ProductCatalog\PermissionResolverInterface - -- `public function assertPolicy(\Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface $policy): void` -- `public function canUser(\Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface $policy): bool` - -## Ibexa\Contracts\ProductCatalog\Permission\ContextInterface - -- `public function getObject(): object` -- `public function getTargets(): array<string|int, object>` - -## Ibexa\Contracts\ProductCatalog\Permission\ContextProvider\ContextProviderInterface - -- `public function accept(\Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface $policy): bool` -- `public function getPermissionContext(\Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface $policy): \Ibexa\Contracts\ProductCatalog\Permission\ContextInterface` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\AbstractAttributeDefinitionPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function getModule(): string` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\Create extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\AbstractAttributeDefinitionPolicy - -- `public function __construct([AttributeDefinitionCreateStruct|null $attributeDefinitionCreateStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionCreateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\Delete extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\AbstractAttributeDefinitionPolicy - -- `public function __construct([AttributeDefinitionInterface|null $attributeDefinition = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\Edit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\AbstractAttributeDefinitionPolicy - -- `public function __construct([AttributeDefinitionUpdateStruct|null $attributeDefinitionUpdateStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeDefinition\AttributeDefinitionUpdateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\PreEdit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\AbstractAttributeDefinitionPolicy - -- `public function __construct([AttributeDefinitionInterface|null $attributeDefinition = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\View extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeDefinition\AbstractAttributeDefinitionPolicy - -- `public function __construct([AttributeDefinitionInterface|null $attributeDefinition = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\AbstractAttributeGroupPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function getModule(): string` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\Create extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\AbstractAttributeGroupPolicy - -- `public function __construct([AttributeGroupCreateStruct|null $attributeGroupCreateStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupCreateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\Delete extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\AbstractAttributeGroupPolicy - -- `public function __construct([AttributeGroupInterface|null $attributeGroup = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\Edit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\AbstractAttributeGroupPolicy - -- `public function __construct([AttributeGroupUpdateStruct|null $attributeGroupUpdateStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\AttributeGroup\AttributeGroupUpdateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\PreEdit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\AbstractAttributeGroupPolicy - -- `public function __construct([AttributeGroupInterface|null $attributeGroup = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\View extends Ibexa\Contracts\ProductCatalog\Permission\Policy\AttributeGroup\AbstractAttributeGroupPolicy - -- `public function __construct([AttributeGroupInterface|null $attributeGroup = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\AbstractCatalogPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function getModule(): string` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\Create extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\AbstractCatalogPolicy - -- `public function __construct([CatalogCreateStruct|null $catalogCreateStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\Delete extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\AbstractCatalogPolicy - -- `public function __construct([CatalogInterface|null $catalog = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\Edit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\AbstractCatalogPolicy - -- `public function __construct([CatalogUpdateStruct|null $catalogUpdateStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\PreCreate extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\AbstractCatalogPolicy - -- `public function __construct([CatalogInterface|null $catalog = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\View extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Catalog\AbstractCatalogPolicy - -- `public function __construct([CatalogInterface|null $catalog = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Commerce\AbstractCommercePolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function getModule(): string` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Commerce\AdministrateCurrencies extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Commerce\AbstractCommercePolicy - -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Commerce\AdministrateRegions extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Commerce\AbstractCommercePolicy - -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\AbstractCustomerGroupPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function getModule(): string` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\Create extends Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\AbstractCustomerGroupPolicy - -- `public function __construct([CustomerGroupCreateStruct|null $customerGroupCreateStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupCreateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\Delete extends Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\AbstractCustomerGroupPolicy - -- `public function __construct([CustomerGroupInterface|null $customerGroup = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\Edit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\AbstractCustomerGroupPolicy - -- `public function __construct([CustomerGroupUpdateStruct|null $customerGroupUpdateStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupUpdateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\View extends Ibexa\Contracts\ProductCatalog\Permission\Policy\CustomerGroup\AbstractCustomerGroupPolicy - -- `public function __construct([CustomerGroupInterface|null $customerGroup = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\AbstractProductTypePolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function getModule(): string` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\Create extends Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\AbstractProductTypePolicy - -- `public function __construct([ProductTypeCreateStruct|null $productTypeCreateStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeCreateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\Delete extends Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\AbstractProductTypePolicy - -- `public function __construct([ProductTypeInterface|null $productType = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\Edit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\AbstractProductTypePolicy - -- `public function __construct([ProductTypeUpdateStruct|null $productTypeUpdateStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\ProductType\ProductTypeUpdateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\PreEdit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\AbstractProductTypePolicy - -- `public function __construct([ProductTypeInterface|null $productType = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\View extends Ibexa\Contracts\ProductCatalog\Permission\Policy\ProductType\AbstractProductTypePolicy - -- `public function __construct([ProductTypeInterface|null $productType = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\AbstractProductPolicy implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function getModule(): string` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\Create extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\AbstractProductPolicy - -- `public function __construct([ProductCreateStruct|null $productCreateStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductCreateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\Delete extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\AbstractProductPolicy - -- `public function __construct([ProductInterface|null $product = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\Edit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\AbstractProductPolicy - -- `public function __construct([ProductUpdateStruct|null $productUpdateStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Local\Values\Product\ProductUpdateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\PreEdit extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\AbstractProductPolicy - -- `public function __construct([ProductInterface|null $product = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\View extends Ibexa\Contracts\ProductCatalog\Permission\Policy\Product\AbstractProductPolicy - -- `public function __construct([ProductInterface|null $product = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\ProductCatalog\PriceResolverInterface - -- `public function resolvePrice(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, PriceContextInterface|null $context = null ]): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface|null` -- `public function resolvePrices(array<string|int, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface> $products[, PriceContextInterface|null $context = null ]): \Ibexa\Contracts\Core\Collection\MapInterface<string, PriceInterface|null>` - -## Ibexa\Contracts\ProductCatalog\ProductAvailabilityContextResolverInterface - -- `public function resolve([AvailabilityContextInterface|null $context = null ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityContextInterface` - -## Ibexa\Contracts\ProductCatalog\ProductAvailabilityServiceDecorator implements Ibexa\Contracts\ProductCatalog\ProductAvailabilityServiceInterface - -- `public function createProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function decreaseProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, int $amount = 1 ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function deleteProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): void` -- `public function getAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, AvailabilityContextInterface|null $availabilityContext = null ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function hasAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): bool` -- `public function increaseProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, int $amount = 1 ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function updateProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` - -## Ibexa\Contracts\ProductCatalog\ProductAvailabilityServiceInterface - -- `public function createProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function decreaseProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, int $amount = 1 ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function deleteProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): void` -- `public function getAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, AvailabilityContextInterface|null $availabilityContext = null ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function hasAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): bool` -- `public function increaseProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, int $amount = 1 ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function updateProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct $struct): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` - -## Ibexa\Contracts\ProductCatalog\ProductAvailabilityStrategyInterface - -- `public function accept(\Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityContextInterface $context): bool` -- `public function getProductAvailability(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityContextInterface $context): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` - -## Ibexa\Contracts\ProductCatalog\ProductPriceContextResolverInterface - -- `public function resolveContext([PriceContextInterface|null $context = null ]): \Ibexa\Contracts\ProductCatalog\Values\Price\PriceContextInterface` - -## Ibexa\Contracts\ProductCatalog\ProductPriceServiceDecorator implements Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface - -- `public function createProductPrice(\Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface $struct): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function deletePrice(\Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface $struct): void` -- `public function execute(iterable<string|int, mixed> $structs): void` -- `public function findOneForCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price, \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup): \Ibexa\Contracts\ProductCatalog\Values\CustomPriceAwareInterface|null` -- `public function findPrices([PriceQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Price\PriceListInterface` -- `public function findPricesByProductCode(string $code): \Ibexa\Contracts\ProductCatalog\Values\Price\PriceListInterface` -- `public function getPriceById(int $id): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function getPriceByProductAndCurrency(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function updateProductPrice(\Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface $struct): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` - -## Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface - -- `public function createProductPrice(\Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface $struct): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function deletePrice(\Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface $struct): void` -- `public function execute(iterable<string|int, \Ibexa\Contracts\ProductCatalog\Values\Price\ProductPriceStructInterface> $structs): void` -- `public function findOneForCustomerGroup(\Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price, \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup): \Ibexa\Contracts\ProductCatalog\Values\CustomPriceAwareInterface|null` -- `public function findPrices([PriceQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Price\PriceListInterface` -- `public function findPricesByProductCode(string $code): \Ibexa\Contracts\ProductCatalog\Values\Price\PriceListInterface` -- `public function getPriceById(int $id): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function getPriceByProductAndCurrency(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function updateProductPrice(\Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface $struct): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` - -## Ibexa\Contracts\ProductCatalog\ProductReferencesResolverStrategy - -- `public function isProductReferenced(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product): bool` - -## Ibexa\Contracts\ProductCatalog\ProductServiceInterface - -- `public function findProducts(\Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery $query[, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductListInterface` -- `public function findProductVariants(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, ProductVariantQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductVariantListInterface` -- `public function getProduct(string $code[, LanguageSettings|null $settings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getProductVariant(string $code[, LanguageSettings|null $settings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface` - -## Ibexa\Contracts\ProductCatalog\ProductTypeServiceInterface - -- `public function findProductTypes([ProductTypeQuery|null $query = null ][, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductType\ProductTypeListInterface` -- `public function getProductType(string $identifier[, LanguageSettings|null $languageSettings = null ]): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` - -## Ibexa\Contracts\ProductCatalog\QueryTypeInterface - -- `public function static getName(): string` -- `public function getQuery([array<string, mixed> $parameters = [] ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery` -- `public function getSupportedParameters(): array<string|int, string>` - -## Ibexa\Contracts\ProductCatalog\QueryTypeRegistryInterface - -- `public function getQueryType(string $name): \Ibexa\Contracts\ProductCatalog\QueryTypeInterface` -- `public function hasQueryType(string $name): bool` - -## Ibexa\Contracts\ProductCatalog\REST\Output\AttributePostProcessorInterface - -- `public function process(\Ibexa\Bundle\ProductCatalog\REST\Value\Attribute $attribute): array<string, mixed>` -- `public function supports(\Ibexa\Bundle\ProductCatalog\REST\Value\Attribute $attribute): bool` - -## Ibexa\Contracts\ProductCatalog\RegionResolverInterface - -- `public function resolveRegion(): \Ibexa\Contracts\ProductCatalog\Values\RegionInterface` - -## Ibexa\Contracts\ProductCatalog\RegionServiceInterface - -- `public function findRegions([RegionQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Region\RegionListInterface` -- `public function getRegion(string $identifier): \Ibexa\Contracts\ProductCatalog\Values\RegionInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface extends Ibexa\Contracts\Core\Collection\ListInterface - -- `public function contains(\Ibexa\Contracts\Core\Collection\TValue $value): bool` -- `public function exists(\Closure $predicate): bool` -- `public function filter(\Closure $predicate): self` -- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function forAll(\Closure $predicate): bool` -- `public function getIterator(): \Iterator` -- `public function isEmpty(): bool` -- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function map(\Closure $function): self` -- `public function toArray(): array<string|int, mixed>` -- `public function withTag(string $tag[, string|null $value = null ]): self` -- `public function withTags(array<string, string|null> $tags): self` - -## Ibexa\Contracts\ProductCatalog\Values\Asset\AssetInterface - -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function getTags(): array<string, mixed>` -- `public function getUri(): string` - -## Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionAssignmentInterface - -- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function isDiscriminator(): bool` -- `public function isRequired(): bool` - -## Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface - -- `public function getDescription(): string|null` -- `public function getGroup(): \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface` -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function getOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` -- `public function getPosition(): int` -- `public function getType(): \Ibexa\Contracts\ProductCatalog\Values\AttributeTypeInterface` - -## Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\AttributeDefinitionListInterface extends IteratorAggregate - -- `public function getAttributeDefinitions(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\AttributeDefinitionQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function and(CriterionInterface ...$criteria): void` -- `public function getAttributesGroups(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface>|null` -- `public function getLimit(): int|null` -- `public function getNamePrefix(): string|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setAttributesGroups(array<string|int, \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface>|null $attributesGroups): void` -- `public function setLimit(int|null $limit): void` -- `public function setNamePrefix(string|null $namePrefix): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\Query\AttributeGroupIdentifierCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\AttributeDefinition\Query\NameCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface - -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function getPosition(): int` - -## Ibexa\Contracts\ProductCatalog\Values\AttributeGroup\AttributeGroupListInterface extends IteratorAggregate - -- `public function getAttributeGroups(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\AttributeGroupInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\ProductCatalog\Values\AttributeGroup\AttributeGroupQuery implements Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface - -- `public function getLimit(): int` -- `public function getNamePrefix(): string|null` -- `public function getOffset(): int` -- `public function setLimit(int $limit): void` -- `public function setNamePrefix(string|null $namePrefix): void` -- `public function setOffset(int $offset): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\ProductCatalog\Values\AttributeInterface - -- `public function getAttributeDefinition(): \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionInterface` -- `public function getIdentifier(): string` -- `public function getValue(): mixed` - -## Ibexa\Contracts\ProductCatalog\Values\AttributeTypeInterface - -- `public function getIdentifier(): string` -- `public function getName(): string` - -## Ibexa\Contracts\ProductCatalog\Values\AvailabilityAwareInterface extends Ibexa\Contracts\ProductCatalog\Values\ProductInterface - -- `public function getAssets(): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` -- `public function getAttributes(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\AttributeInterface>` -- `public function getAvailability([AvailabilityContextInterface|null $context = null ]): \Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface` -- `public function getCode(): string` -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getName(): string` -- `public function getProductType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` -- `public function getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` -- `public function getUpdatedAt(): \DateTimeInterface` -- `public function hasAvailability(): bool` -- `public function isAvailable([AvailabilityContextInterface|null $context = null ]): bool` -- `public function isBaseProduct(): bool` -- `public function isVariant(): bool` - -## Ibexa\Contracts\ProductCatalog\Values\Availability\AvailabilityInterface - -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getStock(): int|null` -- `public function isAvailable(): bool` -- `public function isInfinite(): bool` - -## Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, bool $availability = false ][, bool $isInfinite = false ][, int|null $stock = null ])` -- `public function static createInfinite(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, bool $available): self` -- `public function static createWithStock(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, bool $available, int $stock): self` -- `public function getAvailability(): bool` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getStock(): int|null` -- `public function isInfinite(): bool` -- `public function setAvailability(bool $availability): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\Availability\ProductAvailabilityUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, bool|null $availability = null ][, bool|null $isInfinite = null ][, int|null $stock = null ])` -- `public function static createInfinite(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product[, bool|null $available = null ]): self` -- `public function static createWithStock(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, bool $available[, int|null $stock = null ]): self` -- `public function getAvailability(): bool|null` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getStock(): int|null` -- `public function isInfinite(): bool|null` -- `public function setAvailability(bool|null $availability): void` -- `public function setInfinite(bool|null $infinite): void` -- `public function setStock(int|null $stock): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\CatalogInterface - -- `public function getCreated(): int` -- `public function getCreator(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getDescription(): string|null` -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getModified(): int` -- `public function getName(): string` -- `public function getQuery(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` -- `public function getStatus(): string` - -## Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCopyStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(int $sourceId, string $identifier[, int|null $creatorId = null ])` -- `public function getCreatorId(): int|null` -- `public function getIdentifier(): string` -- `public function getSourceId(): int` -- `public function setCreatorId(int $creatorId): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $identifier, \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface $criterion, array<string, string> $names, array<string, string> $descriptions[, string $status = Status::DRAFT_PLACE ][, int|null $creatorId = null ])` -- `public function addDescription(string $languageCode, string $description): void` -- `public function addName(string $languageCode, string $name): void` -- `public function getCreatorId(): int|null` -- `public function getCriterion(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` -- `public function getDescription(string $languageCode): string` -- `public function getDescriptions(): array<string, string>` -- `public function getIdentifier(): string` -- `public function getName(string $languageCode): string` -- `public function getNames(): array<string, string>` -- `public function getStatus(): string` -- `public function setCreatorId(int $creatorId): void` -- `public function setCriterion(\Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface $criterion): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogDeleteTranslationStruct - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CatalogInterface $catalog, string $languageCode)` -- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface` -- `public function getLanguageCode(): string` - -## Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogListInterface extends IteratorAggregate - -- `public function getCatalogs(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\ProductCatalog\Values\Catalog\CatalogUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(int $id[, string|null $transition = null ][, string|null $identifier = null ][, CriterionInterface|null $criterion = null ][, array<string, string> $names = [] ][, array<string, string> $descriptions = [] ])` -- `public function addDescription(string $languageCode, string $description): void` -- `public function addName(string $languageCode, string $name): void` -- `public function getCriterion(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface|null` -- `public function getDescription(string $languageCode): string` -- `public function getDescriptions(): array<string, string>` -- `public function getId(): int` -- `public function getIdentifier(): string|null` -- `public function getName(string $languageCode): string` -- `public function getNames(): array<string, string>` -- `public function getStatus(): string` -- `public function getTransition(): string|null` -- `public function setCriterion(CriterionInterface|null $criterion): void` -- `public function setStatus(string $status): void` -- `public function setTransition(string|null $transition): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\Catalog\Query\Criterion\CatalogIdentifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\Catalog\Query\Criterion\CatalogName extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\Catalog\Query\Criterion\CatalogStatus extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\Catalog\Query\SortClause extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause - -- `public function getDirection(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\Common\Percent implements Stringable - -- `public function __toString(): string` -- `public function equals(\Ibexa\Contracts\ProductCatalog\Values\Common\Percent $percent[, float $epsilon = self::DEFAULT_EPSILON ]): bool` -- `public function fraction(float $a, float $b): \Ibexa\Contracts\ProductCatalog\Values\Common\Percent` -- `public function getValue(): float` -- `public function getValueAsFloat(): float` -- `public function static hundred(): self` -- `public function static zero(): self` - -## Ibexa\Contracts\ProductCatalog\Values\Common\Query\AbstractCriterionQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\ProductCatalog\Values\Common\Query\AbstractSortClause extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause - -- `public function getDirection(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\Common\Query\CriterionMapperInterface extends Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapperInterface - -- `public function canHandle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion): bool` -- `public function handle(\Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface $criterion, \Ibexa\Contracts\CoreSearch\Values\Query\CriterionMapper $mapper): \Doctrine\Common\Collections\Expr\Expression` - -## Ibexa\Contracts\ProductCatalog\Values\Common\Query\SortClause\FieldValueSortClause extends Ibexa\Contracts\ProductCatalog\Values\Common\Query\AbstractSortClause - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\Common\Query\SortDirection extends Ibexa\Contracts\CoreSearch\Values\Query\SortDirection - -- `public const mixed ASC = 'ascending'` -- `public const mixed DESC = 'descending'` - -## Ibexa\Contracts\ProductCatalog\Values\ContentAwareProductInterface extends Ibexa\Contracts\ProductCatalog\Values\ProductInterface - -- `public function getAssets(): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` -- `public function getAttributes(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\AttributeInterface>` -- `public function getCode(): string` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getName(): string` -- `public function getProductType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` -- `public function getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` -- `public function getUpdatedAt(): \DateTimeInterface` -- `public function isBaseProduct(): bool` -- `public function isVariant(): bool` - -## Ibexa\Contracts\ProductCatalog\Values\ContentTypeAwareProductTypeInterface extends Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface - -- `public function getAttributesDefinitions(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionAssignmentInterface>` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function getVatCategory(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): \Ibexa\Contracts\ProductCatalog\Values\VatCategoryInterface|null` -- `public function isVirtual(): bool` - -## Ibexa\Contracts\ProductCatalog\Values\Content\Query\Criterion\CustomerGroupId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\ProductCatalog\Values\Content\Query\Criterion\IsProductBased extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function getSpecifications(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\ProductCatalog\Values\Content\Query\Criterion\ProductCriterionAdapter extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function getProductCriterion(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` -- `public function getSpecifications(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\ProductCatalog\Values\Content\Query\SortClause\ProductSortClauseAdapter extends Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause - -- `public function getSortClause(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause` - -## Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface - -- `public function getCode(): string` -- `public function getId(): int` -- `public function getSubUnits(): int` -- `public function isEnabled(): bool` - -## Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyCreateStruct - -- `public function __construct(string $code, int $subunits, bool $enabled)` -- `public function getCode(): string` -- `public function getSubunits(): int` -- `public function isEnabled(): bool` - -## Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyListInterface extends IteratorAggregate - -- `public function getCurrencies(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\ProductCatalog\Values\Currency\CurrencyUpdateStruct - -- `public function getCode(): string|null` -- `public function getEnabled(): bool|null` -- `public function getSubunits(): int|null` -- `public function setCode(string|null $code): void` -- `public function setEnabled(bool|null $enabled): void` -- `public function setSubunits(int|null $subunits): void` - -## Ibexa\Contracts\ProductCatalog\Values\Currency\Query\Criterion\CurrencyCodeCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\Currency\Query\Criterion\IsCurrencyEnabledCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\Currency\Query\SortClause\CurrencyCode extends Ibexa\Contracts\ProductCatalog\Values\Currency\Query\FieldValueSortClause - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\CustomPriceAwareInterface extends Ibexa\Contracts\ProductCatalog\Values\PriceInterface - -- `public function __toString(): string` -- `public function getAmount(): numeric-string` -- `public function getBaseAmount(): numeric-string` -- `public function getBaseMoney(): \Money\Money` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getCustomPrice(): \Money\Money|null` -- `public function getCustomPriceAmount(): numeric-string|null` -- `public function getCustomPriceRule(): numeric-string|null` -- `public function getId(): int` -- `public function getMoney(): \Money\Money` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` - -## Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface - -- `public function getDescription(): string` -- `public function getGlobalPriceRate(): numeric-string` -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getName(): string` - -## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\AssignedItem extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\AssignedItemInterface - -- `public function __construct([array<string, mixed> $properties = [] ])` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function addDescription(int $languageId, string $description): void` -- `public function addName(int $languageId, string $name): void` -- `public function getDescription(int $languageId): string` -- `public function getDescriptions(): array<int, string>` -- `public function getGlobalPriceRate(): numeric-string` -- `public function getIdentifier(): string` -- `public function getName(int $languageId): string` -- `public function getNames(): array<int, string>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupDeleteTranslationStruct - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup, string $languageCode)` -- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` -- `public function getLanguageCode(): string` - -## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupListInterface extends IteratorAggregate - -- `public function getCustomerGroups(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\CustomerGroupUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(int $id[, string|null $identifier = null ][, array<int, string> $names = [] ][, array<int, string> $descriptions = [] ][, numeric-string|null $globalPriceRate = null ])` -- `public function addDescription(int $languageId, string $description): void` -- `public function addName(int $languageId, string $name): void` -- `public function getDescription(int $languageId): string` -- `public function getDescriptions(): array<int, string>` -- `public function getGlobalPriceRate(): numeric-string|null` -- `public function getId(): int` -- `public function getIdentifier(): string|null` -- `public function getName(int $languageId): string` -- `public function getNames(): array<int, string>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\Query\Criterion\CustomerGroupIdentifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\Query\Criterion\CustomerGroupName extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\Query\SortClause extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause - -- `public function getDirection(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\LanguageSettings - -- `public function __construct([array<string|int, string> $languages = Language::ALL ][, bool $useAlwaysAvailable = true ])` -- `public function getLanguages(): array<string|int, string>` -- `public function getUseAlwaysAvailable(): bool` - -## Ibexa\Contracts\ProductCatalog\Values\PriceAwareInterface - -- `public function getPrice([PriceContextInterface|null $context = null ]): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface|null` - -## Ibexa\Contracts\ProductCatalog\Values\PriceInterface - -- `public function __toString(): string` -- `public function getAmount(): numeric-string` -- `public function getBaseAmount(): numeric-string` -- `public function getBaseMoney(): \Money\Money` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getId(): int` -- `public function getMoney(): \Money\Money` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\AbstractPriceCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Money\Money $money[, Money|null $customPriceMoney = null ][, numeric-string|null $customPriceRule = null ])` -- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` -- `public function getAmount(): numeric-string` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getCustomPrice(): \Money\Money|null` -- `public function getCustomPriceRule(): numeric-string|null` -- `public function getMoney(): \Money\Money` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\CustomerGroupPriceCreateStruct extends Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\AbstractPriceCreateStruct - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface $customerGroup, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Money\Money $money, Money|null $customPriceMoney, numeric-string|null $customPriceRule)` -- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` -- `public function getAmount(): numeric-string` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface` -- `public function getCustomerGroupId(): int` -- `public function getCustomPrice(): \Money\Money|null` -- `public function getCustomPriceRule(): numeric-string|null` -- `public function static getDiscriminator(): string` -- `public function getMoney(): \Money\Money` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStruct extends Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\AbstractPriceCreateStruct - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\ProductInterface $product, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency, \Money\Money $money[, Money|null $customPriceMoney = null ][, numeric-string|null $customPriceRule = null ])` -- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` -- `public function getAmount(): numeric-string` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getCustomPrice(): \Money\Money|null` -- `public function getCustomPriceRule(): numeric-string|null` -- `public function static getDiscriminator(): string` -- `public function getMoney(): \Money\Money` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Create\Struct\ProductPriceCreateStructInterface extends Ibexa\Contracts\ProductCatalog\Values\Price\ProductPriceStructInterface - -- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` -- `public function getAmount(): numeric-string` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getCustomPrice(): \Money\Money|null` -- `public function getCustomPriceRule(): numeric-string|null` -- `public function static getDiscriminator(): string` -- `public function getMoney(): \Money\Money` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price)` -- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` -- `public function getId(): int` -- `public function getPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Delete\Struct\ProductPriceDeleteStructInterface extends Ibexa\Contracts\ProductCatalog\Values\Price\ProductPriceStructInterface - -- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` -- `public function getId(): int` -- `public function getPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Price\PriceContext implements Ibexa\Contracts\ProductCatalog\Values\Price\PriceContextInterface - -- `public function __construct([CurrencyInterface|null $currency = null ][, CustomerGroupInterface|null $customerGroup = null ])` -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` -- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` -- `public function setCurrency(CurrencyInterface|null $currency): void` -- `public function setCustomerGroup(CustomerGroupInterface|null $customerGroup): void` - -## Ibexa\Contracts\ProductCatalog\Values\Price\PriceContextInterface - -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` -- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` -- `public function setCurrency(CurrencyInterface|null $currency): void` -- `public function setCustomerGroup(CustomerGroupInterface|null $customerGroup): void` - -## Ibexa\Contracts\ProductCatalog\Values\Price\PriceEnvelopeInterface - -- `public function all([">TStamp>|null $stampFqcn = null ]): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\Price\PriceStampInterface>|array<string|int, array<string|int, \Ibexa\Contracts\ProductCatalog\Values\Price\PriceStampInterface>>` -- `public function last(">TStamp> $stampFqcn): \Ibexa\Contracts\ProductCatalog\Values\Price\PriceStampInterface|null` -- `public function with(PriceStampInterface ...$stamps): static` -- `public function withoutAll(string $stampFqcn): static` -- `public function withoutStampsOfType(string $type): static` - -## Ibexa\Contracts\ProductCatalog\Values\Price\PriceListInterface extends IteratorAggregate - -- `public function getPrices(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\PriceInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\ProductCatalog\Values\Price\PriceQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\ProductCatalog\Values\Price\PriceStampInterface extends Ibexa\Contracts\ProductCatalog\Values\StampInterface - -- `public function getNewPrice(): \Money\Money` -- `public function getOriginalPrice(): \Money\Money` - -## Ibexa\Contracts\ProductCatalog\Values\Price\ProductPriceStructInterface - -- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\Currency extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\CustomerGroup extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\IsBasePrice extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\IsCustomPrice extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Query\Criterion\Product extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\ProductCatalog\Values\Price\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price[, Money|null $money = null ][, Money|null $customPriceMoney = null ][, string|null $customPriceRule = null ])` -- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` -- `public function getCustomPriceMoney(): \Money\Money|null` -- `public function getCustomPriceRule(): string|null` -- `public function getId(): int` -- `public function getMoney(): \Money\Money|null` -- `public function getPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\Price\Update\Struct\ProductPriceUpdateStructInterface extends Ibexa\Contracts\ProductCatalog\Values\Price\ProductPriceStructInterface - -- `public function execute(\Ibexa\Contracts\ProductCatalog\ProductPriceServiceInterface $productPriceService): void` -- `public function getCustomPriceMoney(): \Money\Money|null` -- `public function getCustomPriceRule(): string|null` -- `public function getId(): int` -- `public function getMoney(): \Money\Money|null` -- `public function getPrice(): \Ibexa\Contracts\ProductCatalog\Values\PriceInterface` -- `public function getProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` - -## Ibexa\Contracts\ProductCatalog\Values\ProductInterface - -- `public function getAssets(): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` -- `public function getAttributes(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\AttributeInterface>` -- `public function getCode(): string` -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getName(): string` -- `public function getProductType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` -- `public function getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` -- `public function getUpdatedAt(): \DateTimeInterface` -- `public function isBaseProduct(): bool` -- `public function isVariant(): bool` - -## Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface - -- `public function getAttributesDefinitions(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\AttributeDefinitionAssignmentInterface>` -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function getVatCategory(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): \Ibexa\Contracts\ProductCatalog\Values\VatCategoryInterface|null` -- `public function isVirtual(): bool` - -## Ibexa\Contracts\ProductCatalog\Values\ProductType\ProductTypeListInterface extends IteratorAggregate - -- `public function getProductTypes(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\ProductCatalog\Values\ProductType\ProductTypeQuery implements Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface - -- `public function getLimit(): int` -- `public function getNamePrefix(): string|null` -- `public function getOffset(): int` -- `public function setLimit(int $limit): void` -- `public function setNamePrefix(string|null $namePrefix): void` -- `public function setOffset(int $offset): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface extends Ibexa\Contracts\ProductCatalog\Values\ProductInterface - -- `public function getAssets(): \Ibexa\Contracts\ProductCatalog\Values\Asset\AssetCollectionInterface` -- `public function getAttributes(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\AttributeInterface>` -- `public function getBaseProduct(): \Ibexa\Contracts\ProductCatalog\Values\ProductInterface` -- `public function getCode(): string` -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getDiscriminatorAttributes(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\AttributeInterface>` -- `public function getName(): string` -- `public function getProductType(): \Ibexa\Contracts\ProductCatalog\Values\ProductTypeInterface` -- `public function getThumbnail(): \Ibexa\Contracts\Core\Repository\Values\Content\Thumbnail|null` -- `public function getUpdatedAt(): \DateTimeInterface` -- `public function isBaseProduct(): bool` -- `public function isVariant(): bool` - -## Ibexa\Contracts\ProductCatalog\Values\ProductVariantsAwareInterface - -- `public function getVariantsList([ProductVariantQuery|null $query = null ]): \Ibexa\Contracts\ProductCatalog\Values\Product\ProductVariantListInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Product\ProductListInterface extends IteratorAggregate - -- `public function getAggregations(): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResultCollection|null` -- `public function getProducts(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\ProductInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\ProductCatalog\Values\Product\ProductList\AggregationResult\PriceStatsAggregationResult extends Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult - -- `public function getAvg(): \Money\Money|null` -- `public function getCount(): int|null` -- `public function getMax(): \Money\Money|null` -- `public function getMin(): \Money\Money|null` -- `public function getName(): string` -- `public function getSum(): \Money\Money|null` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\Product\ProductQuery implements Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface - -- `public function getAggregations(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation>` -- `public function getFilter(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface|null` -- `public function getLimit(): int` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface|null` -- `public function getSortClauses(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause>` -- `public function hasFilter(): bool` -- `public function hasQuery(): bool` -- `public function setAggregations(array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation> $aggregations): void` -- `public function setFilter(CriterionInterface|null $filter): void` -- `public function setLimit(int $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $query): void` -- `public function setSortClauses(array<string|int, \Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` -- `public const mixed SORT_ASC = 'ascending'` -- `public const mixed SORT_DESC = 'descending'` - -## Ibexa\Contracts\ProductCatalog\Values\Product\ProductVariantListInterface extends IteratorAggregate - -- `public function getTotalCount(): int` -- `public function getVariants(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\ProductVariantInterface>` - -## Ibexa\Contracts\ProductCatalog\Values\Product\ProductVariantQuery implements Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface - -- `public function getAttributesCriterion(): \Ibexa\Contracts\ProductCatalog\Values\Content\Query\Criterion\ProductCriterionAdapter<string|int, \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface>|null` -- `public function getLimit(): int` -- `public function getOffset(): int` -- `public function getVariantCodes(): array<string|int, string>|null` -- `public function setAttributesCriterion(ProductCriterionAdapter<string|int, \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface>|null $criterion): void` -- `public function setLimit(int $limit): void` -- `public function setOffset(int $offset): void` -- `public function setVariantCodes(array<string|int, string>|null $variantCodes): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractAttributeTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationInterface - -- `public function getAttributeDefinitionIdentifier(): string` -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractPriceStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation - -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getName(): string` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationInterface - -- `public function getAttributeDefinitionIdentifier(): string` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationTrait - -- `public function getAttributeDefinitionIdentifier(): string` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeBooleanTermAggregation extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractAttributeTermAggregation - -- `public function getAttributeDefinitionIdentifier(): string` -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeColorTermAggregation extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractAttributeTermAggregation - -- `public function getAttributeDefinitionIdentifier(): string` -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeFloatRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationInterface - -- `public function getAttributeDefinitionIdentifier(): string` -- `public function getName(): string` -- `public function getRanges(): array<string|int, mixed>` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeFloatStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationInterface - -- `public function getAttributeDefinitionIdentifier(): string` -- `public function getName(): string` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeIntegerRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationInterface - -- `public function getAttributeDefinitionIdentifier(): string` -- `public function getName(): string` -- `public function getRanges(): array<string|int, mixed>` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeIntegerStatsAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeAggregationInterface - -- `public function getAttributeDefinitionIdentifier(): string` -- `public function getName(): string` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AttributeSelectionTermAggregation extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractAttributeTermAggregation - -- `public function getAttributeDefinitionIdentifier(): string` -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\BasePriceStatsAggregation extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractPriceStatsAggregation - -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getName(): string` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\CustomPriceStatsAggregation extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\AbstractPriceStatsAggregation - -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` -- `public function getName(): string` -- `public function setCustomerGroup(CustomerGroupInterface|null $customerGroup): void` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\ProductAvailabilityTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation - -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\ProductPriceRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation - -- `public function getCurrencyCode(): string` -- `public function getName(): string` -- `public function getRanges(): array<string|int, mixed>` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\ProductStockRangeAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation - -- `public function getName(): string` -- `public function getRanges(): array<string|int, mixed>` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Aggregation\ProductTypeTermAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation - -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilderRegistry implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilderRegistryInterface - -- `public function __construct(\Psr\Container\ContainerInterface $builders)` -- `public function getBuilder(string $discriminator): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface` -- `public function hasBuilder(string $discriminator): bool` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilderRegistryInterface - -- `public function getBuilder(string $discriminator): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface` -- `public function hasBuilder(string $discriminator): bool` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface - -- `public function createCriterion(string $identifier, mixed $value): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\CheckboxBuilder implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface - -- `public function createCriterion(string $identifier, mixed $value): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\ColorBuilder implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface - -- `public function createCriterion(string $identifier, mixed $value): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\FloatBuilder implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface - -- `public function createCriterion(string $identifier, mixed $value): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\IntegerBuilder implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface - -- `public function createCriterion(string $identifier, mixed $value): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\SelectionBuilder implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\AttributeCriterionBuilder\AttributeCriterionBuilderInterface - -- `public function createCriterion(string $identifier, mixed $value): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct(string $identifier)` -- `public function getIdentifier(): string` -- `public function getOperator(): string` -- `public function abstract getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` -- `public function setOperator(string $operator): void` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceCriterion implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function getCurrency(): \Money\Currency` -- `public function getOperator(): string` -- `public function getValue(): \Money\Money` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion - -- `public function __construct([Money|null $min = null ][, Money|null $max = null ])` -- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` -- `public function getMax(): \Money\Money|null` -- `public function getMin(): \Money\Money|null` -- `protected function abstract createPriceCriterion(\Money\Money $value, string $operator): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceCriterion` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\BasePrice extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceCriterion - -- `public function getCurrency(): \Money\Currency` -- `public function getOperator(): string` -- `public function getValue(): \Money\Money` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\BasePriceRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceRange - -- `public function __construct([Money|null $min = null ][, Money|null $max = null ])` -- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` -- `public function getMax(): \Money\Money|null` -- `public function getMin(): \Money\Money|null` -- `protected function createPriceCriterion(\Money\Money $value, string $operator): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\BasePrice` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CheckboxAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute - -- `public function __construct(string $identifier, bool|null $value)` -- `public function getIdentifier(): string` -- `public function getOperator(): string` -- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` -- `public function setOperator(string $operator): void` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ColorAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute - -- `public function __construct(string $identifier, array<string|int, string>|null $value)` -- `public function getIdentifier(): string` -- `public function getOperator(): string` -- `public function getValue(): array<string|int, string>|null` -- `public function setOperator(string $operator): void` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface $criteria)` -- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CreatedAt implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct(\DateTimeInterface $createdAt[, string $operator = Operator::EQ ])` -- `public function getOperator(): string` -- `public function getValue(): \DateTimeInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CreatedAtRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion - -- `public function __construct([DateTimeInterface|null $min = null ][, DateTimeInterface|null $max = null ])` -- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` -- `public function getMax(): \DateTimeInterface|null` -- `public function getMin(): \DateTimeInterface|null` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CustomPrice extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceCriterion - -- `public function getCurrency(): \Money\Currency` -- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` -- `public function getOperator(): string` -- `public function getValue(): \Money\Money` -- `public function setCustomerGroup(CustomerGroupInterface|null $customerGroup): void` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CustomPriceRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractPriceRange - -- `public function __construct([Money|null $min = null ][, Money|null $max = null ][, CustomerGroupInterface|null $customerGroup = null ])` -- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` -- `public function getMax(): \Money\Money|null` -- `public function getMin(): \Money\Money|null` -- `protected function createPriceCriterion(\Money\Money $value, string $operator): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CustomPrice` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\FloatAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute - -- `public function __construct(string $identifier, float|null $value)` -- `public function getIdentifier(): string` -- `public function getOperator(): string` -- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` -- `public function setOperator(string $operator): void` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\FloatAttributeRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion - -- `public function __construct(string $identifier[, float|null $min = null ][, float|null $max = null ])` -- `public function getIdentifier(): string` -- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` -- `public function getMax(): float|null` -- `public function getMin(): float|null` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\IntegerAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute - -- `public function __construct(string $identifier, int|null $value)` -- `public function getIdentifier(): string` -- `public function getOperator(): string` -- `public function getValue(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\TValue|null` -- `public function setOperator(string $operator): void` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\IntegerAttributeRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion - -- `public function __construct(string $identifier[, int|null $min = null ][, int|null $max = null ])` -- `public function getIdentifier(): string` -- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` -- `public function getMax(): int|null` -- `public function getMin(): int|null` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\IsVirtual implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct([bool $isVirtual = true ])` -- `public function isVirtual(): bool` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\LogicalAnd implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct(array<string|int, \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface> $criteria)` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface>` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\LogicalNot implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct(\Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface $criterion)` -- `public function getCriterion(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\LogicalOr implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct(array<string|int, \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface> $criteria)` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface>` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\Operator - -- `public const mixed EQ = '='` -- `public const mixed GT = '>'` -- `public const mixed GTE = '>='` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductAvailability implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct([bool $available = true ])` -- `public function isAvailable(): bool` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductCategory implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct(array<string|int, int> $taxonomyEntries)` -- `public function getTaxonomyEntries(): array<string|int, int>` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductCategorySubtree implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct(int $taxonomyEntryId)` -- `public function getTaxonomyEntryId(): int` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductCode implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct(array<string|int, string> $codes)` -- `public function getCodes(): array<string|int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductName implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct(string $name)` -- `public function getName(): string` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductStock implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct(int|null $value[, string $operator = FieldValueCriterion::COMPARISON_EQ ])` -- `public function getOperator(): string` -- `public function getValue(): int|null` -- `public function setOperator(string $operator): void` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductStockRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion - -- `public function __construct([int|null $min = null ][, int|null $max = null ])` -- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` -- `public function getMax(): int|null` -- `public function getMin(): int|null` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\ProductType implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct(array<string|int, string> $types)` -- `public function getTypes(): array<string|int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\SelectionAttribute extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\AbstractAttribute - -- `public function __construct(string $identifier, array<string|int, string>|null $value)` -- `public function getIdentifier(): string` -- `public function getOperator(): string` -- `public function getValue(): array<string|int, string>|null` -- `public function setOperator(string $operator): void` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\UpdatedAt implements Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface - -- `public function __construct(\DateTimeInterface $date[, string $operator = Operator::EQ ])` -- `public function getOperator(): string` -- `public function getValue(): \DateTimeInterface` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\UpdatedAtRange extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\CompositeCriterion - -- `public function __construct([DateTimeInterface|null $min = null ][, DateTimeInterface|null $max = null ])` -- `public function getInnerCriteria(): \Ibexa\Contracts\ProductCatalog\Values\Product\Query\CriterionInterface` -- `public function getMax(): \DateTimeInterface|null` -- `public function getMin(): \DateTimeInterface|null` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause extends Ibexa\Contracts\ProductCatalog\Values\Common\Query\AbstractSortClause - -- `public function getDirection(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\BasePrice extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause - -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getDirection(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\CreatedAt extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause - -- `public function getDirection(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\CustomPrice extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause - -- `public function getCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getCustomerGroup(): \Ibexa\Contracts\ProductCatalog\Values\CustomerGroupInterface|null` -- `public function getDirection(): string` -- `public function setCustomerGroup(CustomerGroupInterface|null $customerGroup): void` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\ProductAvailability extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause - -- `public function getDirection(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\ProductCode extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause - -- `public function getDirection(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\ProductName extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause - -- `public function getDirection(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause\ProductStock extends Ibexa\Contracts\ProductCatalog\Values\Product\Query\SortClause - -- `public function getDirection(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\ProductCatalog\Values\RegionInterface - -- `public function getIdentifier(): string` - -## Ibexa\Contracts\ProductCatalog\Values\Region\Query\Criterion\RegionIdentifierCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\ProductCatalog\Values\Region\RegionListInterface extends IteratorAggregate - -- `public function getRegions(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\RegionInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\ProductCatalog\Values\Region\RegionQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\ProductCatalog\Values\TranslatableInterface - -- `public function getLanguages(): array<int, string>` - -## Ibexa\Contracts\ProductCatalog\Values\VatCategoryInterface - -- `public function getIdentifier(): string` -- `public function getRegion(): string` -- `public function getVatValue(): float|null` - -## Ibexa\Contracts\ProductCatalog\Values\VatCategory\VatCategoryListInterface extends IteratorAggregate - -- `public function getTotalCount(): int` -- `public function getVatCategories(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\VatCategoryInterface>` - -## Ibexa\Contracts\ProductCatalog\VatCalculatorInterface - -- `public function calculate(\Ibexa\Contracts\ProductCatalog\Values\PriceInterface $price, \Ibexa\Contracts\ProductCatalog\Values\VatCategoryInterface $vatCategory): \Money\Money` - -## Ibexa\Contracts\ProductCatalog\VatServiceInterface - -- `public function getVatCategories(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): \Ibexa\Contracts\ProductCatalog\Values\VatCategory\VatCategoryListInterface` -- `public function getVatCategoryByIdentifier(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region, string $identifier): \Ibexa\Contracts\ProductCatalog\Values\VatCategoryInterface` - -## Ibexa\Contracts\Rector\Factory\IbexaRectorConfigFactory implements Ibexa\Contracts\Rector\Factory\IbexaRectorConfigFactoryInterface - -- `public function __construct(array<string|int, mixed> $pathsToProcess[, array<string|int, mixed> $extraSets = [] ])` -- `public function createConfig(): \Rector\Configuration\RectorConfigBuilder` - -## Ibexa\Contracts\Rector\Factory\IbexaRectorConfigFactoryInterface - -- `public function createConfig(): \Rector\Configuration\RectorConfigBuilder` - -## Ibexa\Contracts\Rest\Event\BeforeParseEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(array<string|int, mixed> $data, string $mediaType)` -- `public function getData(): array<string|int, mixed>` -- `public function getMediaType(): string` -- `public function getValueObject(): mixed` -- `public function hasValueObject(): bool` -- `public function isPropagationStopped(): bool` -- `public function setData(array<string|int, mixed> $data): void` -- `public function setMediaType(string $mediaType): void` -- `public function setValueObject(mixed $valueObject): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Rest\Event\ParseEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(mixed $valueObject, array<string|int, mixed> $data, string $mediaType)` -- `public function getData(): array<string|int, mixed>` -- `public function getMediaType(): string` -- `public function getValueObject(): mixed` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Rest\Exceptions\UnauthorizedException extends Ibexa\Contracts\Core\Repository\Exceptions\UnauthorizedException - -- `public function __construct([string $message = '' ][, int $code = 401 ][, Throwable|null $previous = null ])` - -## Ibexa\Contracts\Rest\FieldTypeProcessor - -- `public function postProcessFieldSettingsHash(mixed $outgoingSettingsHash): mixed` -- `public function postProcessValidatorConfigurationHash(mixed $outgoingValidatorConfigurationHash): mixed` -- `public function postProcessValueHash(mixed $outgoingValueHash): mixed` -- `public function preProcessFieldSettingsHash(mixed $incomingSettingsHash): mixed` -- `public function preProcessValidatorConfigurationHash(mixed $incomingValidatorConfigurationHash): mixed` -- `public function preProcessValueHash(mixed $incomingValueHash): mixed` - -## Ibexa\Contracts\Rest\Input\Handler - -- `public function abstract convert(string $string): array<string|int, mixed>|string|int|bool|float|null` - -## Ibexa\Contracts\Rest\Input\MediaTypeParser implements Ibexa\Contracts\Rest\Input\MediaTypeParserInterface - -- `public function parseContentTypeHeader(string $header): string|null` - -## Ibexa\Contracts\Rest\Input\MediaTypeParserInterface - -- `public function parseContentTypeHeader(string $header): string|null` - -## Ibexa\Contracts\Rest\Input\Parser - -- `public function abstract parse(array<string|int, mixed> $data, \Ibexa\Contracts\Rest\Input\ParsingDispatcher $parsingDispatcher): mixed` - -## Ibexa\Contracts\Rest\Input\ParsingDispatcher - -- `public function addParser(string $mediaType, \Ibexa\Contracts\Rest\Input\Parser $parser): void` -- `public function parse(array<string|int, mixed> $data, string $mediaType): mixed` -- `protected function internalParse(array<string|int, mixed> $data, string $mediaType): mixed` -- `protected function parseMediaTypeVersion(string $mediaType): array{: string, : string}` - -## Ibexa\Contracts\Rest\Output\Exceptions\AbstractExceptionVisitor extends Ibexa\Contracts\Rest\Output\ValueObjectVisitor - -- `public function setTemplateRouter(\Symfony\Component\Routing\RouterInterface $templateRouter): void` -- `public function setUriParser(\Ibexa\Contracts\Rest\UriParser\UriParserInterface $uriParser): void` -- `public function visit(\Ibexa\Contracts\Rest\Output\Visitor $visitor, \Ibexa\Contracts\Rest\Output\Generator $generator, \Exception $data): void` -- `protected function canDisplayExceptionMessage(): bool` -- `protected function canDisplayExceptionTrace(): bool` -- `protected function canDisplayPreviousException(): bool` -- `protected function generateErrorCode(\Ibexa\Contracts\Rest\Output\Generator $generator, \Ibexa\Contracts\Rest\Output\Visitor $visitor, \Exception $e): int` -- `protected function getErrorDescription(\Exception $data, int $statusCode): string` -- `protected function getErrorMessage(\Exception $data, int $statusCode): string` -- `protected function getStatus(): int` -- `protected function getTranslator(): \Symfony\Contracts\Translation\TranslatorInterface|null` -- `protected function serializeBool(\Ibexa\Contracts\Rest\Output\Generator $generator, bool|null $boolValue): string|bool` -- `protected function serializeSortField(int $sortField): string` -- `protected function serializeSortOrder(int $sortOrder): string` -- `protected function visitDescriptionsList(\Ibexa\Contracts\Rest\Output\Generator $generator, array<string|int, mixed> $descriptions): void` -- `protected function visitLimitation(\Ibexa\Contracts\Rest\Output\Generator $generator, \Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitation): void` -- `protected function visitNamesList(\Ibexa\Contracts\Rest\Output\Generator $generator, array<string|int, mixed> $names): void` -- `protected function visitTranslatedList(\Ibexa\Contracts\Rest\Output\Generator $generator, array<string|int, mixed> $translatedElements, string $listName): void` - -## Ibexa\Contracts\Rest\Output\Exceptions\InvalidTypeException extends RuntimeException - -- `public function __construct(mixed $data)` - -## Ibexa\Contracts\Rest\Output\Exceptions\NoVisitorFoundException extends RuntimeException - -- `public function __construct(array<string|int, mixed> $classes)` - -## Ibexa\Contracts\Rest\Output\Exceptions\OutputGeneratorException extends RuntimeException - -- `public function __construct(string $message)` - -## Ibexa\Contracts\Rest\Output\Generator - -- `public function attribute(string $name, mixed $value): void` -- `public function endAttribute(string $name): void` -- `public function abstract endDocument(mixed $data): string` -- `public function endHashElement(string $name): void` -- `public function endList(string $name): void` -- `public function endObjectElement(string|int $name): void` -- `public function endValueElement(string $name): void` -- `public function generateFieldTypeHash(string $hashElementName, mixed $hashValue): void` -- `public function abstract getEncoderContext(array<string|int, mixed> $data): array<string|int, mixed>` -- `public function abstract getMediaType(string $name): string` -- `public function isEmpty(): bool` -- `public function reset(): void` -- `public function abstract serializeBool(bool|string|null $boolValue): bool|string` -- `public function setFormatOutput(bool $formatOutput): void` -- `public function abstract startAttribute(string $name, mixed $value): void` -- `public function startDocument(mixed $data): void` -- `public function startHashElement(string $name): void` -- `public function abstract startList(string $name): void` -- `public function startObjectElement(string|int $name[, string|null $mediaTypeName = null ]): void` -- `public function abstract startValueElement(string $name, mixed $value[, array<string|int, mixed> $attributes = [] ]): void` -- `public function valueElement(string $name, mixed $value): void` -- `protected function checkEnd(string $type, mixed $data): void` -- `protected function checkEndAttribute(mixed $data): void` -- `protected function checkEndDocument(mixed $data): void` -- `protected function checkEndHashElement(mixed $data): void` -- `protected function checkEndList(mixed $data): void` -- `protected function checkEndObjectElement(mixed $data): void` -- `protected function checkEndValueElement(mixed $data): void` -- `protected function checkStack(mixed $data): void` -- `protected function checkStart(string $type, mixed $data, array<string|int, string> $validParents): void` -- `protected function checkStartAttribute(mixed $data): void` -- `protected function checkStartDocument(mixed $data): void` -- `protected function checkStartHashElement(mixed $data): void` -- `protected function checkStartList(mixed $data): void` -- `protected function checkStartObjectElement(mixed $data): void` -- `protected function checkStartValueElement(mixed $data): void` -- `protected function generateMediaTypeWithVendor(string $name, string $type[, string $vendor = 'vnd.ibexa.api' ]): string` -- `protected function abstract getData(): \Ibexa\Rest\Output\Generator\Data\DataObjectInterface` -- `protected function getVendor(): string` -- `protected const mixed NULL_PARENT_ELEMENT_EXCEPTION_MESSAGE = 'Parent element at %s cannot be `null`.'` - -## Ibexa\Contracts\Rest\Output\ValueObjectVisitor - -- `public function setTemplateRouter(\Symfony\Component\Routing\RouterInterface $templateRouter): void` -- `public function setUriParser(\Ibexa\Contracts\Rest\UriParser\UriParserInterface $uriParser): void` -- `public function abstract visit(\Ibexa\Contracts\Rest\Output\Visitor $visitor, \Ibexa\Contracts\Rest\Output\Generator $generator, mixed $data): mixed` -- `protected function serializeBool(\Ibexa\Contracts\Rest\Output\Generator $generator, bool|null $boolValue): string|bool` -- `protected function serializeSortField(int $sortField): string` -- `protected function serializeSortOrder(int $sortOrder): string` -- `protected function visitDescriptionsList(\Ibexa\Contracts\Rest\Output\Generator $generator, array<string|int, mixed> $descriptions): void` -- `protected function visitLimitation(\Ibexa\Contracts\Rest\Output\Generator $generator, \Ibexa\Contracts\Core\Repository\Values\User\Limitation $limitation): void` -- `protected function visitNamesList(\Ibexa\Contracts\Rest\Output\Generator $generator, array<string|int, mixed> $names): void` -- `protected function visitTranslatedList(\Ibexa\Contracts\Rest\Output\Generator $generator, array<string|int, mixed> $translatedElements, string $listName): void` - -## Ibexa\Contracts\Rest\Output\ValueObjectVisitorResolver implements Ibexa\Contracts\Rest\Output\ValueObjectVisitorResolverInterface - -- `public function addVisitor(class-string $visitedClassName, \Ibexa\Contracts\Rest\Output\ValueObjectVisitor $visitor): void` -- `public function resolveValueObjectVisitor(object $object): \Ibexa\Contracts\Rest\Output\ValueObjectVisitor|null` - -## Ibexa\Contracts\Rest\Output\ValueObjectVisitorResolverInterface - -- `public function resolveValueObjectVisitor(object $object): \Ibexa\Contracts\Rest\Output\ValueObjectVisitor|null` - -## Ibexa\Contracts\Rest\Output\Visitor - -- `public function getGenerator(): \Ibexa\Contracts\Rest\Output\Generator` -- `public function getMediaType(string $type): string` -- `public function getResponse(): \Symfony\Component\HttpFoundation\Response` -- `public function setHeader(string $name, mixed $value): void` -- `public function setStatus(int $statusCode): void` -- `public function visit(mixed $data): \Symfony\Component\HttpFoundation\Response` -- `public function visitValueObject(mixed $data): void` - -## Ibexa\Contracts\Rest\Output\VisitorAdapterNormalizer implements Symfony\Component\Serializer\Normalizer\NormalizerInterface, Symfony\Component\Serializer\Normalizer\NormalizerAwareInterface - -- `public function getSupportedTypes(string|null $format): array<string|int, mixed>` -- `public function normalize(mixed $object[, string|null $format = null ][, array<string, mixed> $context = [] ]): array<string|int, mixed>|bool|string|int|float|null|ArrayObject` -- `public function supportsNormalization(mixed $data[, string|null $format = null ][, array<string, mixed> $context = [] ]): bool` -- `public const mixed ENCODER_CONTEXT = 'ENCODER_CONTEXT'` - -## Ibexa\Contracts\Rest\UriParser\UriParserInterface - -- `public function getAttributeFromUri(string $uri, string $attribute[, string $method = 'GET' ]): string` -- `public function hasRestPrefix(string $uri): bool` -- `public function isRestRequest(\Symfony\Component\HttpFoundation\Request $request): bool` - -## Ibexa\Contracts\Scheduler\Repository\DateBasedEntriesListInterface - -- `public function countScheduledEntries(): int` -- `public function countScheduledEntriesInDateRange(\DateTimeInterface $start, \DateTimeInterface $end[, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language> $languages = [] ][, int|null $sinceId = null ]): int` -- `public function countScheduledEntriesToProcess(): int` -- `public function getScheduledEntriesByIds(array<string|int, int> $scheduledEntriesIds): iterable<string|int, \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry>` -- `public function getScheduledEntriesInDateRange(\DateTimeInterface $start, \DateTimeInterface $end[, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language> $languages = [] ][, int|null $sinceId = null ][, int $limit = 25 ]): array<string|int, \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry>` -- `public function getScheduledEntriesToProcess([int $limit = 25 ]): iterable<string|int, \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry>` - -## Ibexa\Contracts\Scheduler\Repository\DateBasedHideServiceInterface extends Ibexa\Contracts\Scheduler\Repository\DateBasedEntriesListInterface - -- `public function countScheduledEntries(): int` -- `public function countScheduledEntriesInDateRange(\DateTimeInterface $start, \DateTimeInterface $end[, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language> $languages = [] ][, int|null $sinceId = null ]): int` -- `public function countScheduledEntriesToProcess(): int` -- `public function getScheduledEntriesByIds(array<string|int, int> $scheduledEntriesIds): iterable<string|int, \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry>` -- `public function getScheduledEntriesInDateRange(\DateTimeInterface $start, \DateTimeInterface $end[, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language> $languages = [] ][, int|null $sinceId = null ][, int $limit = 25 ]): array<string|int, \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry>` -- `public function getScheduledEntriesToProcess([int $limit = 25 ]): iterable<string|int, \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry>` -- `public function getScheduledHide(int $contentId): \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry` -- `public function isScheduledHide(int $contentId): bool` -- `public function scheduleHide(int $contentId, \DateTimeInterface $when): \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry` -- `public function unscheduleHide(int $contentId): bool` -- `public function updateScheduledHide(\Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry $scheduledEntry, \DateTimeInterface $when): \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry` - -## Ibexa\Contracts\Scheduler\Repository\DateBasedPublishServiceInterface extends Ibexa\Contracts\Scheduler\Repository\DateBasedEntriesListInterface - -- `public function countScheduledEntries(): int` -- `public function countScheduledEntriesInDateRange(\DateTimeInterface $start, \DateTimeInterface $end[, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language> $languages = [] ][, int|null $sinceId = null ]): int` -- `public function countScheduledEntriesToProcess(): int` -- `public function countUserScheduledVersions(): int` -- `public function countVersionsEntriesForContent(int $contentId): int` -- `public function getScheduledEntriesByIds(array<string|int, int> $scheduledEntriesIds): iterable<string|int, \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry>` -- `public function getScheduledEntriesInDateRange(\DateTimeInterface $start, \DateTimeInterface $end[, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Language> $languages = [] ][, int|null $sinceId = null ][, int $limit = 25 ]): array<string|int, \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry>` -- `public function getScheduledEntriesToProcess([int $limit = 25 ]): iterable<string|int, \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry>` -- `public function getScheduledPublish(int $versionId): \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry` -- `public function getScheduledVersions([int $page = 0 ][, int $limit = 25 ]): iterable<string|int, \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry>` -- `public function getUserScheduledVersions(int $page, int $limit): iterable<string|int, \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry>` -- `public function getVersionsEntriesForContent(int $contentId[, int $page = 0 ][, int $limit = 25 ]): iterable<string|int, \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry>` -- `public function isScheduledPublish(int $versionId): bool` -- `public function schedulePublish(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo, \DateTimeInterface $when): \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry` -- `public function unschedulePublish(int $versionId): bool` -- `public function updateScheduledPublish(\Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry $scheduledEntry, \DateTimeInterface $when): \Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry` - -## Ibexa\Contracts\Scheduler\ValueObject\NotScheduledEntry extends Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntry extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Scheduler\ValueObject\ScheduledEntryList extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Search\Event\BuildSuggestionCollectionEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Search\Model\SuggestionQuery $query)` -- `public function getQuery(): \Ibexa\Search\Model\SuggestionQuery` -- `public function getSuggestionCollection(): \Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Search\Event\Service\BeforeSuggestEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Search\Model\SuggestionQuery $query)` -- `public function getQuery(): \Ibexa\Search\Model\SuggestionQuery` -- `public function getSuggestionCollection(): \Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection|null` -- `public function isPropagationStopped(): bool` -- `public function setQuery(\Ibexa\Search\Model\SuggestionQuery $query): void` -- `public function setSuggestionCollection(\Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection $suggestionCollection): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Search\Event\Service\SuggestEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Search\Model\SuggestionQuery $query, \Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection $suggestionCollection)` -- `public function getQuery(): \Ibexa\Search\Model\SuggestionQuery` -- `public function getSuggestionCollection(): \Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Search\Mapper\PagerSearchDataMapper - -- `public function map(Pagerfanta<string|int, SearchHit<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Content>> $pager): array<string|int, mixed>` - -## Ibexa\Contracts\Search\Mapper\SearchHitToContentSuggestionMapperInterface - -- `public function map(\Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchHit $searchHit): \Ibexa\Contracts\Search\Model\Suggestion\ContentSuggestion|null` - -## Ibexa\Contracts\Search\Model\Suggestion\ContentSuggestion extends Ibexa\Contracts\Search\Model\Suggestion\Suggestion - -- `public function __construct(float $score, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType $contentType[, string $pathString = '' ][, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Location> $parentLocations = [] ])` -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentType(): \Ibexa\Contracts\Core\Repository\Values\ContentType\ContentType` -- `public function getName(): string|null` -- `public function getParentsLocation(): \Ibexa\Contracts\Search\Model\Suggestion\ParentLocationCollection` -- `public function getPathString(): string` -- `public function getScore(): float` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Search\Model\Suggestion\ParentLocationCollection extends Ibexa\Contracts\Core\Collection\MutableArrayList - -- `public function append(mixed $item): void` -- `public function clear(): void` -- `public function contains(mixed $value): bool` -- `public function count(): int` -- `public function exists(\Closure $predicate): bool` -- `public function filter(\Closure $predicate): self` -- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function forAll(\Closure $predicate): bool` -- `public function getIterator(): \Iterator` -- `public function isEmpty(): bool` -- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function map(\Closure $function): self` -- `public function prepend(mixed $value): void` -- `public function remove(mixed $value): void` -- `public function toArray(): array<string|int, mixed>` -- `protected function createFrom(array<string|int, mixed> $items): \Ibexa\Contracts\Core\Collection\MutableArrayList` - -## Ibexa\Contracts\Search\Model\Suggestion\Suggestion extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(float $score[, string|null $name = null ])` -- `public function getName(): string|null` -- `public function getScore(): float` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection extends Ibexa\Contracts\Core\Collection\MutableArrayList - -- `public function append(mixed $item): void` -- `public function clear(): void` -- `public function contains(mixed $value): bool` -- `public function count(): int` -- `public function decreaseTotalCount(int $totalCount): void` -- `public function exists(\Closure $predicate): bool` -- `public function filter(\Closure $predicate): self` -- `public function first(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function forAll(\Closure $predicate): bool` -- `public function getIterator(): \Iterator` -- `public function getTotalCount(): int` -- `public function increaseTotalCount(int $totalCount): void` -- `public function isEmpty(): bool` -- `public function last(): \Ibexa\Contracts\Core\Collection\TValue` -- `public function map(\Closure $function): self` -- `public function prepend(mixed $value): void` -- `public function remove(mixed $value): void` -- `public function sortByScore(): void` -- `public function toArray(): array<string|int, mixed>` -- `public function truncate(int $count): void` -- `protected function createFrom(array<string|int, mixed> $items): \Ibexa\Contracts\Core\Collection\MutableArrayList` - -## Ibexa\Contracts\Search\Provider\ParentLocationProviderInterface - -- `public function provide(array<string|int, int> $parentLocationIds): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` - -## Ibexa\Contracts\Search\Service\Decorator\SuggestionServiceDecorator implements Ibexa\Contracts\Search\Service\SuggestionServiceInterface - -- `public function suggest(\Ibexa\Search\Model\SuggestionQuery $query): \Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection` - -## Ibexa\Contracts\Search\Service\SuggestionServiceInterface - -- `public function suggest(\Ibexa\Search\Model\SuggestionQuery $query): \Ibexa\Contracts\Search\Model\Suggestion\SuggestionCollection` - -## Ibexa\Contracts\Search\SortingDefinition\SortingDefinition implements Ibexa\Contracts\Search\SortingDefinition\SortingDefinitionInterface - -- `public function __construct(string $identifier, string $label, array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause> $sortClauses[, int $priority = 0 ])` -- `public function getIdentifier(): string` -- `public function getLabel(): string` -- `public function getPriority(): int` -- `public function getSortClauses(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause>` - -## Ibexa\Contracts\Search\SortingDefinition\SortingDefinitionInterface - -- `public function getIdentifier(): string` -- `public function getLabel(): string` -- `public function getPriority(): int` -- `public function getSortClauses(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause>` - -## Ibexa\Contracts\Search\SortingDefinition\SortingDefinitionProviderInterface - -- `public function getSortingDefinitions(): array<string|int, \Ibexa\Contracts\Search\SortingDefinition\SortingDefinitionInterface>` - -## Ibexa\Contracts\Search\SortingDefinition\SortingDefinitionRegistryInterface - -- `public function getDefaultSortingDefinition(): \Ibexa\Contracts\Search\SortingDefinition\SortingDefinitionInterface|null` -- `public function getSortingDefinitions(): array<string|int, \Ibexa\Contracts\Search\SortingDefinition\SortingDefinitionInterface>` - -## Ibexa\Contracts\Segmentation\Event\AssignUserToSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment)` -- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\BeforeAssignUserToSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment)` -- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\BeforeCreateSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Segmentation\Value\SegmentCreateStruct $createStruct[, Segment|null $segmentResult = null ])` -- `public function getCreateStruct(): \Ibexa\Segmentation\Value\SegmentCreateStruct` -- `public function getSegmentResult(): \Ibexa\Segmentation\Value\Segment` -- `public function hasSegmentResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setSegmentResult(Segment|null $segmentResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\BeforeCreateSegmentGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Segmentation\Value\SegmentGroupCreateStruct $createStruct[, SegmentGroup|null $segmentGroupResult = null ])` -- `public function getCreateStruct(): \Ibexa\Segmentation\Value\SegmentGroupCreateStruct` -- `public function getSegmentGroupResult(): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function hasSegmentGroupResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setSegmentGroupResult(SegmentGroup|null $segmentGroupResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\BeforeRemoveSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Segmentation\Value\Segment $segment)` -- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\BeforeRemoveSegmentGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup)` -- `public function getSegmentGroup(): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\BeforeUnassignUserFromSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment)` -- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\BeforeUpdateSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Segmentation\Value\Segment $segment, \Ibexa\Segmentation\Value\SegmentUpdateStruct $updateStruct[, Segment|null $segmentResult = null ])` -- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` -- `public function getSegmentResult(): \Ibexa\Segmentation\Value\Segment` -- `public function getUpdateStruct(): \Ibexa\Segmentation\Value\SegmentUpdateStruct` -- `public function hasSegmentResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setSegmentResult(Segment|null $segmentResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\BeforeUpdateSegmentGroupEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup, \Ibexa\Segmentation\Value\SegmentGroupUpdateStruct $updateStruct[, SegmentGroup|null $segmentGroupResult = null ])` -- `public function getSegmentGroup(): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function getSegmentGroupResult(): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function getUpdateStruct(): \Ibexa\Segmentation\Value\SegmentGroupUpdateStruct` -- `public function hasSegmentGroupResult(): bool` -- `public function isPropagationStopped(): bool` -- `public function setSegmentGroupResult(SegmentGroup|null $segmentGroupResult): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\CreateSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Segmentation\Value\SegmentCreateStruct $createStruct, \Ibexa\Segmentation\Value\Segment $segmentResult)` -- `public function getCreateStruct(): \Ibexa\Segmentation\Value\SegmentCreateStruct` -- `public function getSegmentResult(): \Ibexa\Segmentation\Value\Segment` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\CreateSegmentGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Segmentation\Value\SegmentGroupCreateStruct $createStruct, \Ibexa\Segmentation\Value\SegmentGroup $segmentGroupResult)` -- `public function getCreateStruct(): \Ibexa\Segmentation\Value\SegmentGroupCreateStruct` -- `public function getSegmentGroupResult(): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\RemoveSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Segmentation\Value\Segment $segment)` -- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\RemoveSegmentGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup)` -- `public function getSegmentGroup(): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\UnassignUserFromSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment)` -- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\UpdateSegmentEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Segmentation\Value\Segment $segment, \Ibexa\Segmentation\Value\SegmentUpdateStruct $updateStruct, \Ibexa\Segmentation\Value\Segment $segmentResult)` -- `public function getSegment(): \Ibexa\Segmentation\Value\Segment` -- `public function getSegmentResult(): \Ibexa\Segmentation\Value\Segment` -- `public function getUpdateStruct(): \Ibexa\Segmentation\Value\SegmentUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Event\UpdateSegmentGroupEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup, \Ibexa\Segmentation\Value\SegmentGroupUpdateStruct $updateStruct, \Ibexa\Segmentation\Value\SegmentGroup $segmentGroupResult)` -- `public function getSegmentGroup(): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function getSegmentGroupResult(): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function getUpdateStruct(): \Ibexa\Segmentation\Value\SegmentGroupUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Segmentation\Exception\ValidationFailedExceptionInterface extends Throwable - -- `public function getErrors(): \Symfony\Component\Validator\ConstraintViolationListInterface` - -## Ibexa\Contracts\Segmentation\SegmentationServiceDecorator implements Ibexa\Contracts\Segmentation\SegmentationServiceInterface - -- `public function assignUserToSegment(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment): void` -- `public function createSegment(\Ibexa\Segmentation\Value\SegmentCreateStruct $createStruct): \Ibexa\Segmentation\Value\Segment` -- `public function createSegmentGroup(\Ibexa\Segmentation\Value\SegmentGroupCreateStruct $createStruct): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function isUserAssignedToSegment(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment): bool` -- `public function loadSegment(int $segmentId): \Ibexa\Segmentation\Value\Segment` -- `public function loadSegmentByIdentifier(string $identifier): \Ibexa\Segmentation\Value\Segment` -- `public function loadSegmentGroup(int $segmentGroupId): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function loadSegmentGroupByIdentifier(string $identifier): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function loadSegmentGroups(): array<string|int, \Ibexa\Segmentation\Value\SegmentGroup>` -- `public function loadSegmentsAssignedToCurrentUser(): array<string|int, \Ibexa\Segmentation\Value\Segment>` -- `public function loadSegmentsAssignedToGroup(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup): array<string|int, \Ibexa\Segmentation\Value\Segment>` -- `public function loadSegmentsAssignedToUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): array<string|int, \Ibexa\Segmentation\Value\Segment>` -- `public function removeSegment(\Ibexa\Segmentation\Value\Segment $segment): void` -- `public function removeSegmentGroup(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup): void` -- `public function unassignUserFromSegment(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment): void` -- `public function updateSegment(\Ibexa\Segmentation\Value\Segment $segment, \Ibexa\Segmentation\Value\SegmentUpdateStruct $updateStruct): \Ibexa\Segmentation\Value\Segment` -- `public function updateSegmentGroup(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup, \Ibexa\Segmentation\Value\SegmentGroupUpdateStruct $updateStruct): \Ibexa\Segmentation\Value\SegmentGroup` - -## Ibexa\Contracts\Segmentation\SegmentationServiceInterface - -- `public function assignUserToSegment(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment): void` -- `public function createSegment(\Ibexa\Segmentation\Value\SegmentCreateStruct $createStruct): \Ibexa\Segmentation\Value\Segment` -- `public function createSegmentGroup(\Ibexa\Segmentation\Value\SegmentGroupCreateStruct $createStruct): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function isUserAssignedToSegment(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment): bool` -- `public function loadSegment(int $segmentId): \Ibexa\Segmentation\Value\Segment` -- `public function loadSegmentByIdentifier(string $identifier): \Ibexa\Segmentation\Value\Segment` -- `public function loadSegmentGroup(int $segmentGroupId): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function loadSegmentGroupByIdentifier(string $identifier): \Ibexa\Segmentation\Value\SegmentGroup` -- `public function loadSegmentGroups(): array<string|int, \Ibexa\Segmentation\Value\SegmentGroup>` -- `public function loadSegmentsAssignedToCurrentUser(): array<string|int, \Ibexa\Segmentation\Value\Segment>` -- `public function loadSegmentsAssignedToGroup(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup): array<string|int, \Ibexa\Segmentation\Value\Segment>` -- `public function loadSegmentsAssignedToUser(\Ibexa\Contracts\Core\Repository\Values\User\User $user): array<string|int, \Ibexa\Segmentation\Value\Segment>` -- `public function removeSegment(\Ibexa\Segmentation\Value\Segment $segment): void` -- `public function removeSegmentGroup(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup): void` -- `public function unassignUserFromSegment(\Ibexa\Contracts\Core\Repository\Values\User\User $user, \Ibexa\Segmentation\Value\Segment $segment): void` -- `public function updateSegment(\Ibexa\Segmentation\Value\Segment $segment, \Ibexa\Segmentation\Value\SegmentUpdateStruct $updateStruct): \Ibexa\Segmentation\Value\Segment` -- `public function updateSegmentGroup(\Ibexa\Segmentation\Value\SegmentGroup $segmentGroup, \Ibexa\Segmentation\Value\SegmentGroupUpdateStruct $updateStruct): \Ibexa\Segmentation\Value\SegmentGroup` - -## Ibexa\Contracts\Seo\Renderer\TagRendererRegistryInterface - -- `public function render(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $type, string $field, string $value, array<string|int, mixed> $fieldConfig): string` - -## Ibexa\Contracts\Seo\Renderer\Tag\TagRendererInterface - -- `public function render(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $type, string $field, string $value, array<string|int, mixed> $fieldConfig): string` -- `public function support(string $type, string $field): bool` - -## Ibexa\Contracts\Seo\Resolver\FieldReferenceResolverInterface - -- `public function resolve(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, string $fieldValue): string` - -## Ibexa\Contracts\Seo\Resolver\FieldValueResolverInterface - -- `public function resolve(\Ibexa\Contracts\Core\FieldType\Value $value): string` - -## Ibexa\Contracts\Seo\Value\ValueInterface extends Stringable - -- `public function getSeoTypesValues(): array<string|int, \Ibexa\Seo\Value\SeoTypeValue>` - -## Ibexa\Contracts\Share\Collaboration\ContentSession extends Ibexa\Contracts\Collaboration\Session\AbstractSession - -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getId(): int` -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function getParticipants(): \Ibexa\Contracts\Collaboration\Participant\ParticipantCollectionInterface` -- `public function getToken(): string` -- `public function getUpdatedAt(): \DateTimeInterface` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function hasPublicLink(): bool` -- `public function isActive(): bool` -- `public const mixed IDENTIFIER = 'content'` - -## Ibexa\Contracts\Share\Collaboration\ContentSessionCreateStruct extends Ibexa\Contracts\Collaboration\Session\AbstractSessionCreateStruct - -- `public function getLanguage(): \Ibexa\Contracts\Core\Repository\Values\Content\Language` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` -- `public function getToken(): string|null` -- `public function getType(): string` -- `public function getVersionInfo(): \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo` -- `public function hasPublicLink(): bool|null` -- `public function isActive(): bool` -- `public function setHasPublicLink(bool $hasPublicLink): void` -- `public function setLanguage(\Ibexa\Contracts\Core\Repository\Values\Content\Language $language): void` -- `public function setOwner(UserReference|null $owner): void` -- `public function setToken(string|null $token): void` -- `public function setVersionInfo(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Share\Collaboration\ContentSessionScope implements Ibexa\Contracts\Collaboration\Session\SessionScopeInterface - -- `public function getScopes(): array<string|int, string>` -- `public function isValidScope(string $scope): bool` -- `public const mixed EDIT = 'edit'` -- `public const mixed VIEW = 'view'` - -## Ibexa\Contracts\Share\Collaboration\ContentSessionUpdateStruct extends Ibexa\Contracts\Collaboration\Session\AbstractSessionUpdateStruct - -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` -- `public function getToken(): string|null` -- `public function getType(): string` -- `public function hasPublicLink(): bool|null` -- `public function isActive(): bool|null` -- `public function setHasPublicLink(bool|null $hasPublicLink): void` -- `public function setIsActive(bool|null $isActive): void` -- `public function setOwner(UserReference|null $owner): void` -- `public function setToken(string|null $token): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Share\Event\UsersWithPermissionInfoMappedEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(Result<string|int, \Ibexa\Contracts\Share\Event\T> $result, \Ibexa\Contracts\Share\Values\PermissionCheckContext $context, string $module, string $function)` -- `public function getContext(): \Ibexa\Contracts\Share\Values\PermissionCheckContext` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getResult(): \Ibexa\Contracts\Share\Permission\Mapper\Result<string|int, \Ibexa\Contracts\Share\Event\T>` -- `public function isPropagationStopped(): bool` -- `public function setResult(Result<string|int, \Ibexa\Contracts\Share\Event\T> $result): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Share\Mapper\Action\ShareActionItemsMapperInterface - -- `public function map(array<string|int, string> $scopes, bool $isOwner, bool $canShareWithOthers[, ContentType|null $contentType = null ]): array<string, mixed>` - -## Ibexa\Contracts\Share\Permission\PermissionCheckContextProviderInterface - -- `public function getPermissionCheckContext(string $module, string $function, \Symfony\Component\HttpFoundation\Request $request): \Ibexa\Contracts\Share\Values\PermissionCheckContext` -- `public function supports(string $module, string $function): bool` - -## Ibexa\Contracts\Share\UI\Component\AbstractShareComponent implements Ibexa\Contracts\TwigComponents\ComponentInterface - -- `public function render([array<string, mixed> $parameters = [] ]): string` -- `protected function abstract canManagePublicLink(array<string, mixed> $parameters): bool` -- `protected function abstract canShareWithOthers(array<string, mixed> $parameters): bool` -- `protected function abstract getActiveSession(array<string, mixed> $parameters): \Ibexa\Contracts\Collaboration\Session\SessionInterface|null` -- `protected function abstract getAllowedShareScopes(array<string, mixed> $parameters): array<string, mixed>` -- `protected function abstract isContextOwner(array<string, mixed> $parameters): bool` - -## Ibexa\Contracts\Share\Values\PermissionCheckContext - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ValueObject $subject, array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject> $targets[, CriterionInterface|null $criteria = null ])` -- `public function getCriteria(): \Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface|null` -- `public function getSubject(): \Ibexa\Contracts\Core\Repository\Values\ValueObject` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Shipping\Iterator\BatchIteratorAdapter\RegionWithDefinedVatFilter extends FilterIterator - -- `public function __construct(\Iterator $iterator, \Ibexa\Contracts\ProductCatalog\VatServiceInterface $vatService)` -- `public function accept(): bool` - -## Ibexa\Contracts\Shipping\Iterator\BatchIteratorAdapter\Shipment\BatchIteratorAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\Shipping\ShippingMethodServiceInterface $shippingMethodService[, ShippingMethodQuery|null $query = null ])` -- `public function fetch(int $offset, int $limit): \Iterator` - -## Ibexa\Contracts\Shipping\Iterator\BatchIteratorAdapter\ShippingMethodListAdapter implements Ibexa\Contracts\Core\Repository\Iterator\BatchIteratorAdapter - -- `public function __construct(\Ibexa\Contracts\Shipping\ShippingMethodServiceInterface $shippingMethodService, \Ibexa\Contracts\ProductCatalog\RegionResolverInterface $regionResolver)` -- `public function fetch(int $offset, int $limit): \Iterator<mixed, \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface>` - -## Ibexa\Contracts\Shipping\LocalShippingMethodServiceInterface extends Ibexa\Contracts\Shipping\ShippingMethodServiceInterface - -- `public function createShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct $createStruct): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` -- `public function deleteShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod): void` -- `public function deleteShippingMethodTranslation(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodDeleteTranslationStruct $struct): void` -- `public function findShippingMethods([ShippingMethodQuery|null $query = null ][, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodListInterface` -- `public function getShippingMethod(string $identifier[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` -- `public function getShippingMethodById(int $id[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` -- `public function isShippingMethodUsed(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod): bool` -- `public function newShippingMethodCreateStruct(string $identifier): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct` -- `public function newShippingMethodUpdateStruct(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct` -- `public function updateShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod, \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct $updateStruct): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` - -## Ibexa\Contracts\Shipping\Local\ShippingMethod\OptionsFormMapperInterface - -- `public function createOptionsForm(string $name, \Symfony\Component\Form\FormBuilderInterface $builder[, array<string, mixed> $context = [] ]): void` - -## Ibexa\Contracts\Shipping\Local\ShippingMethod\OptionsRestMapperInterface - -- `public function mapOption(string $key, mixed $value): string` -- `public function supports(\Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface $shippingMethodType, string $key): bool` - -## Ibexa\Contracts\Shipping\Local\ShippingMethod\OptionsRestMapperRegistryInterface - -- `public function getMapper(\Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface $shippingMethodType, string $optionKey): \Ibexa\Contracts\Shipping\Local\ShippingMethod\OptionsRestMapperInterface` -- `public function hasMapper(\Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface $shippingMethodType, string $optionKey): bool` - -## Ibexa\Contracts\Shipping\Local\ShippingMethod\StorageConverterInterface - -- `public function fromPersistence(\Ibexa\Contracts\Shipping\Local\ShippingMethod\TPersistenceValue $data): \Ibexa\Contracts\Shipping\Local\ShippingMethod\TValue` -- `public function toPersistence(\Ibexa\Contracts\Shipping\Local\ShippingMethod\TValue $value): \Ibexa\Contracts\Shipping\Local\ShippingMethod\TPersistenceValue` - -## Ibexa\Contracts\Shipping\Local\ShippingMethod\StorageDefinitionInterface - -- `public function getColumns(): array<string|int, mixed>` -- `public function getTableName(): non-empty-string` - -## Ibexa\Contracts\Shipping\Notification\ShipmentAwareNotificationInterface - -- `public function getShipment(): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` - -## Ibexa\Contracts\Shipping\Notification\ShipmentStatusChange extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface, Ibexa\Contracts\Shipping\Notification\ShipmentAwareNotificationInterface, Ibexa\Contracts\OrderManagement\Notification\OrderAwareNotificationInterface, Symfony\Component\Notifier\Notification\SmsNotificationInterface - -- `public function __construct(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment, \Symfony\Component\Workflow\WorkflowInterface $workflow, \Symfony\Component\Workflow\Transition $transition, \Symfony\Component\Workflow\Marking $marking, array<string|int, mixed> $context)` -- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` -- `public function asSmsMessage(\Symfony\Component\Notifier\Recipient\SmsRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\SmsMessage|null` -- `public function getContext(): array<string|int, mixed>` -- `public function getMarking(): \Symfony\Component\Workflow\Marking` -- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function getShipment(): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` -- `public function getTransition(): \Symfony\Component\Workflow\Transition` -- `public function getWorkflow(): \Symfony\Component\Workflow\WorkflowInterface` - -## Ibexa\Contracts\Shipping\ShipmentServiceDecorator implements Ibexa\Contracts\Shipping\ShipmentServiceInterface - -- `public function createShipment(\Ibexa\Contracts\Shipping\Shipment\ShipmentCreateStruct $createStruct): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` -- `public function deleteShipment(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment): void` -- `public function findShipments([ShipmentQuery|null $query = null ]): \Ibexa\Contracts\Shipping\Shipment\ShipmentListInterface` -- `public function getShipment(int $id): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` -- `public function getShipmentByIdentifier(string $identifier): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` -- `public function updateShipment(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment, \Ibexa\Contracts\Shipping\Shipment\ShipmentUpdateStruct $updateStruct): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` - -## Ibexa\Contracts\Shipping\ShipmentServiceInterface - -- `public function createShipment(\Ibexa\Contracts\Shipping\Shipment\ShipmentCreateStruct $createStruct): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` -- `public function deleteShipment(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment): void` -- `public function findShipments([ShipmentQuery|null $query = null ]): \Ibexa\Contracts\Shipping\Shipment\ShipmentListInterface` -- `public function getShipment(int $id): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` -- `public function getShipmentByIdentifier(string $identifier): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` -- `public function updateShipment(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment, \Ibexa\Contracts\Shipping\Shipment\ShipmentUpdateStruct $updateStruct): \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface` - -## Ibexa\Contracts\Shipping\Shipment\Permission\Create implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct(ShipmentCreateStruct|null $createStruct)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Shipping\Shipment\ShipmentCreateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Shipping\Shipment\Permission\Delete implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Shipping\Shipment\Permission\Edit implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct(\Ibexa\Contracts\Shipping\Shipment\ShipmentInterface $shipment)` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Shipping\Shipment\Permission\View implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct([ShipmentInterface|null $shipment = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\Currency extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\Id extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\LogicalAnd extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalAnd implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\LogicalOr extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\LogicalOr implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface - -- `public function __construct(CriterionInterface ...$criteria)` -- `public function add(CriterionInterface ...$criteria): void` -- `public function getCriteria(): array<string|int, \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface>` -- `public function remove(CriterionInterface ...$criteria): void` -- `public function setCriteria(CriterionInterface ...$criteria): void` - -## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\Order extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\Owner extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\ShippingMethod extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\Status extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Shipment\Query\Criterion\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion implements Ibexa\Contracts\Shipping\Shipment\Query\CriterionInterface - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Shipment\Query\SortClause\CreatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Shipping\Shipment\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Shipping\Shipment\Query\SortClause\Id extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Shipping\Shipment\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Shipping\Shipment\Query\SortClause\Identifier extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Shipping\Shipment\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Shipping\Shipment\Query\SortClause\Status extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Shipping\Shipment\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Shipping\Shipment\Query\SortClause\UpdatedAt extends Ibexa\Contracts\CoreSearch\Values\Query\SortClause\FieldValueSortClause implements Ibexa\Contracts\Shipping\Shipment\Query\SortClauseInterface - -- `public function getDirection(): string` -- `public function getField(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Shipping\Shipment\ShipmentCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Shipping\Workflow\WorkflowSubjectInterface - -- `public function __construct(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method, \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order, \Money\Money $amount[, UserReference|null $owner = null ])` -- `public function getAmount(): \Money\Money` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getIdentifier(): string|null` -- `public function getMethod(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` -- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` -- `public function setAmount(\Money\Money $amount): void` -- `public function setContext(MapInterface<string, mixed>|null $context): void` -- `public function setIdentifier(string|null $identifier): void` -- `public function setMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method): void` -- `public function setOrder(\Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface $order): void` -- `public function setOwner([UserReference|null $owner = null ]): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Shipping\Shipment\ShipmentInterface extends Ibexa\Contracts\Shipping\Workflow\WorkflowSubjectInterface - -- `public function getAmount(): \Money\Money` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getCreatedAt(): \DateTimeInterface` -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getMethod(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` -- `public function getOrder(): \Ibexa\Contracts\OrderManagement\Value\Order\OrderInterface` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\User|null` -- `public function getStatus(): string` -- `public function getUpdatedAt(): \DateTimeInterface` - -## Ibexa\Contracts\Shipping\Shipment\ShipmentListInterface extends IteratorAggregate - -- `public function getShipments(): array<string|int, \Ibexa\Contracts\Shipping\Shipment\ShipmentInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Shipping\Shipment\ShipmentQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\Shipping\Shipment\ShipmentUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([string|null $transition = null ][, string|null $identifier = null ][, UserReference|null $owner = null ][, MapInterface<string, mixed>|null $context = null ])` -- `public function getContext(): \Ibexa\Contracts\Core\Collection\MapInterface<string, mixed>|null` -- `public function getIdentifier(): string|null` -- `public function getOwner(): \Ibexa\Contracts\Core\Repository\Values\User\UserReference|null` -- `public function getTransition(): string|null` -- `public function setContext(MapInterface<string, mixed>|null $context): void` -- `public function setIdentifier(string|null $identifier): void` -- `public function setOwner([UserReference|null $owner = null ]): void` -- `public function setTransition(string|null $transition): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Shipping\ShippingMethodServiceDecorator implements Ibexa\Contracts\Shipping\ShippingMethodServiceInterface - -- `public function createShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct $createStruct): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` -- `public function deleteShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod): void` -- `public function deleteShippingMethodTranslation(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodDeleteTranslationStruct $struct): void` -- `public function findShippingMethods([ShippingMethodQuery|null $query = null ][, array<string|int, mixed>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodListInterface` -- `public function getShippingMethod(string $identifier[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` -- `public function getShippingMethodById(int $id[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` -- `public function isShippingMethodUsed(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod): bool` -- `public function newShippingMethodCreateStruct(string $identifier): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct` -- `public function newShippingMethodUpdateStruct(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct` -- `public function updateShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod, \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct $updateStruct): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` - -## Ibexa\Contracts\Shipping\ShippingMethodServiceInterface - -- `public function createShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct $createStruct): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` -- `public function deleteShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod): void` -- `public function deleteShippingMethodTranslation(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodDeleteTranslationStruct $struct): void` -- `public function findShippingMethods([ShippingMethodQuery|null $query = null ][, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodListInterface` -- `public function getShippingMethod(string $identifier[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` -- `public function getShippingMethodById(int $id[, array<string|int, string>|null $prioritizedLanguages = null ]): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` -- `public function isShippingMethodUsed(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod): bool` -- `public function newShippingMethodCreateStruct(string $identifier): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct` -- `public function newShippingMethodUpdateStruct(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct` -- `public function updateShippingMethod(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod, \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct $updateStruct): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` - -## Ibexa\Contracts\Shipping\ShippingMethodTypeServiceInterface - -- `public function getShippingMethodType(string $identifier): \Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface` -- `public function getShippingMethodTypes(): iterable<string, \Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface>` -- `public function hasShippingMethodType(string $identifier): bool` - -## Ibexa\Contracts\Shipping\ShippingMethod\CostCalculationException extends RuntimeException - -- `public function __construct(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method[, string $message = '' ][, int $code = 0 ][, Throwable|null $previous = null ])` -- `public function getMethod(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` - -## Ibexa\Contracts\Shipping\ShippingMethod\CostCalculatorFactoryInterface - -- `public function createFixedCost(array<string, string> $costs): \Ibexa\Contracts\Shipping\ShippingMethod\CostCalculatorInterface` - -## Ibexa\Contracts\Shipping\ShippingMethod\CostCalculatorInterface - -- `public function calculate(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): \Money\Money` - -## Ibexa\Contracts\Shipping\ShippingMethod\CostCalculatorRegistryInterface - -- `public function getCalculator(string $identifier): \Ibexa\Contracts\Shipping\ShippingMethod\CostCalculatorInterface` -- `public function hasCalculator(string $identifier): bool` - -## Ibexa\Contracts\Shipping\ShippingMethod\CostFormatterInterface - -- `public function formatCost(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod[, array<string, mixed> $parameters = [] ]): string|null` - -## Ibexa\Contracts\Shipping\ShippingMethod\Permission\Create implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct([ShippingMethodCreateStruct|null $createStruct = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Shipping\ShippingMethod\Permission\Delete implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct([ShippingMethodInterface|null $shippingMethod = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Shipping\ShippingMethod\Permission\Edit implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct([ShippingMethodInterface|null $shippingMethod = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Shipping\ShippingMethod\Permission\View implements Ibexa\Contracts\ProductCatalog\Permission\Policy\PolicyInterface - -- `public function __construct([ShippingMethodInterface|null $shippingMethod = null ])` -- `public function getFunction(): string` -- `public function getModule(): string` -- `public function getObject(): object|null` -- `public function getTargets(): array<string|int, \Ibexa\Contracts\Core\Repository\Values\ValueObject>` - -## Ibexa\Contracts\Shipping\ShippingMethod\Type\OptionsValidatorError - -- `public function __construct(string|null $target, string $message[, array<string, scalar> $parameters = [] ])` -- `public function getMessage(): string` -- `public function getParameters(): array<string, scalar>` -- `public function getTarget(): string|null` - -## Ibexa\Contracts\Shipping\ShippingMethod\Type\OptionsValidatorInterface - -- `public function validateOptions(\Ibexa\Contracts\Core\Options\OptionsBag $options): array<string|int, \Ibexa\Contracts\Shipping\ShippingMethod\Type\OptionsValidatorError>` - -## Ibexa\Contracts\Shipping\ShippingMethod\Type\OptionsValidatorRegistryInterface - -- `public function getValidator(string $type): \Ibexa\Contracts\Shipping\ShippingMethod\Type\OptionsValidatorInterface` -- `public function hasValidator(string $type): bool` - -## Ibexa\Contracts\Shipping\ShippingMethod\Voter\AbstractVoter implements Ibexa\Contracts\Shipping\ShippingMethod\Voter\VoterInterface - -- `public function vote(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` -- `protected function abstract getVote(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` - -## Ibexa\Contracts\Shipping\ShippingMethod\Voter\VoterInterface - -- `public function vote(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $method, \Ibexa\Contracts\Cart\Value\CartInterface $cart): bool` - -## Ibexa\Contracts\Shipping\ShippingMethod\Voter\VoterRegistryInterface - -- `public function getVoter(string $identifier): \Ibexa\Contracts\Shipping\ShippingMethod\Voter\VoterInterface` -- `public function hasVoter(string $identifier): bool` - -## Ibexa\Contracts\Shipping\Value\ShippingMethodRegionInterface extends Ibexa\Contracts\ProductCatalog\Values\RegionInterface - -- `public function getIdentifier(): string` -- `public function getVatCategoryIdentifier(): string` - -## Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface - -- `public function getIdentifier(): string` -- `public function getName(): string` - -## Ibexa\Contracts\Shipping\Value\ShippingMethod\Query\Criterion\IsShippingMethodEnabledCriterion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Value\ShippingMethod\Query\Criterion\ShippingMethodIdentifier extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Value\ShippingMethod\Query\Criterion\ShippingMethodName extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Value\ShippingMethod\Query\Criterion\ShippingMethodRegion extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Value\ShippingMethod\Query\Criterion\ShippingMethodType extends Ibexa\Contracts\CoreSearch\Values\Query\Criterion\FieldValueCriterion - -- `public function getField(): string` -- `public function getOperator(): string` -- `public function getValue(): mixed` -- `public function setOperator(string $operator): void` -- `public function setValue(mixed $value): void` -- `public const mixed COMPARISON_CONTAINS = 'CONTAINS'` -- `public const mixed COMPARISON_ENDS_WITH = 'ENDS_WITH'` -- `public const mixed COMPARISON_EQ = '='` -- `public const mixed COMPARISON_GT = '>'` -- `public const mixed COMPARISON_GTE = '>='` -- `public const mixed COMPARISON_IN = 'IN'` -- `public const mixed COMPARISON_MEMBER_OF = 'MEMBER_OF'` -- `public const mixed COMPARISON_NIN = 'NIN'` -- `public const mixed COMPARISON_STARTS_WITH = 'STARTS_WITH'` - -## Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $identifier)` -- `public function getDescriptions(): array<string, string>` -- `public function getIdentifier(): string` -- `public function getNames(): array<string, string>` -- `public function getOptions(): array<string, mixed>` -- `public function getRegions(): array<int, \Ibexa\Contracts\ProductCatalog\Values\RegionInterface>` -- `public function getType(): \Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface` -- `public function getVatCategoryIdentifier(): string|null` -- `public function isEnabled(): bool` -- `public function setDescription(string $languageCode, string $description): void` -- `public function setEnabled(bool $enabled): void` -- `public function setIdentifier(string $identifier): void` -- `public function setName(string $languageCode, string $name): void` -- `public function setOptions(array<string, mixed> $options): void` -- `public function setRegions(array<int, \Ibexa\Contracts\ProductCatalog\Values\RegionInterface> $regions): void` -- `public function setType(\Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface $type): void` -- `public function setVatCategoryIdentifier(string|null $vatCategoryIdentifier): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodDeleteTranslationStruct - -- `public function __construct(\Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface $shippingMethod, string $languageCode)` -- `public function getLanguageCode(): string` -- `public function getShippingMethod(): \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface` - -## Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface - -- `public function getDescription(): string|null` -- `public function getDescriptions(): array<string, string|null>` -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function getNames(): array<string, string>` -- `public function getOptions(): \Ibexa\Contracts\Core\Options\OptionsBag` -- `public function getRegions(): array<string|int, \Ibexa\Contracts\ProductCatalog\Values\RegionInterface>` -- `public function getType(): \Ibexa\Contracts\Shipping\Value\ShippingMethodTypeInterface` -- `public function isEnabled(): bool` - -## Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodListInterface extends IteratorAggregate - -- `public function getShippingMethods(): array<string|int, \Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodInterface>` -- `public function getTotalCount(): int` - -## Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodQuery extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractCriterionQuery - -- `public function addSortClause(\Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause $sortClause): void` -- `public function getLimit(): int|null` -- `public function getOffset(): int` -- `public function getQuery(): \Ibexa\Contracts\CoreSearch\Values\Query\Criterion\CriterionInterface|null` -- `public function getSortClauses(): array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause>` -- `public function hasQuery(): bool` -- `public function setLimit(int|null $limit): void` -- `public function setOffset(int $offset): void` -- `public function setQuery(CriterionInterface|null $criterion): void` -- `public function setSortClauses(array<int, \Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause> $sortClauses): void` -- `public const mixed DEFAULT_LIMIT = 25` - -## Ibexa\Contracts\Shipping\Value\ShippingMethod\ShippingMethodUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([string|null $identifier = null ][, array<string, string> $names = [] ][, array<string, string> $descriptions = [] ][, array<string, mixed>|null $options = [] ][, array<int, \Ibexa\Contracts\ProductCatalog\Values\RegionInterface> $regions = [] ][, bool|null $enabled = null ][, string|null $vatCategoryIdentifier = null ])` -- `public function getDescriptions(): array<string, string>` -- `public function getEnabled(): bool|null` -- `public function getIdentifier(): string|null` -- `public function getNames(): array<string, string>` -- `public function getOptions(): array<string, mixed>|null` -- `public function getRegions(): array<int, \Ibexa\Contracts\ProductCatalog\Values\RegionInterface>|null` -- `public function getVatCategoryIdentifier(): string|null` -- `public function setDescription(string $languageCode, string $description): void` -- `public function setDescriptions(array<string, string> $descriptions): void` -- `public function setEnabled(bool|null $enabled): void` -- `public function setIdentifier(string|null $identifier): void` -- `public function setName(string $languageCode, string $name): void` -- `public function setNames(array<string, string> $names): void` -- `public function setOptions(array<string, mixed>|null $options): void` -- `public function setRegions(array<int, \Ibexa\Contracts\ProductCatalog\Values\RegionInterface> $regions): void` -- `public function setVatCategoryIdentifier(string|null $vatCategoryIdentifier): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Shipping\Value\ShippingMethod\SortClause extends Ibexa\Contracts\CoreSearch\Values\Query\AbstractSortClause - -- `public function getDirection(): string` -- `public function setDirection(string $direction): void` -- `public const mixed SORT_ASC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::ASC` -- `public const mixed SORT_DESC = \Ibexa\Contracts\CoreSearch\Values\Query\SortDirection::DESC` - -## Ibexa\Contracts\Shipping\Workflow\WorkflowResolverInterface - -- `public function resolveWorkflow(\Ibexa\Contracts\Shipping\Workflow\WorkflowSubjectInterface $subject): \Symfony\Component\Workflow\WorkflowInterface` - -## Ibexa\Contracts\SiteContext\Event\ResolveLocationPreviewUrlEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, array<string, mixed> $context = [] ])` -- `public function getContext(): array<string, mixed>` -- `public function getLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location` -- `public function getPreviewUrl(): string|null` -- `public function isPropagationStopped(): bool` -- `public function setPreviewUrl(string|null $previewUrl): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\SiteContext\PreviewUrlResolver\LocationPreviewUrlResolverInterface - -- `public function resolveUrl(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, array<string, mixed> $context = [] ]): string` - -## Ibexa\Contracts\SiteContext\SiteContextServiceInterface - -- `public function getCurrentContext(): \Ibexa\Core\MVC\Symfony\SiteAccess|null` -- `public function isFullscreenModeEnabled(): bool` -- `public function resolveContextLanguage(\Ibexa\Core\MVC\Symfony\SiteAccess $siteAccess, \Ibexa\Contracts\Core\Repository\Values\Content\Content $content): string` -- `public function setCurrentContext(SiteAccess|null $siteAccess): void` -- `public function setFullscreenMode(bool $state): void` - -## Ibexa\Contracts\SiteFactory\Events\BeforeCreateSiteEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct $siteCreateStruct)` -- `public function getSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` -- `public function getSiteCreateStruct(): \Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct` -- `public function hasSite(): bool` -- `public function isPropagationStopped(): bool` -- `public function setSite(Site|null $site): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\SiteFactory\Events\BeforeDeleteSiteEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site)` -- `public function getSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\SiteFactory\Events\BeforeUpdateSiteEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site, \Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct $siteUpdateStruct)` -- `public function getSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` -- `public function getSiteUpdateStruct(): \Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct` -- `public function getUpdatedSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` -- `public function hasUpdatedSite(): bool` -- `public function isPropagationStopped(): bool` -- `public function setSite(Site|null $updatedSite): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\SiteFactory\Events\CreateSiteEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site, \Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct $siteCreateStruct)` -- `public function getSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` -- `public function getSiteCreateStruct(): \Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\SiteFactory\Events\DeleteSiteEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site)` -- `public function getSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\SiteFactory\Events\UpdateSiteEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\SiteFactory\Values\Site\Site $updatedSite, \Ibexa\Contracts\SiteFactory\Values\Site\Site $site, \Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct $siteUpdateStruct)` -- `public function getSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` -- `public function getSiteUpdateStruct(): \Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct` -- `public function getUpdatedSite(): \Ibexa\Contracts\SiteFactory\Values\Site\Site` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\SiteFactory\ServiceDecorator\SiteServiceDecorator implements Ibexa\Contracts\SiteFactory\Service\SiteServiceInterface - -- `public function countSites([SiteQuery|null $query = null ]): int` -- `public function createSite(\Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct $createStruct): \Ibexa\Contracts\SiteFactory\Values\Site\Site` -- `public function deleteSite(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site): void` -- `public function loadPages([SiteQuery|null $query = null ][, int $offset = 0 ][, int $limit = -1 ]): array{count: int, items: string[]}` -- `public function loadSite(int $id): \Ibexa\Contracts\SiteFactory\Values\Site\Site` -- `public function loadSites([SiteQuery|null $query = null ]): \Ibexa\Contracts\SiteFactory\Values\Site\SiteList` -- `public function updateSite(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site, \Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct $siteUpdateStruct): \Ibexa\Contracts\SiteFactory\Values\Site\Site` - -## Ibexa\Contracts\SiteFactory\Service\PublicAccessServiceInterface - -- `public function loadPublicAccess(string $identifier): \Ibexa\Contracts\SiteFactory\Values\Site\PublicAccess|null` -- `public function loadPublicAccesses([SiteQuery|null $query = null ]): \Ibexa\Contracts\SiteFactory\Values\Site\PublicAccessList` - -## Ibexa\Contracts\SiteFactory\Service\SiteServiceInterface - -- `public function countSites([SiteQuery|null $query = null ]): int` -- `public function createSite(\Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct $createStruct): \Ibexa\Contracts\SiteFactory\Values\Site\Site` -- `public function deleteSite(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site): void` -- `public function loadPages([SiteQuery|null $query = null ][, int $offset = 0 ][, int $limit = -1 ]): array{count: int, items: string[]}` -- `public function loadSite(int $id): \Ibexa\Contracts\SiteFactory\Values\Site\Site` -- `public function loadSites([SiteQuery|null $query = null ]): \Ibexa\Contracts\SiteFactory\Values\Site\SiteList` -- `public function updateSite(\Ibexa\Contracts\SiteFactory\Values\Site\Site $site, \Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct $siteUpdateStruct): \Ibexa\Contracts\SiteFactory\Values\Site\Site` - -## Ibexa\Contracts\SiteFactory\Values\Design\Template extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function static fromConfiguration(\Ibexa\Contracts\SiteFactory\Values\Design\TemplateConfiguration $templateConfiguration): \Ibexa\Contracts\SiteFactory\Values\Design\Template` -- `public function getDesign(): string` -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function getParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` -- `public function getSiteAccessGroup(): string` -- `public function getSiteSkeletonLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` -- `public function getThumbnail(): string` -- `public function getUserGroupSkeletonLocations(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\SiteFactory\Values\Design\TemplateConfiguration extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function static fromTemplate(string $identifier, string $design, array<string, mixed> $template, array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Location> $userGroupSkeletonLocations[, Location|null $siteSkeleton = null ][, Location|null $parentLocation = null ]): \Ibexa\Contracts\SiteFactory\Values\Design\TemplateConfiguration` -- `public function getDesign(): string` -- `public function getIdentifier(): string` -- `public function getName(): string` -- `public function getParentLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` -- `public function getSiteAccessGroup(): string` -- `public function getSiteSkeletonLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` -- `public function getThumbnail(): string` -- `public function getUserGroupSkeletonLocations(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Location>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\SiteFactory\Values\Site\Page extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getLanguages(): array<string|int, string>` -- `public function getName(): string` -- `public function getStatus(): int` -- `public function getTreeRootLocation(): \Ibexa\Contracts\Core\Repository\Values\Content\Location|null` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed STATUS_ONLINE = 1` - -## Ibexa\Contracts\SiteFactory\Values\Site\PublicAccess extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getConfigParameter(string $namespace, string $name): mixed` -- `public function getDesign(): string` -- `public function getMainLanguage(): string` -- `public function getMatcherConfiguration(): \Ibexa\Contracts\SiteFactory\Values\Site\SiteAccessMatcherConfiguration` -- `public function getSiteAccessGroup(): string` -- `public function getSiteConfiguration(): \Ibexa\Contracts\SiteFactory\Values\Site\SiteConfiguration` -- `public function getSiteId(): int|null` -- `public function getStatus(): int` -- `public function getTreeRootLocationId(): int` -- `public function hasConfigParameter(string $namespace, string $name): bool` -- `public function setStatus(int $status): void` -- `public function setTreeRootLocationId(int|null $treeRootLocationId): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed STATUS_OFFLINE = 0` -- `public const mixed STATUS_ONLINE = 1` - -## Ibexa\Contracts\SiteFactory\Values\Site\PublicAccessList extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function getIterator(): \Traversable` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\SiteFactory\Values\Site\PublicAccessQuery extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\SiteFactory\Values\Site\Site extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getDesignName(): string` -- `public function getFirstSiteAccess(): \Ibexa\Contracts\SiteFactory\Values\Site\PublicAccess` -- `public function getTreeRootLocationId(): int` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` -- `public const mixed STATUS_OFFLINE = 0` -- `public const mixed STATUS_ONLINE = 1` - -## Ibexa\Contracts\SiteFactory\Values\Site\SiteAccessMatcherConfiguration extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getUrl(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\SiteFactory\Values\Site\SiteConfiguration implements Stringable - -- `public function __toString(): string` -- `public function getDesign(): string` -- `public function getLanguages(): array<string|int, mixed>` -- `public function getMainLanguage(): string` -- `public function getTreeRootLocationId(): int` -- `public function getValues(): array<string|int, mixed>` -- `public function setTreeRootLocationId(int $treeRootLocationId): void` -- `public const mixed DESIGN = 'ibexa.site_access.config.design'` -- `public const mixed LANGUAGES = 'ibexa.site_access.config.languages'` -- `public const mixed TREE_ROOT_LOCATION_ID = 'ibexa.site_access.config.content.tree_root.location_id'` - -## Ibexa\Contracts\SiteFactory\Values\Site\SiteCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\SiteFactory\Values\Site\SiteList extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function getPages(): array<int, \Ibexa\Contracts\SiteFactory\Values\Site\Page>` -- `public function getSites(): array<int, \Ibexa\Contracts\SiteFactory\Values\Site\Site>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\SiteFactory\Values\Site\SiteQuery extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\SiteFactory\Values\Site\SiteUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Solr\DocumentMapper - -- `public function generateLocationDocumentId(int $locationId[, string|null $languageCode = null ]): string` -- `public function mapContentBlock(\Ibexa\Contracts\Core\Persistence\Content $content): array<int, \Ibexa\Contracts\Core\Search\Document>` -- `public const mixed DOCUMENT_TYPE_IDENTIFIER_CONTENT = 'content'` -- `public const mixed DOCUMENT_TYPE_IDENTIFIER_LOCATION = 'location'` - -## Ibexa\Contracts\Solr\FieldMapper\ContentFieldMapper - -- `public function abstract accept(\Ibexa\Contracts\Core\Persistence\Content $content): bool` -- `public function abstract mapFields(\Ibexa\Contracts\Core\Persistence\Content $content): array<int, \Ibexa\Contracts\Core\Search\Field>` - -## Ibexa\Contracts\Solr\FieldMapper\ContentTranslationFieldMapper - -- `public function abstract accept(\Ibexa\Contracts\Core\Persistence\Content $content, string $languageCode): bool` -- `public function abstract mapFields(\Ibexa\Contracts\Core\Persistence\Content $content, string $languageCode): array<int, \Ibexa\Contracts\Core\Search\Field>` - -## Ibexa\Contracts\Solr\FieldMapper\LocationFieldMapper - -- `public function abstract accept(\Ibexa\Contracts\Core\Persistence\Content\Location $location): bool` -- `public function abstract mapFields(\Ibexa\Contracts\Core\Persistence\Content\Location $location): array<int, \Ibexa\Contracts\Core\Search\Field>` - -## Ibexa\Contracts\Solr\Query\AggregationVisitor - -- `public function canVisit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, array<string|int, mixed> $languageFilter): bool` -- `public function visit(\Ibexa\Contracts\Solr\Query\AggregationVisitor $dispatcherVisitor, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, array<string|int, mixed> $languageFilter): array<string, mixed>` - -## Ibexa\Contracts\Solr\Query\Common\AggregationVisitor\AggregationFieldResolver - -- `public function resolveTargetField(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation): string` - -## Ibexa\Contracts\Solr\Query\CriterionVisitor - -- `public function abstract canVisit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $criterion): mixed` -- `public function abstract visit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $criterion[, self|null $subVisitor = null ]): mixed` -- `protected function escapeExpressions(string $string[, bool $allowWildcard = false ]): string|null` -- `protected function escapeQuote(string $string[, bool $doubleQuote = false ]): string` -- `protected function getRange(string $operator, mixed $start, mixed $end): string` -- `protected function toString(mixed $value): string` - -## Ibexa\Contracts\Solr\Query\EmbeddingVisitor - -- `public function abstract canVisit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding $embedding): bool` -- `public function abstract visit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding $embedding, int $limit): string` - -## Ibexa\Contracts\Solr\Query\SortClauseVisitor - -- `public function abstract canVisit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): bool` -- `public function abstract visit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): string` -- `protected function getDirection(\Ibexa\Contracts\Core\Repository\Values\Content\Query\SortClause $sortClause): string` - -## Ibexa\Contracts\Solr\ResultExtractor\AggregationResultExtractor - -- `public function canVisit(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, array{languages?: string[], languageCode?: string, useAlwaysAvailable?: bool} $languageFilter): bool` -- `public function extract(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, array{languages?: string[], languageCode?: string, useAlwaysAvailable?: bool} $languageFilter, \stdClass $data): \Ibexa\Contracts\Core\Repository\Values\Content\Search\AggregationResult` - -## Ibexa\Contracts\Solr\ResultExtractor\AggregationResultExtractor\RangeAggregationKeyMapper - -- `public function map(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, array{languages?: string[], languageCode?: string, useAlwaysAvailable?: bool} $languageFilter, string $key): mixed` - -## Ibexa\Contracts\Solr\ResultExtractor\AggregationResultExtractor\TermAggregationKeyMapper - -- `public function map(\Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation $aggregation, array{languages?: string[], languageCode?: string, useAlwaysAvailable?: bool} $languageFilter, array<string|int, mixed> $keys): array<string|int, mixed>` - -## Ibexa\Contracts\Storefront\Exception\InvalidArgumentException extends Ibexa\Contracts\Core\Exception\InvalidArgumentException - -- `public function __construct(string $argumentName, string $whatIsWrong[, Exception|null $previous = null ])` - -## Ibexa\Contracts\Storefront\Menu\Event\ConfigureMenuEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Knp\Menu\ItemInterface $menu[, array<string, mixed> $options = [] ])` -- `public function getMenu(): \Knp\Menu\ItemInterface` -- `public function getOptions(): array<string, mixed>` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Storefront\Menu\ItemFactoryInterface - -- `public function createContentIdItem(int $contentId[, string|null $name = null ][, array<string, mixed> $options = [] ]): \Knp\Menu\ItemInterface` -- `public function createContentItem(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content[, string|null $name = null ][, array<string, mixed> $options = [] ]): \Knp\Menu\ItemInterface` -- `public function createItem(string $name[, array<string, mixed> $options = [] ]): \Knp\Menu\ItemInterface` -- `public function createLocationIdItem(int $locationId[, string|null $name = null ][, array<string, mixed> $options = [] ]): \Knp\Menu\ItemInterface` -- `public function createLocationItem(\Ibexa\Contracts\Core\Repository\Values\Content\Location $location[, string|null $name = null ][, array<string, mixed> $options = [] ]): \Knp\Menu\ItemInterface` -- `public function createProductItem(\Ibexa\Contracts\ProductCatalog\Values\ContentAwareProductInterface $product[, string|null $name = null ][, array<string, mixed> $options = [] ]): \Knp\Menu\ItemInterface` -- `public function createTaxonomyEntryItem(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry[, string|null $name = null ][, array<string, mixed> $options = [] ]): \Knp\Menu\ItemInterface` - -## Ibexa\Contracts\Storefront\Repository\CatalogResolverInterface - -- `public function resolveCatalog([User|null $user = null ]): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface|null` - -## Ibexa\Contracts\Storefront\Repository\CurrencyServiceInterface - -- `public function getAvailableCurrencies(): iterable<string|int, \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface>` -- `public function getCurrencyByCode(string $code): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface` -- `public function getDefaultCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` -- `public function getSessionCurrency(): \Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface|null` -- `public function isAcceptable(\Ibexa\Contracts\ProductCatalog\Values\CurrencyInterface $currency): bool` -- `public function setDefaultCurrency(CurrencyInterface|null $currency): void` -- `public function setSessionCurrency(CurrencyInterface|null $currency): void` - -## Ibexa\Contracts\Storefront\Repository\Event\CatalogResolveEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, CatalogInterface|null $catalog)` -- `public function getCatalog(): \Ibexa\Contracts\ProductCatalog\Values\CatalogInterface|null` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` -- `public function isPropagationStopped(): bool` -- `public function setCatalog(CatalogInterface|null $catalog): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Storefront\Repository\RegionServiceInterface - -- `public function getAvailableRegions(): iterable<string|int, \Ibexa\Contracts\ProductCatalog\Values\RegionInterface>` -- `public function getSessionRegion(): \Ibexa\Contracts\ProductCatalog\Values\RegionInterface|null` -- `public function isAcceptable(\Ibexa\Contracts\ProductCatalog\Values\RegionInterface $region): bool` -- `public function setSessionRegion(RegionInterface|null $region): void` - -## Ibexa\Contracts\Storefront\Repository\TaxonomyTreeServiceInterface - -- `public function contains(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $needle, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $haystack): bool` -- `public function getAncestor(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry, int $level): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` - -## Ibexa\Contracts\Taxonomy\Embedding\TaxonomyEmbeddingConfigurationInterface - -- `public function getDefaultEmbeddingModel(): array{name: string, dimensions: int, field_suffix: string, embedding_provider: string}` -- `public function getDefaultEmbeddingModelDimensions(): int` -- `public function getDefaultEmbeddingModelFieldSuffix(): string` -- `public function getDefaultEmbeddingModelIdentifier(): string` -- `public function getDefaultEmbeddingModelName(): string` -- `public function getDefaultEmbeddingProvider(): string` -- `public function isIndexEmbeddingsEnabled(): bool` - -## Ibexa\Contracts\Taxonomy\Embedding\TaxonomyEmbeddingFieldProviderInterface - -- `public function accept(\Ibexa\Contracts\Core\Persistence\Content $content): bool` -- `public function generateField(\Ibexa\Contracts\Core\Persistence\Content $content): \Ibexa\Contracts\Core\Search\Field|null` - -## Ibexa\Contracts\Taxonomy\Event\BeforeCreateTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct $createStruct[, TaxonomyEntry|null $taxonomyEntry = null ])` -- `public function getCreateStruct(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct` -- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function hasTaxonomyEntry(): bool` -- `public function isPropagationStopped(): bool` -- `public function setTaxonomyEntry(TaxonomyEntry|null $taxonomyEntry): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Taxonomy\Event\BeforeMoveTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $newParent)` -- `public function getNewParent(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Taxonomy\Event\BeforeMoveTaxonomyEntryRelativeToSiblingEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $sibling, string $position)` -- `public function getPosition(): string` -- `public function getSibling(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Taxonomy\Event\BeforeRemoveTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry[, array<string|int, int> $contentIds = [] ])` -- `public function getContentIds(): array<string|int, int>` -- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function isPropagationStopped(): bool` -- `public function setContentIds(array<string|int, int> $contentIds): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Taxonomy\Event\BeforeUpdateTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\BeforeEvent - -- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct $updateStruct[, TaxonomyEntry|null $updatedTaxonomyEntry = null ])` -- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function getUpdatedTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function getUpdateStruct(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct` -- `public function hasUpdatedTaxonomyEntry(): bool` -- `public function isPropagationStopped(): bool` -- `public function setUpdatedTaxonomyEntry(TaxonomyEntry|null $taxonomyEntry): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Taxonomy\Event\CreateTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct $createStruct)` -- `public function getCreateStruct(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct` -- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Taxonomy\Event\MoveTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $newParent)` -- `public function getNewParent(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Taxonomy\Event\MoveTaxonomyEntryRelativeToSiblingEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $sibling, string $position)` -- `public function getPosition(): string` -- `public function getSibling(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Taxonomy\Event\RemoveTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry[, array<string|int, int> $contentIds = [] ])` -- `public function getContentIds(): array<string|int, int>` -- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Taxonomy\Event\UpdateTaxonomyEntryEvent extends Ibexa\Contracts\Core\Repository\Event\AfterEvent - -- `public function __construct(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $updatedTaxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct $updateStruct)` -- `public function getTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function getUpdatedTaxonomyEntry(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function getUpdateStruct(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct` -- `public function isPropagationStopped(): bool` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Taxonomy\Search\Query\Aggregation\TaxonomyEntryIdAggregation extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation - -- `public function getLimit(): int` -- `public function getMinCount(): int` -- `public function getName(): string` -- `public function getTaxonomyIdentifier(): string` -- `public function setLimit(int $limit): self` -- `public function setMinCount(int $minCount): self` -- `public const mixed DEFAULT_LIMIT = 10` -- `public const mixed DEFAULT_MIN_COUNT = 1` - -## Ibexa\Contracts\Taxonomy\Search\Query\Criterion\TaxonomyEntryId extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion implements Ibexa\Contracts\Core\Repository\Values\Filter\FilteringCriterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Taxonomy\Search\Query\Criterion\TaxonomySubtree extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion - -- `public function getSpecifications(): array<int, \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator\Specifications>` - -## Ibexa\Contracts\Taxonomy\Search\Query\Value\TaxonomyEmbedding extends Ibexa\Contracts\Core\Repository\Values\Content\Query\Embedding - -- `public function getValue(): array<string|int, float>` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Taxonomy\Service\Decorator\TaxonomyEntryAssignmentServiceDecorator implements Ibexa\Contracts\Taxonomy\Service\TaxonomyEntryAssignmentServiceInterface - -- `public function assignMultipleToContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, array<string|int, mixed> $entries[, int|null $versionNo = null ]): void` -- `public function assignToContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry[, int|null $versionNo = null ]): void` -- `public function loadAssignmentById(int $id): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryAssignment` -- `public function loadAssignments(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content[, int|null $versionNo = null ]): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryAssignmentCollection` -- `public function unassignFromContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry[, int|null $versionNo = null ]): void` -- `public function unassignMultipleFromContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, array<string|int, mixed> $entries[, int|null $versionNo = null ]): void` - -## Ibexa\Contracts\Taxonomy\Service\Decorator\TaxonomyServiceDecorator implements Ibexa\Contracts\Taxonomy\Service\TaxonomyServiceInterface - -- `public function countAllEntries([string|null $taxonomyName = null ]): int` -- `public function countEntryChildren(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $parentEntry): int` -- `public function createEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct $createStruct): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function getPath(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry): iterable<string|int, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry>` -- `public function loadAllEntries([string|null $taxonomyName = null ][, int|null $limit = 30 ][, int $offset = 0 ]): \Traversable<string|int, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry>` -- `public function loadEntriesByIds(array<string|int, mixed> $ids): \Traversable<string|int, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry>` -- `public function loadEntryByContentId(int $contentId): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function loadEntryById(int $id): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function loadEntryByIdentifier(string $identifier[, string|null $taxonomyName = null ]): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function loadEntryChildren(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $parentEntry[, int|null $limit = 30 ][, int $offset = 0 ]): \Traversable<string|int, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry>` -- `public function loadRootEntry(string $taxonomyName): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function moveEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $newParent): void` -- `public function moveEntryRelativeToSibling(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $sibling, string $position): void` -- `public function removeEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry): void` -- `public function updateEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct $updateStruct): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` - -## Ibexa\Contracts\Taxonomy\Service\TaxonomyEntryAssignmentServiceInterface - -- `public function assignMultipleToContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, array<string|int, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry> $entries[, int|null $versionNo = null ]): void` -- `public function assignToContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry[, int|null $versionNo = null ]): void` -- `public function loadAssignmentById(int $id): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryAssignment` -- `public function loadAssignments(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content[, int|null $versionNo = null ]): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryAssignmentCollection` -- `public function unassignFromContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry[, int|null $versionNo = null ]): void` -- `public function unassignMultipleFromContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content, array<string|int, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry> $entries[, int|null $versionNo = null ]): void` - -## Ibexa\Contracts\Taxonomy\Service\TaxonomyServiceInterface - -- `public function countEntryChildren(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $parentEntry): int` -- `public function createEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct $createStruct): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function getPath(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry): iterable<string|int, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry>` -- `public function loadAllEntries([string|null $taxonomyName = null ][, int|null $limit = 30 ][, int $offset = 0 ]): \Traversable<string|int, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry>` -- `public function loadEntriesByIds(array<string|int, int> $ids): \Traversable<string|int, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry>` -- `public function loadEntryByContentId(int $contentId): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function loadEntryById(int $id): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function loadEntryByIdentifier(string $identifier[, string|null $taxonomyName = null ]): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function loadEntryChildren(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $parentEntry[, int|null $limit = 30 ][, int $offset = 0 ]): \Traversable<string|int, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry>` -- `public function loadRootEntry(string $taxonomyName): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public function moveEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $newParent): void` -- `public function moveEntryRelativeToSibling(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $sibling, string $position): void` -- `public function removeEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $entry): void` -- `public function updateEntry(\Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry $taxonomyEntry, \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct $updateStruct): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry` -- `public const mixed MOVE_POSITION_NEXT = 'next'` -- `public const mixed MOVE_POSITION_PREV = 'prev'` - -## Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements Ibexa\Contracts\Core\Repository\Values\Content\ContentAwareInterface - -- `public function getContent(): \Ibexa\Contracts\Core\Repository\Values\Content\Content` -- `public function getContentId(): int|null` -- `public function getId(): int` -- `public function getIdentifier(): string` -- `public function getLevel(): int` -- `public function getMainLanguageCode(): string` -- `public function getName(): string` -- `public function getNames(): array<string, string>` -- `public function getParent(): \Ibexa\Contracts\Taxonomy\Value\TaxonomyEntry|null` -- `public function getTaxonomy(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryAssignment extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryAssignmentCollection extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Taxonomy\Value\TaxonomyEntryUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\TwigComponents\ComponentInterface - -- `public function render([array<string|int, mixed> $parameters = [] ]): string` - -## Ibexa\Contracts\TwigComponents\ComponentRegistryInterface - -- `public function addComponent(string $group, string $serviceId, \Ibexa\Contracts\TwigComponents\ComponentInterface $component): void` -- `public function getComponents(string $group): array<string|int, \Ibexa\Contracts\TwigComponents\ComponentInterface>` -- `public function setComponents(string $group, array<string|int, \Ibexa\Contracts\TwigComponents\ComponentInterface> $components): void` - -## Ibexa\Contracts\TwigComponents\Event\RenderGroupEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\TwigComponents\ComponentRegistryInterface $registry, string $groupName[, array<string|int, mixed> $parameters = [] ])` -- `public function addParameter(string $key, mixed $value): void` -- `public function addParameters(array<string|int, mixed> $parameters): void` -- `public function getComponents(): array<string|int, \Ibexa\Contracts\TwigComponents\ComponentInterface>` -- `public function getGroupName(): string` -- `public function getParameters(): array<string|int, mixed>` -- `public function isPropagationStopped(): bool` -- `public function setComponents(array<string|int, \Ibexa\Contracts\TwigComponents\ComponentInterface> $components): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\TwigComponents\Event\RenderSingleEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Contracts\TwigComponents\ComponentRegistryInterface $registry, string $groupName, string $serviceId[, array<string|int, mixed> $parameters = [] ])` -- `public function addParameter(string $key, mixed $value): void` -- `public function addParameters(array<string|int, mixed> $parameters): void` -- `public function getComponent(): \Ibexa\Contracts\TwigComponents\ComponentInterface` -- `public function getGroupName(): string` -- `public function getName(): string` -- `public function getParameters(): array<string|int, mixed>` -- `public function isPropagationStopped(): bool` -- `public function setComponent(\Ibexa\Contracts\TwigComponents\ComponentInterface $component): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\TwigComponents\Exception\InvalidArgumentException extends Ibexa\Contracts\Core\Exception\InvalidArgumentException - -- `public function __construct(string $argumentName, string $whatIsWrong[, Exception|null $previous = null ])` - -## Ibexa\Contracts\TwigComponents\Renderer\RendererInterface - -- `public function renderGroup(string $groupName[, array<string|int, mixed> $parameters = [] ]): array<string|int, string>` -- `public function renderSingle(string $groupName, string $name[, array<string|int, mixed> $parameters = [] ]): string` - -## Ibexa\Contracts\User\Controller\AuthenticatedRememberedCheckTrait - -- `public function performAccessCheck(): void` - -## Ibexa\Contracts\User\Controller\RestrictedControllerInterface - -- `public function performAccessCheck(): void` - -## Ibexa\Contracts\User\Invitation\DomainMapper - -- `public function buildDomainObject(\Ibexa\Contracts\User\Invitation\Invitation $invitation): \Ibexa\Contracts\User\Invitation\Invitation` - -## Ibexa\Contracts\User\Invitation\Invitation extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $email, string $hash, \DateTimeInterface $createdAt, string $siteAccessIdentifier, bool $used[, Role|null $role = null ][, UserGroup|null $userGroup = null ][, RoleLimitation|null $limitation = null ])` -- `public function createdAt(): \DateTimeInterface` -- `public function getEmail(): string` -- `public function getHash(): string` -- `public function getLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role|null` -- `public function getSiteAccessIdentifier(): string` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup|null` -- `public function isUsed(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\User\Invitation\InvitationCreateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $email, string $siteAccessIdentifier[, UserGroup|null $userGroup = null ][, Role|null $role = null ][, RoleLimitation|null $roleLimitation = null ])` -- `public function getEmail(): string` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role|null` -- `public function getRoleLimitation(): \Ibexa\Contracts\Core\Repository\Values\User\Limitation\RoleLimitation|null` -- `public function getSiteAccessIdentifier(): string` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup|null` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\User\Invitation\InvitationSender - -- `public function sendInvitation(\Ibexa\Contracts\User\Invitation\Invitation $invitation): void` - -## Ibexa\Contracts\User\Invitation\InvitationService - -- `public function createInvitation(\Ibexa\Contracts\User\Invitation\InvitationCreateStruct $createStruct): \Ibexa\Contracts\User\Invitation\Invitation` -- `public function findInvitations([InvitationFilter|null $invitationsFilter = null ]): array<string|int, \Ibexa\Contracts\User\Invitation\Invitation>` -- `public function getInvitation(string $hash): \Ibexa\Contracts\User\Invitation\Invitation` -- `public function getInvitationByEmail(string $email): \Ibexa\Contracts\User\Invitation\Invitation` -- `public function isExpired(\Ibexa\Contracts\User\Invitation\Invitation $invitation): bool` -- `public function isValid(\Ibexa\Contracts\User\Invitation\Invitation $invitation): bool` -- `public function markAsUsed(\Ibexa\Contracts\User\Invitation\Invitation $invitation): void` -- `public function refreshInvitation(\Ibexa\Contracts\User\Invitation\Invitation $invitation): \Ibexa\Contracts\User\Invitation\Invitation` - -## Ibexa\Contracts\User\Invitation\Persistence\Gateway - -- `public function addInvitation(string $email, string $siteAccessName, string $hash[, int|null $roleId = null ][, int|null $userGroupId = null ][, string|null $limitation = null ][, string|null $limitationValue = null ]): array<string|int, mixed>` -- `public function findInvitations([InvitationFilter|null $filter = null ]): array<string|int, mixed>` -- `public function getInvitation(string $hash): array<string, mixed>` -- `public function getInvitationByEmail(string $email): mixed` -- `public function invitationExistsForEmail(string $email): bool` -- `public function updateInvitation(string $hash, \Ibexa\Contracts\User\Invitation\Persistence\InvitationUpdateStruct $updateStruct): void` - -## Ibexa\Contracts\User\Invitation\Persistence\Handler - -- `public function createInvitation(string $email, string $siteAccessName, string $hash[, int|null $roleId = null ][, int|null $groupId = null ][, string|null $limitation = null ][, string|null $limitationValue = null ]): \Ibexa\Contracts\User\Invitation\Persistence\Invitation` -- `public function findInvitations([InvitationFilter|null $invitationsFilter = null ]): array<string|int, \Ibexa\Contracts\User\Invitation\Persistence\Invitation>` -- `public function getInvitation(string $hash): \Ibexa\Contracts\User\Invitation\Persistence\Invitation` -- `public function getInvitationForEmail(string $email): \Ibexa\Contracts\User\Invitation\Persistence\Invitation` -- `public function invitationExistsForEmail(string $email): bool` -- `public function markAsUsed(string $hash): void` -- `public function refreshInvitation(string $hash, string $newHash): \Ibexa\Contracts\User\Invitation\Persistence\Invitation` - -## Ibexa\Contracts\User\Invitation\Persistence\Invitation extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(string $email, string $hash, string $siteAccessIdentifier, int $createdAtTimestamp, bool $isUsed[, int|null $roleId = null ][, int|null $groupId = null ][, string|null $limitation = null ][, array<string|int, mixed>|null $limitationValue = null ])` -- `public function getCreatedAtTimestamp(): int` -- `public function getEmail(): string` -- `public function getGroupId(): int|null` -- `public function getHash(): string` -- `public function getLimitation(): string|null` -- `public function getLimitationValue(): array<string|int, mixed>|null` -- `public function getRoleId(): int|null` -- `public function getSiteAccessIdentifier(): string` -- `public function isUsed(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\User\Invitation\Persistence\InvitationUpdateStruct extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct([int|null $createdAt = null ][, bool|null $isUsed = null ][, string|null $hash = null ])` -- `public function getCreatedAt(): int|null` -- `public function getHash(): string|null` -- `public function getIsUsed(): bool|null` -- `public function setCreatedAt(int|null $createdAt): void` -- `public function setHash(string|null $hash): void` -- `public function setIsUsed(bool|null $isUsed): void` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\User\Invitation\Persistence\Mapper - -- `public function extractInvitationFromRow(array<string, mixed> $row): \Ibexa\Contracts\User\Invitation\Persistence\Invitation` - -## Ibexa\Contracts\User\Invitation\Query\InvitationFilter - -- `public function __construct([Role|null $role = null ][, UserGroup|null $userGroup = null ][, bool|null $isUsed = null ])` -- `public function getIsUsed(): bool|null` -- `public function getRole(): \Ibexa\Contracts\Core\Repository\Values\User\Role|null` -- `public function getUserGroup(): \Ibexa\Contracts\Core\Repository\Values\User\UserGroup|null` -- `public function setIsUsed(bool|null $isUsed): void` -- `public function setRole(Role|null $role): void` -- `public function setUserGroup(UserGroup|null $userGroup): void` - -## Ibexa\Contracts\User\Notification\UserAwareNotificationInterface - -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` - -## Ibexa\Contracts\User\Notification\UserInvitation extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface - -- `public function __construct(\Ibexa\Contracts\User\Invitation\Invitation $invitation, \Ibexa\Contracts\Core\SiteAccess\ConfigResolverInterface $configResolver, \Twig\Environment $twig)` -- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` - -## Ibexa\Contracts\User\Notification\UserPasswordReset extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface, Ibexa\Contracts\User\Notification\UserAwareNotificationInterface - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $token, \Ibexa\Contracts\Core\SiteAccess\ConfigResolverInterface $configResolver, \Twig\Environment $twig)` -- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` -- `public function getToken(): string` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` - -## Ibexa\Contracts\User\Notification\UserRegister extends Symfony\Component\Notifier\Notification\Notification implements Symfony\Component\Notifier\Notification\EmailNotificationInterface, Ibexa\Contracts\User\Notification\UserAwareNotificationInterface - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\User\User $user)` -- `public function asEmailMessage(\Symfony\Component\Notifier\Recipient\EmailRecipientInterface $recipient[, string|null $transport = null ]): \Symfony\Component\Notifier\Message\EmailMessage|null` -- `public function getUser(): \Ibexa\Contracts\Core\Repository\Values\User\User` - -## Ibexa\Contracts\User\PasswordReset\NotifierInterface - -- `public function sendMessage(\Ibexa\Contracts\Core\Repository\Values\User\User $user, string $hashKey): void` - -## Ibexa\Contracts\User\UserSetting\FormMapperInterface - -- `public function mapFieldForm(\Symfony\Component\Form\FormBuilderInterface $formBuilder, \Ibexa\Contracts\User\UserSetting\ValueDefinitionInterface $value): \Symfony\Component\Form\FormBuilderInterface` - -## Ibexa\Contracts\User\UserSetting\ValueDefinitionGroupInterface - -- `public function addValueDefinition(string $identifier, \Ibexa\Contracts\User\UserSetting\ValueDefinitionInterface $valueDefinition): void` -- `public function getDescription(): string` -- `public function getName(): string` -- `public function getValueDefinitions(): array<string, \Ibexa\Contracts\User\UserSetting\ValueDefinitionInterface>` - -## Ibexa\Contracts\User\UserSetting\ValueDefinitionInterface - -- `public function getDefaultValue(): string` -- `public function getDescription(): string` -- `public function getDisplayValue(string $storageValue): string` -- `public function getName(): string` - -## Ibexa\Contracts\VersionComparison\Engine\FieldTypeComparisonEngine - -- `public function compareFieldsTypeValues(\Ibexa\Contracts\VersionComparison\FieldType\FieldTypeComparisonValue $comparisonDataA, \Ibexa\Contracts\VersionComparison\FieldType\FieldTypeComparisonValue $comparisonDataB): \Ibexa\Contracts\VersionComparison\Result\ComparisonResult` -- `public function shouldRunComparison(\Ibexa\Contracts\VersionComparison\FieldType\FieldTypeComparisonValue $comparisonDataA, \Ibexa\Contracts\VersionComparison\FieldType\FieldTypeComparisonValue $comparisonDataB): bool` - -## Ibexa\Contracts\VersionComparison\FieldType\Comparable - -- `public function getDataToCompare(\Ibexa\Contracts\Core\FieldType\Value $value): \Ibexa\Contracts\VersionComparison\FieldType\FieldTypeComparisonValue` - -## Ibexa\Contracts\VersionComparison\FieldType\FieldTypeComparisonValue extends Ibexa\Contracts\Core\Persistence\ValueObject - -- `public function __construct([array<string, mixed> $properties = [] ])` -- `public function getType(): string` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\VersionComparison\FieldValueDiff extends Ibexa\Contracts\Core\Repository\Values\ValueObject - -- `public function __construct(\Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition $fieldDefinition, \Ibexa\Contracts\VersionComparison\Result\ComparisonResult $comparisonResult)` -- `public function getComparisonResult(): \Ibexa\Contracts\VersionComparison\Result\ComparisonResult` -- `public function getFieldDefinition(): \Ibexa\Contracts\Core\Repository\Values\ContentType\FieldDefinition` -- `public function isChanged(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\VersionComparison\Result\ComparisonResult - -- `public function isChanged(): bool` - -## Ibexa\Contracts\VersionComparison\Service\VersionComparisonServiceInterface - -- `public function compare(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionA, \Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionB[, string|null $languageCode = null ]): \Ibexa\Contracts\VersionComparison\VersionDiff` - -## Ibexa\Contracts\VersionComparison\VersionDiff extends Ibexa\Contracts\Core\Repository\Values\ValueObject implements IteratorAggregate - -- `public function __construct([array<string|int, \Ibexa\Contracts\VersionComparison\FieldValueDiff> $fieldValueDiffs = [] ])` -- `public function getFieldValueDiffByIdentifier(string $fieldIdentifier): \Ibexa\Contracts\VersionComparison\FieldValueDiff` -- `public function getFieldValueDiffs(): array<string|int, \Ibexa\Contracts\VersionComparison\FieldValueDiff>` -- `public function getIterator(): \Iterator` -- `public function isChanged(): bool` -- `protected function getProperties([array<int, string> $dynamicProperties = [] ]): array<int, string>` - -## Ibexa\Contracts\Workflow\Event\Action\AbstractConditionalWorkflowActionListener implements Ibexa\Contracts\Workflow\Event\Action\WorkflowActionListenerInterface, Ibexa\Contracts\Workflow\Event\Action\ConditionalActionListenerInterface - -- `public function onConditionalWorkflowEvent(\Symfony\Component\Workflow\Event\Event $event): void` -- `public function setResult(\Symfony\Component\Workflow\Event\Event $event, mixed $value): void` - -## Ibexa\Contracts\Workflow\Event\Action\AbstractStageWorkflowActionListener extends Ibexa\Contracts\Workflow\Event\Action\AbstractConditionalWorkflowActionListener - -- `public function getActionMetadata(\Symfony\Component\Workflow\WorkflowInterface $workflow, array<string, mixed> $markingPlaces): array<string, mixed>|null` -- `public function onConditionalWorkflowEvent(\Symfony\Component\Workflow\Event\Event $event): void` -- `public function abstract onWorkflowEvent(\Symfony\Component\Workflow\Event\EnteredEvent $event): void` -- `public function setResult(\Symfony\Component\Workflow\Event\Event $event, mixed $value): void` - -## Ibexa\Contracts\Workflow\Event\Action\AbstractTransitionWorkflowActionListener extends Ibexa\Contracts\Workflow\Event\Action\AbstractConditionalWorkflowActionListener - -- `public function getActionMetadata(\Symfony\Component\Workflow\WorkflowInterface $workflow, \Symfony\Component\Workflow\Transition $transition): array<string, mixed>|null` -- `public function onConditionalWorkflowEvent(\Symfony\Component\Workflow\Event\Event $event): void` -- `public function abstract onWorkflowEvent(\Symfony\Component\Workflow\Event\TransitionEvent $event): void` -- `public function setResult(\Symfony\Component\Workflow\Event\Event $event, mixed $value): void` - -## Ibexa\Contracts\Workflow\Event\Action\ConditionalActionListenerInterface - -- `public function onConditionalWorkflowEvent(\Symfony\Component\Workflow\Event\Event $event): void` - -## Ibexa\Contracts\Workflow\Event\Action\WorkflowActionListenerInterface - -- `public function getIdentifier(): string` -- `public function setResult(\Symfony\Component\Workflow\Event\Event $event, mixed $value): void` - -## Ibexa\Contracts\Workflow\Event\StageChangeEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Workflow\Value\WorkflowMetadata $workflowMetadata, \Ibexa\Workflow\Value\Persistence\TransitionMetadata $transitionMetadata)` -- `public function getTransitionMetadata(): \Ibexa\Workflow\Value\Persistence\TransitionMetadata` -- `public function getWorkflowMetadata(): \Ibexa\Workflow\Value\WorkflowMetadata` -- `public function isPropagationStopped(): bool` -- `public function setTransitionMetadata(\Ibexa\Workflow\Value\Persistence\TransitionMetadata $transitionMetadata): void` -- `public function setWorkflowMetadata(\Ibexa\Workflow\Value\WorkflowMetadata $workflowMetadata): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Workflow\Event\TimelineEntryRenderEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Workflow\Value\WorkflowMetadata $workflowMetadata, \Ibexa\Workflow\WorkflowTimeline\Value\AbstractEntry $entry, \Twig\TemplateWrapper $template, string $blockName[, array<string, mixed> $parameters = [] ])` -- `public function getBlockName(): string` -- `public function getEntry(): \Ibexa\Workflow\WorkflowTimeline\Value\AbstractEntry` -- `public function getParameters(): array<string, mixed>` -- `public function getTemplate(): \Twig\TemplateWrapper` -- `public function getWorkflowMetadata(): \Ibexa\Workflow\Value\WorkflowMetadata` -- `public function isPropagationStopped(): bool` -- `public function setBlockName(string $blockName): void` -- `public function setParameters(array<string, mixed> $parameters): void` -- `public function setTemplate(\Twig\TemplateWrapper $template): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Workflow\Event\TimelineEvent extends Symfony\Contracts\EventDispatcher\Event - -- `public function __construct(\Ibexa\Workflow\Value\WorkflowMetadata $workflowMetadata[, array<string|int, \Ibexa\Workflow\WorkflowTimeline\Value\AbstractEntry> $entries = [] ])` -- `public function addEntries(array<string|int, \Ibexa\Workflow\WorkflowTimeline\Value\AbstractEntry> $entries): void` -- `public function addEntry(\Ibexa\Workflow\WorkflowTimeline\Value\AbstractEntry $entry): void` -- `public function getEntries(): array<string|int, \Ibexa\Workflow\WorkflowTimeline\Value\AbstractEntry>` -- `public function getWorkflowMetadata(): \Ibexa\Workflow\Value\WorkflowMetadata` -- `public function isPropagationStopped(): bool` -- `public function setEntries(array<string|int, \Ibexa\Workflow\WorkflowTimeline\Value\AbstractEntry> $entries): void` -- `public function stopPropagation(): void` - -## Ibexa\Contracts\Workflow\Event\TimelineEvents - -- `public const mixed COLLECT_ENTRIES = 'workflow.timeline.entries.collect'` -- `public const mixed ENTRY_RENDER = 'workflow.timeline.entry.render'` - -## Ibexa\Contracts\Workflow\Event\WorkflowEvents - -- `public const mixed WORKFLOW_STAGE_CHANGE = 'ibexa.workflow.stage_change'` - -## Ibexa\Contracts\Workflow\Factory\WorkflowDefinitionMetadata\WorkflowDefinitionMetadataFactoryInterface - -- `public function createWorkflowDefinitionMetadata(array<string, mixed> $configuration): \Ibexa\Workflow\Value\WorkflowDefinitionMetadata` -- `public function createWorkflowMatcherDefinitionMetadata(array<string, mixed> $configuration): \Ibexa\Workflow\Value\WorkflowMatcherDefinitionMetadata` -- `public function createWorkflowStageDefinitionMetadata(array<string, mixed> $configuration): \Ibexa\Workflow\Value\WorkflowStageDefinitionMetadata` -- `public function createWorkflowTransitionDefinitionMetadata(array<string, mixed> $configuration): \Ibexa\Workflow\Value\WorkflowTransitionDefinitionMetadata` -- `public function createWorkflowTransitionNotificationDefinitionMetadata(array<string, mixed> $configuration): \Ibexa\Workflow\Value\WorkflowTransitionNotificationDefinitionMetadata` - -## Ibexa\Contracts\Workflow\Persistence\Handler\HandlerInterface - -- `public function cleanupWorkflowMetadataForContent(int $contentId): void` -- `public function countContentWithOrphanedWorkflowMetadata(): int` -- `public function countWorkflowMetadata(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $filter): int` -- `public function create(\Ibexa\Workflow\Value\Persistence\WorkflowMetadataCreateStruct $createStruct): \Ibexa\Workflow\Value\Persistence\WorkflowMetadata` -- `public function createTransitionMetadata(\Ibexa\Workflow\Value\Persistence\TransitionMetadataCreateStruct $createStruct, int $workflowId): \Ibexa\Workflow\Value\Persistence\TransitionMetadata` -- `public function createVersionLock(int $contentId, int $versionNo, int $userId): void` -- `public function deleteTransitionMetadata(int $transitionId): void` -- `public function deleteTransitionMetadataForWorkflow(int $workflowId): void` -- `public function deleteVersionLock(int $contentId[, int|null $versionNo = null ]): void` -- `public function deleteVersionLocksByUserId(int $userId): void` -- `public function deleteWorkflowMetadata(int $workflowId): void` -- `public function findWorkflowMetadata(\Ibexa\Contracts\Core\Repository\Values\Content\Query\CriterionInterface $filter[, int $limit = 10 ][, int $offset = 0 ]): array<string|int, \Ibexa\Workflow\Value\Persistence\WorkflowMetadata>` -- `public function getVersionLock(int $contentId, int $versionNo): \Ibexa\Workflow\Value\Persistence\VersionLock` -- `public function isVersionLocked(int $contentId, int $versionNo[, int|null $userId = null ]): bool` -- `public function load(int $contentId, int $versionNo[, string|null $workflowName = null ]): \Ibexa\Workflow\Value\Persistence\WorkflowMetadata` -- `public function loadAllWorkflowMetadata(): array<string|int, \Ibexa\Workflow\Value\Persistence\WorkflowMetadata>` -- `public function loadAllWorkflowMetadataOriginatedByUser(int $userId[, string|null $workflowName = null ]): array<string|int, \Ibexa\Workflow\Value\Persistence\WorkflowMetadata>` -- `public function loadContentIdsWithOrphanedWorkflowMetadata(): array<string|int, int>` -- `public function loadMarkingMetadataByWorkflowId(int $workflowId): array<string|int, \Ibexa\Workflow\Value\Persistence\MarkingMetadata>` -- `public function loadTransitionMetadataByWorkflowId(int $workflowId): array<string|int, \Ibexa\Workflow\Value\Persistence\TransitionMetadata>` -- `public function loadWorkflowMetadataByContent(int $contentId[, int|null $versionNo = null ]): array<string|int, \Ibexa\Workflow\Value\Persistence\WorkflowMetadata>` -- `public function loadWorkflowMetadataByStage(string $workflowName, string $stageName): array<string|int, \Ibexa\Workflow\Value\Persistence\WorkflowMetadata>` -- `public function setMarkingMetadata(\Ibexa\Workflow\Value\Persistence\MarkingMetadataSetStruct $setStruct, int $workflowId): array<string|int, \Ibexa\Workflow\Value\Persistence\MarkingMetadata>` -- `public function updateVersionLock(int $contentId, int $versionNo, bool $isLocked[, int|null $userId = null ]): void` - -## Ibexa\Contracts\Workflow\Provider\WorkflowDefinitionMetadataProviderInterface - -- `public function getWorkflowDefinitionsMetadata(): array<string|int, \Ibexa\Workflow\Value\WorkflowDefinitionMetadata>` - -## Ibexa\Contracts\Workflow\Provider\WorkflowProviderInterface - -- `public function getWorkflows(): array<string|int, \Symfony\Component\Workflow\WorkflowInterface>` - -## Ibexa\Contracts\Workflow\Registry\WorkflowActionListenerRegistryInterface - -- `public function addActionListener(\Ibexa\Contracts\Workflow\Event\Action\WorkflowActionListenerInterface $actionListener): void` -- `public function getActionListener(string $identifier): \Ibexa\Contracts\Workflow\Event\Action\WorkflowActionListenerInterface|null` - -## Ibexa\Contracts\Workflow\Registry\WorkflowDefinitionMetadataRegistryInterface - -- `public function getAllWorkflowMetadata(): array<string|int, \Ibexa\Workflow\Value\WorkflowDefinitionMetadata>` -- `public function getWorkflowMetadata(string $identifier): \Ibexa\Workflow\Value\WorkflowDefinitionMetadata` -- `public function hasWorkflowMetadata(string $identifier): bool` -- `public function setAllWorkflowMetadata(array<string|int, \Ibexa\Workflow\Value\WorkflowDefinitionMetadata> $allWorkflowMetadata): void` -- `public function setWorkflowMetadata(string $identifier, \Ibexa\Workflow\Value\WorkflowDefinitionMetadata $workflowMetadata): void` - -## Ibexa\Contracts\Workflow\Registry\WorkflowRegistryInterface - -- `public function getSupportedWorkflow(string $identifier, object $subject): \Symfony\Component\Workflow\WorkflowInterface` -- `public function getSupportedWorkflows(object $subject): array<string|int, \Symfony\Component\Workflow\WorkflowInterface>` -- `public function getWorkflow(string $identifier): \Symfony\Component\Workflow\WorkflowInterface` -- `public function getWorkflows(): array<string|int, \Symfony\Component\Workflow\WorkflowInterface>` -- `public function hasWorkflow(string $identifier): bool` -- `public function setWorkflow(string $identifier, \Symfony\Component\Workflow\WorkflowInterface $workflow): void` -- `public function setWorkflows(array<string|int, \Symfony\Component\Workflow\WorkflowInterface> $workflows): void` - -## Ibexa\Contracts\Workflow\Service\WorkflowServiceInterface - -- `public function can(\Ibexa\Workflow\Value\WorkflowMetadata $workflow, string $transitionName): bool` -- `public function deleteContentLocks(int $contentId): void` -- `public function deleteLock(\Ibexa\Workflow\Value\VersionLock $versionLock): void` -- `public function deleteUserLocks(int $userId): void` -- `public function getVersionLock(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo): \Ibexa\Workflow\Value\VersionLock` -- `public function getVersionLockByContentId(int $contentId, int $versionNo): \Ibexa\Workflow\Value\VersionLock` -- `public function isVersionLocked(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, int|null $userId = null ]): bool` -- `public function loadOngoingWorkflowMetadata([int $limit = 10 ][, int $offset = 0 ]): array<string|int, \Ibexa\Workflow\Value\WorkflowMetadata>` -- `public function loadOngoingWorkflowMetadataOriginatedByUser(\Ibexa\Contracts\Core\Repository\Values\User\UserReference $user[, string|null $name = null ][, int $limit = 10 ][, int $offset = 0 ]): array<string|int, \Ibexa\Workflow\Value\WorkflowMetadata>` -- `public function loadWorkflowMetadataByStage(string $workflowName, string $stageName): array<string|int, \Ibexa\Workflow\Value\WorkflowMetadata>` -- `public function loadWorkflowMetadataForContent(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content[, string|null $name = null ]): \Ibexa\Workflow\Value\WorkflowMetadata` -- `public function loadWorkflowMetadataList(\Ibexa\Workflow\Value\WorkflowMetadataQuery $query): \Ibexa\Workflow\Value\WorkflowMetadataList` -- `public function lockVersion(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo[, int|null $userId = null ]): void` -- `public function start(\Ibexa\Contracts\Core\Repository\Values\Content\Content $content[, string|null $name = null ]): \Ibexa\Workflow\Value\WorkflowMetadata` -- `public function unlockVersion(\Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo $versionInfo): void` - -## Ibexa\Contracts\Workflow\SupportStrategy\Matcher\MatcherInterface - -- `public function getIdentifier(): string` -- `public function match(\Ibexa\Contracts\Core\Repository\Values\ValueObject $subject, array<string|int, string> $conditions): bool` - diff --git a/docs/api/rest_api/rest_api_reference_overview.md b/docs/api/rest_api/rest_api_reference_overview.md deleted file mode 100644 index 6f1b6e74a4..0000000000 --- a/docs/api/rest_api/rest_api_reference_overview.md +++ /dev/null @@ -1,152 +0,0 @@ -# REST API Reference - -## Overview - -The Ibexa DXP REST API provides programmatic access to all platform features via HTTP endpoints. The API follows REST principles and supports both JSON and XML formats. - -**Base URL**: `/api/ibexa/v2` - -## Full API Specification - -The complete REST API reference is available in OpenAPI 3.1 format: - -**[openapi.yaml](rest_api_reference/openapi.yaml)** - Complete OpenAPI specification with: -- 180+ endpoints across 40 categories -- Request/response schemas -- Authentication requirements -- Example payloads (JSON/XML) -- Error codes and responses - -## API Categories - -### Content Management -- **Objects** (25 endpoints) - CRUD operations for content items -- **Location** (6 endpoints) - Content tree navigation and management -- **Language** (2 endpoints) - Multi-language content handling - -### Commerce -- **Cart** (10 endpoints) - Shopping cart operations -- **Orders** (6 endpoints) - Order management and processing -- **Payments** (6 endpoints) - Payment processing -- **Discounts** (8 endpoints) - Discount and promotion management -- **Product** (12 endpoints) - Product catalog management -- **Product Attribute** (7 endpoints) - Product attribute definitions - -### User Management -- **User** - User authentication and management -- **Corporate Account** (12 endpoints) - B2B account management -- **Bookmark** (4 endpoints) - User bookmarks - -### Workflow & Content -- **Object State Groups** (10 endpoints) - Content state management -- **Calendar** (3 endpoints) - Event and calendar management -- **Activity Log** (1 endpoint) - Activity tracking - -### AI Features -- **Connector AI** (6 endpoints) - AI-powered features integration - -## Authentication - -All REST API endpoints require authentication. The API supports: -- **Session-based authentication** - Using session cookies -- **OAuth tokens** - For third-party integrations -- **JWT tokens** - For stateless authentication - -Unauthorized requests return `401 Unauthorized`. - -## Media Types - -The API supports content negotiation via `Accept` and `Content-Type` headers: - -**JSON** (recommended): -- Request: `application/vnd.ibexa.api.[Type]+json` -- Response: `application/vnd.ibexa.api.[Type]+json` - -**XML**: -- Request: `application/vnd.ibexa.api.[Type]+xml` -- Response: `application/vnd.ibexa.api.[Type]+xml` - -## Common Response Codes - -- `200 OK` - Successful request -- `201 Created` - Resource created successfully -- `204 No Content` - Successful deletion -- `400 Bad Request` - Invalid request data -- `401 Unauthorized` - Authentication required -- `403 Forbidden` - Insufficient permissions -- `404 Not Found` - Resource not found -- `409 Conflict` - Resource conflict (e.g., duplicate) -- `500 Internal Server Error` - Server error - -## Key Endpoint Examples - -### Content Operations -``` -GET /api/ibexa/v2/content/objects/{contentId} # Load content -POST /api/ibexa/v2/content/objects # Create content -PATCH /api/ibexa/v2/content/objects/{contentId} # Update content -DELETE /api/ibexa/v2/content/objects/{contentId} # Delete content -``` - -### Cart & Commerce -``` -POST /api/ibexa/v2/cart # Create cart -GET /api/ibexa/v2/cart/{identifier} # Get cart -PATCH /api/ibexa/v2/cart/{identifier} # Update cart -POST /api/ibexa/v2/cart/{identifier}/entry # Add item to cart -``` - -### Product Catalog -``` -GET /api/ibexa/v2/product/catalog/products # List products -GET /api/ibexa/v2/product/catalog/products/{code} # Get product -POST /api/ibexa/v2/product/catalog/products # Create product -``` - -### Orders -``` -GET /api/ibexa/v2/orders # List orders -GET /api/ibexa/v2/orders/{identifier} # Get order details -PATCH /api/ibexa/v2/orders/{identifier}/status # Update order status -``` - -## Usage Example - -```bash -# Get content item (JSON) -curl -X GET \ - -H "Accept: application/vnd.ibexa.api.Content+json" \ - -H "Authorization: Bearer YOUR_TOKEN" \ - https://example.com/api/ibexa/v2/content/objects/123 - -# Create cart entry (JSON) -curl -X POST \ - -H "Content-Type: application/vnd.ibexa.api.CartEntry+json" \ - -H "Accept: application/vnd.ibexa.api.Cart+json" \ - -H "Authorization: Bearer YOUR_TOKEN" \ - -d '{"productCode": "SKU123", "quantity": 2}' \ - https://example.com/api/ibexa/v2/cart/my-cart/entry -``` - -## Integration with PHP API - -REST API endpoints often map to PHP service methods: - -| REST Endpoint | PHP Service Method | -|---------------|-------------------| -| `POST /content/objects` | `ContentService::createContent()` | -| `GET /content/objects/{id}` | `ContentService::loadContent()` | -| `POST /cart` | `CartService::createCart()` | -| `GET /product/catalog/products/{code}` | `ProductService::getProduct()` | - -## Further Documentation - -- **[OpenAPI Specification](rest_api_reference/openapi.yaml)** - Complete API reference -- **[REST API Guide](/api/rest_api/rest_api_guide)** - Usage guide and tutorials -- **[Authentication](/api/rest_api/rest_api_authentication)** - Authentication methods - -## Tools & SDKs - -- **OpenAPI UI** - Interactive API documentation (Swagger UI compatible) -- **Code generators** - Generate client SDKs from OpenAPI spec -- **Postman/Insomnia** - Import `openapi.yaml` for testing diff --git a/mkdocs.yml b/mkdocs.yml index b88cf24b85..2f30560198 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -13,7 +13,6 @@ validation: not_in_nav: | search_results.md personalization/legacy_recommendation_api.md - api/php_api/php_api_signatures.md /snippets/* nav: - Ibexa Developer Documentation: index.md diff --git a/theme/partials/header.html b/theme/partials/header.html index ba5ca0931d..80a4345297 100644 --- a/theme/partials/header.html +++ b/theme/partials/header.html @@ -20,10 +20,5 @@ {% include ".icons/material/magnify.svg" %} </label> {% include "partials/search.html" %} - {% if config.repo_url %} - <div class="md-header__source"> - {% include "partials/source.html" %} - </div> - {% endif %} </nav> </header> diff --git a/theme/partials/source.html b/theme/partials/source.html deleted file mode 100644 index 76c8c6aea1..0000000000 --- a/theme/partials/source.html +++ /dev/null @@ -1,2 +0,0 @@ -{% import "partials/language.html" as lang with context %} -<!-- View on GitHub link removed - now available as page action button --> diff --git a/tools/README_php_api_converter.md b/tools/README_php_api_converter.md deleted file mode 100644 index eca3e7d8b7..0000000000 --- a/tools/README_php_api_converter.md +++ /dev/null @@ -1,64 +0,0 @@ -# PHP API Converter - -This tool extracts method signatures from the generated PHP API HTML documentation and creates a compact Markdown file suitable for LLM consumption. - -## Usage - -1. **Build the documentation** (generates HTML files): - ```bash - ~/python/bin/python3.13 -m mkdocs build --strict - ``` - -2. **Run the converter**: - ```bash - ~/python/bin/python3.13 tools/php_api_converter.py - ``` - -## What it does - -- **Input**: HTML files in `site/api/php_api/php_api_reference/classes/` -- **Output**: `docs/api/php_api/php_api_signatures.md` -- **Filtering**: Only includes `Ibexa\Contracts\*` classes (public API) -- **Extracts**: Public method signatures with parameter and return types - -## Output Format - -```markdown -## Ibexa\Contracts\Core\Repository\ContentService - -- `loadContent(int $contentId[, array $languages = null[, int $versionNo = null]]) : Content` -- `createContent(ContentCreateStruct $contentCreateStruct, array $locationCreateStructs) : Content` -... -``` - -## Statistics - -From the Ibexa DXP v5.0 documentation: -- **2,377 contract classes** -- **14,627 public methods** -- **~1.4 MB** output file -- **~19,000 lines** - -## Integration - -The generated file is included in the llmstxt output via `plugins.yml`: - -```yaml -PHP API Reference (Signatures): -- api/php_api/php_api_reference.md # Proxy/overview file -- api/php_api/php_api_signatures.md # Full signatures -``` - -## Dependencies - -- Python 3.13+ -- No external dependencies (uses only stdlib `re` and `pathlib`) - -## Regeneration - -Re-run the converter after: -- Ibexa DXP version upgrades -- PHP API changes -- Documentation rebuilds - -The tool processes all 2,486 HTML files in ~90 seconds. diff --git a/tools/php_api_converter.py b/tools/php_api_converter.py deleted file mode 100644 index 9395aa0a4b..0000000000 --- a/tools/php_api_converter.py +++ /dev/null @@ -1,289 +0,0 @@ -#!/usr/bin/env python3 -r""" -Convert PHP API Reference HTML files to compact Markdown signatures. - -Extracts: Class name and public method signatures -Filters: Only Ibexa\Contracts\* classes (public API) -Output: Single markdown file with signatures only -""" - -import re -from pathlib import Path -from typing import List, Dict, Optional - - -def parse_class_file(html_path: Path) -> Optional[Dict]: - """Parse a single HTML file and extract class info.""" - # Convert filename format to proper FQCN - # Ibexa-Contracts-Core-Repository-ContentService.html -> Ibexa\Contracts\Core\Repository\ContentService - fqcn = html_path.stem.replace('-', '\\') - - # Only process Ibexa\Contracts\* classes - if not fqcn.startswith('Ibexa\\Contracts\\'): - return None - - with open(html_path, 'r', encoding='utf-8') as f: - html_content = f.read() - - # Extract extends/implements info - extends = None - implements = [] - - # Look for "Extends" in header - extends_match = re.search(r'<div class="content-header__subheader">\s*Extends\s*.*?<abbr[^>]*title="\\([^"]+)"', html_content, re.DOTALL) - if extends_match: - extends = extends_match.group(1) # Keep single backslashes - - # Look for "Implements" in header - may have multiple interfaces - implements_match = re.search(r'<div class="content-header__subheader">\s*Implements\s*(.*?)</div>', html_content, re.DOTALL) - if implements_match: - impl_html = implements_match.group(1) - # Extract all abbr title attributes - impl_titles = re.findall(r'<abbr[^>]*title="\\([^"]+)"', impl_html) - implements = impl_titles # Keep single backslashes - - # Extract all public and protected members (methods, constants, properties) - members = [] - - # Pattern for methods: must have method name followed by ( - method_pattern = r'<pre><code><span class="phpdocumentor-signature__visibility">(public|protected)\s*</span>(?:<span class="phpdocumentor-signature__static">static\s*</span>)?(?:<span class="phpdocumentor-signature__abstract">abstract\s*</span>)?.*?<span class="phpdocumentor-signature__name">([^<]+)</span>\s*<span>\(</span>(.*?)</code></pre>' - - # Pattern for constants: has = sign for assignment - const_pattern = r'<pre><code><span class="phpdocumentor-signature__visibility">(public|protected)\s*</span><span class="phpdocumentor-signature__type">mixed\s*</span><span class="phpdocumentor-signature__name">([^<]+)</span>\s*=\s*' - - # Pattern for properties: type followed by variable name (with $) - property_pattern = r'<pre><code><span class="phpdocumentor-signature__visibility">(public|protected)\s*</span>(?:<span class="phpdocumentor-signature__static">static\s*</span>)?<span class="phpdocumentor-signature__type">([^<]*?)</span>(?:<span[^>]*>\s*)?(\$[a-zA-Z_][a-zA-Z0-9_]*)' - - # Extract methods - for match in re.finditer(method_pattern, html_content, re.DOTALL): - visibility = match.group(1) - signature_html = match.group(0) - - # Check for static or abstract - is_static = 'phpdocumentor-signature__static' in signature_html - is_abstract = 'phpdocumentor-signature__abstract' in signature_html - - clean_sig = clean_signature(signature_html) - - # Skip if cleanup failed - if not clean_sig or len(clean_sig) < 10 or '(' not in clean_sig or ')' not in clean_sig: - continue - - # Build prefix - visibility first, then type, then modifiers - prefix = f"{visibility} function" - if is_static: - prefix += " static" - if is_abstract: - prefix += " abstract" - - members.append(f"{prefix} {clean_sig}") - - # Extract constants - for match in re.finditer(const_pattern, html_content, re.DOTALL): - visibility = match.group(1) - const_name = match.group(2) - - # Find the full constant definition - const_html_match = re.search( - rf'<pre><code>.*?{re.escape(const_name)}.*?</code></pre>', - html_content[match.start():match.start()+500], - re.DOTALL - ) - - if const_html_match: - clean_sig = clean_signature(const_html_match.group(0)) - if clean_sig and len(clean_sig) > 5: - members.append(f"{visibility} const {clean_sig}") - - if not members: - return None - - return { - 'fqcn': fqcn, - 'extends': extends, - 'implements': implements, - 'members': members - } - - -def clean_signature(signature_html: str) -> str: - """Clean HTML from a signature and return plain text with FQCNs.""" - # First, extract FQCN mappings from abbr tags before cleaning - # Pattern: <abbr title="\Full\Namespace\ClassName">ShortName</abbr> - fqcn_map = {} - for match in re.finditer(r'<abbr[^>]*title="\\([^"]+)">([^<]+)</abbr>', signature_html): - fqcn = match.group(1) - short_name = match.group(2).strip() - if short_name and fqcn and '::' not in short_name: # Skip constant references - fqcn_map[short_name] = fqcn - - # Remove all <span> and <a> tags but keep their content - clean_sig = re.sub(r'<span[^>]*>', '', signature_html) - clean_sig = re.sub(r'</span>', '', clean_sig) - clean_sig = re.sub(r'<a[^>]*>', '', clean_sig) - clean_sig = re.sub(r'</a>', '', clean_sig) - clean_sig = re.sub(r'<abbr[^>]*>', '', clean_sig) - clean_sig = re.sub(r'</abbr>', '', clean_sig) - clean_sig = re.sub(r'<pre><code>', '', clean_sig) - clean_sig = re.sub(r'</code></pre>', '', clean_sig) - - # Decode HTML entities - clean_sig = clean_sig.replace(' ', ' ') - clean_sig = clean_sig.replace(''', "'") - clean_sig = clean_sig.replace('<', '<') - clean_sig = clean_sig.replace('>', '>') - clean_sig = clean_sig.replace('&', '&') - clean_sig = clean_sig.replace('"', '"') - - # Clean up whitespace - clean_sig = ' '.join(clean_sig.split()) - clean_sig = clean_sig.strip() - - # Filter out garbage - # Allow < and > for generic types, but check for HTML tags like <div, <span, etc. - if re.search(r'<(?!string|int|mixed|bool|float|array|object)', clean_sig, re.IGNORECASE): - # Has < followed by something that's not a generic type - likely HTML garbage - if not re.search(r'<[a-zA-Z_\\]', clean_sig): # Allow < followed by type name - return None - if 'class=' in clean_sig or '<div' in clean_sig or '<span' in clean_sig: - return None - - # Remove visibility and modifier keywords (we add them as prefixes) - # Remove from start repeatedly until none left - while clean_sig.startswith(('public ', 'protected ', 'private ', 'static ', 'abstract ', 'final ')): - clean_sig = re.sub(r'^(public|protected|private|static|abstract|final)\s+', '', clean_sig, count=1) - - # Replace short type names with FQCNs - # We need to be careful to only replace type hints, not parameter/method names - if fqcn_map: - # Replace each short name with FQCN in type hint positions - for short_name, fqcn in fqcn_map.items(): - # Escape special regex characters in short_name - escaped_short = re.escape(short_name) - # Double escape backslashes for regex replacement - escaped_fqcn = fqcn.replace('\\', '\\\\') - - # Return type (after : ) - clean_sig = re.sub( - rf':\s*{escaped_short}(\||<|&|\[|\]|\s|$)', - rf': \\{escaped_fqcn}\1', - clean_sig - ) - - # Parameter type (before $ or variable name) - clean_sig = re.sub( - rf'([(\[,]\s*){escaped_short}(\s+\$)', - rf'\1\\{escaped_fqcn}\2', - clean_sig - ) - - # Inside union types like Type1|Type2 - clean_sig = re.sub( - rf'\|{escaped_short}(\s+\$|\|)', - rf'|\\{escaped_fqcn}\1', - clean_sig - ) - - # Inside generic types like array<ClassName> or iterable<Key, Value> - clean_sig = re.sub( - rf'<{escaped_short}(,|\||&|\>)', - rf'<\\{escaped_fqcn}\1', - clean_sig - ) - clean_sig = re.sub( - rf',\s*{escaped_short}(,|\>)', - rf', \\{escaped_fqcn}\1', - clean_sig - ) - - # Fix spacing around return type colon - should be ): not ) : - clean_sig = re.sub(r'\)\s+:', '):', clean_sig) - # Ensure space after colon in return type - clean_sig = re.sub(r':\s+', ': ', clean_sig) - - return clean_sig - - -def format_class_markdown(class_data: Dict) -> str: - """Format class data as markdown.""" - lines = [] - - # Class header with inheritance info - header = f"## {class_data['fqcn']}" - if class_data.get('extends'): - header += f" extends {class_data['extends']}" - if class_data.get('implements'): - header += f" implements {', '.join(class_data['implements'])}" - lines.append(header) - lines.append("") - - # Members (methods, constants, properties) - if class_data['members']: - for member in class_data['members']: - lines.append(f"- `{member}`") - else: - lines.append("*(No public members)*") - - # Add extra blank line after each class entry - lines.append("") - lines.append("") - return '\n'.join(lines) - - -def main(): - """Main converter function.""" - script_dir = Path(__file__).parent - repo_root = script_dir.parent - - # Input: generated HTML files - input_dir = repo_root / 'site' / 'api' / 'php_api' / 'php_api_reference' / 'classes' - - # Output: single markdown file - output_file = repo_root / 'docs' / 'api' / 'php_api' / 'php_api_signatures.md' - output_file.parent.mkdir(parents=True, exist_ok=True) - - if not input_dir.exists(): - print(f"Error: Input directory not found: {input_dir}") - print("Please build the documentation first.") - return 1 - - print(f"Scanning {input_dir} for HTML files...") - - # Parse all class files - class_data_list = [] - total_files = 0 - - for html_file in sorted(input_dir.glob('*.html')): - total_files += 1 - class_data = parse_class_file(html_file) - if class_data: - class_data_list.append(class_data) - - print(f"Processed {total_files} files") - print(f"Extracted {len(class_data_list)} contract classes") - - # Sort by FQCN - class_data_list.sort(key=lambda x: x['fqcn']) - - # Generate markdown - with open(output_file, 'w', encoding='utf-8') as f: - f.write("# PHP API Reference - Method Signatures\n\n") - - for class_data in class_data_list: - f.write(format_class_markdown(class_data)) - - # Print statistics - output_size_kb = output_file.stat().st_size / 1024 - total_members = sum(len(c['members']) for c in class_data_list) - - print(f"\n✓ Generated: {output_file}") - print(f" Size: {output_size_kb:.1f} KB") - print(f" Classes: {len(class_data_list)}") - print(f" Members: {total_members}") - print(f" Avg members per class: {total_members / len(class_data_list):.1f}") - - return 0 - - -if __name__ == '__main__': - exit(main())