-function _request (options) {
- let $ = jQuery;
+import $ from 'jquery';
+import _ from 'underscore';
+
+function request (options) {
return $.ajax(options);
}
-function _url (path) {
+function buildUrl (path) {
return window.baseUrl + path;
}
-function _typeError (method, message) {
+function typeError (method, message) {
throw new TypeError(`permissions#${method}: ${message}`);
}
export function getUsers (data) {
- let url = _url('/api/permissions/users');
- return _request({ type: 'GET', url: url, data: data });
+ let url = buildUrl('/api/permissions/users');
+ return request({ type: 'GET', url: url, data: data });
}
export function grantToUser (permission, user, project) {
if (typeof permission !== 'string' || !permission.length) {
- return _typeError('grantToUser', 'please provide permission');
+ return typeError('grantToUser', 'please provide permission');
}
if (typeof user !== 'string' || !user.length) {
- return _typeError('grantToUser', 'please provide user login');
+ return typeError('grantToUser', 'please provide user login');
}
- let url = _url('/api/permissions/add_user');
+ let url = buildUrl('/api/permissions/add_user');
let data = { permission: permission, login: user };
if (project) {
data.projectId = project;
}
- return _request({ type: 'POST', url: url, data: data });
+ return request({ type: 'POST', url: url, data: data });
}
export function revokeFromUser (permission, user, project) {
if (typeof permission !== 'string' || !permission.length) {
- return _typeError('revokeFromUser', 'please provide permission');
+ return typeError('revokeFromUser', 'please provide permission');
}
if (typeof user !== 'string' || !user.length) {
- return _typeError('revokeFromUser', 'please provide user login');
+ return typeError('revokeFromUser', 'please provide user login');
}
- let url = _url('/api/permissions/remove_user');
+ let url = buildUrl('/api/permissions/remove_user');
let data = { permission: permission, login: user };
if (project) {
data.projectId = project;
}
- return _request({ type: 'POST', url: url, data: data });
+ return request({ type: 'POST', url: url, data: data });
}
export function getGroups (data) {
- let url = _url('/api/permissions/groups');
- return _request({ type: 'GET', url: url, data: data });
+ let url = buildUrl('/api/permissions/groups');
+ return request({ type: 'GET', url: url, data: data });
}
export function grantToGroup (permission, group, project) {
if (typeof permission !== 'string' || !permission.length) {
- return _typeError('grantToGroup', 'please provide permission');
+ return typeError('grantToGroup', 'please provide permission');
}
if (typeof group !== 'string' || !group.length) {
- return _typeError('grantToGroup', 'please provide group name');
+ return typeError('grantToGroup', 'please provide group name');
}
- let url = _url('/api/permissions/add_group');
+ let url = buildUrl('/api/permissions/add_group');
let data = { permission: permission, groupName: group };
if (project) {
data.projectId = project;
}
- return _request({ type: 'POST', url: url, data: data });
+ return request({ type: 'POST', url: url, data: data });
}
export function revokeFromGroup (permission, group, project) {
if (typeof permission !== 'string' || !permission.length) {
- return _typeError('revokeFromGroup', 'please provide permission');
+ return typeError('revokeFromGroup', 'please provide permission');
}
if (typeof group !== 'string' || !group.length) {
- return _typeError('revokeFromGroup', 'please provide group name');
+ return typeError('revokeFromGroup', 'please provide group name');
}
- let url = _url('/api/permissions/remove_group');
+ let url = buildUrl('/api/permissions/remove_group');
let data = { permission: permission, groupName: group };
if (project) {
data.projectId = project;
}
- return _request({ type: 'POST', url: url, data: data });
+ return request({ type: 'POST', url: url, data: data });
}
export function getPermissionTemplates (query) {
- let url = _url('/api/permissions/search_templates');
+ let url = buildUrl('/api/permissions/search_templates');
let data = { };
if (query) {
data.q = query;
}
- return _request({ type: 'GET', url: url, data: data });
+ return request({ type: 'GET', url: url, data: data });
}
export function createPermissionTemplate (options) {
- let url = _url('/api/permissions/create_template');
- return _request(_.extend({ type: 'POST', url: url }, options));
+ let url = buildUrl('/api/permissions/create_template');
+ return request(_.extend({ type: 'POST', url: url }, options));
}
export function updatePermissionTemplate (options) {
- let url = _url('/api/permissions/update_template');
- return _request(_.extend({ type: 'POST', url: url }, options));
+ let url = buildUrl('/api/permissions/update_template');
+ return request(_.extend({ type: 'POST', url: url }, options));
}
export function deletePermissionTemplate (options) {
- let url = _url('/api/permissions/delete_template');
- return _request(_.extend({ type: 'POST', url: url }, options));
+ let url = buildUrl('/api/permissions/delete_template');
+ return request(_.extend({ type: 'POST', url: url }, options));
}
export function setDefaultPermissionTemplate (template, qualifier) {
if (typeof template !== 'string' || !template.length) {
- return _typeError('setDefaultPermissionTemplate', 'please provide permission template ID');
+ return typeError('setDefaultPermissionTemplate', 'please provide permission template ID');
}
- let url = _url('/api/permissions/set_default_template');
+ let url = buildUrl('/api/permissions/set_default_template');
let data = { templateId: template, qualifier };
- return _request({ type: 'POST', url, data });
+ return request({ type: 'POST', url, data });
}
export function applyTemplateToProject(options) {
- let url = _url('/api/permissions/apply_template');
- return _request(_.extend({ type: 'POST', url: url }, options));
+ let url = buildUrl('/api/permissions/apply_template');
+ return request(_.extend({ type: 'POST', url: url }, options));
}