diff --git a/app/config/packages/security.yaml b/app/config/packages/security.yaml index d545fc7..a08ebbe 100755 --- a/app/config/packages/security.yaml +++ b/app/config/packages/security.yaml @@ -43,6 +43,10 @@ security: pattern: ^/token/refresh stateless: true + activate_admin: + pattern: ^/activate_admin/\d+$ + security: false + api: pattern: ^/.+ stateless: true diff --git a/app/config/routes.yaml b/app/config/routes.yaml index 063a943..8174791 100755 --- a/app/config/routes.yaml +++ b/app/config/routes.yaml @@ -16,3 +16,8 @@ post_send_administrator_activation_email: _api_item_operation_name: 'send_activacion_email' _api_receive: false +get_activate_administrator: + path: '/activate_admin/{id}' + methods: ['GET'] + defaults: + _controller: App\Controller\Administrator\Activate diff --git a/app/src/App/Controller/Administrator/Activate.php b/app/src/App/Controller/Administrator/Activate.php new file mode 100644 index 0000000..5701e07 --- /dev/null +++ b/app/src/App/Controller/Administrator/Activate.php @@ -0,0 +1,25 @@ +get('id'); + + $this->setActive->execute($administratorId); + + return new Response('Administrator activated', 200); + } +} diff --git a/app/src/Demo/Domain/Service/Administrator/SetActive.php b/app/src/Demo/Domain/Service/Administrator/SetActive.php new file mode 100644 index 0000000..d2cf955 --- /dev/null +++ b/app/src/Demo/Domain/Service/Administrator/SetActive.php @@ -0,0 +1,32 @@ +administratorRepository->find($administratorId); + + // I don’t think we should launch an exception in this case. + if ($administrator === null) { + return; + } + + /** @var AdministratorDto $administratorDto */ + $administratorDto = $this->entityTools->entityToDto($administrator); + $administratorDto->setActive(1); + $this->entityTools->persistDto($administratorDto); + } +} diff --git a/app/src/Demo/Domain/Service/Administrator/SetActiveInterface.php b/app/src/Demo/Domain/Service/Administrator/SetActiveInterface.php new file mode 100644 index 0000000..005120c --- /dev/null +++ b/app/src/Demo/Domain/Service/Administrator/SetActiveInterface.php @@ -0,0 +1,8 @@ +