Skip to content

Commit

Permalink
Implement favorite sharing prototype
Browse files Browse the repository at this point in the history
Signed-off-by: Paul Schwörer <[email protected]>
  • Loading branch information
Paul Schwörer authored and paulschwoerer committed Feb 5, 2020
1 parent 6cbe3ff commit b95ca12
Show file tree
Hide file tree
Showing 38 changed files with 3,034 additions and 576 deletions.
11 changes: 11 additions & 0 deletions .babelrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
module.exports = {
plugins: [
'@babel/plugin-syntax-dynamic-import',
'@babel/plugin-proposal-object-rest-spread'
],
presets: [
[
'@babel/preset-env'
]
]
}
27 changes: 27 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
module.exports = {
root: true,
env: {
node: true
},
extends: [
"plugin:vue/recommended",
"eslint:recommended",
"prettier/vue",
"plugin:prettier/recommended"
],
rules: {
"vue/component-name-in-template-casing": ["error", "PascalCase"],
"no-console": process.env.NODE_ENV === "production" ? "error" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off"
},
globals: {
OC: false,
OCA: false,
t: false,
n: false,
$: false // TODO: remove once jQuery has been removed
},
parserOptions: {
parser: "babel-eslint"
}
};
3 changes: 3 additions & 0 deletions .stylelintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "stylelint-config-standard"
}
253 changes: 140 additions & 113 deletions appinfo/application.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,13 @@
namespace OCA\Maps\AppInfo;


use OC\AppFramework\Utility\SimpleContainer;
use OCA\Maps\Service\AddressService;
use OCA\Maps\Controller\PublicFavoritesApiController;
use \OCP\AppFramework\App;
use OCA\Maps\Controller\PageController;
use OCA\Maps\Controller\UtilsController;
use OCA\Maps\Controller\FavoritesController;
use OCA\Maps\Controller\FavoritesApiController;
use OCA\Maps\Controller\DevicesController;
use OCA\Maps\Controller\PublicPageController;
use OCA\Maps\Controller\DevicesApiController;
use OCA\Maps\Controller\RoutingController;
use OCA\Maps\Controller\TracksController;
Expand All @@ -37,7 +36,7 @@ public function __construct (array $urlParams=array()) {

$container = $this->getContainer();

$this->getContainer()->registerService('FileHooks', function($c) {
$this->getContainer()->registerService('FileHooks', function ($c) {
return new FileHooks(
$c->query('ServerContainer')->getRootFolder(),
\OC::$server->query(PhotofilesService::class),
Expand All @@ -52,136 +51,164 @@ public function __construct (array $urlParams=array()) {

$container->registerService(
'FavoritesController', function ($c) {
return new FavoritesController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getUserFolder($c->query('UserId')),
$c->query('ServerContainer')->getConfig(),
$c->getServer()->getShareManager(),
$c->getServer()->getAppManager(),
$c->getServer()->getUserManager(),
$c->getServer()->getGroupManager(),
$c->query('ServerContainer')->getL10N($c->query('AppName')),
return new FavoritesController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getUserFolder($c->query('UserId')),
$c->query('ServerContainer')->getConfig(),
$c->getServer()->getShareManager(),
$c->getServer()->getAppManager(),
$c->getServer()->getUserManager(),
$c->getServer()->getGroupManager(),
$c->query('ServerContainer')->getL10N($c->query('AppName')),
$c->query('ServerContainer')->getLogger(),
new FavoritesService(
$c->query('ServerContainer')->getLogger(),
new FavoritesService(
$c->query('ServerContainer')->getLogger(),
$c->query('ServerContainer')->getL10N($c->query('AppName'))
),
$c->query('ServerContainer')->getDateTimeZone()
);
}
);
$c->query('ServerContainer')->getL10N($c->query('AppName')),
$c->query('ServerContainer')->getSecureRandom()
),
$c->query('ServerContainer')->getDateTimeZone()
);
});

$container->registerService(
'FavoritesApiController', function ($c) {
return new FavoritesApiController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getUserFolder($c->query('UserId')),
$c->query('ServerContainer')->getConfig(),
$c->getServer()->getShareManager(),
$c->getServer()->getAppManager(),
$c->getServer()->getUserManager(),
$c->getServer()->getGroupManager(),
return new FavoritesApiController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getUserFolder($c->query('UserId')),
$c->query('ServerContainer')->getConfig(),
$c->getServer()->getShareManager(),
$c->getServer()->getAppManager(),
$c->getServer()->getUserManager(),
$c->getServer()->getGroupManager(),
$c->query('ServerContainer')->getL10N($c->query('AppName')),
$c->query('ServerContainer')->getLogger(),
new FavoritesService(
$c->query('ServerContainer')->getLogger(),
$c->query('ServerContainer')->getL10N($c->query('AppName')),
$c->query('ServerContainer')->getSecureRandom()
)
);
});

$container->registerService(
'PublicFavoritesAPIController', function ($c) {
return new PublicFavoritesApiController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('Session'),
$c->query('ServerContainer')->getConfig(),
new FavoritesService(
$c->query('ServerContainer')->getLogger(),
new FavoritesService(
$c->query('ServerContainer')->getLogger(),
$c->query('ServerContainer')->getL10N($c->query('AppName'))
)
);
}
);
$c->query('ServerContainer')->getL10N($c->query('AppName')),
$c->query('ServerContainer')->getSecureRandom()
)
);
});

