Commit 44a764a1 by GD-A-150752

change-user-status

parent 7f6f70bc
......@@ -9,6 +9,7 @@ export const PERMISSIONS = {
CAN_ACCESS_SETTINGS: 'CAN_ACCESS_SETTINGS',
CAN_ACCESS_EMAIL_TEMPLATES: 'CAN_ACCESS_EMAIL_TEMPLATES',
CAN_UPDATE_ALL_USERS: 'CAN_UPDATE_ALL_USERS',
CAN_ACCESS_USERS_PAGE: 'CAN_ACCESS_USERS_PAGE',
};
export const CONFIG = {
......
......@@ -3,9 +3,17 @@ import { rolesCollection } from '../collections/role.collection';
import { ERR, E_CODE, PERMISSIONS } from '../config';
import { UtilsService } from '../services/utils.service';
import { EmailService } from '../services/email.service';
import { QueryModel } from '../models/query.model';
Meteor.methods({
usersGetCount(query: QueryModel): any {
return {
recordsFiltered: Meteor.users.find(query.query).count(),
recordsTotal: Meteor.users.find().count(),
};
},
registerUser(user: any): string {
const defaultRole = rolesCollection.findOne({ title: user.role });
......@@ -96,4 +104,21 @@ Meteor.methods({
return Accounts.findUserByEmail(email);
},
switchUser(user: Meteor.User, block = false): any {
if (UtilsService.hasPermission(PERMISSIONS.CAN_UPDATE_USER)) {
if (block) {
const disableRole = rolesCollection.findOne({ title: 'Blocked' });
user.profile.originalRole = user.profile.role;
user.profile.role = disableRole._id;
} else {
user.profile.role = user.profile.originalRole;
delete user.profile.originalRole;
}
return Meteor.users.update(user._id, user);
}
throw new Meteor.Error(E_CODE.FORBIDDEN, ERR.FORBIDDEN);
},
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment