diff --git a/appinfo/routes.php b/appinfo/routes.php index 1727242..764a3b7 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -45,6 +45,8 @@ return [ ['name' => 'api#remove_form', 'url' => '/forms/{id}', 'verb' => 'DELETE'], ['name' => 'api#get_forms', 'url' => '/get/forms', 'verb' => 'GET'], + ['name' => 'api#newForm', 'url' => 'api/v1/form', 'verb' => 'POST'], + ['name' => 'system#get_site_users_and_groups', 'url' => '/get/siteusers', 'verb' => 'POST'], ] ]; diff --git a/lib/Controller/ApiController.php b/lib/Controller/ApiController.php index c53933c..2387c33 100644 --- a/lib/Controller/ApiController.php +++ b/lib/Controller/ApiController.php @@ -514,4 +514,30 @@ class ApiController extends Controller { ), Http::STATUS_OK); } + + /** + * @NoAdminRequired + */ + public function newForm(): Http\JSONResponse { + $event = new Event(); + + $currentUser = \OC::$server->getUserSession()->getUser()->getUID(); + $event->setOwner($currentUser); + $event->setCreated(date('Y-m-d H:i:s')); + $event->setHash(\OC::$server->getSecureRandom()->generate( + 16, + ISecureRandom::CHAR_HUMAN_READABLE + )); + $event->setTitle('New form'); + $event->setDescription(''); + + $this->eventMapper->insert($event); + + + + return new Http\JSONResponse([ + 'id' => $event->getId(), + 'hash' => $event->getHash(), + ]); + } }