$container->registerService(
'DevicesController', function ($c) {
return new DevicesController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getUserFolder($c->query('UserId')),
$c->query('ServerContainer')->getConfig(),
$c->getServer()->getShareManager(),
$c->getServer()->getAppManager(),
$c->getServer()->getUserManager(),
$c->getServer()->getGroupManager(),
'PublicPageController', function ($c) {
return new PublicPageController(
$c->query('AppName'),
$c->query('Request'),
$c->query('Session'),
$c->query('ServerContainer')->getConfig(),
$c->query('Logger'),
new FavoritesService(
$c->query('ServerContainer')->getLogger(),
$c->query('ServerContainer')->getL10N($c->query('AppName')),
$c->query('ServerContainer')->getSecureRandom()
)
);
});

$container->registerService(
'DevicesController', function ($c) {
return new DevicesController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getUserFolder($c->query('UserId')),
$c->query('ServerContainer')->getConfig(),
$c->getServer()->getShareManager(),
$c->getServer()->getAppManager(),
$c->getServer()->getUserManager(),
$c->getServer()->getGroupManager(),
$c->query('ServerContainer')->getL10N($c->query('AppName')),
$c->query('ServerContainer')->getLogger(),
new DevicesService(
$c->query('ServerContainer')->getLogger(),
new DevicesService(
$c->query('ServerContainer')->getLogger(),
$c->query('ServerContainer')->getL10N($c->query('AppName'))
),
$c->query('ServerContainer')->getDateTimeZone()
);
}
);
$c->query('ServerContainer')->getL10N($c->query('AppName'))
),
$c->query('ServerContainer')->getDateTimeZone()
);
});

$container->registerService(
'DevicesApiController', function ($c) {
return new DevicesApiController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getUserFolder($c->query('UserId')),
$c->query('ServerContainer')->getConfig(),
$c->getServer()->getShareManager(),
$c->getServer()->getAppManager(),
$c->getServer()->getUserManager(),
$c->getServer()->getGroupManager(),
$c->query('ServerContainer')->getL10N($c->query('AppName')),
return new DevicesApiController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getUserFolder($c->query('UserId')),
$c->query('ServerContainer')->getConfig(),
$c->getServer()->getShareManager(),
$c->getServer()->getAppManager(),
$c->getServer()->getUserManager(),
$c->getServer()->getGroupManager(),
$c->query('ServerContainer')->getL10N($c->query('AppName')),
$c->query('ServerContainer')->getLogger(),
new DevicesService(
$c->query('ServerContainer')->getLogger(),
new DevicesService(
$c->query('ServerContainer')->getLogger(),
$c->query('ServerContainer')->getL10N($c->query('AppName'))
)
);
}
);
$c->query('ServerContainer')->getL10N($c->query('AppName'))
)
);
});

$container->registerService(
'RoutingController', function ($c) {
return new RoutingController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getUserFolder($c->query('UserId')),
$c->query('ServerContainer')->getConfig(),
$c->getServer()->getShareManager(),
$c->getServer()->getAppManager(),
$c->getServer()->getUserManager(),
$c->getServer()->getGroupManager(),
$c->query('ServerContainer')->getL10N($c->query('AppName')),
$c->query('ServerContainer')->getLogger(),
$c->query('ServerContainer')->getDateTimeZone()
);
}
);
return new RoutingController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getUserFolder($c->query('UserId')),
$c->query('ServerContainer')->getConfig(),
$c->getServer()->getShareManager(),
$c->getServer()->getAppManager(),
$c->getServer()->getUserManager(),
$c->getServer()->getGroupManager(),
$c->query('ServerContainer')->getL10N($c->query('AppName')),
$c->query('ServerContainer')->getLogger(),
$c->query('ServerContainer')->getDateTimeZone()
);
});

