<?php declare(strict_types=1); final class SharingPostController extends AbstractController { protected string $route = '/api/v1/sharing'; protected array $mandatoryAttributes = [ 'userId', 'userSharedId', ]; public function handle(): void { parent::handle(); if ($this->response->getStatus() !== ServerStatus::OK) { return; } $json = json_decode($this->requestBody); try { $sharing = new Sharing(); $sharing->setUserId($json->userId); $sharing->setUserShared($json->userSharedId); $sharing->Save(); $this->response = new ApiJsonResponse(); $this->response->setParameter('sharingId', $sharing->getSharingId()); } catch (Throwable $e) { $this->response = new ApiJsonResponse(ServerStatus::BAD_REQUEST); $this->response->setMessage($e->getMessage()); } } }