mirror of
https://github.com/Karaka-Management/oms-Knowledgebase.git
synced 2026-01-13 10:28:40 +00:00
impl. api routes NO_CI
This commit is contained in:
parent
2a895f3427
commit
2e35dba36d
|
|
@ -133,6 +133,83 @@ final class ApiController extends Controller
|
|||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to get a doc
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiWikiDocGet(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$doc = WikiDocMapper::get((int) $request->getData('id'));
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Doc', 'Doc successfully returned', $doc);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to create doc
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiWikiDocUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$old = clone WikiDocMapper::get((int) $request->getData('id'));
|
||||
$new = $this->updateDocFromRequest($request);
|
||||
$this->updateModel($request->getHeader()->getAccount(), $old, $new, WikiDocMapper::class, 'doc', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Doc', 'Doc successfully updated', $new);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to update doc from request.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return WikiDoc
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function updateDocFromRequest(RequestAbstract $request) : WikiDoc
|
||||
{
|
||||
$doc = WikiDocMapper::get((int) $request->getData('id'));
|
||||
$doc->setName((string) ($request->getData('title') ?? $doc->getName()));
|
||||
|
||||
return $doc;
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to delete doc
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiWikiDocDelete(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$doc = WikiDocMapper::get((int) $request->getData('id'));
|
||||
$this->deleteModel($request->getHeader()->getAccount(), $doc, WikiDocMapper::class, 'doc', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Doc', 'Doc successfully deleted', $doc);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to create a wiki category
|
||||
*
|
||||
|
|
@ -202,4 +279,220 @@ final class ApiController extends Controller
|
|||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to get a category
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiWikiCategoryGet(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$category = WikiCategoryMapper::get((int) $request->getData('id'));
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Category', 'Category successfully returned', $category);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to create category
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiWikiCategoryUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$old = clone WikiCategoryMapper::get((int) $request->getData('id'));
|
||||
$new = $this->updateCategoryFromRequest($request);
|
||||
$this->updateModel($request->getHeader()->getAccount(), $old, $new, WikiCategoryMapper::class, 'category', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Category', 'Category successfully updated', $new);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to update category from request.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return WikiCategory
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function updateCategoryFromRequest(RequestAbstract $request) : WikiCategory
|
||||
{
|
||||
$category = WikiCategoryMapper::get((int) $request->getData('id'));
|
||||
$category->setName((string) ($request->getData('title') ?? $category->getName()));
|
||||
|
||||
return $category;
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to delete category
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiWikiCategoryDelete(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$category = WikiCategoryMapper::get((int) $request->getData('id'));
|
||||
$this->deleteModel($request->getHeader()->getAccount(), $category, WikiCategoryMapper::class, 'category', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Category', 'Category successfully deleted', $category);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to create a wiki app
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiWikiAppCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateWikiAppCreate($request))) {
|
||||
$response->set($request->getUri()->__toString(), new FormValidation($val));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$app = $this->createWikiAppFromRequest($request);
|
||||
$this->createModel($request->getHeader()->getAccount(), $app, WikiAppMapper::class, 'app', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'App', 'App successfully created.', $app);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to create a wiki app from request.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return WikiApp
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function createWikiAppFromRequest(RequestAbstract $request) : WikiApp
|
||||
{
|
||||
$app = new WikiApp();
|
||||
$app->setName((string) $request->getData('name'));
|
||||
|
||||
return $app;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to validate wiki app creation from request
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return array<string, bool>
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function validateWikiAppCreate(RequestAbstract $request) : array
|
||||
{
|
||||
$val = [];
|
||||
if (($val['name'] = empty($request->getData('name')))) {
|
||||
return $val;
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to get a app
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiWikiAppGet(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$app = WikiAppMapper::get((int) $request->getData('id'));
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'App', 'App successfully returned', $app);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to create app
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiWikiAppUpdate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$old = clone WikiAppMapper::get((int) $request->getData('id'));
|
||||
$new = $this->updateAppFromRequest($request);
|
||||
$this->updateModel($request->getHeader()->getAccount(), $old, $new, WikiAppMapper::class, 'app', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'App', 'App successfully updated', $new);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to update app from request.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return WikiApp
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function updateAppFromRequest(RequestAbstract $request) : WikiApp
|
||||
{
|
||||
$app = WikiAppMapper::get((int) $request->getData('id'));
|
||||
$app->setName((string) ($request->getData('title') ?? $app->getName()));
|
||||
|
||||
return $app;
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to delete app
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiWikiAppDelete(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
|
||||
{
|
||||
$app = WikiAppMapper::get((int) $request->getData('id'));
|
||||
$this->deleteModel($request->getHeader()->getAccount(), $app, WikiAppMapper::class, 'app', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'App', 'App successfully deleted', $app);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user