1
0
mirror of https://github.com/bitwarden/server synced 2026-01-02 08:33:48 +00:00

query fixes for folders. denormalize userid

This commit is contained in:
Kyle Spearrin
2017-04-14 09:47:35 -04:00
parent 63e95f0f55
commit 943ef81c06
7 changed files with 24 additions and 25 deletions

View File

@@ -7,11 +7,24 @@ AS
BEGIN
SET NOCOUNT ON
IF @FolderId IS NULL
DECLARE @ExistingFolderId UNIQUEIDENTIFIER = NULL
SELECT TOP 1
@ExistingFolderId = F.Id
FROM
[dbo].[FolderCipher] FC
INNER JOIN
[dbo].[Folder] F ON F.[Id] = FC.[FolderId]
WHERE
F.[UserId] = @UserId
AND FC.[CipherId] = @Id
IF @ExistingFolderId IS NOT NULL AND (@FolderId IS NULL OR @FolderId != @ExistingFolderId)
BEGIN
EXEC [dbo].[FolderCipher_DeleteByUserId] @UserId, @Id
EXEC [dbo].[FolderCipher_Delete] @ExistingFolderId, @Id
END
ELSE IF (SELECT COUNT(1) FROM [dbo].[FolderCipher] WHERE [FolderId] = @FolderId AND [CipherId] = @Id) = 0
IF @FolderId IS NOT NULL AND (@ExistingFolderId IS NULL OR @FolderId != @ExistingFolderId)
BEGIN
EXEC [dbo].[FolderCipher_Create] @FolderId, @Id
END