src/Entity/User/Consumer.php line 143

Open in your IDE?
  1. <?php
  2. namespace App\Entity\User;
  3. use ApiPlatform\Core\Annotation\ApiResource;
  4. use App\Controller\Api\DownloadPersonalData;
  5. use App\Controller\Api\InitializeUserPassword;
  6. use App\Controller\Api\ResetUserPassword;
  7. use App\Controller\Api\SocialNetworkUserCheck;
  8. use App\Controller\Api\SoftUserDelete;
  9. use App\Controller\Api\SendFeedsUserToCrm;
  10. use App\Controller\Api\UpdateOptinUserFromSalesforce;
  11. use App\Controller\Api\UpdateOptinUserFromIsoskele;
  12. use App\Dto\OptinBrandChange;
  13. use App\Dto\OptinCustomerChange;
  14. use App\Dto\PasswordChange;
  15. use App\Dto\UserPassword;
  16. use App\Repository\User\ConsumerRepository;
  17. use Doctrine\ORM\Mapping as ORM;
  18. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  19. /**
  20.  * @ORM\Entity(repositoryClass=ConsumerRepository::class)
  21.  * @UniqueEntity("email", message="Cet email est déjà utilisé.")
  22.  *
  23.  * @ApiResource(
  24.  *     shortName="User",
  25.  *     attributes={
  26.  *          "normalization_context"={"groups"={
  27.  *              "User:output",
  28.  *              "User:io",
  29.  *              "ParticipationStep:io",
  30.  *              "SponsorshipRequest:io",
  31.  *          }},
  32.  *          "denormalization_context"={"groups"={
  33.  *              "User:input",
  34.  *              "User:io",
  35.  *              "reset_password",
  36.  *              "patch_optin_brand_phone",
  37.  *              "patch_optin_isoskele",
  38.  *              "initialize_password",
  39.  *              "ParticipationStep:io",
  40.  *              "SponsorshipRequest:io",
  41.  *          }}
  42.  *      },
  43.  *     collectionOperations={
  44.  *          "get"={
  45.  *              "access_control"="is_granted('ROLE_USER')",
  46.  *          },
  47.  *          "post"={
  48.  *              "validation_groups"={"Default", "Create"}
  49.  *          },
  50.  *          "public-post"={
  51.  *              "method"="POST",
  52.  *              "path"="/public/users",
  53.  *              "access_control"="is_granted('ROLE_PUBLIC')",
  54.  *              "validation_groups"={"Default", "Create"}
  55.  *          },
  56.  *          "get_user_facebook"={
  57.  *              "method"="POST",
  58.  *              "validation_groups"={"get_user_facebook"},
  59.  *              "path"="/public/users/facebook_check",
  60.  *              "controller"=SocialNetworkUserCheck::class,
  61.  *          }
  62.  *     },
  63.  *     itemOperations={
  64.  *          "delete"={
  65.  *              "access_control"="is_granted('ROLE_ADMIN')",
  66.  *          },
  67.  *          "get"={
  68.  *              "access_control"="is_granted('ROLE_USER')",
  69.  *          },
  70.  *          "put"={
  71.  *              "access_control"="is_granted('ROLE_USER')",
  72.  *              "validation_groups"={"Default", "Edit"}
  73.  *          },
  74.  *          "reset-password-put"={
  75.  *              "method"="PUT",
  76.  *              "path"="/public/users/{userId}/tokens/{tokenId}",
  77.  *              "access_control"="is_granted('ROLE_PUBLIC')",
  78.  *              "validation_groups"={"reset_password"},
  79.  *              "controller"=ResetUserPassword::class,
  80.  *              "defaults"={"_api_receive"=false},
  81.  *          },
  82.  *          "initialize-password-put"={
  83.  *              "method"="PUT",
  84.  *              "path"="/public/users/password-initialize/{userId}/tokens/{tokenId}",
  85.  *              "access_control"="is_granted('ROLE_PUBLIC')",
  86.  *              "validation_groups"={"initialize_password"},
  87.  *              "controller"=InitializeUserPassword::class,
  88.  *              "defaults"={"_api_receive"=false},
  89.  *          },
  90.  *          "soft-delete-post"={
  91.  *              "method"="POST",
  92.  *              "path"="/users/softdelete/{userId}/{templateId}",
  93.  *              "access_control"="is_granted('ROLE_USER')",
  94.  *              "controller"=SoftUserDelete::class,
  95.  *              "defaults"={"_api_receive"=false},
  96.  *          },
  97.  *          "send-feeds-crm-post"={
  98.  *              "method"="POST",
  99.  *              "path"="/crm/users/{id}",
  100.  *              "access_control"="is_granted('ROLE_USER')",
  101.  *              "controller"=SendFeedsUserToCrm::class,
  102.  *              "defaults"={"_api_receive"=false},
  103.  *           },
  104.  *          "download-personnal-data"={
  105.  *              "method"="GET",
  106.  *              "path"="/users/download-personal-data/{id}",
  107.  *              "access_control"="is_granted('ROLE_USER')",
  108.  *              "controller"=DownloadPersonalData::class,
  109.  *              "defaults"={"_api_receive"=false},
  110.  *          },
  111.  *          "emailcheck-password"={
  112.  *              "method"="PUT",
  113.  *              "input"=UserPassword::class,
  114.  *              "path"="/users/emailcheck/{id}",
  115.  *          },
  116.  *          "password-change"={
  117.  *              "method"="PUT",
  118.  *              "input"=PasswordChange::class,
  119.  *              "path"="/users/passwordchange/{id}",
  120.  *          },
  121.  *          "update-optin-from-salesforce-api"={
  122.  *              "method"="PATCH",
  123.  *              "path"="/salesforce/users/{id}",
  124.  *              "access_control"="is_granted('ROLE_USER')",
  125.  *              "controller"=UpdateOptinUserFromSalesforce::class,
  126.  *              "validation_groups"={"patch_optin_brand_phone"},
  127.  *              "defaults"={"_api_receive"=false},
  128.  *          },
  129.  *          "update-optin-from-isoskele-api"={
  130.  *               "method"="PATCH",
  131.  *               "path"="/isoskele/users/{id}",
  132.  *               "access_control"="is_granted('ROLE_USER')",
  133.  *               "controller"=UpdateOptinUserFromIsoskele::class,
  134.  *               "validation_groups"={"patch_optin_isoskele"},
  135.  *               "defaults"={"_api_receive"=false},
  136.  *          },
  137.  *     }
  138.  * )
  139.  */
  140. class Consumer extends User
  141. {
  142. }