// *********************************************************************** // // Heath // // *********************************************************************** using Core.Cerberos.Adapters; using Core.Cerberos.Adapters.Common.Enums; using Core.Cerberos.Domain.Contexts.Onboarding.Request; namespace Core.Cerberos.Provider.Contracts { public interface IPermissionService { /// /// Creates a new Permission. /// /// The Permission to be created. /// A representing /// the asynchronous execution of the service. Task CreatePermissionService(PermissionRequest newPermission); /// /// Gets an Permission by identifier. /// /// The Permission identifier. /// A representing /// the asynchronous execution of the service. Task GetPermissionByIdService(string id); /// /// Gets all the roles. /// /// A representing /// the asynchronous execution of the service. Task> GetAllPermissionsService(); /// /// Gets all the permissions by permissions identifier list. /// /// The list of permissions identifiers. /// A representing /// the asynchronous execution of the service. Task> GetAllPermissionsByListService(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 ChangePermissionStatusService(string id, StatusEnum newStatus); /// /// Updates a Permission by id. /// /// The Permission to be updated. /// The Permission identifier. /// A representing /// the asynchronous execution of the service. Task UpdatePermissionService(PermissionAdapter entity, string id); } }