From fa532c15494b7dc5363d19f6d86829bdb76914ad Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sat, 5 Aug 2017 15:07:33 +0200 Subject: [PATCH] Add api functions --- Controller.php | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/Controller.php b/Controller.php index 309a1dc..9c93799 100644 --- a/Controller.php +++ b/Controller.php @@ -238,6 +238,49 @@ class Controller extends ModuleAbstract implements WebInterface return $newsArticle; } + private function validateBadgeCreate(RequestAbstract $request) : array + { + $val = []; + if ( + ($val['title'] = empty($request->getData('title'))) + ) { + return $val; + } + + return []; + } + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @since 1.0.0 + */ + public function apiBadgeCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) + { + if (!empty($val = $this->validateBadgeCreate($request))) { + $response->set('badge_create', new FormValidation($val)); + + return; + } + + $badge = $this->createBadgeFromRequest($request); + + BadgeMapper::create($badge); + $response->set('badge', $badge->jsonSerialize()); + } + + private function createBadgeFromRequest(RequestAbstract $request) : Badge + { + $mardkownParser = new Markdown(); + + $badge = new NewsArticle(); + $badge->setTitle($request->getData('title') ?? ''); + + return $badge; + } + /** * Get Newslists. * @@ -296,4 +339,15 @@ class Controller extends ModuleAbstract implements WebInterface return NewsArticleMapper::getAllByQuery($query); } + public function apiDeleteNewsArticle(RequestAbstract $request, ResponseAbstract $response, $data = null) + { + NewsArticleMapper::delete((int) $request->getData('id')); + $response->set('news', (int) $request->getData('id')); + } + + public function apiDeleteNewsBadge(RequestAbstract $request, ResponseAbstract $response, $data = null) + { + BadgeMapper::delete((int) $request->getData('id')); + $response->set('badge', (int) $request->getData('id')); + } }