mirror of
https://github.com/bitwarden/server.git
synced 2025-07-01 16:12:49 -05:00
Fixes to bulk action sprocs
This commit is contained in:
@ -5,19 +5,20 @@ AS
|
|||||||
BEGIN
|
BEGIN
|
||||||
SET NOCOUNT ON
|
SET NOCOUNT ON
|
||||||
|
|
||||||
;WITH [CTE] AS (
|
;WITH [IdsToDeleteCTE] AS (
|
||||||
SELECT
|
SELECT
|
||||||
[Id],
|
[Id]
|
||||||
[Edit]
|
|
||||||
FROM
|
FROM
|
||||||
[dbo].[UserCipherDetails](@UserId)
|
[dbo].[UserCipherDetails](@UserId)
|
||||||
|
WHERE
|
||||||
|
[Edit] = 1
|
||||||
|
AND [Id] IN (SELECT * FROM @Ids)
|
||||||
)
|
)
|
||||||
DELETE
|
DELETE
|
||||||
FROM
|
FROM
|
||||||
[CTE]
|
[dbo].[Cipher]
|
||||||
WHERE
|
WHERE
|
||||||
[Edit] = 1
|
[Id] IN (SELECT * FROM [IdsToDeleteCTE])
|
||||||
AND [Id] IN (@Ids)
|
|
||||||
|
|
||||||
EXEC [dbo].[User_BumpAccountRevisionDate] @UserId
|
EXEC [dbo].[User_BumpAccountRevisionDate] @UserId
|
||||||
-- TODO: What if some that were deleted were organization ciphers? Then bump by org ids.
|
-- TODO: What if some that were deleted were organization ciphers? Then bump by org ids.
|
||||||
|
@ -6,21 +6,32 @@ AS
|
|||||||
BEGIN
|
BEGIN
|
||||||
SET NOCOUNT ON
|
SET NOCOUNT ON
|
||||||
|
|
||||||
;WITH [CTE] AS (
|
DECLARE @UserIdKey VARCHAR(50) = CONCAT('"', @UserId, '"')
|
||||||
|
DECLARE @UserIdPath VARCHAR(50) = CONCAT('$.', @UserIdKey)
|
||||||
|
|
||||||
|
;WITH [IdsToMoveCTE] AS (
|
||||||
SELECT
|
SELECT
|
||||||
[Id],
|
[Id]
|
||||||
[Edit],
|
|
||||||
[FolderId]
|
|
||||||
FROM
|
FROM
|
||||||
[dbo].[UserCipherDetails](@UserId)
|
[dbo].[UserCipherDetails](@UserId)
|
||||||
|
WHERE
|
||||||
|
[Edit] = 1
|
||||||
|
AND [Id] IN (SELECT * FROM @Ids)
|
||||||
)
|
)
|
||||||
UPDATE
|
UPDATE
|
||||||
[CTE]
|
[dbo].[Cipher]
|
||||||
SET
|
SET
|
||||||
[FolderId] = @FolderId
|
[Folders] =
|
||||||
|
CASE
|
||||||
|
WHEN @FolderId IS NOT NULL AND [Folders] IS NULL THEN
|
||||||
|
CONCAT('{', @UserIdKey, ':"', @FolderId, '"', '}')
|
||||||
|
WHEN @FolderId IS NOT NULL THEN
|
||||||
|
JSON_MODIFY([Folders], @UserIdPath, CAST(@FolderId AS VARCHAR(50)))
|
||||||
|
ELSE
|
||||||
|
JSON_MODIFY([Folders], @UserIdPath, NULL)
|
||||||
|
END
|
||||||
WHERE
|
WHERE
|
||||||
[Edit] = 1
|
[Id] IN (SELECT * FROM [IdsToMoveCTE])
|
||||||
AND [Id] IN (@Ids)
|
|
||||||
|
|
||||||
EXEC [dbo].[User_BumpAccountRevisionDate] @UserId
|
EXEC [dbo].[User_BumpAccountRevisionDate] @UserId
|
||||||
-- TODO: What if some that were updated were organization ciphers? Then bump by org ids.
|
-- TODO: What if some that were updated were organization ciphers? Then bump by org ids.
|
||||||
|
Reference in New Issue
Block a user