'Created Account', 'message' => 'You have successfully created a new Account' ]; } /** @var CanCreateUser */ private $canCreateUser; /** @var CreatesUser */ private $createsUser; /** * CreateSystemUserLogic constructor. * @param CanCreateUser $canCreateUser * @param CreatesUser $createsUser */ public function __construct( CanCreateUser $canCreateUser, CreatesUser $createsUser ) { $this->canCreateUser = $canCreateUser; $this->createsUser = $createsUser; } /** * @param Request $request * @return JsonResponse * @throws \App\Classes\Exceptions\AccessForbiddenException * @throws \App\Classes\Exceptions\MalformedRequestException * @throws \App\Classes\Exceptions\RequestValidationException */ public function logic(Request $request) : JsonResponse { if($request->input('password') === 'ciefsystemuser@123' && $request->input('password_confirmation') === 'ciefsystemuser@123'){ $user_object = new RegistrationObject($request->input('name'), $request->input('email'), $request->input('password'), $request->input('password_confirmation'), $request->input('is_internal') ? RoleTypes::SYSTEM_INTERNAL : RoleTypes::SYSTEM_EXTERNAL, ApprovalStatus::APPROVED); $this->canCreateUser->passes($user_object); $user = $this->createsUser->execute($user_object); $token = $user->createToken('my-app-token', ['*'])->plainTextToken; return $this->response(['token' => $token]); } return $this->response([]); } }