public async Task <IdentityResult> CreateAsync(Role role, CancellationToken cancellationToken)
        {
            var added = await _db.AddRole(role).ConfigureAwait(false);

            return(added
                ? IdentityResult.Success
                : IdentityResultError.CannotInsertRole(role.Name));
        }
        public async Task <IdentityResult> DeleteAsync(Role role, CancellationToken cancellationToken)
        {
            var deleted = await _db.DeleteRole(role.RoleId).ConfigureAwait(false);

            return(deleted
                ? IdentityResult.Success
                : IdentityResultError.CannotDeleteRole(role.Name));
        }
        public async Task <IdentityResult> UpdateAsync(Role role, CancellationToken cancellationToken)
        {
            bool updated = await _db.UpdateRole(role).ConfigureAwait(false);

            return(updated
                ? IdentityResult.Success
                : IdentityResultError.CannotUpdateRole(role.Name));
        }
        public async Task <IdentityResult> DeleteAsync(User user, CancellationToken cancellationToken = default)
        {
            cancellationToken.ThrowIfCancellationRequested();

            var deleted = await _service.DeleteUser(user.Email).ConfigureAwait(false);

            return(deleted
                ? IdentityResult.Success
                : IdentityResultError.CannotDeleteUser(user.Email));
        }