|
|
|
@ -131,6 +131,7 @@ class DomainDashboardHandler extends ManageHandler {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class DomainUserHandler extends ManageHandler {
|
|
|
|
|
@requireSudo
|
|
|
|
|
async get({ domainId }) {
|
|
|
|
|
const rudocs = {};
|
|
|
|
|
const [dudocs, roles] = await Promise.all([
|
|
|
|
@ -156,6 +157,7 @@ class DomainUserHandler extends ManageHandler {
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@requireSudo
|
|
|
|
|
@post('uid', Types.Int)
|
|
|
|
|
@post('role', Types.Name)
|
|
|
|
|
async postSetUser(domainId: string, uid: number, role: string) {
|
|
|
|
@ -166,6 +168,7 @@ class DomainUserHandler extends ManageHandler {
|
|
|
|
|
this.back();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@requireSudo
|
|
|
|
|
@param('uid', Types.NumericArray)
|
|
|
|
|
@param('role', Types.Name)
|
|
|
|
|
async postSetUsers(domainId: string, uid: number[], role: string) {
|
|
|
|
@ -178,6 +181,7 @@ class DomainUserHandler extends ManageHandler {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class DomainPermissionHandler extends ManageHandler {
|
|
|
|
|
@requireSudo
|
|
|
|
|
async get({ domainId }) {
|
|
|
|
|
const roles = await domain.getRoles(domainId);
|
|
|
|
|
this.response.template = 'domain_permission.html';
|
|
|
|
@ -186,6 +190,7 @@ class DomainPermissionHandler extends ManageHandler {
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@requireSudo
|
|
|
|
|
async post({ domainId }) {
|
|
|
|
|
const roles = {};
|
|
|
|
|
delete this.request.body.csrfToken;
|
|
|
|
@ -202,6 +207,7 @@ class DomainPermissionHandler extends ManageHandler {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class DomainRoleHandler extends ManageHandler {
|
|
|
|
|
@requireSudo
|
|
|
|
|
async get({ domainId }) {
|
|
|
|
|
const roles = await domain.getRoles(domainId, true);
|
|
|
|
|
this.response.template = 'domain_role.html';
|
|
|
|
@ -218,6 +224,7 @@ class DomainRoleHandler extends ManageHandler {
|
|
|
|
|
this.back();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@requireSudo
|
|
|
|
|
@param('roles', Types.Array)
|
|
|
|
|
async postDelete(domainId: string, roles: string[]) {
|
|
|
|
|
if (Set.intersection(roles, ['root', 'default', 'guest']).size > 0) {
|
|
|
|
@ -243,6 +250,7 @@ class DomainJoinApplicationsHandler extends ManageHandler {
|
|
|
|
|
this.response.template = 'domain_join_applications.html';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@requireSudo
|
|
|
|
|
@post('method', Types.Range([domain.JOIN_METHOD_NONE, domain.JOIN_METHOD_ALL, domain.JOIN_METHOD_CODE]))
|
|
|
|
|
@post('role', Types.Name, true)
|
|
|
|
|
@post('expire', Types.Int, true)
|
|
|
|
|