// *********************************************************************** // // AgileWebs // // *********************************************************************** using Core.Thalos.BuildingBlocks; using Core.Thalos.Domain.Contexts.Onboarding.Request; namespace Core.Thalos.Provider.Contracts { /// /// Interface for Tenant-related service operations. /// public interface ITenantProvider { /// /// Creates a new Tenant. /// /// The Tenant to be created. /// A token to cancel the asynchronous operation. /// /// A representing the asynchronous execution of the service. /// ValueTask CreateTenant(TenantRequest newTenant, CancellationToken cancellationToken); /// /// Gets a Tenant by its identifier. /// /// The Tenant Mongo identifier. /// A token to cancel the asynchronous operation. /// /// A representing the asynchronous execution of the service. /// ValueTask GetTenantById(string _id, CancellationToken cancellationToken); /// /// Gets all Tenants. /// /// A token to cancel the asynchronous operation. /// /// A representing the asynchronous execution of the service. /// ValueTask> GetAllTenants(CancellationToken cancellationToken); /// /// Changes the status of a Tenant. /// /// The Tenant Mongo identifier. /// The new status of the Tenant. /// A token to cancel the asynchronous operation. /// /// A representing the asynchronous execution of the service. /// ValueTask ChangeTenantStatus(string _id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken); /// /// Updates a Tenant. /// /// The Tenant to be updated. /// A token to cancel the asynchronous operation. /// /// A representing the asynchronous execution of the service. /// ValueTask UpdateTenant(TenantAdapter entity, CancellationToken cancellationToken); /// /// Deletes a Tenant by its identifier. /// /// The Tenant Mongo identifier. /// A token to cancel the asynchronous operation. /// /// A representing the asynchronous execution of the service. /// ValueTask DeleteTenant(string _id, CancellationToken cancellationToken); } }