GET https://store.nostradamnit.com/travis.html

Serializer

19 Handled
123.82 ms Total time

default 19

serialize 0

Nothing was serialized.

deserialize 0

Nothing was deserialized.

normalize 19

Data Context Normalizer Time Caller
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#4380
  -pager: Propel\Runtime\Util\PropelModelPager {#4558
    #query: Thelia\Model\CategoryQuery {#4550 …}
    #page: 1
    #maxPerPage: 30
    #lastPage: 1
    #nbResults: 2
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#4390 …}
    #con: null
  }
  storage: [
    Thelia\Api\Resource\Category {#4339
      +i18ns: Thelia\Api\Resource\I18nCollection {#4345 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Category {#4378 …}
      +id: 1
      +parent: 0
      +visible: true
      +position: 1
      +defaultTemplateId: 1
      +createdAt: DateTime @1794052482 {#4382
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052482 {#4386
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
    }
    Thelia\Api\Resource\Category {#4349
      +i18ns: Thelia\Api\Resource\I18nCollection {#4598 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Category {#3347 …}
      +id: 2
      +parent: 0
      +visible: true
      +position: 2
      +defaultTemplateId: 1
      +createdAt: DateTime @1794052482 {#3299
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052482 {#3435
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
    }
  ]
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/categories"
  "operation" => ApiPlatform\Metadata\GetCollection {#4490
    #parameters: ApiPlatform\Metadata\Parameters {#4491 …}
    #shortName: "Category2"
    #class: "Thelia\Api\Resource\Category"
    #description: null
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:category:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_category_thelia_api_bridge_propel_filter_not_in_filter"
      "annotated_thelia_api_resource_category_thelia_api_bridge_propel_filter_search_filter"
      "annotated_thelia_api_resource_category_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_category_thelia_api_bridge_propel_filter_boolean_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/categories_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/categories"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\Category"
  "filters" => [
    "parent" => 0
    "visible" => true
    "order" => [
      "position" => "asc"
    ]
    "locale" => "en_US"
  ]
  "groups" => [
    "front:category:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#4380
      -pager: Propel\Runtime\Util\PropelModelPager {#4558
        #query: Thelia\Model\CategoryQuery {#4550 …}
        #page: 1
        #maxPerPage: 30
        #lastPage: 1
        #nbResults: 2
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#4390 …}
        #con: null
      }
      storage: [
        Thelia\Api\Resource\Category {#4339
          +i18ns: Thelia\Api\Resource\I18nCollection {#4345 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Category {#4378 …}
          +id: 1
          +parent: 0
          +visible: true
          +position: 1
          +defaultTemplateId: 1
          +createdAt: DateTime @1794052482 {#4382
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052482 {#4386
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
        }
        Thelia\Api\Resource\Category {#4349
          +i18ns: Thelia\Api\Resource\I18nCollection {#4598 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Category {#3347 …}
          +id: 2
          +parent: 0
          +visible: true
          +position: 2
          +defaultTemplateId: 1
          +createdAt: DateTime @1794052482 {#3299
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052482 {#3435
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
        }
      ]
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#3745
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#3921 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#3746 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#3744 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#3749 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#3919 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#3920 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#3622 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/categories"
    #requestUri: "/api/front/categories"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
ItemNormalizer (0.50 ms)
16.74 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#4637
  -pager: Propel\Runtime\Util\PropelModelPager {#4734
    #query: Thelia\Model\CategoryQuery {#4755 …}
    #page: 1
    #maxPerPage: 30
    #lastPage: 1
    #nbResults: 4
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#4722 …}
    #con: null
  }
  storage: [
    Thelia\Api\Resource\Category {#4676
      +i18ns: Thelia\Api\Resource\I18nCollection {#4674 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Category {#4701 …}
      +id: 3
      +parent: 2
      +visible: true
      +position: 1
      +defaultTemplateId: 1
      +createdAt: DateTime @1794052482 {#4700
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052482 {#4753
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
    }
    Thelia\Api\Resource\Category {#4660
      +i18ns: Thelia\Api\Resource\I18nCollection {#4670 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Category {#4693 …}
      +id: 5
      +parent: 1
      +visible: true
      +position: 1
      +defaultTemplateId: 1
      +createdAt: DateTime @1794052483 {#4692
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#4691
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
    }
    Thelia\Api\Resource\Category {#4646
      +i18ns: Thelia\Api\Resource\I18nCollection {#4652 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Category {#3529 …}
      +id: 4
      +parent: 2
      +visible: true
      +position: 2
      +defaultTemplateId: 1
      +createdAt: DateTime @1794052482 {#3530
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052482 {#3531
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
    }
    Thelia\Api\Resource\Category {#4632
      +i18ns: Thelia\Api\Resource\I18nCollection {#4638 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Category {#4689 …}
      +id: 6
      +parent: 1
      +visible: true
      +position: 2
      +defaultTemplateId: 1
      +createdAt: DateTime @1794052483 {#4688
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#4687
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
    }
  ]
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/categories"
  "operation" => ApiPlatform\Metadata\GetCollection {#4490
    #parameters: ApiPlatform\Metadata\Parameters {#4491 …}
    #shortName: "Category2"
    #class: "Thelia\Api\Resource\Category"
    #description: null
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:category:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_category_thelia_api_bridge_propel_filter_not_in_filter"
      "annotated_thelia_api_resource_category_thelia_api_bridge_propel_filter_search_filter"
      "annotated_thelia_api_resource_category_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_category_thelia_api_bridge_propel_filter_boolean_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/categories_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/categories"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\Category"
  "filters" => [
    "parent" => [
      1
      2
    ]
    "order" => [
      "position" => "asc"
    ]
    "visible" => true
    "locale" => "en_US"
  ]
  "groups" => [
    "front:category:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#4637
      -pager: Propel\Runtime\Util\PropelModelPager {#4734
        #query: Thelia\Model\CategoryQuery {#4755 …}
        #page: 1
        #maxPerPage: 30
        #lastPage: 1
        #nbResults: 4
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#4722 …}
        #con: null
      }
      storage: [
        Thelia\Api\Resource\Category {#4676
          +i18ns: Thelia\Api\Resource\I18nCollection {#4674 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Category {#4701 …}
          +id: 3
          +parent: 2
          +visible: true
          +position: 1
          +defaultTemplateId: 1
          +createdAt: DateTime @1794052482 {#4700
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052482 {#4753
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
        }
        Thelia\Api\Resource\Category {#4660
          +i18ns: Thelia\Api\Resource\I18nCollection {#4670 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Category {#4693 …}
          +id: 5
          +parent: 1
          +visible: true
          +position: 1
          +defaultTemplateId: 1
          +createdAt: DateTime @1794052483 {#4692
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#4691
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
        }
        Thelia\Api\Resource\Category {#4646
          +i18ns: Thelia\Api\Resource\I18nCollection {#4652 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Category {#3529 …}
          +id: 4
          +parent: 2
          +visible: true
          +position: 2
          +defaultTemplateId: 1
          +createdAt: DateTime @1794052482 {#3530
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052482 {#3531
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
        }
        Thelia\Api\Resource\Category {#4632
          +i18ns: Thelia\Api\Resource\I18nCollection {#4638 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Category {#4689 …}
          +id: 6
          +parent: 1
          +visible: true
          +position: 2
          +defaultTemplateId: 1
          +createdAt: DateTime @1794052483 {#4688
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#4687
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
        }
      ]
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#4548
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#4772 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#4892 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#4802 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#4773 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#4790 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#4834 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#4767 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/categories"
    #requestUri: "/api/front/categories"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
ItemNormalizer (0.48 ms)
2.01 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#4107
  -pager: Propel\Runtime\Util\PropelModelPager {#4106
    #query: Thelia\Model\CategoryQuery {#4085 …}
    #page: 0
    #maxPerPage: 30
    #lastPage: 0
    #nbResults: 0
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#4118 …}
    #con: null
  }
  storage: []
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/categories"
  "operation" => ApiPlatform\Metadata\GetCollection {#4490
    #parameters: ApiPlatform\Metadata\Parameters {#4491 …}
    #shortName: "Category2"
    #class: "Thelia\Api\Resource\Category"
    #description: null
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:category:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_category_thelia_api_bridge_propel_filter_not_in_filter"
      "annotated_thelia_api_resource_category_thelia_api_bridge_propel_filter_search_filter"
      "annotated_thelia_api_resource_category_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_category_thelia_api_bridge_propel_filter_boolean_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/categories_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/categories"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\Category"
  "filters" => [
    "parent" => [
      3
      4
      5
      6
    ]
    "order" => [
      "position" => "asc"
    ]
    "visible" => true
    "locale" => "en_US"
  ]
  "groups" => [
    "front:category:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#4107
      -pager: Propel\Runtime\Util\PropelModelPager {#4106
        #query: Thelia\Model\CategoryQuery {#4085 …}
        #page: 0
        #maxPerPage: 30
        #lastPage: 0
        #nbResults: 0
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#4118 …}
        #con: null
      }
      storage: []
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#4757
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#4617 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#4705 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#4630 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#4651 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#3969 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#4714 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#4682 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/categories"
    #requestUri: "/api/front/categories"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
0.01 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#5822
  -pager: Propel\Runtime\Util\PropelModelPager {#5877
    #query: Thelia\Model\FolderQuery {#5820 …}
    #page: 0
    #maxPerPage: 30
    #lastPage: 0
    #nbResults: 0
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#5857 …}
    #con: null
  }
  storage: []
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/folders"
  "operation" => ApiPlatform\Metadata\GetCollection {#5773
    #parameters: ApiPlatform\Metadata\Parameters {#5774 …}
    #shortName: "Folder2"
    #class: "Thelia\Api\Resource\Folder"
    #description: null
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:folder:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_folder_thelia_api_bridge_propel_filter_search_filter"
      "annotated_thelia_api_resource_folder_thelia_api_bridge_propel_filter_not_in_filter"
      "annotated_thelia_api_resource_folder_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_folder_thelia_api_bridge_propel_filter_boolean_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/folders_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/folders"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\Folder"
  "filters" => [
    "parent" => 2
    "visible" => true
    "locale" => "en_US"
  ]
  "groups" => [
    "front:folder:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#5822
      -pager: Propel\Runtime\Util\PropelModelPager {#5877
        #query: Thelia\Model\FolderQuery {#5820 …}
        #page: 0
        #maxPerPage: 30
        #lastPage: 0
        #nbResults: 0
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#5857 …}
        #con: null
      }
      storage: []
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#5738
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#5743 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#5741 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#5742 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#5746 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#5745 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#5744 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#5747 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/folders"
    #requestUri: "/api/front/folders"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
0.01 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#6064
  -pager: Propel\Runtime\Util\PropelModelPager {#5941
    #query: Thelia\Model\ContentQuery {#5935 …}
    #page: 1
    #maxPerPage: 30
    #lastPage: 1
    #nbResults: 3
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#6085 …}
    #con: null
  }
  storage: [
    Thelia\Api\Resource\Content {#6108
      +i18ns: Thelia\Api\Resource\I18nCollection {#5975 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Content {#6082 …}
      +id: 6
      +visible: true
      +position: null
      +contentFolders: [
        Thelia\Api\Resource\ContentFolder {#6020
          +content: Thelia\Api\Resource\Content {#6134 …}
          +folder: Thelia\Api\Resource\Folder {#6170 …}
          +defaultFolder: true
          +position: 1
          +createdAt: DateTime @1794052482 {#5972
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052482 {#5971
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ContentFolder {#5973 …}
        }
      ]
      +publishAt: null
      +unpublishAt: null
      +createdAt: DateTime @1794052482 {#6079
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052482 {#6102
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
    }
    Thelia\Api\Resource\Content {#6063
      +i18ns: Thelia\Api\Resource\I18nCollection {#5946 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Content {#6065 …}
      +id: 7
      +visible: true
      +position: null
      +contentFolders: [
        Thelia\Api\Resource\ContentFolder {#6220
          +content: Thelia\Api\Resource\Content {#6268 …}
          +folder: Thelia\Api\Resource\Folder {#6258 …}
          +defaultFolder: true
          +position: 2
          +createdAt: DateTime @1794052482 {#5966
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052482 {#5965
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ContentFolder {#5970 …}
        }
      ]
      +publishAt: null
      +unpublishAt: null
      +createdAt: DateTime @1794052482 {#6093
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052482 {#6067
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
    }
    Thelia\Api\Resource\Content {#6078
      +i18ns: Thelia\Api\Resource\I18nCollection {#6171 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Content {#6095 …}
      +id: 8
      +visible: true
      +position: null
      +contentFolders: [
        Thelia\Api\Resource\ContentFolder {#6270
          +content: Thelia\Api\Resource\Content {#6173 …}
          +folder: Thelia\Api\Resource\Folder {#6204 …}
          +defaultFolder: true
          +position: 3
          +createdAt: DateTime @1794052482 {#5986
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052482 {#6071
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ContentFolder {#5985 …}
        }
      ]
      +publishAt: null
      +unpublishAt: null
      +createdAt: DateTime @1794052482 {#6090
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052482 {#6081
        date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
      }
    }
  ]
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/contents"
  "operation" => ApiPlatform\Metadata\GetCollection {#5915
    #parameters: ApiPlatform\Metadata\Parameters {#5916 …}
    #shortName: "Content2"
    #class: "Thelia\Api\Resource\Content"
    #description: null
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:content:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_content_thelia_api_bridge_propel_filter_search_filter"
      "annotated_thelia_api_resource_content_thelia_api_bridge_propel_filter_not_in_filter"
      "annotated_thelia_api_resource_content_thelia_api_bridge_propel_filter_boolean_filter"
      "annotated_thelia_api_resource_content_thelia_api_bridge_propel_filter_order_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/contents_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/contents"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\Content"
  "filters" => [
    "contentFolders.folder.id" => 2
    "visible" => true
    "locale" => "en_US"
  ]
  "groups" => [
    "front:content:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#6064
      -pager: Propel\Runtime\Util\PropelModelPager {#5941
        #query: Thelia\Model\ContentQuery {#5935 …}
        #page: 1
        #maxPerPage: 30
        #lastPage: 1
        #nbResults: 3
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#6085 …}
        #con: null
      }
      storage: [
        Thelia\Api\Resource\Content {#6108
          +i18ns: Thelia\Api\Resource\I18nCollection {#5975 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Content {#6082 …}
          +id: 6
          +visible: true
          +position: null
          +contentFolders: [
            Thelia\Api\Resource\ContentFolder {#6020
              +content: Thelia\Api\Resource\Content {#6134 …}
              +folder: Thelia\Api\Resource\Folder {#6170 …}
              +defaultFolder: true
              +position: 1
              +createdAt: DateTime @1794052482 {#5972
                date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052482 {#5971
                date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ContentFolder {#5973 …}
            }
          ]
          +publishAt: null
          +unpublishAt: null
          +createdAt: DateTime @1794052482 {#6079
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052482 {#6102
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
        }
        Thelia\Api\Resource\Content {#6063
          +i18ns: Thelia\Api\Resource\I18nCollection {#5946 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Content {#6065 …}
          +id: 7
          +visible: true
          +position: null
          +contentFolders: [
            Thelia\Api\Resource\ContentFolder {#6220
              +content: Thelia\Api\Resource\Content {#6268 …}
              +folder: Thelia\Api\Resource\Folder {#6258 …}
              +defaultFolder: true
              +position: 2
              +createdAt: DateTime @1794052482 {#5966
                date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052482 {#5965
                date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ContentFolder {#5970 …}
            }
          ]
          +publishAt: null
          +unpublishAt: null
          +createdAt: DateTime @1794052482 {#6093
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052482 {#6067
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
        }
        Thelia\Api\Resource\Content {#6078
          +i18ns: Thelia\Api\Resource\I18nCollection {#6171 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Content {#6095 …}
          +id: 8
          +visible: true
          +position: null
          +contentFolders: [
            Thelia\Api\Resource\ContentFolder {#6270
              +content: Thelia\Api\Resource\Content {#6173 …}
              +folder: Thelia\Api\Resource\Folder {#6204 …}
              +defaultFolder: true
              +position: 3
              +createdAt: DateTime @1794052482 {#5986
                date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052482 {#6071
                date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ContentFolder {#5985 …}
            }
          ]
          +publishAt: null
          +unpublishAt: null
          +createdAt: DateTime @1794052482 {#6090
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052482 {#6081
            date: 2026-11-07 12:54:42.0 Europe/Paris (+01:00)
          }
        }
      ]
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#5818
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#5833 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#5829 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#5836 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#5821 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#5870 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#5858 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#5872 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/contents"
    #requestUri: "/api/front/contents"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
ItemNormalizer (0.61 ms)
8.35 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#6734
  -pager: Propel\Runtime\Util\PropelModelPager {#6648
    #query: Thelia\Model\LangQuery {#6670 …}
    #page: 1
    #maxPerPage: 30
    #lastPage: 1
    #nbResults: 4
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#6644 …}
    #con: null
  }
  storage: [
    Thelia\Api\Resource\Lang {#6708
      +id: 1
      +title: "Français"
      +code: "fr"
      +locale: "fr_FR"
      +url: ""
      +dateFormat: "d/m/Y"
      +timeFormat: "H:i:s"
      +datetimeFormat: "d/m/Y H:i:s"
      +decimalSeparator: ","
      +thousandsSeparator: " "
      +active: true
      +visible: true
      +decimals: "2"
      +byDefault: false
      +position: null
      +createdAt: DateTime @1794052452 {#3362
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052452 {#3361
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\Lang {#3363 …}
    }
    Thelia\Api\Resource\Lang {#6751
      +id: 2
      +title: "English"
      +code: "en"
      +locale: "en_US"
      +url: ""
      +dateFormat: "m-d-Y"
      +timeFormat: "h:i:s"
      +datetimeFormat: "m-d-Y h:i:s"
      +decimalSeparator: "."
      +thousandsSeparator: " "
      +active: true
      +visible: true
      +decimals: "2"
      +byDefault: true
      +position: null
      +createdAt: DateTime @1794052452 {#3137
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052452 {#3138
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\Lang {#3136 …}
    }
    Thelia\Api\Resource\Lang {#6704
      +id: 3
      +title: "Castellano"
      +code: "es"
      +locale: "es_ES"
      +url: ""
      +dateFormat: "m-d-Y"
      +timeFormat: "h:i:s"
      +datetimeFormat: "m-d-Y h:i:s"
      +decimalSeparator: ","
      +thousandsSeparator: "."
      +active: true
      +visible: true
      +decimals: "2"
      +byDefault: false
      +position: null
      +createdAt: DateTime @1794052452 {#3811
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052452 {#3536
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\Lang {#3535 …}
    }
    Thelia\Api\Resource\Lang {#6732
      +id: 4
      +title: "Italiano"
      +code: "it"
      +locale: "it_IT"
      +url: ""
      +dateFormat: "d/m/Y"
      +timeFormat: "H:i:s"
      +datetimeFormat: "d/m/y H:i:s"
      +decimalSeparator: ","
      +thousandsSeparator: " "
      +active: true
      +visible: true
      +decimals: "2"
      +byDefault: false
      +position: null
      +createdAt: DateTime @1794052452 {#3800
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052452 {#3798
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\Lang {#3667 …}
    }
  ]
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/languages"
  "operation" => ApiPlatform\Metadata\GetCollection {#6622
    #parameters: ApiPlatform\Metadata\Parameters {#6623 …}
    #shortName: "Lang2"
    #class: "Thelia\Api\Resource\Lang"
    #description: null
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:lang:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_lang_thelia_api_bridge_propel_filter_boolean_filter"
      "annotated_thelia_api_resource_lang_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_lang_thelia_api_bridge_propel_filter_search_filter"
      "annotated_thelia_api_resource_lang_thelia_api_bridge_propel_filter_not_in_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/languages_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/languages"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\Lang"
  "filters" => [
    "active" => true
    "locale" => "en_US"
  ]
  "groups" => [
    "front:lang:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#6734
      -pager: Propel\Runtime\Util\PropelModelPager {#6648
        #query: Thelia\Model\LangQuery {#6670 …}
        #page: 1
        #maxPerPage: 30
        #lastPage: 1
        #nbResults: 4
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#6644 …}
        #con: null
      }
      storage: [
        Thelia\Api\Resource\Lang {#6708
          +id: 1
          +title: "Français"
          +code: "fr"
          +locale: "fr_FR"
          +url: ""
          +dateFormat: "d/m/Y"
          +timeFormat: "H:i:s"
          +datetimeFormat: "d/m/Y H:i:s"
          +decimalSeparator: ","
          +thousandsSeparator: " "
          +active: true
          +visible: true
          +decimals: "2"
          +byDefault: false
          +position: null
          +createdAt: DateTime @1794052452 {#3362
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052452 {#3361
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\Lang {#3363 …}
        }
        Thelia\Api\Resource\Lang {#6751
          +id: 2
          +title: "English"
          +code: "en"
          +locale: "en_US"
          +url: ""
          +dateFormat: "m-d-Y"
          +timeFormat: "h:i:s"
          +datetimeFormat: "m-d-Y h:i:s"
          +decimalSeparator: "."
          +thousandsSeparator: " "
          +active: true
          +visible: true
          +decimals: "2"
          +byDefault: true
          +position: null
          +createdAt: DateTime @1794052452 {#3137
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052452 {#3138
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\Lang {#3136 …}
        }
        Thelia\Api\Resource\Lang {#6704
          +id: 3
          +title: "Castellano"
          +code: "es"
          +locale: "es_ES"
          +url: ""
          +dateFormat: "m-d-Y"
          +timeFormat: "h:i:s"
          +datetimeFormat: "m-d-Y h:i:s"
          +decimalSeparator: ","
          +thousandsSeparator: "."
          +active: true
          +visible: true
          +decimals: "2"
          +byDefault: false
          +position: null
          +createdAt: DateTime @1794052452 {#3811
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052452 {#3536
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\Lang {#3535 …}
        }
        Thelia\Api\Resource\Lang {#6732
          +id: 4
          +title: "Italiano"
          +code: "it"
          +locale: "it_IT"
          +url: ""
          +dateFormat: "d/m/Y"
          +timeFormat: "H:i:s"
          +datetimeFormat: "d/m/y H:i:s"
          +decimalSeparator: ","
          +thousandsSeparator: " "
          +active: true
          +visible: true
          +decimals: "2"
          +byDefault: false
          +position: null
          +createdAt: DateTime @1794052452 {#3800
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052452 {#3798
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\Lang {#3667 …}
        }
      ]
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#6589
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#6592 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#6590 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#6591 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#6595 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#6594 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#6593 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#6596 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/languages"
    #requestUri: "/api/front/languages"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
ItemNormalizer (0.19 ms) 3.42 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#7167
  -pager: Propel\Runtime\Util\PropelModelPager {#7069
    #query: Thelia\Model\CurrencyQuery {#6988 …}
    #page: 1
    #maxPerPage: 30
    #lastPage: 1
    #nbResults: 3
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#7114 …}
    #con: null
  }
  storage: [
    Thelia\Api\Resource\Currency {#7146
      +i18ns: Thelia\Api\Resource\I18nCollection {#7144 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Currency {#3870 …}
      +id: 1
      +code: "EUR"
      +isocodeNumeric: "978"
      +symbol: "€"
      +format: "%n %s"
      +rate: 1.0
      +position: 1
      +visible: true
      +byDefault: true
      +createdAt: DateTime @1794052452 {#3867
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052452 {#3868
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
    }
    Thelia\Api\Resource\Currency {#7127
      +i18ns: Thelia\Api\Resource\I18nCollection {#7156 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Currency {#7116 …}
      +id: 2
      +code: "USD"
      +isocodeNumeric: "840"
      +symbol: "$"
      +format: "%s%n"
      +rate: 1.26
      +position: 2
      +visible: true
      +byDefault: false
      +createdAt: DateTime @1794052452 {#7046
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052452 {#7059
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
    }
    Thelia\Api\Resource\Currency {#7157
      +i18ns: Thelia\Api\Resource\I18nCollection {#7168 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Currency {#7121 …}
      +id: 3
      +code: "GBP"
      +isocodeNumeric: "826"
      +symbol: "£"
      +format: "%s%n"
      +rate: 0.89
      +position: 3
      +visible: true
      +byDefault: false
      +createdAt: DateTime @1794052452 {#7120
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052452 {#7045
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
    }
  ]
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/currencies"
  "operation" => ApiPlatform\Metadata\GetCollection {#6948
    #parameters: ApiPlatform\Metadata\Parameters {#6949 …}
    #shortName: "Currency2"
    #class: "Thelia\Api\Resource\Currency"
    #description: null
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:currency:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_currency_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_currency_thelia_api_bridge_propel_filter_boolean_filter"
      "annotated_thelia_api_resource_currency_thelia_api_bridge_propel_filter_search_filter"
      "annotated_thelia_api_resource_currency_thelia_api_bridge_propel_filter_not_in_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/currencies_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/currencies"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\Currency"
  "filters" => [
    "visible" => true
    "locale" => "en_US"
  ]
  "groups" => [
    "front:currency:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#7167
      -pager: Propel\Runtime\Util\PropelModelPager {#7069
        #query: Thelia\Model\CurrencyQuery {#6988 …}
        #page: 1
        #maxPerPage: 30
        #lastPage: 1
        #nbResults: 3
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#7114 …}
        #con: null
      }
      storage: [
        Thelia\Api\Resource\Currency {#7146
          +i18ns: Thelia\Api\Resource\I18nCollection {#7144 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Currency {#3870 …}
          +id: 1
          +code: "EUR"
          +isocodeNumeric: "978"
          +symbol: "€"
          +format: "%n %s"
          +rate: 1.0
          +position: 1
          +visible: true
          +byDefault: true
          +createdAt: DateTime @1794052452 {#3867
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052452 {#3868
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
        }
        Thelia\Api\Resource\Currency {#7127
          +i18ns: Thelia\Api\Resource\I18nCollection {#7156 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Currency {#7116 …}
          +id: 2
          +code: "USD"
          +isocodeNumeric: "840"
          +symbol: "$"
          +format: "%s%n"
          +rate: 1.26
          +position: 2
          +visible: true
          +byDefault: false
          +createdAt: DateTime @1794052452 {#7046
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052452 {#7059
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
        }
        Thelia\Api\Resource\Currency {#7157
          +i18ns: Thelia\Api\Resource\I18nCollection {#7168 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Currency {#7121 …}
          +id: 3
          +code: "GBP"
          +isocodeNumeric: "826"
          +symbol: "£"
          +format: "%s%n"
          +rate: 0.89
          +position: 3
          +visible: true
          +byDefault: false
          +createdAt: DateTime @1794052452 {#7120
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052452 {#7045
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
        }
      ]
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#6915
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#6918 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#6916 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#6917 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#6921 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#6920 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#6919 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#6922 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/currencies"
    #requestUri: "/api/front/currencies"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
ItemNormalizer (0.24 ms) 4.22 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#7721
  -pager: Propel\Runtime\Util\PropelModelPager {#7722
    #query: HeaderHighlights\Model\HeaderHighlightsImageQuery {#7657 …}
    #page: 0
    #maxPerPage: 30
    #lastPage: 0
    #nbResults: 0
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#7756 …}
    #con: null
  }
  storage: []
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/header-highlights"
  "operation" => ApiPlatform\Metadata\GetCollection {#7959
    #parameters: ApiPlatform\Metadata\Parameters {#7958 …}
    #shortName: "HeaderHighlightsImage"
    #class: "HeaderHighlights\Api\Resource\HeaderHighlightsImage"
    #description: null
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "header:highlights:image:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_header_highlights_api_resource_header_highlights_image_thelia_api_bridge_propel_filter_search_filter"
      "annotated_header_highlights_api_resource_header_highlights_image_thelia_api_bridge_propel_filter_boolean_filter"
      "annotated_header_highlights_api_resource_header_highlights_image_thelia_api_bridge_propel_filter_order_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "api_header_highlights_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/header-highlights"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "HeaderHighlights\Api\Resource\HeaderHighlightsImage"
  "filters" => [
    "locale" => "en_US"
  ]
  "groups" => [
    "header:highlights:image:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#7721
      -pager: Propel\Runtime\Util\PropelModelPager {#7722
        #query: HeaderHighlights\Model\HeaderHighlightsImageQuery {#7657 …}
        #page: 0
        #maxPerPage: 30
        #lastPage: 0
        #nbResults: 0
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#7756 …}
        #con: null
      }
      storage: []
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#7980
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#3848 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#7533 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#3851 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#7966 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#7967 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#4145 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#7965 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/header-highlights"
    #requestUri: "/api/header-highlights"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
0.01 ms
Thelia\Api\Resource\Product
Thelia\Api\Resource\Product {#6968
  +i18ns: Thelia\Api\Resource\I18nCollection {#7874 …}
  #resourceAddons: [
    "ProductLibraryImagesAddon" => TheliaLibrary\Api\Resource\Addon\ProductLibraryImagesAddon {#8060
      +libraryImages: []
      -context: [
        "path_info" => "/api/front/products/2"
        "operation" => ApiPlatform\Metadata\Get {#7615
          #parameters: ApiPlatform\Metadata\Parameters {#7702 …}
          #shortName: "Product2"
          #class: "Thelia\Api\Resource\Product"
          #description: null
          #urlGenerationStrategy: null
          #deprecationReason: null
          #normalizationContext: [
            "groups" => [
              "front:product:read"
              "front:product:read:single"
            ]
          ]
          #denormalizationContext: null
          #collectDenormalizationErrors: null
          #validationContext: null
          #filters: [
            "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_search_filter"
            "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_boolean_filter"
            "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_order_filter"
            "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_thelia_filter"
            "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_not_in_filter"
            "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_product_filter_product_price_order_filter"
            "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_product_filter_product_title_order_filter"
            "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_product_filter_depth_product_filter"
            "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_range_filter"
            "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_date_filter"
          ]
          #mercure: null
          #messenger: null
          #input: null
          #output: null
          #order: null
          #fetchPartial: null
          #forceEager: null
          #paginationEnabled: null
          #paginationType: null
          #paginationItemsPerPage: null
          #paginationMaximumItemsPerPage: 100
          #paginationPartial: null
          #paginationClientEnabled: null
          #paginationClientItemsPerPage: true
          #paginationClientPartial: null
          #paginationFetchJoinCollection: null
          #paginationUseOutputWalkers: null
          #security: null
          #securityMessage: null
          #securityPostDenormalize: null
          #securityPostDenormalizeMessage: null
          #securityPostValidation: null
          #securityPostValidationMessage: null
          #provider: "Thelia\Api\Bridge\Propel\State\PropelItemProvider"
          #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
          #stateOptions: null
          #rules: null
          #policy: null
          #middleware: null
          #queryParameterValidationEnabled: null
          #strictQueryParameterValidation: null
          #hideHydraOperation: null
          #jsonStream: null
          #map: null
          #extraProperties: [
            "deduplicate_resource_short_names" => true
            "user_defined_uri_template" => true
            "is_alternate_resource_metadata" => true
          ]
          #paginationViaCursor: null
          #read: null
          #deserialize: null
          #validate: null
          #write: null
          #serialize: null
          #contentNegotiation: null
          #priority: 1
          #name: "_api_/front/products/{id}_get"
          #formats: null
          #inputFormats: [
            "json" => [
              "application/json"
              "application/json"
              "application/json"
            ]
            "jsonld" => [
              "application/ld+json"
              "application/ld+json"
              "application/ld+json"
            ]
            "html" => [
              "text/html"
              "text/html"
              "text/html"
            ]
          ]
          #outputFormats: [
            "json" => [
              "application/json"
              "application/json"
              "application/json"
            ]
            "jsonld" => [
              "application/ld+json"
              "application/ld+json"
              "application/ld+json"
            ]
            "html" => [
              "text/html"
              "text/html"
              "text/html"
            ]
          ]
          #method: "GET"
          #uriTemplate: "/front/products/{id}"
          #types: null
          #uriVariables: [
            "id" => ApiPlatform\Metadata\Link {#7634
              #key: null
              #schema: null
              #openApi: null
              #provider: null
              #filter: null
              #property: null
              #description: null
              #properties: null
              #required: null
              #priority: null
              #hydra: null
              #constraints: null
              #security: null
              #securityMessage: null
              #extraProperties: []
              #filterContext: null
              #nativeType: null
              #castToArray: null
              #castToNativeType: null
              #castFn: null
              #default: null
              #filterClass: null
              -parameterName: "id"
              -fromProperty: null
              -toProperty: null
              -fromClass: "Thelia\Api\Resource\Product"
              -toClass: null
              -identifiers: [
                "id"
              ]
              -compositeIdentifier: null
              -expandedValue: null
              -securityObjectName: null
            }
          ]
          #routePrefix: null
          #routeName: null
          #defaults: null
          #requirements: null
          #options: null
          #stateless: false
          #sunset: null
          #acceptPatch: null
          #status: null
          #host: null
          #schemes: null
          #condition: null
          #controller: "api_platform.symfony.main_controller"
          #headers: null
          #cacheHeaders: [
            "vary" => [
              "Content-Type"
              "Authorization"
              "Origin"
            ]
          ]
          #hydraContext: null
          #openapi: null
          #exceptionToStatus: null
          #links: null
          #errors: null
        }
        "uri_variables" => [
          "id" => "2"
        ]
        "resource_class" => "Thelia\Api\Resource\Product"
        "filters" => [
          "locale" => "en_US"
        ]
        "groups" => [
          "front:product:read"
          "front:product:read:single"
        ]
        "exclude_from_cache_key" => [
          "root_operation"
          "operation"
          "object"
          "data"
          "property_metadata"
          "circular_reference_limit_counters"
          "debug_trace_id"
          "extra_variables"
          "request"
        ]
        "__visited" => [
          "Thelia\Api\Resource\Product#2@960270736c79c3e26e655b9e8bc5a0c1" => true
        ]
        "__path" => [
          "Thelia\Api\Resource\Product"
        ]
        "__depth" => 1
        "enable_max_depth" => true
        "max_depth" => 10
      ]
    }
  ]
  -propelModel: Thelia\Model\Product {#3235 …}
  +id: 2
  +taxRule: Thelia\Api\Resource\TaxRule {#6956 …}
  +ref: "PROD002"
  +visible: true
  +position: 0
  +template: null
  +brand: Thelia\Api\Resource\Brand {#7119 …}
  +virtual: false
  +shippingSurcharge: 0.0
  +shippingSurchargeMode: 0
  +freeShipping: false
  +createdAt: DateTime @1791543283 {#3234
    date: 2026-10-09 12:54:43.0 Europe/Paris (+02:00)
  }
  +updatedAt: DateTime @1794052483 {#3233
    date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
  }
  +productCategories: [
    Thelia\Api\Resource\ProductCategory {#5813
      +category: Thelia\Api\Resource\Category {#8157 …}
      +product: Thelia\Api\Resource\Product {#5957 …}
      +defaultCategory: true
      +position: 1
      +createdAt: DateTime @1794052483 {#3333
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#3332
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\ProductCategory {#3334 …}
    }
  ]
  +productSaleElements: [
    Thelia\Api\Resource\ProductSaleElements {#6992
      +id: 6
      +product: ? Thelia\Api\Resource\Product
      +ref: "PROD002-0"
      +quantity: 7
      +visible: true
      +position: 1
      +promo: true
      +displayInitialPrice: null
      +newness: true
      +weight: 14.0
      +isDefault: true
      +eanCode: null
      +mpn: null
      +manufacturerBrand: null
      +gtinSharedWith: []
      +productPrices: [
        Thelia\Api\Resource\ProductPrice {#7115
          +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#7446 …}
          +currency: Thelia\Api\Resource\Currency {#7745 …}
          +price: 25.0
          +promoPrice: 19.0
          +fromDefaultCurrency: true
          +createdAt: DateTime @1794052483 {#3625
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3587
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductPrice {#3634 …}
        }
      ]
      +attributeCombinations: [
        Thelia\Api\Resource\AttributeCombination {#7741
          +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#7669 …}
          +attribute: Thelia\Api\Resource\Attribute {#6961 …}
          +attributeAv: Thelia\Api\Resource\AttributeAv {#7832 …}
          +position: null
          +createdAt: DateTime @1794052483 {#3871
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3866
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\AttributeCombination {#3736 …}
        }
      ]
      +createdAt: DateTime @1794052483 {#3594
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#3760
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\ProductSaleElements {#3593 …}
    }
    Thelia\Api\Resource\ProductSaleElements {#4557
      +id: 7
      +product: ? Thelia\Api\Resource\Product
      +ref: "PROD002-1"
      +quantity: 8
      +visible: true
      +position: 2
      +promo: true
      +displayInitialPrice: null
      +newness: false
      +weight: 14.1
      +isDefault: false
      +eanCode: null
      +mpn: null
      +manufacturerBrand: null
      +gtinSharedWith: []
      +productPrices: [
        Thelia\Api\Resource\ProductPrice {#5930
          +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#6124 …}
          +currency: Thelia\Api\Resource\Currency {#6656 …}
          +price: 25.0
          +promoPrice: 19.0
          +fromDefaultCurrency: true
          +createdAt: DateTime @1794052483 {#3641
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3567
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductPrice {#3560 …}
        }
      ]
      +attributeCombinations: [
        Thelia\Api\Resource\AttributeCombination {#6653
          +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#6125 …}
          +attribute: Thelia\Api\Resource\Attribute {#7828 …}
          +attributeAv: Thelia\Api\Resource\AttributeAv {#7815 …}
          +position: null
          +createdAt: DateTime @1794052483 {#3873
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3874
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\AttributeCombination {#3872 …}
        }
      ]
      +createdAt: DateTime @1794052483 {#3442
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#3642
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\ProductSaleElements {#3712 …}
    }
    Thelia\Api\Resource\ProductSaleElements {#7076
      +id: 8
      +product: ? Thelia\Api\Resource\Product
      +ref: "PROD002-2"
      +quantity: 9
      +visible: true
      +position: 3
      +promo: true
      +displayInitialPrice: null
      +newness: false
      +weight: 14.2
      +isDefault: false
      +eanCode: null
      +mpn: null
      +manufacturerBrand: null
      +gtinSharedWith: []
      +productPrices: [
        Thelia\Api\Resource\ProductPrice {#6136
          +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8292 …}
          +currency: Thelia\Api\Resource\Currency {#8302 …}
          +price: 25.0
          +promoPrice: 19.0
          +fromDefaultCurrency: true
          +createdAt: DateTime @1794052483 {#3638
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3799
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductPrice {#3639 …}
        }
      ]
      +attributeCombinations: [
        Thelia\Api\Resource\AttributeCombination {#8301
          +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8286 …}
          +attribute: Thelia\Api\Resource\Attribute {#8335 …}
          +attributeAv: Thelia\Api\Resource\AttributeAv {#8332 …}
          +position: null
          +createdAt: DateTime @1794052483 {#3876
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3877
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\AttributeCombination {#3875 …}
        }
      ]
      +createdAt: DateTime @1794052483 {#3719
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#3647
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\ProductSaleElements {#3718 …}
    }
    Thelia\Api\Resource\ProductSaleElements {#7954
      +id: 9
      +product: ? Thelia\Api\Resource\Product
      +ref: "PROD002-3"
      +quantity: 10
      +visible: true
      +position: 4
      +promo: true
      +displayInitialPrice: null
      +newness: false
      +weight: 14.3
      +isDefault: false
      +eanCode: null
      +mpn: null
      +manufacturerBrand: null
      +gtinSharedWith: []
      +productPrices: [
        Thelia\Api\Resource\ProductPrice {#8289
          +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8389 …}
          +currency: Thelia\Api\Resource\Currency {#8399 …}
          +price: 25.0
          +promoPrice: 19.0
          +fromDefaultCurrency: true
          +createdAt: DateTime @1794052483 {#3797
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3717
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductPrice {#3563 …}
        }
      ]
      +attributeCombinations: [
        Thelia\Api\Resource\AttributeCombination {#8398
          +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8383 …}
          +attribute: Thelia\Api\Resource\Attribute {#8432 …}
          +attributeAv: Thelia\Api\Resource\AttributeAv {#8429 …}
          +position: null
          +createdAt: DateTime @1794052483 {#3879
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3895
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\AttributeCombination {#3878 …}
        }
      ]
      +createdAt: DateTime @1794052483 {#3599
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#3290
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\ProductSaleElements {#3759 …}
    }
    Thelia\Api\Resource\ProductSaleElements {#7779
      +id: 10
      +product: ? Thelia\Api\Resource\Product
      +ref: "PROD002-4"
      +quantity: 11
      +visible: true
      +position: 5
      +promo: true
      +displayInitialPrice: null
      +newness: true
      +weight: 14.4
      +isDefault: false
      +eanCode: null
      +mpn: null
      +manufacturerBrand: null
      +gtinSharedWith: []
      +productPrices: [
        Thelia\Api\Resource\ProductPrice {#8386
          +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8486 …}
          +currency: Thelia\Api\Resource\Currency {#8496 …}
          +price: 25.0
          +promoPrice: 19.0
          +fromDefaultCurrency: true
          +createdAt: DateTime @1794052483 {#3707
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3516
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductPrice {#3443 …}
        }
      ]
      +attributeCombinations: [
        Thelia\Api\Resource\AttributeCombination {#8495
          +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8480 …}
          +attribute: Thelia\Api\Resource\Attribute {#8529 …}
          +attributeAv: Thelia\Api\Resource\AttributeAv {#8526 …}
          +position: null
          +createdAt: DateTime @1794052483 {#3894
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3893
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\AttributeCombination {#3951 …}
        }
      ]
      +createdAt: DateTime @1794052483 {#3556
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#3554
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\ProductSaleElements {#3447 …}
    }
    Thelia\Api\Resource\ProductSaleElements {#8345
      +id: 11
      +product: ? Thelia\Api\Resource\Product
      +ref: "PROD002-5"
      +quantity: 12
      +visible: true
      +position: 6
      +promo: true
      +displayInitialPrice: null
      +newness: false
      +weight: 14.5
      +isDefault: false
      +eanCode: null
      +mpn: null
      +manufacturerBrand: null
      +gtinSharedWith: []
      +productPrices: [
        Thelia\Api\Resource\ProductPrice {#8483
          +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8583 …}
          +currency: Thelia\Api\Resource\Currency {#8593 …}
          +price: 25.0
          +promoPrice: 19.0
          +fromDefaultCurrency: true
          +createdAt: DateTime @1794052483 {#3523
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3515
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductPrice {#3513 …}
        }
      ]
      +attributeCombinations: [
        Thelia\Api\Resource\AttributeCombination {#8592
          +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8577 …}
          +attribute: Thelia\Api\Resource\Attribute {#8626 …}
          +attributeAv: Thelia\Api\Resource\AttributeAv {#8623 …}
          +position: null
          +createdAt: DateTime @1794052483 {#3891
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3890
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\AttributeCombination {#3892 …}
        }
      ]
      +createdAt: DateTime @1794052483 {#3716
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#3698
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\ProductSaleElements {#3703 …}
    }
  ]
  +featureProducts: [
    Thelia\Api\Resource\FeatureProduct {#8442
      +id: 2
      +product: ? Thelia\Api\Resource\Product
      +feature: Thelia\Api\Resource\Feature {#8440 …}
      +featureAv: Thelia\Api\Resource\FeatureAv {#8638 …}
      +free_text_value: ? string
      +is_free_text: false
      +locale: null
      +position: null
      +createdAt: DateTime @1794052483 {#4545
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#4628
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\FeatureProduct {#4544 …}
    }
  ]
  +productAssociatedContents: []
}
Format: none
[
  "path_info" => "/api/front/products/2"
  "operation" => ApiPlatform\Metadata\Get {#7615
    #parameters: ApiPlatform\Metadata\Parameters {#7702 …}
    #shortName: "Product2"
    #class: "Thelia\Api\Resource\Product"
    #description: null
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:product:read"
        "front:product:read:single"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_search_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_boolean_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_thelia_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_not_in_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_product_filter_product_price_order_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_product_filter_product_title_order_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_product_filter_depth_product_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_range_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_date_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelItemProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 1
    #name: "_api_/front/products/{id}_get"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/products/{id}"
    #types: null
    #uriVariables: [
      "id" => ApiPlatform\Metadata\Link {#7634
        #key: null
        #schema: null
        #openApi: null
        #provider: null
        #filter: null
        #property: null
        #description: null
        #properties: null
        #required: null
        #priority: null
        #hydra: null
        #constraints: null
        #security: null
        #securityMessage: null
        #extraProperties: []
        #filterContext: null
        #nativeType: null
        #castToArray: null
        #castToNativeType: null
        #castFn: null
        #default: null
        #filterClass: null
        -parameterName: "id"
        -fromProperty: null
        -toProperty: null
        -fromClass: "Thelia\Api\Resource\Product"
        -toClass: null
        -identifiers: [
          "id"
        ]
        -compositeIdentifier: null
        -expandedValue: null
        -securityObjectName: null
      }
    ]
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
  }
  "uri_variables" => [
    "id" => "2"
  ]
  "resource_class" => "Thelia\Api\Resource\Product"
  "filters" => [
    "locale" => "en_US"
  ]
  "groups" => [
    "front:product:read"
    "front:product:read:single"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Resource\Product {#6968
      +i18ns: Thelia\Api\Resource\I18nCollection {#7874 …}
      #resourceAddons: [
        "ProductLibraryImagesAddon" => TheliaLibrary\Api\Resource\Addon\ProductLibraryImagesAddon {#8060
          +libraryImages: []
          -context: [
            "path_info" => "/api/front/products/2"
            "operation" => ApiPlatform\Metadata\Get {#7615}
            "uri_variables" => [
              "id" => "2"
            ]
            "resource_class" => "Thelia\Api\Resource\Product"
            "filters" => [
              "locale" => "en_US"
            ]
            "groups" => [
              "front:product:read"
              "front:product:read:single"
            ]
            "exclude_from_cache_key" => [
              "root_operation"
              "operation"
              "object"
              "data"
              "property_metadata"
              "circular_reference_limit_counters"
              "debug_trace_id"
              "extra_variables"
              "request"
            ]
            "__visited" => [
              "Thelia\Api\Resource\Product#2@960270736c79c3e26e655b9e8bc5a0c1" => true
            ]
            "__path" => [
              "Thelia\Api\Resource\Product"
            ]
            "__depth" => 1
            "enable_max_depth" => true
            "max_depth" => 10
          ]
        }
      ]
      -propelModel: Thelia\Model\Product {#3235 …}
      +id: 2
      +taxRule: Thelia\Api\Resource\TaxRule {#6956 …}
      +ref: "PROD002"
      +visible: true
      +position: 0
      +template: null
      +brand: Thelia\Api\Resource\Brand {#7119 …}
      +virtual: false
      +shippingSurcharge: 0.0
      +shippingSurchargeMode: 0
      +freeShipping: false
      +createdAt: DateTime @1791543283 {#3234
        date: 2026-10-09 12:54:43.0 Europe/Paris (+02:00)
      }
      +updatedAt: DateTime @1794052483 {#3233
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +productCategories: [
        Thelia\Api\Resource\ProductCategory {#5813
          +category: Thelia\Api\Resource\Category {#8157 …}
          +product: Thelia\Api\Resource\Product {#5957 …}
          +defaultCategory: true
          +position: 1
          +createdAt: DateTime @1794052483 {#3333
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3332
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductCategory {#3334 …}
        }
      ]
      +productSaleElements: [
        Thelia\Api\Resource\ProductSaleElements {#6992
          +id: 6
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD002-0"
          +quantity: 7
          +visible: true
          +position: 1
          +promo: true
          +displayInitialPrice: null
          +newness: true
          +weight: 14.0
          +isDefault: true
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#7115
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#7446 …}
              +currency: Thelia\Api\Resource\Currency {#7745 …}
              +price: 25.0
              +promoPrice: 19.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052483 {#3625
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3587
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#3634 …}
            }
          ]
          +attributeCombinations: [
            Thelia\Api\Resource\AttributeCombination {#7741
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#7669 …}
              +attribute: Thelia\Api\Resource\Attribute {#6961 …}
              +attributeAv: Thelia\Api\Resource\AttributeAv {#7832 …}
              +position: null
              +createdAt: DateTime @1794052483 {#3871
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3866
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\AttributeCombination {#3736 …}
            }
          ]
          +createdAt: DateTime @1794052483 {#3594
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3760
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#3593 …}
        }
        Thelia\Api\Resource\ProductSaleElements {#4557
          +id: 7
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD002-1"
          +quantity: 8
          +visible: true
          +position: 2
          +promo: true
          +displayInitialPrice: null
          +newness: false
          +weight: 14.1
          +isDefault: false
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#5930
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#6124 …}
              +currency: Thelia\Api\Resource\Currency {#6656 …}
              +price: 25.0
              +promoPrice: 19.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052483 {#3641
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3567
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#3560 …}
            }
          ]
          +attributeCombinations: [
            Thelia\Api\Resource\AttributeCombination {#6653
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#6125 …}
              +attribute: Thelia\Api\Resource\Attribute {#7828 …}
              +attributeAv: Thelia\Api\Resource\AttributeAv {#7815 …}
              +position: null
              +createdAt: DateTime @1794052483 {#3873
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3874
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\AttributeCombination {#3872 …}
            }
          ]
          +createdAt: DateTime @1794052483 {#3442
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3642
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#3712 …}
        }
        Thelia\Api\Resource\ProductSaleElements {#7076
          +id: 8
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD002-2"
          +quantity: 9
          +visible: true
          +position: 3
          +promo: true
          +displayInitialPrice: null
          +newness: false
          +weight: 14.2
          +isDefault: false
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#6136
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8292 …}
              +currency: Thelia\Api\Resource\Currency {#8302 …}
              +price: 25.0
              +promoPrice: 19.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052483 {#3638
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3799
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#3639 …}
            }
          ]
          +attributeCombinations: [
            Thelia\Api\Resource\AttributeCombination {#8301
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8286 …}
              +attribute: Thelia\Api\Resource\Attribute {#8335 …}
              +attributeAv: Thelia\Api\Resource\AttributeAv {#8332 …}
              +position: null
              +createdAt: DateTime @1794052483 {#3876
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3877
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\AttributeCombination {#3875 …}
            }
          ]
          +createdAt: DateTime @1794052483 {#3719
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3647
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#3718 …}
        }
        Thelia\Api\Resource\ProductSaleElements {#7954
          +id: 9
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD002-3"
          +quantity: 10
          +visible: true
          +position: 4
          +promo: true
          +displayInitialPrice: null
          +newness: false
          +weight: 14.3
          +isDefault: false
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#8289
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8389 …}
              +currency: Thelia\Api\Resource\Currency {#8399 …}
              +price: 25.0
              +promoPrice: 19.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052483 {#3797
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3717
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#3563 …}
            }
          ]
          +attributeCombinations: [
            Thelia\Api\Resource\AttributeCombination {#8398
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8383 …}
              +attribute: Thelia\Api\Resource\Attribute {#8432 …}
              +attributeAv: Thelia\Api\Resource\AttributeAv {#8429 …}
              +position: null
              +createdAt: DateTime @1794052483 {#3879
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3895
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\AttributeCombination {#3878 …}
            }
          ]
          +createdAt: DateTime @1794052483 {#3599
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3290
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#3759 …}
        }
        Thelia\Api\Resource\ProductSaleElements {#7779
          +id: 10
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD002-4"
          +quantity: 11
          +visible: true
          +position: 5
          +promo: true
          +displayInitialPrice: null
          +newness: true
          +weight: 14.4
          +isDefault: false
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#8386
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8486 …}
              +currency: Thelia\Api\Resource\Currency {#8496 …}
              +price: 25.0
              +promoPrice: 19.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052483 {#3707
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3516
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#3443 …}
            }
          ]
          +attributeCombinations: [
            Thelia\Api\Resource\AttributeCombination {#8495
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8480 …}
              +attribute: Thelia\Api\Resource\Attribute {#8529 …}
              +attributeAv: Thelia\Api\Resource\AttributeAv {#8526 …}
              +position: null
              +createdAt: DateTime @1794052483 {#3894
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3893
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\AttributeCombination {#3951 …}
            }
          ]
          +createdAt: DateTime @1794052483 {#3556
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3554
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#3447 …}
        }
        Thelia\Api\Resource\ProductSaleElements {#8345
          +id: 11
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD002-5"
          +quantity: 12
          +visible: true
          +position: 6
          +promo: true
          +displayInitialPrice: null
          +newness: false
          +weight: 14.5
          +isDefault: false
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#8483
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8583 …}
              +currency: Thelia\Api\Resource\Currency {#8593 …}
              +price: 25.0
              +promoPrice: 19.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052483 {#3523
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3515
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#3513 …}
            }
          ]
          +attributeCombinations: [
            Thelia\Api\Resource\AttributeCombination {#8592
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#8577 …}
              +attribute: Thelia\Api\Resource\Attribute {#8626 …}
              +attributeAv: Thelia\Api\Resource\AttributeAv {#8623 …}
              +position: null
              +createdAt: DateTime @1794052483 {#3891
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3890
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\AttributeCombination {#3892 …}
            }
          ]
          +createdAt: DateTime @1794052483 {#3716
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3698
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#3703 …}
        }
      ]
      +featureProducts: [
        Thelia\Api\Resource\FeatureProduct {#8442
          +id: 2
          +product: ? Thelia\Api\Resource\Product
          +feature: Thelia\Api\Resource\Feature {#8440 …}
          +featureAv: Thelia\Api\Resource\FeatureAv {#8638 …}
          +free_text_value: ? string
          +is_free_text: false
          +locale: null
          +position: null
          +createdAt: DateTime @1794052483 {#4545
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#4628
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\FeatureProduct {#4544 …}
        }
      ]
      +productAssociatedContents: []
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#7619
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#7930 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#7630 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#7633 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#7642 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#7654 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#7708 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#7720 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/products/2"
    #requestUri: "/api/front/products/2"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
ItemNormalizer (46.05 ms)
46.17 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#9850
  -pager: Propel\Runtime\Util\PropelModelPager {#9786
    #query: Thelia\Model\ProductAssociationTypeQuery {#9806 …}
    #page: 1
    #maxPerPage: 30
    #lastPage: 1
    #nbResults: 3
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#9771 …}
    #con: null
  }
  storage: [
    Thelia\Api\Resource\ProductAssociationType {#9741
      +i18ns: Thelia\Api\Resource\I18nCollection {#9739 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\ProductAssociationType {#9822 …}
      +id: 1
      +code: "accessory"
      +visible: true
      +reciprocal: false
      +position: 1
      +createdAt: DateTime @1794052452 {#9775
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052452 {#9724
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
    }
    Thelia\Api\Resource\ProductAssociationType {#9815
      +i18ns: Thelia\Api\Resource\I18nCollection {#9755 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\ProductAssociationType {#9726 …}
      +id: 2
      +code: "cross_selling"
      +visible: true
      +reciprocal: true
      +position: 2
      +createdAt: DateTime @1794052452 {#9727
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052452 {#9728
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
    }
    Thelia\Api\Resource\ProductAssociationType {#9847
      +i18ns: Thelia\Api\Resource\I18nCollection {#9849 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\ProductAssociationType {#9729 …}
      +id: 3
      +code: "up_selling"
      +visible: true
      +reciprocal: false
      +position: 3
      +createdAt: DateTime @1794052452 {#9730
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052452 {#9731
        date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
      }
    }
  ]
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/product_association_types"
  "operation" => ApiPlatform\Metadata\GetCollection {#9711
    #parameters: ApiPlatform\Metadata\Parameters {#9712 …}
    #shortName: "ProductAssociationType2"
    #class: "Thelia\Api\Resource\ProductAssociationType"
    #description: """
      The types a relation between two products can carry, and the blocks a product\n
      sheet offers because of them.\n
      \n
      Every write goes through ProductAssociationTypeProcessor rather than the Propel\n
      persist processor: the guards a merchant meets in the back office are the ones\n
      the core holds — the accessory type may not be deleted, a type still carrying\n
      relations may not either, and a code never changes once set. Persisting straight\n
      to Propel here would let the API walk past all three.\n
      \n
      The `code` is what the core, the front-office blocks and the migration address a\n
      type by. It is writable on creation and ignored afterwards; the translatable\n
      title is what a merchant rewords instead.
      """
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:product_association_type:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_product_association_type_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_product_association_type_thelia_api_bridge_propel_filter_boolean_filter"
      "annotated_thelia_api_resource_product_association_type_thelia_api_bridge_propel_filter_search_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/product_association_types_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/product_association_types"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\ProductAssociationType"
  "filters" => [
    "order" => [
      "position" => "asc"
    ]
    "locale" => "en_US"
  ]
  "groups" => [
    "front:product_association_type:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#9850
      -pager: Propel\Runtime\Util\PropelModelPager {#9786
        #query: Thelia\Model\ProductAssociationTypeQuery {#9806 …}
        #page: 1
        #maxPerPage: 30
        #lastPage: 1
        #nbResults: 3
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#9771 …}
        #con: null
      }
      storage: [
        Thelia\Api\Resource\ProductAssociationType {#9741
          +i18ns: Thelia\Api\Resource\I18nCollection {#9739 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductAssociationType {#9822 …}
          +id: 1
          +code: "accessory"
          +visible: true
          +reciprocal: false
          +position: 1
          +createdAt: DateTime @1794052452 {#9775
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052452 {#9724
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
        }
        Thelia\Api\Resource\ProductAssociationType {#9815
          +i18ns: Thelia\Api\Resource\I18nCollection {#9755 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductAssociationType {#9726 …}
          +id: 2
          +code: "cross_selling"
          +visible: true
          +reciprocal: true
          +position: 2
          +createdAt: DateTime @1794052452 {#9727
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052452 {#9728
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
        }
        Thelia\Api\Resource\ProductAssociationType {#9847
          +i18ns: Thelia\Api\Resource\I18nCollection {#9849 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductAssociationType {#9729 …}
          +id: 3
          +code: "up_selling"
          +visible: true
          +reciprocal: false
          +position: 3
          +createdAt: DateTime @1794052452 {#9730
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052452 {#9731
            date: 2026-11-07 12:54:12.0 Europe/Paris (+01:00)
          }
        }
      ]
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#9514
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#9664 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#9670 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#8760 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#9643 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#9684 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#9682 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#9687 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/product_association_types"
    #requestUri: "/api/front/product_association_types"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
ItemNormalizer (0.23 ms)
3.60 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#10001
  -pager: Propel\Runtime\Util\PropelModelPager {#9914
    #query: Thelia\Model\BrandQuery {#9929 …}
    #page: 1
    #maxPerPage: 30
    #lastPage: 1
    #nbResults: 1
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#10013 …}
    #con: null
  }
  storage: [
    Thelia\Api\Resource\Brand {#9900
      +i18ns: Thelia\Api\Resource\I18nCollection {#10015 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Brand {#3882 …}
      +id: 2
      +visible: true
      +products: ? array
      +position: 2
    }
  ]
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/brands"
  "operation" => ApiPlatform\Metadata\GetCollection {#8831
    #parameters: ApiPlatform\Metadata\Parameters {#8830 …}
    #shortName: "Brand2"
    #class: "Thelia\Api\Resource\Brand"
    #description: null
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:brand:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_brand_thelia_api_bridge_propel_filter_search_filter"
      "annotated_thelia_api_resource_brand_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_brand_thelia_api_bridge_propel_filter_boolean_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/brands_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/brands"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\Brand"
  "filters" => [
    "products.id" => 2
    "visible" => true
    "locale" => "en_US"
  ]
  "groups" => [
    "front:brand:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#10001
      -pager: Propel\Runtime\Util\PropelModelPager {#9914
        #query: Thelia\Model\BrandQuery {#9929 …}
        #page: 1
        #maxPerPage: 30
        #lastPage: 1
        #nbResults: 1
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#10013 …}
        #con: null
      }
      storage: [
        Thelia\Api\Resource\Brand {#9900
          +i18ns: Thelia\Api\Resource\I18nCollection {#10015 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Brand {#3882 …}
          +id: 2
          +visible: true
          +products: ? array
          +position: 2
        }
      ]
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#9753
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#9949 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#9944 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#9939 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#9943 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#9948 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#9938 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#9963 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/brands"
    #requestUri: "/api/front/brands"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
ItemNormalizer (2.43 ms) 2.46 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#10404
  -pager: Propel\Runtime\Util\PropelModelPager {#10254
    #query: Thelia\Model\SaleQuery {#10232 …}
    #page: 1
    #maxPerPage: 100
    #lastPage: 1
    #nbResults: 2
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#10279 …}
    #con: null
  }
  storage: [
    Thelia\Api\Resource\Sale {#10309
      +i18ns: Thelia\Api\Resource\I18nCollection {#10311 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Sale {#10190 …}
      -preloadedProductIds: [
        1
        2
        3
        4
        5
      ]
      +id: 1
      +active: true
      +startDate: DateTime @1791324000 {#10301
        date: 2026-10-07 00:00:00.0 Europe/Paris (+02:00)
      }
      +endDate: DateTime @1796598000 {#10189
        date: 2026-12-07 00:00:00.0 Europe/Paris (+01:00)
      }
      +displayInitialPrice: true
      +priceOffsetType: 20
      +audienceMode: 0
      +hideProducts: false
      +countdownMode: 0
      +countdownLeadHours: null
    }
    Thelia\Api\Resource\Sale {#10315
      +i18ns: Thelia\Api\Resource\I18nCollection {#10313 …}
      #resourceAddons: []
      -propelModel: Thelia\Model\Sale {#10273 …}
      -preloadedProductIds: [
        1
        2
        3
        4
        5
      ]
      +id: 2
      +active: true
      +startDate: DateTime @1791324000 {#10272
        date: 2026-10-07 00:00:00.0 Europe/Paris (+02:00)
      }
      +endDate: DateTime @1796598000 {#10271
        date: 2026-12-07 00:00:00.0 Europe/Paris (+01:00)
      }
      +displayInitialPrice: true
      +priceOffsetType: 10
      +audienceMode: 0
      +hideProducts: false
      +countdownMode: 0
      +countdownLeadHours: null
    }
  ]
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/sales"
  "operation" => ApiPlatform\Metadata\GetCollection {#10179
    #parameters: ApiPlatform\Metadata\Parameters {#10180 …}
    #shortName: "Sale2"
    #class: "Thelia\Api\Resource\Sale"
    #description: """
      A sale operation, read only.\n
      \n
      The front block is what a theme builds the page of an operation from: its\n
      texts, its window, the products it covers, and whether a countdown to its end\n
      is due right now. The countdown is answered as a number of seconds rather than\n
      as a date so that a theme has nothing to work out — and nothing to get wrong\n
      about the shop's timezone.\n
      \n
      What is deliberately absent, in the front groups and everywhere near them: the\n
      customers a reserved operation is open to. That list is the operation's private\n
      guest list, and a customer reading their own operation must not be handed the\n
      names of the others.\n
      \n
      Nothing writes through here. The back office drives an operation through its\n
      events — they are what recomputes the catalog prices of a public one — and a\n
      write endpoint would let a caller change an operation without any of that\n
      happening.
      """
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:sale:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_sale_thelia_api_bridge_propel_filter_search_filter"
      "annotated_thelia_api_resource_sale_thelia_api_bridge_propel_filter_boolean_filter"
      "annotated_thelia_api_resource_sale_thelia_api_bridge_propel_filter_order_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/sales_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/sales"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\Sale"
  "filters" => [
    "active" => true
    "itemsPerPage" => 1000
    "locale" => "en_US"
  ]
  "groups" => [
    "front:sale:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#10404
      -pager: Propel\Runtime\Util\PropelModelPager {#10254
        #query: Thelia\Model\SaleQuery {#10232 …}
        #page: 1
        #maxPerPage: 100
        #lastPage: 1
        #nbResults: 2
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#10279 …}
        #con: null
      }
      storage: [
        Thelia\Api\Resource\Sale {#10309
          +i18ns: Thelia\Api\Resource\I18nCollection {#10311 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Sale {#10190 …}
          -preloadedProductIds: [
            1
            2
            3
            4
            5
          ]
          +id: 1
          +active: true
          +startDate: DateTime @1791324000 {#10301
            date: 2026-10-07 00:00:00.0 Europe/Paris (+02:00)
          }
          +endDate: DateTime @1796598000 {#10189
            date: 2026-12-07 00:00:00.0 Europe/Paris (+01:00)
          }
          +displayInitialPrice: true
          +priceOffsetType: 20
          +audienceMode: 0
          +hideProducts: false
          +countdownMode: 0
          +countdownLeadHours: null
        }
        Thelia\Api\Resource\Sale {#10315
          +i18ns: Thelia\Api\Resource\I18nCollection {#10313 …}
          #resourceAddons: []
          -propelModel: Thelia\Model\Sale {#10273 …}
          -preloadedProductIds: [
            1
            2
            3
            4
            5
          ]
          +id: 2
          +active: true
          +startDate: DateTime @1791324000 {#10272
            date: 2026-10-07 00:00:00.0 Europe/Paris (+02:00)
          }
          +endDate: DateTime @1796598000 {#10271
            date: 2026-12-07 00:00:00.0 Europe/Paris (+01:00)
          }
          +displayInitialPrice: true
          +priceOffsetType: 10
          +audienceMode: 0
          +hideProducts: false
          +countdownMode: 0
          +countdownLeadHours: null
        }
      ]
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#10161
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#10159 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#10160 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#10128 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#10157 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#10153 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#10155 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#10134 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/sales"
    #requestUri: "/api/front/sales"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
ItemNormalizer (0.36 ms)
5.00 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#10782
  -pager: Propel\Runtime\Util\PropelModelPager {#10623
    #query: Thelia\Model\ProductImageQuery {#10611 …}
    #page: 1
    #maxPerPage: 30
    #lastPage: 1
    #nbResults: 6
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#10646 …}
    #con: null
  }
  storage: [
    Thelia\Api\Resource\ProductImage {#10695
      +i18ns: Thelia\Api\Resource\I18nCollection {#10696 …}
      #resourceAddons: []
      -propelModel: null
      +id: 5
      +product: Thelia\Api\Resource\Product {#10709 …}
      +fileToUpload: ? Symfony\Component\HttpFoundation\File\UploadedFile
      +visible: true
      +decorative: false
      +position: 1
      +createdAt: DateTime @1794052483 {#3471
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#3219
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +file: "PROD002-1.jpg"
      +fileUrl: "https://store.nostradamnit.com/cache/images/product/prod002-1.jpg"
      -propelModel: Thelia\Model\ProductImage {#3476 …}
    }
    Thelia\Api\Resource\ProductImage {#10701
      +i18ns: Thelia\Api\Resource\I18nCollection {#10699 …}
      #resourceAddons: []
      -propelModel: null
      +id: 6
      +product: Thelia\Api\Resource\Product {#10740 …}
      +fileToUpload: ? Symfony\Component\HttpFoundation\File\UploadedFile
      +visible: true
      +decorative: false
      +position: 2
      +createdAt: DateTime @1794052483 {#10659
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#10660
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +file: "PROD002-2.jpg"
      +fileUrl: "https://store.nostradamnit.com/cache/images/product/prod002-2.jpg"
      -propelModel: Thelia\Model\ProductImage {#10658 …}
    }
    Thelia\Api\Resource\ProductImage {#10707
      +i18ns: Thelia\Api\Resource\I18nCollection {#10708 …}
      #resourceAddons: []
      -propelModel: null
      +id: 7
      +product: Thelia\Api\Resource\Product {#10816 …}
      +fileToUpload: ? Symfony\Component\HttpFoundation\File\UploadedFile
      +visible: true
      +decorative: false
      +position: 3
      +createdAt: DateTime @1794052483 {#10651
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#10690
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +file: "PROD002-3.jpg"
      +fileUrl: "https://store.nostradamnit.com/cache/images/product/prod002-3.jpg"
      -propelModel: Thelia\Model\ProductImage {#10639 …}
    }
    Thelia\Api\Resource\ProductImage {#10835
      +i18ns: Thelia\Api\Resource\I18nCollection {#10739 …}
      #resourceAddons: []
      -propelModel: null
      +id: 8
      +product: Thelia\Api\Resource\Product {#10784 …}
      +fileToUpload: ? Symfony\Component\HttpFoundation\File\UploadedFile
      +visible: true
      +decorative: false
      +position: 4
      +createdAt: DateTime @1794052483 {#10674
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#10673
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +file: "PROD002-4.jpg"
      +fileUrl: "https://store.nostradamnit.com/cache/images/product/prod002-4.jpg"
      -propelModel: Thelia\Model\ProductImage {#10692 …}
    }
    Thelia\Api\Resource\ProductImage {#10804
      +i18ns: Thelia\Api\Resource\I18nCollection {#10817 …}
      #resourceAddons: []
      -propelModel: null
      +id: 9
      +product: Thelia\Api\Resource\Product {#10839 …}
      +fileToUpload: ? Symfony\Component\HttpFoundation\File\UploadedFile
      +visible: true
      +decorative: false
      +position: 5
      +createdAt: DateTime @1794052483 {#10676
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#10677
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +file: "PROD002-5.jpg"
      +fileUrl: "https://store.nostradamnit.com/cache/images/product/prod002-5.jpg"
      -propelModel: Thelia\Model\ProductImage {#10675 …}
    }
    Thelia\Api\Resource\ProductImage {#10772
      +i18ns: Thelia\Api\Resource\I18nCollection {#10785 …}
      #resourceAddons: []
      -propelModel: null
      +id: 10
      +product: Thelia\Api\Resource\Product {#10871 …}
      +fileToUpload: ? Symfony\Component\HttpFoundation\File\UploadedFile
      +visible: true
      +decorative: false
      +position: 6
      +createdAt: DateTime @1794052483 {#10679
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052483 {#10680
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +file: "PROD002-6.jpg"
      +fileUrl: "https://store.nostradamnit.com/cache/images/product/prod002-6.jpg"
      -propelModel: Thelia\Model\ProductImage {#10678 …}
    }
  ]
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/product_images"
  "operation" => ApiPlatform\Metadata\GetCollection {#10494
    #parameters: ApiPlatform\Metadata\Parameters {#10495 …}
    #shortName: "ProductImage2"
    #class: "Thelia\Api\Resource\ProductImage"
    #description: null
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:product_image:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_product_image_thelia_api_bridge_propel_filter_search_filter"
      "annotated_thelia_api_resource_product_image_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_product_image_thelia_api_bridge_propel_filter_boolean_filter"
      "annotated_thelia_api_resource_product_image_thelia_api_bridge_propel_filter_not_in_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/product_images_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/product_images"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\ProductImage"
  "filters" => [
    "product.id" => 2
    "visible" => true
    "order" => [
      "position" => "asc"
    ]
    "locale" => "en_US"
  ]
  "groups" => [
    "front:product_image:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#10782
      -pager: Propel\Runtime\Util\PropelModelPager {#10623
        #query: Thelia\Model\ProductImageQuery {#10611 …}
        #page: 1
        #maxPerPage: 30
        #lastPage: 1
        #nbResults: 6
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#10646 …}
        #con: null
      }
      storage: [
        Thelia\Api\Resource\ProductImage {#10695
          +i18ns: Thelia\Api\Resource\I18nCollection {#10696 …}
          #resourceAddons: []
          -propelModel: null
          +id: 5
          +product: Thelia\Api\Resource\Product {#10709 …}
          +fileToUpload: ? Symfony\Component\HttpFoundation\File\UploadedFile
          +visible: true
          +decorative: false
          +position: 1
          +createdAt: DateTime @1794052483 {#3471
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3219
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +file: "PROD002-1.jpg"
          +fileUrl: "https://store.nostradamnit.com/cache/images/product/prod002-1.jpg"
          -propelModel: Thelia\Model\ProductImage {#3476 …}
        }
        Thelia\Api\Resource\ProductImage {#10701
          +i18ns: Thelia\Api\Resource\I18nCollection {#10699 …}
          #resourceAddons: []
          -propelModel: null
          +id: 6
          +product: Thelia\Api\Resource\Product {#10740 …}
          +fileToUpload: ? Symfony\Component\HttpFoundation\File\UploadedFile
          +visible: true
          +decorative: false
          +position: 2
          +createdAt: DateTime @1794052483 {#10659
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#10660
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +file: "PROD002-2.jpg"
          +fileUrl: "https://store.nostradamnit.com/cache/images/product/prod002-2.jpg"
          -propelModel: Thelia\Model\ProductImage {#10658 …}
        }
        Thelia\Api\Resource\ProductImage {#10707
          +i18ns: Thelia\Api\Resource\I18nCollection {#10708 …}
          #resourceAddons: []
          -propelModel: null
          +id: 7
          +product: Thelia\Api\Resource\Product {#10816 …}
          +fileToUpload: ? Symfony\Component\HttpFoundation\File\UploadedFile
          +visible: true
          +decorative: false
          +position: 3
          +createdAt: DateTime @1794052483 {#10651
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#10690
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +file: "PROD002-3.jpg"
          +fileUrl: "https://store.nostradamnit.com/cache/images/product/prod002-3.jpg"
          -propelModel: Thelia\Model\ProductImage {#10639 …}
        }
        Thelia\Api\Resource\ProductImage {#10835
          +i18ns: Thelia\Api\Resource\I18nCollection {#10739 …}
          #resourceAddons: []
          -propelModel: null
          +id: 8
          +product: Thelia\Api\Resource\Product {#10784 …}
          +fileToUpload: ? Symfony\Component\HttpFoundation\File\UploadedFile
          +visible: true
          +decorative: false
          +position: 4
          +createdAt: DateTime @1794052483 {#10674
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#10673
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +file: "PROD002-4.jpg"
          +fileUrl: "https://store.nostradamnit.com/cache/images/product/prod002-4.jpg"
          -propelModel: Thelia\Model\ProductImage {#10692 …}
        }
        Thelia\Api\Resource\ProductImage {#10804
          +i18ns: Thelia\Api\Resource\I18nCollection {#10817 …}
          #resourceAddons: []
          -propelModel: null
          +id: 9
          +product: Thelia\Api\Resource\Product {#10839 …}
          +fileToUpload: ? Symfony\Component\HttpFoundation\File\UploadedFile
          +visible: true
          +decorative: false
          +position: 5
          +createdAt: DateTime @1794052483 {#10676
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#10677
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +file: "PROD002-5.jpg"
          +fileUrl: "https://store.nostradamnit.com/cache/images/product/prod002-5.jpg"
          -propelModel: Thelia\Model\ProductImage {#10675 …}
        }
        Thelia\Api\Resource\ProductImage {#10772
          +i18ns: Thelia\Api\Resource\I18nCollection {#10785 …}
          #resourceAddons: []
          -propelModel: null
          +id: 10
          +product: Thelia\Api\Resource\Product {#10871 …}
          +fileToUpload: ? Symfony\Component\HttpFoundation\File\UploadedFile
          +visible: true
          +decorative: false
          +position: 6
          +createdAt: DateTime @1794052483 {#10679
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#10680
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +file: "PROD002-6.jpg"
          +fileUrl: "https://store.nostradamnit.com/cache/images/product/prod002-6.jpg"
          -propelModel: Thelia\Model\ProductImage {#10678 …}
        }
      ]
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#10443
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#10131 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#10578 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#10230 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#10467 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#10483 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#10476 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#10539 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/product_images"
    #requestUri: "/api/front/product_images"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
ItemNormalizer (0.35 ms)
4.97 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#11136
  -pager: Propel\Runtime\Util\PropelModelPager {#11106
    #query: Thelia\Model\ProductVideoQuery {#11114 …}
    #page: 0
    #maxPerPage: 30
    #lastPage: 0
    #nbResults: 0
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#11112 …}
    #con: null
  }
  storage: []
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/product_videos"
  "operation" => ApiPlatform\Metadata\GetCollection {#11022
    #parameters: ApiPlatform\Metadata\Parameters {#11023 …}
    #shortName: "ProductVideo2"
    #class: "Thelia\Api\Resource\ProductVideo"
    #description: """
      A video on a product sheet.\n
      \n
      A merchant attaches one by pasting the address of a platform page, or by\n
      uploading a file the shop stores itself. The address is a write-only field:\n
      what the shop keeps of it is the platform and the identifier, and `embedUrl`\n
      is built back from those two. A crafted address therefore never reaches the\n
      frame the front office renders.\n
      \n
      `fileUrl` addresses the stored file of a hosted video, and stays null for a\n
      platform video; `embedUrl` is the other way round. Both are served in the\n
      collection as well as on the single read, because a gallery reads the\n
      collection and would otherwise ask for every video one by one.
      """
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:product_video:read"
      ]
      "skip_null_values" => false
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_product_video_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_product_video_thelia_api_bridge_propel_filter_boolean_filter"
      "annotated_thelia_api_resource_product_video_thelia_api_bridge_propel_filter_search_filter"
      "annotated_thelia_api_resource_product_video_thelia_api_bridge_propel_filter_not_in_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/product_videos_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/product_videos"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\ProductVideo"
  "filters" => [
    "product.id" => 2
    "visible" => true
    "order" => [
      "position" => "asc"
    ]
    "locale" => "en_US"
  ]
  "groups" => [
    "front:product_video:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#11136
      -pager: Propel\Runtime\Util\PropelModelPager {#11106
        #query: Thelia\Model\ProductVideoQuery {#11114 …}
        #page: 0
        #maxPerPage: 30
        #lastPage: 0
        #nbResults: 0
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#11112 …}
        #con: null
      }
      storage: []
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#10609
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#10903 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#10957 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#10922 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#10738 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#10906 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#10904 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#10988 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/product_videos"
    #requestUri: "/api/front/product_videos"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
0.01 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#11207
  -pager: Propel\Runtime\Util\PropelModelPager {#11310
    #query: Thelia\Model\ProductSaleElementsProductImageQuery {#11318 …}
    #page: 0
    #maxPerPage: 30
    #lastPage: 0
    #nbResults: 0
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#11203 …}
    #con: null
  }
  storage: []
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/product_sale_elements_product_image"
  "operation" => ApiPlatform\Metadata\GetCollection {#11073
    #parameters: ApiPlatform\Metadata\Parameters {#11075 …}
    #shortName: "ProductSaleElementsProductImage2"
    #class: "Thelia\Api\Resource\ProductSaleElementsProductImage"
    #description: null
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:product_sale_elements_product_image:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_product_sale_elements_product_image_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_product_sale_elements_product_image_thelia_api_bridge_propel_filter_search_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/product_sale_elements_product_image_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/product_sale_elements_product_image"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\ProductSaleElementsProductImage"
  "filters" => [
    "productImageId" => [
      5
      6
      7
      8
      9
      10
    ]
    "productSaleElements.product.id" => 2
    "locale" => "en_US"
  ]
  "groups" => [
    "front:product_sale_elements_product_image:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#11207
      -pager: Propel\Runtime\Util\PropelModelPager {#11310
        #query: Thelia\Model\ProductSaleElementsProductImageQuery {#11318 …}
        #page: 0
        #maxPerPage: 30
        #lastPage: 0
        #nbResults: 0
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#11203 …}
        #con: null
      }
      storage: []
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#11068
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#11053 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#11111 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#11056 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#11038 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#11039 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#11118 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#11033 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/product_sale_elements_product_image"
    #requestUri: "/api/front/product_sale_elements_product_image"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
0.01 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#14187
  -pager: Propel\Runtime\Util\PropelModelPager {#10240
    #query: Thelia\Model\AccessoryQuery {#10618 …}
    #page: 1
    #maxPerPage: 12
    #lastPage: 1
    #nbResults: 2
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#13688 …}
    #con: null
  }
  storage: [
    Thelia\Api\Resource\ProductAssociation {#10234
      +id: 3
      +product: Thelia\Api\Resource\Product {#13762 …}
      +associatedProduct: Thelia\Api\Resource\Product {#13792 …}
      +type: Thelia\Api\Resource\ProductAssociationType {#13794 …}
      +position: 1
      +createdAt: DateTime @1794052485 {#13707
        date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052485 {#13714
        date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\Accessory {#13708 …}
    }
    Thelia\Api\Resource\ProductAssociation {#14199
      +id: 4
      +product: Thelia\Api\Resource\Product {#13724 …}
      +associatedProduct: Thelia\Api\Resource\Product {#14037 …}
      +type: Thelia\Api\Resource\ProductAssociationType {#13731 …}
      +position: 2
      +createdAt: DateTime @1794052485 {#13696
        date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052485 {#13695
        date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
      }
      #resourceAddons: []
      -propelModel: Thelia\Model\Accessory {#13713 …}
    }
  ]
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/product_associations"
  "operation" => ApiPlatform\Metadata\GetCollection {#9936
    #parameters: ApiPlatform\Metadata\Parameters {#9902 …}
    #shortName: "ProductAssociation2"
    #class: "Thelia\Api\Resource\ProductAssociation"
    #description: """
      A relation between two products, told apart from the others by its type.\n
      \n
      `product` is the sheet the relation is read from and `associatedProduct` the one\n
      it points at. Both are the `product` table, so the Propel relations are named\n
      after their columns rather than after the table, hence the relation aliases:\n
      without them the eager loading extension finds no `useProductQuery()` on\n
      AccessoryQuery and skips the join in silence.\n
      \n
      Filtering on `product.id` and `type.code` and ordering on `position` is what\n
      lets a theme read one block of a product sheet in a single call.\n
      \n
      Writes go through ProductAssociationProcessor, which calls the product facade:\n
      the events fire, the reciprocal row of a reciprocal type is written, and a\n
      product related to itself is refused. Persisting straight to Propel would do\n
      none of it.\n
      \n
      `position` is read-only here. Reordering a block already has its own event and\n
      its own back-office screen, and nothing asks the API for it yet.\n
      \n
      Both products come out whole rather than as a bare IRI, carrying what a card\n
      of a block shows: the wording, the rewritten url and the sale elements, the\n
      default one told apart by `isDefault`. A theme therefore renders a block out\n
      of this one read. Prices are not part of it: they are not serialized on the\n
      sale element anywhere in this API, and a front resolves them on its own.\n
      \n
      The collection is paginated on the defaults the core sets for the whole API\n
      (`Config/Resources/packages/api_platform.php`): thirty rows a page, `page` to\n
      walk them, and `itemsPerPage` for the caller to ask for another size, capped\n
      at a hundred. A block of a product sheet holds far fewer than thirty, so a\n
      theme reads one in a single call without naming any of them; an integration\n
      walking every relation of a catalogue is the one that pages.
      """
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:product_association:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_product_association_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_product_association_thelia_api_bridge_propel_filter_search_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/product_associations_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/product_associations"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\ProductAssociation"
  "filters" => [
    "page" => 1
    "itemsPerPage" => 12
    "product.id" => 2
    "type.code" => "accessory"
    "order" => [
      "position" => "asc"
    ]
    "locale" => "en_US"
  ]
  "groups" => [
    "front:product_association:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#14187
      -pager: Propel\Runtime\Util\PropelModelPager {#10240
        #query: Thelia\Model\AccessoryQuery {#10618 …}
        #page: 1
        #maxPerPage: 12
        #lastPage: 1
        #nbResults: 2
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#13688 …}
        #con: null
      }
      storage: [
        Thelia\Api\Resource\ProductAssociation {#10234
          +id: 3
          +product: Thelia\Api\Resource\Product {#13762 …}
          +associatedProduct: Thelia\Api\Resource\Product {#13792 …}
          +type: Thelia\Api\Resource\ProductAssociationType {#13794 …}
          +position: 1
          +createdAt: DateTime @1794052485 {#13707
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052485 {#13714
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\Accessory {#13708 …}
        }
        Thelia\Api\Resource\ProductAssociation {#14199
          +id: 4
          +product: Thelia\Api\Resource\Product {#13724 …}
          +associatedProduct: Thelia\Api\Resource\Product {#14037 …}
          +type: Thelia\Api\Resource\ProductAssociationType {#13731 …}
          +position: 2
          +createdAt: DateTime @1794052485 {#13696
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052485 {#13695
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\Accessory {#13713 …}
        }
      ]
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#9916
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#4099 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#9924 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#8261 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#9986 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#9992 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#10014 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#9912 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/product_associations"
    #requestUri: "/api/front/product_associations"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
ItemNormalizer (2.66 ms)
15.17 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#15250
  -pager: Propel\Runtime\Util\PropelModelPager {#15249
    #query: Thelia\Model\AccessoryQuery {#15177 …}
    #page: 0
    #maxPerPage: 12
    #lastPage: 0
    #nbResults: 0
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#15370 …}
    #con: null
  }
  storage: []
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/product_associations"
  "operation" => ApiPlatform\Metadata\GetCollection {#9936
    #parameters: ApiPlatform\Metadata\Parameters {#9902 …}
    #shortName: "ProductAssociation2"
    #class: "Thelia\Api\Resource\ProductAssociation"
    #description: """
      A relation between two products, told apart from the others by its type.\n
      \n
      `product` is the sheet the relation is read from and `associatedProduct` the one\n
      it points at. Both are the `product` table, so the Propel relations are named\n
      after their columns rather than after the table, hence the relation aliases:\n
      without them the eager loading extension finds no `useProductQuery()` on\n
      AccessoryQuery and skips the join in silence.\n
      \n
      Filtering on `product.id` and `type.code` and ordering on `position` is what\n
      lets a theme read one block of a product sheet in a single call.\n
      \n
      Writes go through ProductAssociationProcessor, which calls the product facade:\n
      the events fire, the reciprocal row of a reciprocal type is written, and a\n
      product related to itself is refused. Persisting straight to Propel would do\n
      none of it.\n
      \n
      `position` is read-only here. Reordering a block already has its own event and\n
      its own back-office screen, and nothing asks the API for it yet.\n
      \n
      Both products come out whole rather than as a bare IRI, carrying what a card\n
      of a block shows: the wording, the rewritten url and the sale elements, the\n
      default one told apart by `isDefault`. A theme therefore renders a block out\n
      of this one read. Prices are not part of it: they are not serialized on the\n
      sale element anywhere in this API, and a front resolves them on its own.\n
      \n
      The collection is paginated on the defaults the core sets for the whole API\n
      (`Config/Resources/packages/api_platform.php`): thirty rows a page, `page` to\n
      walk them, and `itemsPerPage` for the caller to ask for another size, capped\n
      at a hundred. A block of a product sheet holds far fewer than thirty, so a\n
      theme reads one in a single call without naming any of them; an integration\n
      walking every relation of a catalogue is the one that pages.
      """
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:product_association:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_product_association_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_product_association_thelia_api_bridge_propel_filter_search_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/product_associations_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/product_associations"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\ProductAssociation"
  "filters" => [
    "page" => 1
    "itemsPerPage" => 12
    "product.id" => 2
    "type.code" => "cross_selling"
    "order" => [
      "position" => "asc"
    ]
    "locale" => "en_US"
  ]
  "groups" => [
    "front:product_association:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#15250
      -pager: Propel\Runtime\Util\PropelModelPager {#15249
        #query: Thelia\Model\AccessoryQuery {#15177 …}
        #page: 0
        #maxPerPage: 12
        #lastPage: 0
        #nbResults: 0
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#15370 …}
        #con: null
      }
      storage: []
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#15157
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#15156 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#15150 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#15120 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#15163 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#15162 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#15161 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#15164 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/product_associations"
    #requestUri: "/api/front/product_associations"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
0.01 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#15435
  -pager: Propel\Runtime\Util\PropelModelPager {#15434
    #query: Thelia\Model\AccessoryQuery {#15368 …}
    #page: 0
    #maxPerPage: 12
    #lastPage: 0
    #nbResults: 0
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#15555 …}
    #con: null
  }
  storage: []
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/product_associations"
  "operation" => ApiPlatform\Metadata\GetCollection {#9936
    #parameters: ApiPlatform\Metadata\Parameters {#9902 …}
    #shortName: "ProductAssociation2"
    #class: "Thelia\Api\Resource\ProductAssociation"
    #description: """
      A relation between two products, told apart from the others by its type.\n
      \n
      `product` is the sheet the relation is read from and `associatedProduct` the one\n
      it points at. Both are the `product` table, so the Propel relations are named\n
      after their columns rather than after the table, hence the relation aliases:\n
      without them the eager loading extension finds no `useProductQuery()` on\n
      AccessoryQuery and skips the join in silence.\n
      \n
      Filtering on `product.id` and `type.code` and ordering on `position` is what\n
      lets a theme read one block of a product sheet in a single call.\n
      \n
      Writes go through ProductAssociationProcessor, which calls the product facade:\n
      the events fire, the reciprocal row of a reciprocal type is written, and a\n
      product related to itself is refused. Persisting straight to Propel would do\n
      none of it.\n
      \n
      `position` is read-only here. Reordering a block already has its own event and\n
      its own back-office screen, and nothing asks the API for it yet.\n
      \n
      Both products come out whole rather than as a bare IRI, carrying what a card\n
      of a block shows: the wording, the rewritten url and the sale elements, the\n
      default one told apart by `isDefault`. A theme therefore renders a block out\n
      of this one read. Prices are not part of it: they are not serialized on the\n
      sale element anywhere in this API, and a front resolves them on its own.\n
      \n
      The collection is paginated on the defaults the core sets for the whole API\n
      (`Config/Resources/packages/api_platform.php`): thirty rows a page, `page` to\n
      walk them, and `itemsPerPage` for the caller to ask for another size, capped\n
      at a hundred. A block of a product sheet holds far fewer than thirty, so a\n
      theme reads one in a single call without naming any of them; an integration\n
      walking every relation of a catalogue is the one that pages.
      """
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:product_association:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "annotated_thelia_api_resource_product_association_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_product_association_thelia_api_bridge_propel_filter_search_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/product_associations_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/product_associations"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\ProductAssociation"
  "filters" => [
    "page" => 1
    "itemsPerPage" => 12
    "product.id" => 2
    "type.code" => "up_selling"
    "order" => [
      "position" => "asc"
    ]
    "locale" => "en_US"
  ]
  "groups" => [
    "front:product_association:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#15435
      -pager: Propel\Runtime\Util\PropelModelPager {#15434
        #query: Thelia\Model\AccessoryQuery {#15368 …}
        #page: 0
        #maxPerPage: 12
        #lastPage: 0
        #nbResults: 0
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#15555 …}
        #con: null
      }
      storage: []
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#15223
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#15222 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#15227 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#15279 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#15182 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#15358 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#15351 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#15329 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/product_associations"
    #requestUri: "/api/front/product_associations"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
0.01 ms
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator
Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#15774
  -pager: Propel\Runtime\Util\PropelModelPager {#15666
    #query: Thelia\Model\ProductQuery {#15187 …}
    #page: 1
    #maxPerPage: 5
    #lastPage: 1
    #nbResults: 3
    #currentMaxLink: 1
    #maxRecordLimit: 0
    #results: Propel\Runtime\Collection\ObjectCollection {#15693 …}
    #con: null
  }
  storage: [
    Thelia\Api\Resource\Product {#15673
      +i18ns: Thelia\Api\Resource\I18nCollection {#15750 …}
      #resourceAddons: [
        "ProductLibraryImagesAddon" => TheliaLibrary\Api\Resource\Addon\ProductLibraryImagesAddon {#15717
          +libraryImages: []
          -context: [
            "path_info" => "/api/front/products"
            "operation" => ApiPlatform\Metadata\GetCollection {#7921
              #parameters: ApiPlatform\Metadata\Parameters {#7920 …}
              #shortName: "Product2"
              #class: "Thelia\Api\Resource\Product"
              #description: null
              #urlGenerationStrategy: null
              #deprecationReason: null
              #normalizationContext: [
                "groups" => [
                  "front:product:read"
                ]
              ]
              #denormalizationContext: null
              #collectDenormalizationErrors: null
              #validationContext: null
              #filters: [
                "BestSellers\Api\Filter\BestSellersSalesOrderFilter"
                "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_search_filter"
                "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_boolean_filter"
                "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_order_filter"
                "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_thelia_filter"
                "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_not_in_filter"
                "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_product_filter_product_price_order_filter"
                "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_product_filter_product_title_order_filter"
                "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_product_filter_depth_product_filter"
                "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_range_filter"
                "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_date_filter"
              ]
              #mercure: null
              #messenger: null
              #input: null
              #output: null
              #order: null
              #fetchPartial: null
              #forceEager: null
              #paginationEnabled: null
              #paginationType: null
              #paginationItemsPerPage: null
              #paginationMaximumItemsPerPage: 100
              #paginationPartial: null
              #paginationClientEnabled: null
              #paginationClientItemsPerPage: true
              #paginationClientPartial: null
              #paginationFetchJoinCollection: null
              #paginationUseOutputWalkers: null
              #security: null
              #securityMessage: null
              #securityPostDenormalize: null
              #securityPostDenormalizeMessage: null
              #securityPostValidation: null
              #securityPostValidationMessage: null
              #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
              #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
              #stateOptions: null
              #rules: null
              #policy: null
              #middleware: null
              #queryParameterValidationEnabled: null
              #strictQueryParameterValidation: null
              #hideHydraOperation: null
              #jsonStream: null
              #map: null
              #extraProperties: [
                "deduplicate_resource_short_names" => true
                "user_defined_uri_template" => true
                "is_alternate_resource_metadata" => true
              ]
              #paginationViaCursor: null
              #read: null
              #deserialize: null
              #validate: null
              #write: null
              #serialize: null
              #contentNegotiation: null
              #priority: 0
              #name: "_api_/front/products_get_collection"
              #formats: null
              #inputFormats: [
                "json" => [
                  "application/json"
                  "application/json"
                  "application/json"
                ]
                "jsonld" => [
                  "application/ld+json"
                  "application/ld+json"
                  "application/ld+json"
                ]
                "html" => [
                  "text/html"
                  "text/html"
                  "text/html"
                ]
              ]
              #outputFormats: [
                "json" => [
                  "application/json"
                  "application/json"
                  "application/json"
                ]
                "jsonld" => [
                  "application/ld+json"
                  "application/ld+json"
                  "application/ld+json"
                ]
                "html" => [
                  "text/html"
                  "text/html"
                  "text/html"
                ]
              ]
              #method: "GET"
              #uriTemplate: "/front/products"
              #types: null
              #uriVariables: []
              #routePrefix: null
              #routeName: null
              #defaults: null
              #requirements: null
              #options: null
              #stateless: false
              #sunset: null
              #acceptPatch: null
              #status: null
              #host: null
              #schemes: null
              #condition: null
              #controller: "api_platform.symfony.main_controller"
              #headers: null
              #cacheHeaders: [
                "vary" => [
                  "Content-Type"
                  "Authorization"
                  "Origin"
                ]
              ]
              #hydraContext: null
              #openapi: null
              #exceptionToStatus: null
              #links: null
              #errors: null
              -itemUriTemplate: null
            }
            "uri_variables" => []
            "resource_class" => "Thelia\Api\Resource\Product"
            "filters" => [
              "page" => 1
              "itemsPerPage" => 5
              "visible" => true
              "productCategories.category.id" => 4
              "locale" => "en_US"
            ]
            "groups" => [
              "front:product:read"
            ]
            "exclude_from_cache_key" => [
              "root_operation"
              "operation"
              "object"
              "data"
              "property_metadata"
              "circular_reference_limit_counters"
              "debug_trace_id"
              "extra_variables"
              "request"
            ]
            "__visited" => [
              "Thelia\Api\Resource\Product#2@c7d8fd62e8b2fa9c402d9c887a25e909" => true
            ]
            "__path" => [
              "Thelia\Api\Resource\Product"
            ]
            "__depth" => 1
            "enable_max_depth" => true
            "max_depth" => 10
          ]
        }
      ]
      -propelModel: Thelia\Model\Product {#3235 …}
      +id: 2
      +taxRule: ? Thelia\Api\Resource\TaxRule
      +ref: "PROD002"
      +visible: true
      +position: 0
      +template: null
      +brand: null
      +virtual: false
      +shippingSurcharge: 0.0
      +shippingSurchargeMode: 0
      +freeShipping: false
      +createdAt: DateTime @1791543283 {#3234
        date: 2026-10-09 12:54:43.0 Europe/Paris (+02:00)
      }
      +updatedAt: DateTime @1794052483 {#3233
        date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
      }
      +productCategories: [
        Thelia\Api\Resource\ProductCategory {#15809
          +category: Thelia\Api\Resource\Category {#15796 …}
          +product: Thelia\Api\Resource\Product {#15911 …}
          +defaultCategory: true
          +position: 1
          +createdAt: DateTime @1794052483 {#3333
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3332
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductCategory {#3334 …}
        }
      ]
      +productSaleElements: [
        Thelia\Api\Resource\ProductSaleElements {#15867
          +id: 6
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD002-0"
          +quantity: 7
          +visible: true
          +position: 1
          +promo: true
          +displayInitialPrice: null
          +newness: true
          +weight: 14.0
          +isDefault: true
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#15916
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#15930 …}
              +currency: Thelia\Api\Resource\Currency {#15940 …}
              +price: 25.0
              +promoPrice: 19.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052483 {#3625
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3587
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#3634 …}
            }
          ]
          +attributeCombinations: []
          +createdAt: DateTime @1794052483 {#3594
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3760
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#3593 …}
        }
        Thelia\Api\Resource\ProductSaleElements {#15804
          +id: 7
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD002-1"
          +quantity: 8
          +visible: true
          +position: 2
          +promo: true
          +displayInitialPrice: null
          +newness: false
          +weight: 14.1
          +isDefault: false
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#15922
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#15975 …}
              +currency: Thelia\Api\Resource\Currency {#15985 …}
              +price: 25.0
              +promoPrice: 19.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052483 {#3641
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3567
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#3560 …}
            }
          ]
          +attributeCombinations: []
          +createdAt: DateTime @1794052483 {#3442
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3642
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#3712 …}
        }
        Thelia\Api\Resource\ProductSaleElements {#15894
          +id: 8
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD002-2"
          +quantity: 9
          +visible: true
          +position: 3
          +promo: true
          +displayInitialPrice: null
          +newness: false
          +weight: 14.2
          +isDefault: false
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#15948
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16020 …}
              +currency: Thelia\Api\Resource\Currency {#16030 …}
              +price: 25.0
              +promoPrice: 19.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052483 {#3638
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3799
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#3639 …}
            }
          ]
          +attributeCombinations: []
          +createdAt: DateTime @1794052483 {#3719
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3647
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#3718 …}
        }
        Thelia\Api\Resource\ProductSaleElements {#15939
          +id: 9
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD002-3"
          +quantity: 10
          +visible: true
          +position: 4
          +promo: true
          +displayInitialPrice: null
          +newness: false
          +weight: 14.3
          +isDefault: false
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#15993
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16065 …}
              +currency: Thelia\Api\Resource\Currency {#16075 …}
              +price: 25.0
              +promoPrice: 19.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052483 {#3797
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3717
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#3563 …}
            }
          ]
          +attributeCombinations: []
          +createdAt: DateTime @1794052483 {#3599
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3290
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#3759 …}
        }
        Thelia\Api\Resource\ProductSaleElements {#15984
          +id: 10
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD002-4"
          +quantity: 11
          +visible: true
          +position: 5
          +promo: true
          +displayInitialPrice: null
          +newness: true
          +weight: 14.4
          +isDefault: false
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#16038
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16110 …}
              +currency: Thelia\Api\Resource\Currency {#16120 …}
              +price: 25.0
              +promoPrice: 19.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052483 {#3707
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3516
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#3443 …}
            }
          ]
          +attributeCombinations: []
          +createdAt: DateTime @1794052483 {#3556
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3554
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#3447 …}
        }
        Thelia\Api\Resource\ProductSaleElements {#16029
          +id: 11
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD002-5"
          +quantity: 12
          +visible: true
          +position: 6
          +promo: true
          +displayInitialPrice: null
          +newness: false
          +weight: 14.5
          +isDefault: false
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#16083
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16155 …}
              +currency: Thelia\Api\Resource\Currency {#16165 …}
              +price: 25.0
              +promoPrice: 19.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052483 {#3523
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3515
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#3513 …}
            }
          ]
          +attributeCombinations: []
          +createdAt: DateTime @1794052483 {#3716
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052483 {#3698
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#3703 …}
        }
      ]
      +featureProducts: []
      +productAssociatedContents: ? array
    }
    Thelia\Api\Resource\Product {#15691
      +i18ns: Thelia\Api\Resource\I18nCollection {#15690 …}
      #resourceAddons: [
        "ProductLibraryImagesAddon" => TheliaLibrary\Api\Resource\Addon\ProductLibraryImagesAddon {#15715
          +libraryImages: []
          -context: [
            "path_info" => "/api/front/products"
            "operation" => ApiPlatform\Metadata\GetCollection {#7921}
            "uri_variables" => []
            "resource_class" => "Thelia\Api\Resource\Product"
            "filters" => [
              "page" => 1
              "itemsPerPage" => 5
              "visible" => true
              "productCategories.category.id" => 4
              "locale" => "en_US"
            ]
            "groups" => [
              "front:product:read"
            ]
            "exclude_from_cache_key" => [
              "root_operation"
              "operation"
              "object"
              "data"
              "property_metadata"
              "circular_reference_limit_counters"
              "debug_trace_id"
              "extra_variables"
              "request"
            ]
            "__visited" => [
              "Thelia\Api\Resource\Product#29@c7d8fd62e8b2fa9c402d9c887a25e909" => true
            ]
            "__path" => [
              "Thelia\Api\Resource\Product"
            ]
            "__depth" => 1
            "enable_max_depth" => true
            "max_depth" => 10
          ]
        }
      ]
      -propelModel: Thelia\Model\Product {#15663 …}
      +id: 29
      +taxRule: ? Thelia\Api\Resource\TaxRule
      +ref: "PROD029"
      +visible: true
      +position: 0
      +template: null
      +brand: null
      +virtual: false
      +shippingSurcharge: 0.0
      +shippingSurchargeMode: 0
      +freeShipping: false
      +createdAt: DateTime @1793879683 {#15613
        date: 2026-11-05 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052485 {#15611
        date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
      }
      +productCategories: [
        Thelia\Api\Resource\ProductCategory {#16117
          +category: Thelia\Api\Resource\Category {#16130 …}
          +product: Thelia\Api\Resource\Product {#16150 …}
          +defaultCategory: true
          +position: 1
          +createdAt: DateTime @1794052485 {#15737
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052485 {#15738
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductCategory {#15736 …}
        }
      ]
      +productSaleElements: [
        Thelia\Api\Resource\ProductSaleElements {#16206
          +id: 95
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD029-0"
          +quantity: 29
          +visible: true
          +position: 1
          +promo: false
          +displayInitialPrice: null
          +newness: false
          +weight: 24.6
          +isDefault: true
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#16240
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16254 …}
              +currency: Thelia\Api\Resource\Currency {#16264 …}
              +price: 78.0
              +promoPrice: 0.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052485 {#15828
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052485 {#15829
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#15827 …}
            }
          ]
          +attributeCombinations: []
          +createdAt: DateTime @1794052485 {#15747
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052485 {#15781
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#15748 …}
        }
      ]
      +featureProducts: []
      +productAssociatedContents: ? array
    }
    Thelia\Api\Resource\Product {#15713
      +i18ns: Thelia\Api\Resource\I18nCollection {#15674 …}
      #resourceAddons: [
        "ProductLibraryImagesAddon" => TheliaLibrary\Api\Resource\Addon\ProductLibraryImagesAddon {#15812
          +libraryImages: []
          -context: [
            "path_info" => "/api/front/products"
            "operation" => ApiPlatform\Metadata\GetCollection {#7921}
            "uri_variables" => []
            "resource_class" => "Thelia\Api\Resource\Product"
            "filters" => [
              "page" => 1
              "itemsPerPage" => 5
              "visible" => true
              "productCategories.category.id" => 4
              "locale" => "en_US"
            ]
            "groups" => [
              "front:product:read"
            ]
            "exclude_from_cache_key" => [
              "root_operation"
              "operation"
              "object"
              "data"
              "property_metadata"
              "circular_reference_limit_counters"
              "debug_trace_id"
              "extra_variables"
              "request"
            ]
            "__visited" => [
              "Thelia\Api\Resource\Product#30@c7d8fd62e8b2fa9c402d9c887a25e909" => true
            ]
            "__path" => [
              "Thelia\Api\Resource\Product"
            ]
            "__depth" => 1
            "enable_max_depth" => true
            "max_depth" => 10
          ]
        }
      ]
      -propelModel: Thelia\Model\Product {#15581 …}
      +id: 30
      +taxRule: ? Thelia\Api\Resource\TaxRule
      +ref: "PROD030"
      +visible: true
      +position: 0
      +template: null
      +brand: null
      +virtual: false
      +shippingSurcharge: 0.0
      +shippingSurchargeMode: 0
      +freeShipping: false
      +createdAt: DateTime @1793966083 {#15617
        date: 2026-11-06 12:54:43.0 Europe/Paris (+01:00)
      }
      +updatedAt: DateTime @1794052485 {#15618
        date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
      }
      +productCategories: [
        Thelia\Api\Resource\ProductCategory {#16233
          +category: Thelia\Api\Resource\Category {#16247 …}
          +product: Thelia\Api\Resource\Product {#16249 …}
          +defaultCategory: true
          +position: 1
          +createdAt: DateTime @1794052485 {#15740
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052485 {#15741
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductCategory {#15739 …}
        }
      ]
      +productSaleElements: [
        Thelia\Api\Resource\ProductSaleElements {#16305
          +id: 96
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD030-0"
          +quantity: 20
          +visible: true
          +position: 1
          +promo: false
          +displayInitialPrice: null
          +newness: false
          +weight: 22.7
          +isDefault: true
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#16339
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16353 …}
              +currency: Thelia\Api\Resource\Currency {#16363 …}
              +price: 96.0
              +promoPrice: 0.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052485 {#15831
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052485 {#15832
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#15830 …}
            }
          ]
          +attributeCombinations: []
          +createdAt: DateTime @1794052485 {#15769
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052485 {#8117
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#15755 …}
        }
        Thelia\Api\Resource\ProductSaleElements {#16283
          +id: 97
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD030-1"
          +quantity: 21
          +visible: true
          +position: 2
          +promo: false
          +displayInitialPrice: null
          +newness: true
          +weight: 22.8
          +isDefault: false
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#16345
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16398 …}
              +currency: Thelia\Api\Resource\Currency {#16408 …}
              +price: 96.0
              +promoPrice: 0.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052485 {#15834
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052485 {#15835
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#15833 …}
            }
          ]
          +attributeCombinations: []
          +createdAt: DateTime @1794052485 {#15770
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052485 {#15768
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#15766 …}
        }
        Thelia\Api\Resource\ProductSaleElements {#16328
          +id: 98
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD030-2"
          +quantity: 22
          +visible: true
          +position: 3
          +promo: false
          +displayInitialPrice: null
          +newness: false
          +weight: 22.9
          +isDefault: false
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#16371
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16443 …}
              +currency: Thelia\Api\Resource\Currency {#16453 …}
              +price: 96.0
              +promoPrice: 0.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052485 {#15837
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052485 {#15838
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#15836 …}
            }
          ]
          +attributeCombinations: []
          +createdAt: DateTime @1794052485 {#15778
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052485 {#15777
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#15767 …}
        }
        Thelia\Api\Resource\ProductSaleElements {#16362
          +id: 99
          +product: ? Thelia\Api\Resource\Product
          +ref: "PROD030-3"
          +quantity: 23
          +visible: true
          +position: 4
          +promo: false
          +displayInitialPrice: null
          +newness: false
          +weight: 23.0
          +isDefault: false
          +eanCode: null
          +mpn: null
          +manufacturerBrand: null
          +gtinSharedWith: []
          +productPrices: [
            Thelia\Api\Resource\ProductPrice {#16416
              +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16488 …}
              +currency: Thelia\Api\Resource\Currency {#16498 …}
              +price: 96.0
              +promoPrice: 0.0
              +fromDefaultCurrency: true
              +createdAt: DateTime @1794052485 {#15840
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052485 {#15841
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductPrice {#15839 …}
            }
          ]
          +attributeCombinations: []
          +createdAt: DateTime @1794052485 {#15782
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052485 {#15783
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          #resourceAddons: []
          -propelModel: Thelia\Model\ProductSaleElements {#15779 …}
        }
      ]
      +featureProducts: []
      +productAssociatedContents: ? array
    }
  ]
  flag::STD_PROP_LIST: false
  flag::ARRAY_AS_PROPS: false
}
Format: none
[
  "path_info" => "/api/front/products"
  "operation" => ApiPlatform\Metadata\GetCollection {#7921
    #parameters: ApiPlatform\Metadata\Parameters {#7920 …}
    #shortName: "Product2"
    #class: "Thelia\Api\Resource\Product"
    #description: null
    #urlGenerationStrategy: null
    #deprecationReason: null
    #normalizationContext: [
      "groups" => [
        "front:product:read"
      ]
    ]
    #denormalizationContext: null
    #collectDenormalizationErrors: null
    #validationContext: null
    #filters: [
      "BestSellers\Api\Filter\BestSellersSalesOrderFilter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_search_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_boolean_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_order_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_thelia_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_not_in_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_product_filter_product_price_order_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_product_filter_product_title_order_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_custom_filters_product_filter_depth_product_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_range_filter"
      "annotated_thelia_api_resource_product_thelia_api_bridge_propel_filter_date_filter"
    ]
    #mercure: null
    #messenger: null
    #input: null
    #output: null
    #order: null
    #fetchPartial: null
    #forceEager: null
    #paginationEnabled: null
    #paginationType: null
    #paginationItemsPerPage: null
    #paginationMaximumItemsPerPage: 100
    #paginationPartial: null
    #paginationClientEnabled: null
    #paginationClientItemsPerPage: true
    #paginationClientPartial: null
    #paginationFetchJoinCollection: null
    #paginationUseOutputWalkers: null
    #security: null
    #securityMessage: null
    #securityPostDenormalize: null
    #securityPostDenormalizeMessage: null
    #securityPostValidation: null
    #securityPostValidationMessage: null
    #provider: "Thelia\Api\Bridge\Propel\State\PropelCollectionProvider"
    #processor: "Thelia\Api\Bridge\Propel\State\PropelPersistProcessor"
    #stateOptions: null
    #rules: null
    #policy: null
    #middleware: null
    #queryParameterValidationEnabled: null
    #strictQueryParameterValidation: null
    #hideHydraOperation: null
    #jsonStream: null
    #map: null
    #extraProperties: [
      "deduplicate_resource_short_names" => true
      "user_defined_uri_template" => true
      "is_alternate_resource_metadata" => true
    ]
    #paginationViaCursor: null
    #read: null
    #deserialize: null
    #validate: null
    #write: null
    #serialize: null
    #contentNegotiation: null
    #priority: 0
    #name: "_api_/front/products_get_collection"
    #formats: null
    #inputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #outputFormats: [
      "json" => [
        "application/json"
        "application/json"
        "application/json"
      ]
      "jsonld" => [
        "application/ld+json"
        "application/ld+json"
        "application/ld+json"
      ]
      "html" => [
        "text/html"
        "text/html"
        "text/html"
      ]
    ]
    #method: "GET"
    #uriTemplate: "/front/products"
    #types: null
    #uriVariables: []
    #routePrefix: null
    #routeName: null
    #defaults: null
    #requirements: null
    #options: null
    #stateless: false
    #sunset: null
    #acceptPatch: null
    #status: null
    #host: null
    #schemes: null
    #condition: null
    #controller: "api_platform.symfony.main_controller"
    #headers: null
    #cacheHeaders: [
      "vary" => [
        "Content-Type"
        "Authorization"
        "Origin"
      ]
    ]
    #hydraContext: null
    #openapi: null
    #exceptionToStatus: null
    #links: null
    #errors: null
    -itemUriTemplate: null
  }
  "uri_variables" => []
  "resource_class" => "Thelia\Api\Resource\Product"
  "filters" => [
    "page" => 1
    "itemsPerPage" => 5
    "visible" => true
    "productCategories.category.id" => 4
    "locale" => "en_US"
  ]
  "groups" => [
    "front:product:read"
  ]
  "exclude_from_cache_key" => [
    "root_operation"
    "operation"
    "object"
    "data"
    "property_metadata"
    "circular_reference_limit_counters"
    "debug_trace_id"
    "extra_variables"
    "request"
  ]
  "extra_variables" => [
    "object" => Thelia\Api\Bridge\Propel\State\Pagination\PropelPaginator {#15774
      -pager: Propel\Runtime\Util\PropelModelPager {#15666
        #query: Thelia\Model\ProductQuery {#15187 …}
        #page: 1
        #maxPerPage: 5
        #lastPage: 1
        #nbResults: 3
        #currentMaxLink: 1
        #maxRecordLimit: 0
        #results: Propel\Runtime\Collection\ObjectCollection {#15693 …}
        #con: null
      }
      storage: [
        Thelia\Api\Resource\Product {#15673
          +i18ns: Thelia\Api\Resource\I18nCollection {#15750 …}
          #resourceAddons: [
            "ProductLibraryImagesAddon" => TheliaLibrary\Api\Resource\Addon\ProductLibraryImagesAddon {#15717
              +libraryImages: []
              -context: [
                "path_info" => "/api/front/products"
                "operation" => ApiPlatform\Metadata\GetCollection {#7921}
                "uri_variables" => []
                "resource_class" => "Thelia\Api\Resource\Product"
                "filters" => [
                  "page" => 1
                  "itemsPerPage" => 5
                  "visible" => true
                  "productCategories.category.id" => 4
                  "locale" => "en_US"
                ]
                "groups" => [
                  "front:product:read"
                ]
                "exclude_from_cache_key" => [
                  "root_operation"
                  "operation"
                  "object"
                  "data"
                  "property_metadata"
                  "circular_reference_limit_counters"
                  "debug_trace_id"
                  "extra_variables"
                  "request"
                ]
                "__visited" => [
                  "Thelia\Api\Resource\Product#2@c7d8fd62e8b2fa9c402d9c887a25e909" => true
                ]
                "__path" => [
                  "Thelia\Api\Resource\Product"
                ]
                "__depth" => 1
                "enable_max_depth" => true
                "max_depth" => 10
              ]
            }
          ]
          -propelModel: Thelia\Model\Product {#3235 …}
          +id: 2
          +taxRule: ? Thelia\Api\Resource\TaxRule
          +ref: "PROD002"
          +visible: true
          +position: 0
          +template: null
          +brand: null
          +virtual: false
          +shippingSurcharge: 0.0
          +shippingSurchargeMode: 0
          +freeShipping: false
          +createdAt: DateTime @1791543283 {#3234
            date: 2026-10-09 12:54:43.0 Europe/Paris (+02:00)
          }
          +updatedAt: DateTime @1794052483 {#3233
            date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
          }
          +productCategories: [
            Thelia\Api\Resource\ProductCategory {#15809
              +category: Thelia\Api\Resource\Category {#15796 …}
              +product: Thelia\Api\Resource\Product {#15911 …}
              +defaultCategory: true
              +position: 1
              +createdAt: DateTime @1794052483 {#3333
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3332
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductCategory {#3334 …}
            }
          ]
          +productSaleElements: [
            Thelia\Api\Resource\ProductSaleElements {#15867
              +id: 6
              +product: ? Thelia\Api\Resource\Product
              +ref: "PROD002-0"
              +quantity: 7
              +visible: true
              +position: 1
              +promo: true
              +displayInitialPrice: null
              +newness: true
              +weight: 14.0
              +isDefault: true
              +eanCode: null
              +mpn: null
              +manufacturerBrand: null
              +gtinSharedWith: []
              +productPrices: [
                Thelia\Api\Resource\ProductPrice {#15916
                  +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#15930 …}
                  +currency: Thelia\Api\Resource\Currency {#15940 …}
                  +price: 25.0
                  +promoPrice: 19.0
                  +fromDefaultCurrency: true
                  +createdAt: DateTime @1794052483 {#3625
                    date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
                  }
                  +updatedAt: DateTime @1794052483 {#3587
                    date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
                  }
                  #resourceAddons: []
                  -propelModel: Thelia\Model\ProductPrice {#3634 …}
                }
              ]
              +attributeCombinations: []
              +createdAt: DateTime @1794052483 {#3594
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3760
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductSaleElements {#3593 …}
            }
            Thelia\Api\Resource\ProductSaleElements {#15804
              +id: 7
              +product: ? Thelia\Api\Resource\Product
              +ref: "PROD002-1"
              +quantity: 8
              +visible: true
              +position: 2
              +promo: true
              +displayInitialPrice: null
              +newness: false
              +weight: 14.1
              +isDefault: false
              +eanCode: null
              +mpn: null
              +manufacturerBrand: null
              +gtinSharedWith: []
              +productPrices: [
                Thelia\Api\Resource\ProductPrice {#15922
                  +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#15975 …}
                  +currency: Thelia\Api\Resource\Currency {#15985 …}
                  +price: 25.0
                  +promoPrice: 19.0
                  +fromDefaultCurrency: true
                  +createdAt: DateTime @1794052483 {#3641
                    date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
                  }
                  +updatedAt: DateTime @1794052483 {#3567
                    date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
                  }
                  #resourceAddons: []
                  -propelModel: Thelia\Model\ProductPrice {#3560 …}
                }
              ]
              +attributeCombinations: []
              +createdAt: DateTime @1794052483 {#3442
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3642
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductSaleElements {#3712 …}
            }
            Thelia\Api\Resource\ProductSaleElements {#15894
              +id: 8
              +product: ? Thelia\Api\Resource\Product
              +ref: "PROD002-2"
              +quantity: 9
              +visible: true
              +position: 3
              +promo: true
              +displayInitialPrice: null
              +newness: false
              +weight: 14.2
              +isDefault: false
              +eanCode: null
              +mpn: null
              +manufacturerBrand: null
              +gtinSharedWith: []
              +productPrices: [
                Thelia\Api\Resource\ProductPrice {#15948
                  +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16020 …}
                  +currency: Thelia\Api\Resource\Currency {#16030 …}
                  +price: 25.0
                  +promoPrice: 19.0
                  +fromDefaultCurrency: true
                  +createdAt: DateTime @1794052483 {#3638
                    date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
                  }
                  +updatedAt: DateTime @1794052483 {#3799
                    date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
                  }
                  #resourceAddons: []
                  -propelModel: Thelia\Model\ProductPrice {#3639 …}
                }
              ]
              +attributeCombinations: []
              +createdAt: DateTime @1794052483 {#3719
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3647
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductSaleElements {#3718 …}
            }
            Thelia\Api\Resource\ProductSaleElements {#15939
              +id: 9
              +product: ? Thelia\Api\Resource\Product
              +ref: "PROD002-3"
              +quantity: 10
              +visible: true
              +position: 4
              +promo: true
              +displayInitialPrice: null
              +newness: false
              +weight: 14.3
              +isDefault: false
              +eanCode: null
              +mpn: null
              +manufacturerBrand: null
              +gtinSharedWith: []
              +productPrices: [
                Thelia\Api\Resource\ProductPrice {#15993
                  +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16065 …}
                  +currency: Thelia\Api\Resource\Currency {#16075 …}
                  +price: 25.0
                  +promoPrice: 19.0
                  +fromDefaultCurrency: true
                  +createdAt: DateTime @1794052483 {#3797
                    date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
                  }
                  +updatedAt: DateTime @1794052483 {#3717
                    date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
                  }
                  #resourceAddons: []
                  -propelModel: Thelia\Model\ProductPrice {#3563 …}
                }
              ]
              +attributeCombinations: []
              +createdAt: DateTime @1794052483 {#3599
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3290
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductSaleElements {#3759 …}
            }
            Thelia\Api\Resource\ProductSaleElements {#15984
              +id: 10
              +product: ? Thelia\Api\Resource\Product
              +ref: "PROD002-4"
              +quantity: 11
              +visible: true
              +position: 5
              +promo: true
              +displayInitialPrice: null
              +newness: true
              +weight: 14.4
              +isDefault: false
              +eanCode: null
              +mpn: null
              +manufacturerBrand: null
              +gtinSharedWith: []
              +productPrices: [
                Thelia\Api\Resource\ProductPrice {#16038
                  +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16110 …}
                  +currency: Thelia\Api\Resource\Currency {#16120 …}
                  +price: 25.0
                  +promoPrice: 19.0
                  +fromDefaultCurrency: true
                  +createdAt: DateTime @1794052483 {#3707
                    date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
                  }
                  +updatedAt: DateTime @1794052483 {#3516
                    date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
                  }
                  #resourceAddons: []
                  -propelModel: Thelia\Model\ProductPrice {#3443 …}
                }
              ]
              +attributeCombinations: []
              +createdAt: DateTime @1794052483 {#3556
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3554
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductSaleElements {#3447 …}
            }
            Thelia\Api\Resource\ProductSaleElements {#16029
              +id: 11
              +product: ? Thelia\Api\Resource\Product
              +ref: "PROD002-5"
              +quantity: 12
              +visible: true
              +position: 6
              +promo: true
              +displayInitialPrice: null
              +newness: false
              +weight: 14.5
              +isDefault: false
              +eanCode: null
              +mpn: null
              +manufacturerBrand: null
              +gtinSharedWith: []
              +productPrices: [
                Thelia\Api\Resource\ProductPrice {#16083
                  +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16155 …}
                  +currency: Thelia\Api\Resource\Currency {#16165 …}
                  +price: 25.0
                  +promoPrice: 19.0
                  +fromDefaultCurrency: true
                  +createdAt: DateTime @1794052483 {#3523
                    date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
                  }
                  +updatedAt: DateTime @1794052483 {#3515
                    date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
                  }
                  #resourceAddons: []
                  -propelModel: Thelia\Model\ProductPrice {#3513 …}
                }
              ]
              +attributeCombinations: []
              +createdAt: DateTime @1794052483 {#3716
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052483 {#3698
                date: 2026-11-07 12:54:43.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductSaleElements {#3703 …}
            }
          ]
          +featureProducts: []
          +productAssociatedContents: ? array
        }
        Thelia\Api\Resource\Product {#15691
          +i18ns: Thelia\Api\Resource\I18nCollection {#15690 …}
          #resourceAddons: [
            "ProductLibraryImagesAddon" => TheliaLibrary\Api\Resource\Addon\ProductLibraryImagesAddon {#15715
              +libraryImages: []
              -context: [
                "path_info" => "/api/front/products"
                "operation" => ApiPlatform\Metadata\GetCollection {#7921}
                "uri_variables" => []
                "resource_class" => "Thelia\Api\Resource\Product"
                "filters" => [
                  "page" => 1
                  "itemsPerPage" => 5
                  "visible" => true
                  "productCategories.category.id" => 4
                  "locale" => "en_US"
                ]
                "groups" => [
                  "front:product:read"
                ]
                "exclude_from_cache_key" => [
                  "root_operation"
                  "operation"
                  "object"
                  "data"
                  "property_metadata"
                  "circular_reference_limit_counters"
                  "debug_trace_id"
                  "extra_variables"
                  "request"
                ]
                "__visited" => [
                  "Thelia\Api\Resource\Product#29@c7d8fd62e8b2fa9c402d9c887a25e909" => true
                ]
                "__path" => [
                  "Thelia\Api\Resource\Product"
                ]
                "__depth" => 1
                "enable_max_depth" => true
                "max_depth" => 10
              ]
            }
          ]
          -propelModel: Thelia\Model\Product {#15663 …}
          +id: 29
          +taxRule: ? Thelia\Api\Resource\TaxRule
          +ref: "PROD029"
          +visible: true
          +position: 0
          +template: null
          +brand: null
          +virtual: false
          +shippingSurcharge: 0.0
          +shippingSurchargeMode: 0
          +freeShipping: false
          +createdAt: DateTime @1793879683 {#15613
            date: 2026-11-05 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052485 {#15611
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          +productCategories: [
            Thelia\Api\Resource\ProductCategory {#16117
              +category: Thelia\Api\Resource\Category {#16130 …}
              +product: Thelia\Api\Resource\Product {#16150 …}
              +defaultCategory: true
              +position: 1
              +createdAt: DateTime @1794052485 {#15737
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052485 {#15738
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductCategory {#15736 …}
            }
          ]
          +productSaleElements: [
            Thelia\Api\Resource\ProductSaleElements {#16206
              +id: 95
              +product: ? Thelia\Api\Resource\Product
              +ref: "PROD029-0"
              +quantity: 29
              +visible: true
              +position: 1
              +promo: false
              +displayInitialPrice: null
              +newness: false
              +weight: 24.6
              +isDefault: true
              +eanCode: null
              +mpn: null
              +manufacturerBrand: null
              +gtinSharedWith: []
              +productPrices: [
                Thelia\Api\Resource\ProductPrice {#16240
                  +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16254 …}
                  +currency: Thelia\Api\Resource\Currency {#16264 …}
                  +price: 78.0
                  +promoPrice: 0.0
                  +fromDefaultCurrency: true
                  +createdAt: DateTime @1794052485 {#15828
                    date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
                  }
                  +updatedAt: DateTime @1794052485 {#15829
                    date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
                  }
                  #resourceAddons: []
                  -propelModel: Thelia\Model\ProductPrice {#15827 …}
                }
              ]
              +attributeCombinations: []
              +createdAt: DateTime @1794052485 {#15747
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052485 {#15781
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductSaleElements {#15748 …}
            }
          ]
          +featureProducts: []
          +productAssociatedContents: ? array
        }
        Thelia\Api\Resource\Product {#15713
          +i18ns: Thelia\Api\Resource\I18nCollection {#15674 …}
          #resourceAddons: [
            "ProductLibraryImagesAddon" => TheliaLibrary\Api\Resource\Addon\ProductLibraryImagesAddon {#15812
              +libraryImages: []
              -context: [
                "path_info" => "/api/front/products"
                "operation" => ApiPlatform\Metadata\GetCollection {#7921}
                "uri_variables" => []
                "resource_class" => "Thelia\Api\Resource\Product"
                "filters" => [
                  "page" => 1
                  "itemsPerPage" => 5
                  "visible" => true
                  "productCategories.category.id" => 4
                  "locale" => "en_US"
                ]
                "groups" => [
                  "front:product:read"
                ]
                "exclude_from_cache_key" => [
                  "root_operation"
                  "operation"
                  "object"
                  "data"
                  "property_metadata"
                  "circular_reference_limit_counters"
                  "debug_trace_id"
                  "extra_variables"
                  "request"
                ]
                "__visited" => [
                  "Thelia\Api\Resource\Product#30@c7d8fd62e8b2fa9c402d9c887a25e909" => true
                ]
                "__path" => [
                  "Thelia\Api\Resource\Product"
                ]
                "__depth" => 1
                "enable_max_depth" => true
                "max_depth" => 10
              ]
            }
          ]
          -propelModel: Thelia\Model\Product {#15581 …}
          +id: 30
          +taxRule: ? Thelia\Api\Resource\TaxRule
          +ref: "PROD030"
          +visible: true
          +position: 0
          +template: null
          +brand: null
          +virtual: false
          +shippingSurcharge: 0.0
          +shippingSurchargeMode: 0
          +freeShipping: false
          +createdAt: DateTime @1793966083 {#15617
            date: 2026-11-06 12:54:43.0 Europe/Paris (+01:00)
          }
          +updatedAt: DateTime @1794052485 {#15618
            date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
          }
          +productCategories: [
            Thelia\Api\Resource\ProductCategory {#16233
              +category: Thelia\Api\Resource\Category {#16247 …}
              +product: Thelia\Api\Resource\Product {#16249 …}
              +defaultCategory: true
              +position: 1
              +createdAt: DateTime @1794052485 {#15740
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052485 {#15741
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductCategory {#15739 …}
            }
          ]
          +productSaleElements: [
            Thelia\Api\Resource\ProductSaleElements {#16305
              +id: 96
              +product: ? Thelia\Api\Resource\Product
              +ref: "PROD030-0"
              +quantity: 20
              +visible: true
              +position: 1
              +promo: false
              +displayInitialPrice: null
              +newness: false
              +weight: 22.7
              +isDefault: true
              +eanCode: null
              +mpn: null
              +manufacturerBrand: null
              +gtinSharedWith: []
              +productPrices: [
                Thelia\Api\Resource\ProductPrice {#16339
                  +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16353 …}
                  +currency: Thelia\Api\Resource\Currency {#16363 …}
                  +price: 96.0
                  +promoPrice: 0.0
                  +fromDefaultCurrency: true
                  +createdAt: DateTime @1794052485 {#15831
                    date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
                  }
                  +updatedAt: DateTime @1794052485 {#15832
                    date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
                  }
                  #resourceAddons: []
                  -propelModel: Thelia\Model\ProductPrice {#15830 …}
                }
              ]
              +attributeCombinations: []
              +createdAt: DateTime @1794052485 {#15769
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052485 {#8117
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductSaleElements {#15755 …}
            }
            Thelia\Api\Resource\ProductSaleElements {#16283
              +id: 97
              +product: ? Thelia\Api\Resource\Product
              +ref: "PROD030-1"
              +quantity: 21
              +visible: true
              +position: 2
              +promo: false
              +displayInitialPrice: null
              +newness: true
              +weight: 22.8
              +isDefault: false
              +eanCode: null
              +mpn: null
              +manufacturerBrand: null
              +gtinSharedWith: []
              +productPrices: [
                Thelia\Api\Resource\ProductPrice {#16345
                  +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16398 …}
                  +currency: Thelia\Api\Resource\Currency {#16408 …}
                  +price: 96.0
                  +promoPrice: 0.0
                  +fromDefaultCurrency: true
                  +createdAt: DateTime @1794052485 {#15834
                    date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
                  }
                  +updatedAt: DateTime @1794052485 {#15835
                    date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
                  }
                  #resourceAddons: []
                  -propelModel: Thelia\Model\ProductPrice {#15833 …}
                }
              ]
              +attributeCombinations: []
              +createdAt: DateTime @1794052485 {#15770
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052485 {#15768
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductSaleElements {#15766 …}
            }
            Thelia\Api\Resource\ProductSaleElements {#16328
              +id: 98
              +product: ? Thelia\Api\Resource\Product
              +ref: "PROD030-2"
              +quantity: 22
              +visible: true
              +position: 3
              +promo: false
              +displayInitialPrice: null
              +newness: false
              +weight: 22.9
              +isDefault: false
              +eanCode: null
              +mpn: null
              +manufacturerBrand: null
              +gtinSharedWith: []
              +productPrices: [
                Thelia\Api\Resource\ProductPrice {#16371
                  +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16443 …}
                  +currency: Thelia\Api\Resource\Currency {#16453 …}
                  +price: 96.0
                  +promoPrice: 0.0
                  +fromDefaultCurrency: true
                  +createdAt: DateTime @1794052485 {#15837
                    date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
                  }
                  +updatedAt: DateTime @1794052485 {#15838
                    date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
                  }
                  #resourceAddons: []
                  -propelModel: Thelia\Model\ProductPrice {#15836 …}
                }
              ]
              +attributeCombinations: []
              +createdAt: DateTime @1794052485 {#15778
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052485 {#15777
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductSaleElements {#15767 …}
            }
            Thelia\Api\Resource\ProductSaleElements {#16362
              +id: 99
              +product: ? Thelia\Api\Resource\Product
              +ref: "PROD030-3"
              +quantity: 23
              +visible: true
              +position: 4
              +promo: false
              +displayInitialPrice: null
              +newness: false
              +weight: 23.0
              +isDefault: false
              +eanCode: null
              +mpn: null
              +manufacturerBrand: null
              +gtinSharedWith: []
              +productPrices: [
                Thelia\Api\Resource\ProductPrice {#16416
                  +productSaleElements: Thelia\Api\Resource\ProductSaleElements {#16488 …}
                  +currency: Thelia\Api\Resource\Currency {#16498 …}
                  +price: 96.0
                  +promoPrice: 0.0
                  +fromDefaultCurrency: true
                  +createdAt: DateTime @1794052485 {#15840
                    date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
                  }
                  +updatedAt: DateTime @1794052485 {#15841
                    date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
                  }
                  #resourceAddons: []
                  -propelModel: Thelia\Model\ProductPrice {#15839 …}
                }
              ]
              +attributeCombinations: []
              +createdAt: DateTime @1794052485 {#15782
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              +updatedAt: DateTime @1794052485 {#15783
                date: 2026-11-07 12:54:45.0 Europe/Paris (+01:00)
              }
              #resourceAddons: []
              -propelModel: Thelia\Model\ProductSaleElements {#15779 …}
            }
          ]
          +featureProducts: []
          +productAssociatedContents: ? array
        }
      ]
      flag::STD_PROP_LIST: false
      flag::ARRAY_AS_PROPS: false
    }
  ]
  "request" => Symfony\Component\HttpFoundation\Request {#15408
    +attributes: Symfony\Component\HttpFoundation\ParameterBag {#15407 …}
    +request: Symfony\Component\HttpFoundation\InputBag {#15412 …}
    +query: Symfony\Component\HttpFoundation\InputBag {#15464 …}
    +server: Symfony\Component\HttpFoundation\ServerBag {#15190 …}
    +files: Symfony\Component\HttpFoundation\FileBag {#15543 …}
    +cookies: Symfony\Component\HttpFoundation\InputBag {#15536 …}
    +headers: Symfony\Component\HttpFoundation\HeaderBag {#15514 …}
    #content: null
    #languages: null
    #charsets: null
    #encodings: null
    #acceptableContentTypes: null
    #pathInfo: "/api/front/products"
    #requestUri: "/api/front/products"
    #baseUrl: ""
    #basePath: null
    #method: "GET"
    #format: null
    #session: null
    #locale: null
    #defaultLocale: "en"
    -preferredFormat: null
    -isHostValid: true
    -isForwardedValid: true
    -isSafeContentPreferred: ? bool
    -trustedValuesCache: []
    -isIisRewrite: false
    basePath: ""
    format: "html"
  }
]
ItemNormalizer (1.42 ms)
11.65 ms

denormalize 0

Nothing was denormalized.

encode 0

Nothing was encoded.

decode 0

Nothing was decoded.