$container->registerService(
'TracksController', function ($c) {
return new TracksController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getUserFolder($c->query('UserId')),
$c->query('ServerContainer')->getConfig(),
$c->getServer()->getShareManager(),
$c->getServer()->getAppManager(),
$c->getServer()->getUserManager(),
$c->getServer()->getGroupManager(),
$c->query('ServerContainer')->getL10N($c->query('AppName')),
return new TracksController(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserId'),
$c->query('ServerContainer')->getUserFolder($c->query('UserId')),
$c->query('ServerContainer')->getConfig(),
$c->getServer()->getShareManager(),
$c->getServer()->getAppManager(),
$c->getServer()->getUserManager(),
$c->getServer()->getGroupManager(),
$c->query('ServerContainer')->getL10N($c->query('AppName')),
$c->query('ServerContainer')->getLogger(),
new TracksService(
$c->query('ServerContainer')->getLogger(),
new TracksService(
$c->query('ServerContainer')->getLogger(),
$c->query('ServerContainer')->getL10N($c->query('AppName')),
$c->query('ServerContainer')->getRootFolder(),
$c->getServer()->getShareManager()
)
);
}
);
$c->query('ServerContainer')->getL10N($c->query('AppName')),
$c->query('ServerContainer')->getRootFolder(),
$c->getServer()->getShareManager()
)
);
});

$container->registerService(
'UtilsController', function ($c) {
Expand Down
18 changes: 17 additions & 1 deletion appinfo/routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
['name' => 'page#index', 'url' => '/', 'verb' => 'GET'],
['name' => 'page#do_echo', 'url' => '/echo', 'verb' => 'POST'],
['name' => 'page#openGeoLink', 'url' => '/openGeoLink/{url}', 'verb' => 'GET'],
['name' => 'public_page#sharedFavoritesCategory', 'url' => '/s/favorites/{token}', 'verb' => 'GET'],


// utils
Expand Down Expand Up @@ -47,13 +48,28 @@
['name' => 'favorites_api#editFavorite', 'url' => '/api/{apiversion}/favorites/{id}', 'verb' => 'PUT'],
['name' => 'favorites_api#deleteFavorite', 'url' => '/api/{apiversion}/favorites/{id}', 'verb' => 'DELETE'],

// public favorites API
[
'name' => 'favorites_api#preflighted_cors',
'url' => '/api/1.0/public/favorites{path}',
'verb' => 'OPTIONS',
'requirements' => ['path' => '.+']
],
['name' => 'public_favorites_api#getFavorites', 'url' => '/api/1.0/public/{token}/favorites', 'verb' => 'GET'],
['name' => 'public_favorites_api#addFavorite', 'url' => '/api/1.0/public/{token}/favorites', 'verb' => 'POST'],
['name' => 'public_favorites_api#editFavorite', 'url' => '/api/1.0/public/{token}/favorites/{id}', 'verb' => 'PUT'],
['name' => 'public_favorites_api#deleteFavorite', 'url' => '/api/1.0/public/{token}/favorites/{id}', 'verb' => 'DELETE'],

// favorites
['name' => 'favorites#getFavorites', 'url' => '/favorites', 'verb' => 'GET'],
['name' => 'favorites#addFavorite', 'url' => '/favorites', 'verb' => 'POST'],
['name' => 'favorites#editFavorite', 'url' => '/favorites/{id}', 'verb' => 'PUT'],
['name' => 'favorites#deleteFavorite', 'url' => '/favorites/{id}', 'verb' => 'DELETE'],
['name' => 'favorites#deleteFavorites', 'url' => '/favorites', 'verb' => 'DELETE'],
['name' => 'favorites#renameCategories', 'url' => '/favorites-category', 'verb' => 'PUT'],
['name' => 'favorites#getSharedCategories', 'url' => '/favorites-category/shared-categories', 'verb' => 'GET'],
['name' => 'favorites#shareCategory', 'url' => '/favorites-category/{category}/share', 'verb' => 'POST'],
['name' => 'favorites#unShareCategory', 'url' => '/favorites-category/{category}/un-share', 'verb' => 'POST'],

['name' => 'favorites#exportFavorites', 'url' => '/export/favorites', 'verb' => 'POST'],
['name' => 'favorites#importFavorites', 'url' => '/import/favorites', 'verb' => 'POST'],
Expand All @@ -73,7 +89,7 @@
['name' => 'devices_api#getDevices', 'url' => '/api/{apiversion}/devices', 'verb' => 'GET'],
['name' => 'devices_api#getDevicePoints', 'url' => '/api/{apiversion}/devices/{id}', 'verb' => 'GET'],
['name' => 'devices_api#addDevicePoint', 'url' => '/api/{apiversion}/devices', 'verb' => 'POST'],
['name' => 'devices_api#editDevice', 'url' => '/api/{apiversion}/devices/{id}', 'verb' => 'PUT'],
['name' => 'devices_api#editDevice', 'url' => '/api/{apiversion}/devices/{id}', 'verbGET' => 'PUT'],
['name' => 'devices_api#deleteDevice', 'url' => '/api/{apiversion}/devices/{id}', 'verb' => 'DELETE'],

// devices
Expand Down
Loading

0 comments on commit b95ca12

Please sign in to comment.