|
- <?php
-
- namespace App\Http\Controllers\Web\SeasonTicketContract;
-
- use App\Http\Controllers\Web\WebController;
- use App\Kintone\Models\SeasonTicketContract;
- use App\Util\DateUtil;
- use Illuminate\Http\JsonResponse;
- use Illuminate\Http\Request;
-
- class UploadStudentLicenseImagesController extends WebController
- {
-
- public function name(): string
- {
- return "学生証画像アップロード";
- }
-
- public function description(): string
- {
- return "学生証画像をアップロードする";
- }
-
-
- public function __construct(protected UploadStudentLicenseImagesParam $param)
- {
- parent::__construct();
- $this->middleware('auth:sanctum');
- }
-
- protected function run(Request $request): JsonResponse
- {
- $param = $this->param;
-
- $access = SeasonTicketContract::getAccess();
- $seasonTicketContract = $access->find($param->seasonTicketContractRecordNo);
-
- $data = [];
- foreach ($param->images as $index => $file) {
- $data[] = [
- 'fileKey' => $access->filePut($file),
- 'name' => sprintf("image_%d.%s", $index, $file->extension()),
- 'contentType' => $file->getClientMimeType(),
- ];
- }
-
- $seasonTicketContract->set(SeasonTicketContract::FIELD_STUDENT_LICENSE_IMAGES, $data);
- $seasonTicketContract->set(SeasonTicketContract::FIELD_STUDENT_LICENSE_IMAGES_UPLOAD_DATETIME, DateUtil::now());
- $seasonTicketContract->set(SeasonTicketContract::FIELD_STUDENT_LICENSE_EXPIRES_DATE, $param->expiresAt);
-
- $access->update($seasonTicketContract);
- return $this->successResponse();
- }
- }
|