32 lines
1.3 KiB
JavaScript
32 lines
1.3 KiB
JavaScript
const PermissionRepository = require('../repositories/PermissionRepository');
|
|
const { logger } = require('../middleware/logger');
|
|
|
|
class PermissionService {
|
|
static async getAllPermissions(unitOfWork) {
|
|
logger.info('PermissionService.getAllPermissions:start');
|
|
try {
|
|
const repo = new PermissionRepository(unitOfWork);
|
|
const permissions = await repo.getAllPermissions();
|
|
logger.info('PermissionService.getAllPermissions:success', { count: permissions.length });
|
|
return permissions;
|
|
} catch (error) {
|
|
logger.error('PermissionService.getAllPermissions:error', { error: error.message });
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
static async createPermission(data, userId, unitOfWork) {
|
|
logger.info('PermissionService.createPermission:start', { userId, name: data.name });
|
|
try {
|
|
const repo = new PermissionRepository(unitOfWork);
|
|
const permission = await repo.createPermission({ ...data, created_by: userId });
|
|
logger.info('PermissionService.createPermission:success', { id: permission.id, name: permission.name });
|
|
return permission;
|
|
} catch (error) {
|
|
logger.error('PermissionService.createPermission:error', { userId, error: error.message });
|
|
throw error;
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = PermissionService; |