user = $user; $this->service = $service; } /** * @return mixed */ public function getActionRead(Request $request) { $params = $request->getRouteParams(); $scope = $params['scope'] ?? null; $name = $params['name'] ?? null; return $this->service->getForFrontend($scope, $name); } /** * @return mixed */ public function putActionUpdate(Request $request) { $params = $request->getRouteParams(); $data = json_decode($request->getBodyContents()); if (is_object($data)) { $data = get_object_vars($data); } if (!$this->user->isAdmin()) { throw new Forbidden(); } $scope = $params['scope'] ?? null; $name = $params['name'] ?? null; $setId = $params['setId'] ?? null; return $this->service->update($scope, $name, $setId, $data); } /** * @return mixed */ public function postActionResetToDefault(Request $request) { $data = $request->getParsedBody(); if (!$this->user->isAdmin()) { throw new Forbidden(); } if (empty($data->scope) || empty($data->name)) { throw new BadRequest(); } return $this->service->resetToDefault($data->scope, $data->name, $data->setId ?? null); } /** * @return mixed */ public function getActionGetOriginal(Request $request) { if (!$this->user->isAdmin()) { throw new Forbidden(); } return $this->service->getOriginal( $request->getQueryParam('scope'), $request->getQueryParam('name'), $request->getQueryParam('setId') ); } }