You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
2.1 KiB

/*
* API v1 Routes
* -------------------------------------------------------------
* Description here
*/
const index = {
prefix: '/api/v1/share',
get: {
'/page/:PageId/info': [
'middleware::auth:UserOnly',
['middleware::api:RequiredFields', { form: 'sharing.page' }],
['middleware::api:PageRoute', {level: 'manage'}],
'controller::api:v1:Sharing.page_info',
],
'/page/:PageId/link/:level': [
'middleware::auth:UserOnly',
['middleware::api:RequiredFields', { form: 'sharing.page_link'}],
['middleware::api:PageRoute', {level: 'manage'}],
'controller::api:v1:Sharing.get_link',
],
},
post: {
// Share a page with the specified user.
'/page/:PageId/share': [
'middleware::auth:UserOnly',
['middleware::api:RequiredFields', { form: 'sharing.page_level' }],
['middleware::api:PageRoute', {level: 'manage'}],
['middleware::api:UserRoute', { allow_public_user: true }],
'controller::api:v1:Sharing.share_page',
],
// Unshare a page with the specified user.
'/page/:PageId/revoke': [
'middleware::auth:UserOnly',
['middleware::api:RequiredFields', { form: 'sharing.page_user' }],
['middleware::api:PageRoute', {level: 'manage'}],
['middleware::api:UserRoute', { allow_public_user: true }],
'controller::api:v1:Sharing.revoke_page',
],
// Check the public user's access to a given resource
'/check': [
['middleware::api:RequiredFields', { form: 'sharing.permission_check'}],
['middleware::auth:ApiRoute', { allow_public: true }],
'controller::api:v1:Sharing.permission_check',
],
// Check the public user's access to a given page
'/check-page/:PageId/:level': [
['middleware::auth:ApiRoute', { allow_public: true }],
'controller::api:v1:Sharing.permission_check_page',
],
},
}
module.exports = exports = index