Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

33 lines
841B

  1. <?php
  2. namespace App\Http\Controllers\Web\KintoneWebHook;
  3. use App\Http\Controllers\Web\WebController;
  4. use App\Kintone\KintoneWebHookReceiver;
  5. use App\Kintone\Models\KintoneModel;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Http\Response;
  8. abstract class KintoneWebHookController extends WebController
  9. {
  10. protected KintoneModel $kintoneModel;
  11. protected KintoneWebHookEventType $eventType;
  12. abstract protected function handle();
  13. protected function run(Request $request): Response
  14. {
  15. $receiver = new KintoneWebHookReceiver();
  16. $this->kintoneModel = $receiver->readWebHookRequest($request);
  17. if ($receiver->model !== null) {
  18. $this->kintoneModel = $receiver->model;
  19. $this->eventType = $receiver->type;
  20. $this->handle();
  21. }
  22. return response();
  23. }
  24. }