services:
  _defaults:
    autowire: true
    autoconfigure: true

  # /products/{product_id}/attributes_checkbox/{attribute_id}/values
  XLite\API\Endpoint\AttributeValue\Checkbox\Transformer\OutputTransformerInterface: '@XLite\API\Endpoint\AttributeValue\Checkbox\Transformer\OutputTransformer'
  XLite\API\Endpoint\AttributeValue\Checkbox\Transformer\OutputTransformer: ~
  XLite\API\Endpoint\AttributeValue\Checkbox\Transformer\InputTransformerInterface: '@XLite\API\Endpoint\AttributeValue\Checkbox\Transformer\InputTransformer'
  XLite\API\Endpoint\AttributeValue\Checkbox\Transformer\InputTransformer: ~

  xcart.api.attribute_value.checkbox.sub_extension:
    class: XLite\API\SubExtension\AttributeValue\AttributeValueSubExtension
    arguments:
      $attributeType: !php/const XLite\Model\Attribute::TYPE_CHECKBOX
      $pathPrefix: attributes_checkbox
      $className: XLite\Model\AttributeValue\AttributeValueCheckbox
    tags: [!php/const XLite\API\Extension\ItemSubExtension\ItemSubExtensionInterface::ITEM_SUB_EXTENSION_TAG, !php/const XLite\API\Extension\CollectionSubExtension\CollectionSubExtensionInterface::COLLECTION_SUB_EXTENSION_TAG]

  XLite\Controller\API\AttributeValue\Checkbox\Post:
    tags: ['controller.service_arguments']

  xcart.api.attribute_value.checkbox.sub_iri_converter:
    class: XLite\API\SubIriConverter\AttributeValue\AttributeValueSubIriConverter
    arguments:
      $routeItemName: 'api_yes/no attribute values_get_item'
      $className: XLite\Model\AttributeValue\AttributeValueCheckbox
    tags: [!php/const XCart\Framework\ApiPlatform\Core\Bridge\Symfony\Routing\SubIriConverter\SubIriFromItemConverterInterface::SUB_IRI_FROM_ITEM_CONVERTER_TAG]

  XLite\API\Endpoint\AttributeValue\Checkbox\Mapper\InputPriceModifierTypeMapperInterface: '@XLite\API\Endpoint\AttributeValue\Checkbox\Mapper\InputPriceModifierTypeMapper'
  XLite\API\Endpoint\AttributeValue\Checkbox\Mapper\InputPriceModifierTypeMapper: ~
  XLite\API\Endpoint\AttributeValue\Checkbox\Mapper\InputWeightModifierTypeMapperInterface: '@XLite\API\Endpoint\AttributeValue\Checkbox\Mapper\InputWeightModifierTypeMapper'
  XLite\API\Endpoint\AttributeValue\Checkbox\Mapper\InputWeightModifierTypeMapper: ~
  XLite\API\Endpoint\AttributeValue\Checkbox\Mapper\OutputPriceModifierTypeMapperInterface: '@XLite\API\Endpoint\AttributeValue\Checkbox\Mapper\OutputPriceModifierTypeMapper'
  XLite\API\Endpoint\AttributeValue\Checkbox\Mapper\OutputPriceModifierTypeMapper: ~
  XLite\API\Endpoint\AttributeValue\Checkbox\Mapper\OutputWeightModifierTypeMapperInterface: '@XLite\API\Endpoint\AttributeValue\Checkbox\Mapper\OutputWeightModifierTypeMapper'
  XLite\API\Endpoint\AttributeValue\Checkbox\Mapper\OutputWeightModifierTypeMapper: ~

  XLite\API\Endpoint\AttributeValue\Checkbox\DataPersister\DataPersister:
    arguments:
      $inner: '@api_platform.doctrine.orm.data_persister'

  XLite\API\Endpoint\AttributeValue\Checkbox\DataProvider\ItemDataProvider: ~
