1
0
mirror of https://github.com/bitwarden/server.git synced 2025-05-14 08:02:17 -05:00

Resolve the remove button issue (#5811)

This commit is contained in:
cyprain-okeke 2025-05-13 16:48:37 +01:00 committed by GitHub
parent 4195baf1c5
commit d58836bb60
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 9 additions and 7 deletions

View File

@ -207,7 +207,7 @@ public class OrganizationSponsorshipsController : Controller
[HttpDelete("{sponsoringOrganizationId}")]
[HttpPost("{sponsoringOrganizationId}/delete")]
[SelfHosted(NotSelfHostedOnly = true)]
public async Task RevokeSponsorship(Guid sponsoringOrganizationId)
public async Task RevokeSponsorship(Guid sponsoringOrganizationId, [FromQuery] bool isAdminInitiated = false)
{
var orgUser = await _organizationUserRepository.GetByOrganizationAsync(sponsoringOrganizationId, _currentContext.UserId ?? default);
@ -217,7 +217,7 @@ public class OrganizationSponsorshipsController : Controller
}
var existingOrgSponsorship = await _organizationSponsorshipRepository
.GetBySponsoringOrganizationUserIdAsync(orgUser.Id);
.GetBySponsoringOrganizationUserIdAsync(orgUser.Id, isAdminInitiated);
await _revokeSponsorshipCommand.RevokeSponsorshipAsync(existingOrgSponsorship);
}

View File

@ -11,7 +11,7 @@ public interface IOrganizationSponsorshipRepository : IRepository<OrganizationSp
Task UpsertManyAsync(IEnumerable<OrganizationSponsorship> organizationSponsorships);
Task DeleteManyAsync(IEnumerable<Guid> organizationSponsorshipIds);
Task<ICollection<OrganizationSponsorship>> GetManyBySponsoringOrganizationAsync(Guid sponsoringOrganizationId);
Task<OrganizationSponsorship?> GetBySponsoringOrganizationUserIdAsync(Guid sponsoringOrganizationUserId);
Task<OrganizationSponsorship?> GetBySponsoringOrganizationUserIdAsync(Guid sponsoringOrganizationUserId, bool isAdminInitiated = false);
Task<OrganizationSponsorship?> GetBySponsoredOrganizationIdAsync(Guid sponsoredOrganizationId);
Task<DateTime?> GetLatestSyncDateBySponsoringOrganizationIdAsync(Guid sponsoringOrganizationId);
}

View File

@ -89,7 +89,7 @@ public class OrganizationSponsorshipRepository : Repository<OrganizationSponsors
}
}
public async Task<OrganizationSponsorship?> GetBySponsoringOrganizationUserIdAsync(Guid sponsoringOrganizationUserId)
public async Task<OrganizationSponsorship?> GetBySponsoringOrganizationUserIdAsync(Guid sponsoringOrganizationUserId, bool isAdminInitiated)
{
using (var connection = new SqlConnection(ConnectionString))
{
@ -97,7 +97,8 @@ public class OrganizationSponsorshipRepository : Repository<OrganizationSponsors
"[dbo].[OrganizationSponsorship_ReadBySponsoringOrganizationUserId]",
new
{
SponsoringOrganizationUserId = sponsoringOrganizationUserId
SponsoringOrganizationUserId = sponsoringOrganizationUserId,
isAdminInitiated = isAdminInitiated
},
commandType: CommandType.StoredProcedure);

View File

@ -104,12 +104,13 @@ public class OrganizationSponsorshipRepository : Repository<Core.Entities.Organi
}
}
public async Task<Core.Entities.OrganizationSponsorship?> GetBySponsoringOrganizationUserIdAsync(Guid sponsoringOrganizationUserId)
public async Task<Core.Entities.OrganizationSponsorship?> GetBySponsoringOrganizationUserIdAsync(Guid sponsoringOrganizationUserId, bool isAdminInitiated = false)
{
using (var scope = ServiceScopeFactory.CreateScope())
{
var dbContext = GetDatabaseContext(scope);
var orgSponsorship = await GetDbSet(dbContext).Where(e => e.SponsoringOrganizationUserId == sponsoringOrganizationUserId)
var orgSponsorship = await GetDbSet(dbContext)
.Where(e => e.SponsoringOrganizationUserId == sponsoringOrganizationUserId && e.IsAdminInitiated == isAdminInitiated)
.FirstOrDefaultAsync();
return orgSponsorship;
}