65 lines
2.8 KiB
C#
65 lines
2.8 KiB
C#
// ***********************************************************************
|
|
// <copyright file="IModuleService.cs">
|
|
// AgileWebs
|
|
// </copyright>
|
|
// ***********************************************************************
|
|
using Core.Thalos.Adapters;
|
|
using Core.Thalos.Adapters.Common.Enums;
|
|
using Core.Thalos.Domain.Contexts.Onboarding.Request;
|
|
|
|
namespace Core.Thalos.Provider.Contracts
|
|
{
|
|
public interface IModuleService
|
|
{
|
|
/// <summary>
|
|
/// Creates a new Module.
|
|
/// </summary>
|
|
/// <param name="entity">The Module to be created.</param>
|
|
/// <returns>A <see cref="{Task{ModuleAdapter}}"/> representing
|
|
/// the asynchronous execution of the service.</returns>
|
|
Task<ModuleAdapter> CreateModuleService(ModuleRequest newModule);
|
|
|
|
/// <summary>
|
|
/// Gets an Module by identifier.
|
|
/// </summary>
|
|
/// <param name="id">The Module identifier.</param>
|
|
/// <returns>A <see cref="{Task{ModuleAdapter}}"/> representing
|
|
/// the asynchronous execution of the service.</returns>
|
|
Task<ModuleAdapter> GetModuleByIdService(string id);
|
|
|
|
/// <summary>
|
|
/// Gets all the roles.
|
|
/// </summary>
|
|
/// <returns>A <see cref="{Task{IEnumerbale{ModuleAdapter}}}"/> representing
|
|
/// the asynchronous execution of the service.</returns>
|
|
Task<IEnumerable<ModuleAdapter>> GetAllModulesService();
|
|
|
|
/// <summary>
|
|
/// Gets all the permissions by permissions identifier list.
|
|
/// </summary>
|
|
/// <param name="permissions">The list of permissions identifiers.</param>
|
|
/// <returns>A <see cref="Task{IEnumerable{ModuleAdapter}}"/> representing
|
|
/// the asynchronous execution of the service.</returns>
|
|
Task<IEnumerable<ModuleAdapter>> GetAllModulesByListService(string[] permissions);
|
|
|
|
/// <summary>
|
|
/// Changes the status of the permission.
|
|
/// </summary>
|
|
/// <param name="id">The permission identifier.</param>
|
|
/// <param name="newStatus">The new status of the permission.</param>
|
|
/// <returns>The <see cref="ModuleAdapter"/> updated entity.</returns>
|
|
/// <returns>A <see cref="{Task{ModuleAdapter}}"/> representing
|
|
/// the asynchronous execution of the service.</returns>
|
|
Task<ModuleAdapter> ChangeModuleStatusService(string id, StatusEnum newStatus);
|
|
|
|
/// <summary>
|
|
/// Updates a Module by id.
|
|
/// </summary>
|
|
/// <param name="entity">The Module to be updated.</param>
|
|
/// <param name="id">The Module identifier.</param>
|
|
/// <returns>A <see cref="{Task{ModuleAdapter}}"/> representing
|
|
/// the asynchronous execution of the service.</returns>
|
|
Task<ModuleAdapter> UpdateModuleService(ModuleAdapter entity, string id);
|
|
}
|
|
}
|