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;