package com.ikon.projectmanagement.service;

import com.ikon.projectmanagement.dto.request.RoleRequestDto;
import com.ikon.projectmanagement.dto.response.RoleResponseDto;
import java.util.List;
import java.util.UUID;

public interface RoleService {
    
    /**
     * Retrieve all roles
     */
    List<RoleResponseDto> getAllRoles();

    /**
     * Retrieve role by ID
     */
    RoleResponseDto getRoleById(UUID id);

    /**
     * Create a new role
     */
    RoleResponseDto createRole(RoleRequestDto dto);

    /**
     * Update an existing role
     */
    RoleResponseDto updateRole(UUID id, RoleRequestDto dto);

    /**
     * Delete a role by ID
     */
    void deleteRole(UUID id);
}
