????
Current Path : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/controllers/quantri/ |
Current File : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/controllers/quantri/quyentaikhoan.js |
var Database = require('../../models/Database'); class QuyenTKController extends Database { constructor(params) { super(params); } static create(params) { return new QuyenTKController(params); } async getRole(id) { return (await this.select('SELECT Id,[Name],[Code],[CanDelete],[Tasks] FROM [Role] WHERE Id = @id', { id: id }))[0]; } getRoles() { return this.select('SELECT Id,[Name],[Code],[CanDelete],[Tasks] FROM [Role]'); } async addRole(role) { var roles = await this.select('SELECT Id FROM [Role] WHERE Code= @code', { code: role.code }); if (roles.length) throw new Error('Đã tồn tại quyền tài khoản với mã ' + role.code) return this.query('INSERT INTO [Role]([Name], [Code]) VALUES (@name,@code)', role); } editRole(role) { return this.query('UPDATE [Role] SET [Name] = @name WHERE Id = @id', role); } async deleteRole(id) { let role = await this.getRole(id); if (!role) throw new Error('Không xác định được nhóm quyền cần xóa'); if (!role['CanDelete']) throw new Error('Nhóm tài khoản mặc định không thể xóa'); return await this.query('DELETE FROM [Role] WHERE Id = @id', { id: id }); } // Phân chức năng getTasks() { // let roles = await this.select('SELECT Id FROM [Role] WHERE Code = @code', { code: roleCode }); // if (roles.length) return await this.select('SELECT Task.Id,Task.Code,Task.[Name],Role_Task.Granted FROM Role_Task INNER JOIN Task ON Role_Task.Task = Task.Code WHERE Role_Task.Role = @role ORDER BY Task.Id', { role: roleCode }) return this.select('SELECT Id,Code,[Name] FROM [Task] ORDER BY Task.Id'); } async assignTask(reqInfo) { let input = { id: reqInfo['id'], tasks: reqInfo['task[]'].toString() }; return this.query('UPDATE [Role] SET Tasks = @tasks where Id= @id', input); } } module.exports = QuyenTKController;