// *********************************************************************** // // AgileWebs // // *********************************************************************** using Core.Thalos.BuildingBlocks; using Core.Thalos.Domain.Contexts.Onboarding.Request; namespace Core.Thalos.Provider.Contracts { public interface IPermissionProvider { /// /// Creates a new Permission. /// /// The Permission to be created. /// A representing /// the asynchronous execution of the service. ValueTask CreatePermission(PermissionRequest newPermission, CancellationToken cancellationToken); /// /// Gets an Permission by identifier. /// /// The Permission identifier. /// A representing /// the asynchronous execution of the service. ValueTask GetPermissionById(string _id, CancellationToken cancellationToken); /// /// Gets all the roles. /// /// A representing /// the asynchronous execution of the service. ValueTask> GetAllPermissions(CancellationToken cancellationToken); /// /// Gets all the permissions by permissions identifier list. /// /// The list of permissions identifiers. /// A representing /// the asynchronous execution of the service. ValueTask> GetAllPermissionsByList(string[] permissions, 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 ChangePermissionStatus(string id, Blueprint.Mongo.StatusEnum newStatus, CancellationToken cancellationToken); /// /// Updates a Permission by id. /// /// The Permission to be updated. /// The Permission identifier. /// A representing /// the asynchronous execution of the service. ValueTask UpdatePermission(PermissionAdapter entity, CancellationToken cancellationToken); } }