mirror of
https://github.com/bitwarden/server.git
synced 2025-07-07 02:52:50 -05:00
Resolve error when deleting an account connected to a provider (#1580)
This commit is contained in:
@ -74,6 +74,7 @@
|
||||
<Build Include="dbo\Stored Procedures\Event_ReadPageByProviderIdActingUserId.sql" />
|
||||
<Build Include="dbo\Stored Procedures\ProviderOrganization_ReadByOrganizationId.sql" />
|
||||
<Build Include="dbo\Stored Procedures\ProviderUserProviderOrganizationDetails_ReadByUserIdStatus.sql" />
|
||||
<Build Include="dbo\Stored Procedures\ProviderUser_ReadCountByOnlyOwner.sql" />
|
||||
<Build Include="dbo\Stored Procedures\SsoConfig_Create.sql" />
|
||||
<Build Include="dbo\Stored Procedures\SsoConfig_ReadByIdentifier.sql" />
|
||||
<Build Include="dbo\Stored Procedures\SsoConfig_ReadByOrganizationId.sql" />
|
||||
|
@ -0,0 +1,25 @@
|
||||
CREATE PROCEDURE [dbo].[ProviderUser_ReadCountByOnlyOwner]
|
||||
@UserId UNIQUEIDENTIFIER
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
|
||||
;WITH [OwnerCountCTE] AS
|
||||
(
|
||||
SELECT
|
||||
PU.[UserId],
|
||||
COUNT(1) OVER (PARTITION BY PU.[ProviderId]) [ConfirmedOwnerCount]
|
||||
FROM
|
||||
[dbo].[ProviderUser] PU
|
||||
WHERE
|
||||
PU.[Type] = 0 -- 0 = ProviderAdmin
|
||||
AND PU.[Status] = 2 -- 2 = Confirmed
|
||||
)
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
[OwnerCountCTE] OC
|
||||
WHERE
|
||||
OC.[UserId] = @UserId
|
||||
AND OC.[ConfirmedOwnerCount] = 1
|
||||
END
|
@ -65,6 +65,13 @@ BEGIN
|
||||
WHERE
|
||||
[UserId] = @Id
|
||||
|
||||
-- Delete provider users
|
||||
DELETE
|
||||
FROM
|
||||
[dbo].[ProviderUser]
|
||||
WHERE
|
||||
[UserId] = @Id
|
||||
|
||||
-- Delete U2F logins
|
||||
DELETE
|
||||
FROM
|
||||
|
Reference in New Issue
Block a user