/// <inheritdoc /> public async Task RemoveDesignatedRoleByIdAsync(long id) { AuthorizationService.RequireClaims(AuthorizationClaim.DesignatedRoleMappingDelete); using (var transaction = await DesignatedRoleMappingRepository.BeginDeleteTransactionAsync()) { var deletedCount = await DesignatedRoleMappingRepository.DeleteAsync(new DesignatedRoleMappingSearchCriteria() { Id = id, IsDeleted = false }, AuthorizationService.CurrentUserId.Value); if (deletedCount == 0) { throw new InvalidOperationException($"No role assignment exists with id {id}"); } transaction.Commit(); } }
/// <inheritdoc /> public async Task RemoveDesignatedRoleAsync(ulong guildId, ulong roleId, DesignatedRoleType type) { AuthorizationService.RequireClaims(AuthorizationClaim.DesignatedRoleMappingDelete); using (var transaction = await DesignatedRoleMappingRepository.BeginDeleteTransactionAsync()) { var deletedCount = await DesignatedRoleMappingRepository.DeleteAsync(new DesignatedRoleMappingSearchCriteria() { GuildId = guildId, RoleId = roleId, Type = type, IsDeleted = false }, AuthorizationService.CurrentUserId.Value); if (deletedCount == 0) { throw new InvalidOperationException($"Role {roleId} does not have a {type} designation"); } transaction.Commit(); } }