From c0041d3dcec577b59595ff19344185c300d4db73 Mon Sep 17 00:00:00 2001 From: Jonas Heinrich Date: Sat, 7 Nov 2020 10:41:37 +0100 Subject: [PATCH] implementing favorite stations db backend --- lib/Controller/FavoriteApiController.php | 80 ++++++++++++++++++++++++ lib/Controller/FavoriteController.php | 68 ++++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 lib/Controller/FavoriteApiController.php create mode 100644 lib/Controller/FavoriteController.php diff --git a/lib/Controller/FavoriteApiController.php b/lib/Controller/FavoriteApiController.php new file mode 100644 index 0000000..cd9062b --- /dev/null +++ b/lib/Controller/FavoriteApiController.php @@ -0,0 +1,80 @@ +service = $service; + $this->userId = $userId; + } + + /** + * @CORS + * @NoCSRFRequired + * @NoAdminRequired + */ + public function index(): DataResponse { + return new DataResponse($this->service->findAll($this->userId)); + } + + /** + * @CORS + * @NoCSRFRequired + * @NoAdminRequired + */ + public function show(int $id): DataResponse { + return $this->handleNotFound(function () use ($id) { + return $this->service->find($id, $this->userId); + }); + } + + /** + * @CORS + * @NoCSRFRequired + * @NoAdminRequired + */ + public function create(string $stationuuid, string $name, string $favicon, string $urlresolved): DataResponse { + return new DataResponse($this->service->create($stationuuid, $name, + $favicon, $urlresolved, $this->userId)); + } + + /** + * @CORS + * @NoCSRFRequired + * @NoAdminRequired + */ + public function update(int $id, string $title, + string $content): DataResponse { + return $this->handleNotFound(function () use ($id, $stationuuid, $name, $favicon, $urlresolved) { + return $this->service->update($id, $stationuuid, $name, $favicon, $urlresolved, $this->userId); + }); + } + + /** + * @CORS + * @NoCSRFRequired + * @NoAdminRequired + */ + public function destroy(int $id): DataResponse { + return $this->handleNotFound(function () use ($id) { + return $this->service->delete($id, $this->userId); + }); + } +} diff --git a/lib/Controller/FavoriteController.php b/lib/Controller/FavoriteController.php new file mode 100644 index 0000000..f3940af --- /dev/null +++ b/lib/Controller/FavoriteController.php @@ -0,0 +1,68 @@ +service = $service; + $this->userId = $userId; + } + + /** + * @NoAdminRequired + */ + public function index(): DataResponse { + return new DataResponse($this->service->findAll($this->userId)); + } + + /** + * @NoAdminRequired + */ + public function show(int $id): DataResponse { + return $this->handleNotFound(function () use ($id) { + return $this->service->find($id, $this->userId); + }); + } + + /** + * @NoAdminRequired + */ + public function create(string $stationuuid, string $name, string $favicon, string $urlresolved = "lol"): DataResponse { + return new DataResponse($this->service->create($stationuuid, $name, + $favicon, $urlresolved, $this->userId)); + } + + /** + * @NoAdminRequired + */ + public function update(int $id, string $stationuuid, + string $name, string $favicon, string $urlresolved): DataResponse { + return $this->handleNotFound(function () use ($id, $stationuuid, $name, $favicon, $urlresolved) { + return $this->service->update($id, $stationuuid, $name, $favicon, $urlresolved, $this->userId); + }); + } + + /** + * @NoAdminRequired + */ + public function destroy(int $id): DataResponse { + return $this->handleNotFound(function () use ($id) { + return $this->service->delete($id, $this->userId); + }); + } +}