mirror of
https://github.com/bitwarden/server.git
synced 2025-07-13 13:47:30 -05:00
purge org vault
This commit is contained in:
@ -231,5 +231,6 @@
|
||||
<Build Include="dbo\Stored Procedures\Grant_DeleteExpired.sql" />
|
||||
<Build Include="dbo\Stored Procedures\U2f_DeleteOld.sql" />
|
||||
<Build Include="dbo\Stored Procedures\User_ReadKdfByEmail.sql" />
|
||||
<Build Include="dbo\Stored Procedures\Cipher_DeleteByOrganizationId.sql" />
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,49 @@
|
||||
CREATE PROCEDURE [dbo].[Cipher_DeleteByOrganizationId]
|
||||
@OrganizationId AS UNIQUEIDENTIFIER
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE @BatchSize INT = 100
|
||||
|
||||
-- Delete collection ciphers
|
||||
WHILE @BatchSize > 0
|
||||
BEGIN
|
||||
BEGIN TRANSACTION Cipher_DeleteByOrganizationId_CC
|
||||
|
||||
DELETE TOP(@BatchSize) CC
|
||||
FROM
|
||||
[dbo].[CollectionCipher] CC
|
||||
INNER JOIN
|
||||
[dbo].[Collection] C ON C.[Id] = CC.[CollectionId]
|
||||
WHERE
|
||||
C.[OrganizationId] = @OrganizationId
|
||||
|
||||
SET @BatchSize = @@ROWCOUNT
|
||||
|
||||
COMMIT TRANSACTION Cipher_DeleteByOrganizationId_CC
|
||||
END
|
||||
|
||||
-- Reset batch size
|
||||
SET @BatchSize = 100
|
||||
|
||||
-- Delete ciphers
|
||||
WHILE @BatchSize > 0
|
||||
BEGIN
|
||||
BEGIN TRANSACTION Cipher_DeleteByOrganizationId
|
||||
|
||||
DELETE TOP(@BatchSize)
|
||||
FROM
|
||||
[dbo].[Cipher]
|
||||
WHERE
|
||||
[OrganizationId] = @OrganizationId
|
||||
|
||||
SET @BatchSize = @@ROWCOUNT
|
||||
|
||||
COMMIT TRANSACTION Cipher_DeleteByOrganizationId
|
||||
END
|
||||
|
||||
-- Cleanup organization
|
||||
EXEC [dbo].[Organization_UpdateStorage] @OrganizationId
|
||||
EXEC [dbo].[User_BumpAccountRevisionDateByOrganizationId] @OrganizationId
|
||||
END
|
Reference in New Issue
Block a user