// *********************************************************************** // // AgileWebs // // *********************************************************************** using Core.Blueprint.Mongo; using Core.Thalos.Adapters; using Core.Thalos.Domain.Contexts.Onboarding.Request; namespace Core.Thalos.Provider.Contracts { public interface IModuleProvider { /// /// Creates a new Module. /// /// The Module to be created. /// A representing /// the asynchronous execution of the service. ValueTask CreateModule(ModuleRequest newModule, CancellationToken cancellationToken); /// /// Gets an Module by identifier. /// /// The Module identifier. /// A representing /// the asynchronous execution of the service. ValueTask GetModuleById(string _id, CancellationToken cancellationToken); /// /// Gets all the roles. /// /// A representing /// the asynchronous execution of the service. ValueTask> GetAllModules(CancellationToken cancellationToken); /// /// Gets all the permissions by permissions identifier list. /// /// The list of permissions identifiers. /// A representing /// the asynchronous execution of the service. ValueTask> GetAllModulesByList(string[] modules, CancellationToken cancellationToken); /// /// 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. ValueTask ChangeModuleStatus(string id, StatusEnum newStatus, CancellationToken cancellationToken); /// /// Updates a Module by id. /// /// The Module to be updated. /// The Module identifier. /// A representing /// the asynchronous execution of the service. ValueTask UpdateModule(ModuleAdapter entity, CancellationToken cancellationToken); } }