Skip to content

Commit

Permalink
Implement folder API
Browse files Browse the repository at this point in the history
  • Loading branch information
marcelklehr committed Sep 12, 2018
1 parent 98577cf commit 9238262
Show file tree
Hide file tree
Showing 10 changed files with 699 additions and 65 deletions.
30 changes: 28 additions & 2 deletions appinfo/application.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,12 @@
use OCP\AppFramework\Utility\ITimeFactory;
use \OCP\IContainer;
use \OCA\Bookmarks\Controller\WebViewController;
use OCA\Bookmarks\Controller\Rest\TagsController;
use OCA\Bookmarks\Controller\Rest\BookmarkController;
use OCA\Bookmarks\Controller\Rest\InternalTagsController;
use OCA\Bookmarks\Controller\Rest\InternalBookmarkController;
use OCA\Bookmarks\Controller\Rest\TagsController;
use OCA\Bookmarks\Controller\Rest\InternalTagsController;
use OCA\Bookmarks\Controller\Rest\FoldersController;
use OCA\Bookmarks\Controller\Rest\InternalFoldersController;
use OCA\Bookmarks\Controller\Rest\PublicController;
use OCA\Bookmarks\Controller\Rest\SettingsController;
use OCP\IUser;
Expand Down Expand Up @@ -114,6 +116,30 @@ public function __construct(array $urlParams = []) {
);
});

$container->registerService('FoldersController', function ($c) {
/** @var IContainer $c */
$user = $c->query('ServerContainer')->getUserSession()->getUser();
$uid = is_null($user) ? null : $user->getUID();
return new FoldersController(
$c->query('AppName'),
$c->query('Request'),
$uid,
$c->query('ServerContainer')->query(Bookmarks::class)
);
});

$container->registerService('InternalFoldersController', function ($c) {
/** @var IContainer $c */
$user = $c->query('ServerContainer')->getUserSession()->getUser();
$uid = is_null($user) ? null : $user->getUID();
return new InternalFoldersController(
$c->query('AppName'),
$c->query('Request'),
$uid,
$c->query('ServerContainer')->query(Bookmarks::class)
);
});

$container->registerService('PublicController', function ($c) {
/** @var IContainer $c */
$user = $c->query('ServerContainer')->getUserSession()->getUser();
Expand Down
50 changes: 48 additions & 2 deletions appinfo/database.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<autoincrement>1</autoincrement>
<default>0</default>
<notnull>true</notnull>
<length>4</length>
<length>64</length>
</field>
<field>
<name>url</name>
Expand Down Expand Up @@ -84,7 +84,6 @@
<type>integer</type>
<length>64</length>
</field>

<field>
<name>tag</name>
<type>text</type>
Expand All @@ -106,4 +105,51 @@
</index>
</declaration>
</table>
<table>
<name>*dbprefix*bookmarks_folders</name>
<declaration>
<field>
<name>id</name>
<type>integer</type>
<autoincrement>1</autoincrement>
<default>0</default>
<notnull>true</notnull>
<length>64</length>
</field>
<field>
<name>parent_folder</name>
<type>integer</type>
<length>64</length>
</field>
<field>
<name>title</name>
<type>text</type>
<default></default>
<notnull>true</notnull>
<length>4096</length>
</field>
<field>
<name>user_id</name>
<type>text</type>
<default></default>
<notnull>true</notnull>
<length>64</length>
</field>
</declaration>
</table>
<table>
<name>*dbprefix*bookmarks_folders_bookmarks</name>
<declaration>
<field>
<name>folder_id</name>
<type>integer</type>
<length>64</length>
</field>
<field>
<name>bookmark_id</name>
<type>integer</type>
<length>64</length>
</field>
</declaration>
</table>
</database>
10 changes: 10 additions & 0 deletions appinfo/routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@
['name' => 'internal_tags#rename_tag', 'url' => '/tag/{old_name}', 'verb' => 'POST'],
['name' => 'internal_tags#rename_tag', 'url' => '/tag/{old_name}', 'verb' => 'PUT'],
['name' => 'internal_tags#delete_tag', 'url' => '/tag/{old_name}', 'verb' => 'DELETE'],
['name' => 'internal_folders#get_folders', 'url' => '/foders', 'verb' => 'GET'],
['name' => 'internal_folders#get_folder', 'url' => '/foders/{folderId}', 'verb' => 'GET'],
['name' => 'internal_folders#add_folder', 'url' => '/foders', 'verb' => 'POST'],
['name' => 'internal_folders#edit_folder', 'url' => '/folders/{folderId}', 'verb' => 'PUT'],
['name' => 'internal_folders#delete_folder', 'url' => '/folders/{folderId}', 'verb' => 'DELETE'],
// Public REST API
['name' => 'bookmark#get_bookmarks', 'url' => '/public/rest/v2/bookmark', 'verb' => 'GET'],
['name' => 'bookmark#new_bookmark', 'url' => '/public/rest/v2/bookmark', 'verb' => 'POST'],
Expand All @@ -54,6 +59,11 @@
['name' => 'tags#full_tags', 'url' => '/public/rest/v2/tag', 'verb' => 'GET'],
['name' => 'tags#rename_tag', 'url' => '/public/rest/v2/tag', 'verb' => 'POST'],
['name' => 'tags#delete_tag', 'url' => '/public/rest/v2/tag', 'verb' => 'DELETE'],
['name' => 'folders#get_folders', 'url' => '/public/rest/v2/foders', 'verb' => 'GET'],
['name' => 'folders#get_folder', 'url' => '/public/rest/v2/foders/{folderId}', 'verb' => 'GET'],
['name' => 'folders#add_folder', 'url' => '/public/rest/v2/foders', 'verb' => 'POST'],
['name' => 'folders#edit_folder', 'url' => '/public/rest/v2/folders/{folderId}', 'verb' => 'PUT'],
['name' => 'folders#delete_folder', 'url' => '/public/rest/v2/folders/{folderId}', 'verb' => 'DELETE'],
['name' => 'bookmark#preflighted_cors', 'url' => '/public/rest/v2/{path}',
'verb' => 'OPTIONS', 'requirements' => ['path' => '.+']],
//Settings
Expand Down
Loading

0 comments on commit 9238262

Please sign in to comment.