// *********************************************************************** // // AgileWebs // // *********************************************************************** 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 { /// /// Creates a new Module. /// /// The Module to be created. /// A representing /// the asynchronous execution of the service. Task CreateModuleService(ModuleRequest newModule); /// /// Gets an Module by identifier. /// /// The Module identifier. /// A representing /// the asynchronous execution of the service. Task GetModuleByIdService(string id); /// /// Gets all the roles. /// /// A representing /// the asynchronous execution of the service. Task> GetAllModulesService(); /// /// Gets all the permissions by permissions identifier list. /// /// The list of permissions identifiers. /// A representing /// the asynchronous execution of the service. Task> GetAllModulesByListService(string[] permissions); /// /// Changes the status of the permission. /// /// The permission identifier. /// The new status of the permission. /// The updated entity. /// A representing /// the asynchronous execution of the service. Task ChangeModuleStatusService(string id, StatusEnum newStatus); /// /// Updates a Module by id. /// /// The Module to be updated. /// The Module identifier. /// A representing /// the asynchronous execution of the service. Task UpdateModuleService(ModuleAdapter entity, string id); } }