CentralBackend/services/permissions/PermissionService.js
2025-09-08 16:05:37 +02:00

32 lines
1.3 KiB
JavaScript

const PermissionRepository = require('../../repositories/permissions/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;