mirror of
https://github.com/bitwarden/server.git
synced 2025-07-06 18:42:49 -05:00
refactored cipherfolder and fav to JSON columns
This commit is contained in:
@ -2,14 +2,44 @@
|
||||
RETURNS TABLE
|
||||
AS RETURN
|
||||
SELECT
|
||||
C.*,
|
||||
CASE WHEN F.[CipherId] IS NULL THEN 0 ELSE 1 END [Favorite],
|
||||
FO.[Id] [FolderId]
|
||||
C.[Id],
|
||||
C.[UserId],
|
||||
C.[OrganizationId],
|
||||
C.[Type],
|
||||
C.[Data],
|
||||
C.[CreationDate],
|
||||
C.[RevisionDate],
|
||||
CASE WHEN
|
||||
C.[Favorites] IS NULL
|
||||
OR (
|
||||
SELECT TOP 1
|
||||
1
|
||||
FROM
|
||||
OPENJSON(C.[Favorites])
|
||||
WITH (
|
||||
[Favorites_UserId] UNIQUEIDENTIFIER '$.u'
|
||||
)
|
||||
WHERE
|
||||
[Favorites_UserId] = @UserId
|
||||
) IS NULL
|
||||
THEN 0
|
||||
ELSE 1
|
||||
END [Favorite],
|
||||
CASE WHEN
|
||||
C.[Folders] IS NULL
|
||||
THEN NULL
|
||||
ELSE (
|
||||
SELECT TOP 1
|
||||
[Folders_FolderId]
|
||||
FROM
|
||||
OPENJSON(C.[Folders])
|
||||
WITH (
|
||||
[Folders_UserId] UNIQUEIDENTIFIER '$.u',
|
||||
[Folders_FolderId] UNIQUEIDENTIFIER '$.f'
|
||||
)
|
||||
WHERE
|
||||
[Folders_UserId] = @UserId
|
||||
)
|
||||
END [FolderId]
|
||||
FROM
|
||||
[dbo].[Cipher] C
|
||||
LEFT JOIN
|
||||
[dbo].[Favorite] F ON F.[CipherId] = C.[Id] AND F.[UserId] = @UserId
|
||||
LEFT JOIN
|
||||
[dbo].[FolderCipher] FC ON FC.[UserId] = @UserId AND FC.[CipherId] = C.[Id]
|
||||
LEFT JOIN
|
||||
[dbo].[Folder] FO ON FO.[Id] = FC.[FolderId]
|
Reference in New Issue
Block a user