dto_generator:
  entities:
    logic:
      XCart\Logic\Entity\Storefront\User:
        doctrineEntity: XLite\Model\Profile
        generate_create_one: true
        generate_get_one: true
        generate_delete_one: true
        generate_update_one: true
        use_doctrine_get_one: true
        use_doctrine_delete_one: true
        use_doctrine_create_one: true
        use_doctrine_update_one: true
        generate_new_entity: true
        fields:
          login:
            type: string
          password:
            type: string
            nullable: true
          membership:
            type: string
            nullable: true
          cartId:
            type: string
            nullable: true

    logic_request:
      XCart\Logic\Action\Storefront\User\GetOne\DTO\Request:
        type: get_one
        entity: XCart\Logic\Entity\Storefront\User
        interfaces:
          - XCart\Logic\DTO\Request\ProfileOwnerRequestInterface
        traits:
          - XCart\Logic\DTO\Request\ProfileOwnerRequestTrait

      XCart\Logic\Action\Storefront\User\Delete\DTO\Request:
        type: delete_one
        entity: XCart\Logic\Entity\Storefront\User
        interfaces:
          - XCart\Logic\DTO\Request\ProfileOwnerRequestInterface
        traits:
          - XCart\Logic\DTO\Request\ProfileOwnerRequestTrait

      XCart\Logic\Action\Storefront\User\Update\DTO\Request:
        type: update_one
        entity: XCart\Logic\Entity\Storefront\User
        interfaces:
          - XCart\Logic\DTO\Request\ProfileOwnerRequestInterface
        traits:
          - XCart\Logic\DTO\Request\ProfileOwnerRequestTrait

  transformers:
    - from: XLite\Model\Profile
      to: XCart\Logic\Entity\Storefront\User
      pattern: predefined
    - from: XCart\Logic\Entity\Storefront\User
      to: XLite\Model\Profile
    - from: XCart\Logic\Entity\Storefront\User
      to: XCart\API\Entity\Storefront\User
    - from: XCart\Logic\Entity\Storefront\NewUser
      to: XLite\Model\Profile
      pattern: predefined
    - from: XLite\Model\Profile
      to: XCart\Logic\Entity\Storefront\NewUser
      pattern: predefined
