// *********************************************************************** // // AgileWebs // // *********************************************************************** using Core.Thalos.BuildingBlocks; using Core.Thalos.Domain.Contexts.Onboarding.Request; namespace Core.Thalos.Provider.Contracts { /// /// Interface for Module-related service operations. /// public interface IModuleProvider { /// /// Creates a new Module. /// /// The Module to be created. /// A token to cancel the asynchronous operation. /// /// A representing the asynchronous execution of the service. /// ValueTask CreateModule(ModuleRequest newModule, CancellationToken cancellationToken); /// /// Gets a Module by its identifier. /// /// The Module Mongo identifier. /// A token to cancel the asynchronous operation. /// /// A representing the asynchronous execution of the service. /// ValueTask GetModuleById(string _id, CancellationToken cancellationToken); /// /// Gets all Modules. /// /// A token to cancel the asynchronous operation. /// /// A representing the asynchronous execution of the service. /// ValueTask> GetAllModules(CancellationToken cancellationToken); /// /// Gets all Modules by a list of identifiers. /// /// The list of Module identifiers. /// A token to cancel the asynchronous operation. /// /// A representing the asynchronous execution of the service. /// ValueTask> GetAllModulesByList(string[] modules, CancellationToken cancellationToken); /// /// Changes the status of a Module. /// /// The Module Mongo identifier. /// The new status of the Module. /// A token to cancel the asynchronous operation. /// /// A representing the asynchronous execution of the service. /// ValueTask ChangeModuleStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken); /// /// Updates a Module by its identifier. /// /// The Module to be updated. /// A token to cancel the asynchronous operation. /// /// A representing the asynchronous execution of the service. /// ValueTask UpdateModule(ModuleAdapter entity, CancellationToken cancellationToken); /// /// Deletes a Module by its identifier. /// /// The Module Mongo identifier. /// A token to cancel the asynchronous operation. /// /// A representing the asynchronous execution of the service. /// ValueTask DeleteModule(string _id, CancellationToken cancellationToken); } }