FirstAccessController.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Requests\FirstAccessCheckRequest;
  4. use App\Http\Requests\FirstAccessRegisterRequest;
  5. use App\Http\Resources\UserResource;
  6. use App\Services\FirstAccessService;
  7. use Illuminate\Http\JsonResponse;
  8. class FirstAccessController extends Controller
  9. {
  10. public function __construct(protected FirstAccessService $service) {}
  11. public function check(FirstAccessCheckRequest $request): JsonResponse
  12. {
  13. $result = $this->service->check($request->validated()['registration']);
  14. $message = $result['status'] === FirstAccessService::STATUS_DONE
  15. ? __('messages.first_access.already_done')
  16. : null;
  17. return $this->successResponse(payload: $result, message: $message);
  18. }
  19. public function register(FirstAccessRegisterRequest $request): JsonResponse
  20. {
  21. $user = $this->service->register(
  22. $request->validated(),
  23. $request->file('photo'),
  24. );
  25. return $this->successResponse(
  26. payload: new UserResource($user),
  27. message: __('messages.first_access.register_success'),
  28. code: 201,
  29. );
  30. }
  31. }