|
- <?php
-
- namespace App\Http\Controllers\Web\Contract;
-
- use App\Codes\UserRole;
- use App\Http\Controllers\Web\WebController;
- use App\Logic\Contract\CreateManager;
- use Illuminate\Http\JsonResponse;
- use Illuminate\Http\Request;
-
- class CreateController extends WebController
- {
- public function name(): string
- {
- return "契約新規登録";
- }
-
- public function description(): string
- {
- return "契約を新規登録する";
- }
-
- public function __construct(
- protected CreateParam $param,
- private CreateManager $manager
- ) {
- parent::__construct();
- $this->roleAllow(UserRole::SUPER_ADMIN);
- }
-
- protected function run(Request $request): JsonResponse
- {
- $param = $this->param;
-
- $messages = $this->manager->initForCreate()
- ->fill($param->toArray())
- ->create();
-
- if (count($messages) !== 0) {
- return $this->failedResponse([], $messages);
- }
-
- return $this->successResponse();
- }
- }
|