|
- <?php
-
- namespace App\Http\Controllers\Web\FAQ;
-
- use App\Email\Members\AskNotice;
- use App\Http\Controllers\Web\WebController;
- use App\Kintone\KintoneRecordQueryOperator;
- use App\Kintone\Models\Ask;
- use App\Kintone\Models\Customer;
- use App\Kintone\Models\FAQ;
- use App\Logic\AskManager;
- use App\Logic\EmailManager;
- use App\Util\DateUtil;
- use Illuminate\Http\JsonResponse;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
-
- class AskController extends WebController
- {
-
- public function name(): string
- {
- return "問い合わせ登録";
- }
-
- public function description(): string
- {
- return "問い合わせ";
- }
-
-
- public function __construct(protected AskParam $param, private AskManager $manager)
- {
- parent::__construct();
- $this->middleware('auth:sanctum');
- }
-
- protected function run(Request $request): JsonResponse
- {
- $param = $this->param;
-
- $customer = Customer::getSelf();
-
- $ask = $this->manager->setCustomer(Customer::getSelf())
- ->make($param->genre, $param->ask);
-
- // メール送信
- $email = new AskNotice($customer, $ask);
- $email->setUser(Auth::user());
- $emailMmanager = new EmailManager($email);
- $emailMmanager->confirm();
-
- $ask->save();
-
-
- return $this->successResponse();
- }
- }
|