From 4d298b9cf8abb514a3cc117f66ad0c956657b4ea Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Mon, 17 Apr 2017 11:56:54 -0400 Subject: [PATCH] details_update script to do json ops now --- .../CipherDetails_Update.sql | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/Sql/dbo/Stored Procedures/CipherDetails_Update.sql b/src/Sql/dbo/Stored Procedures/CipherDetails_Update.sql index 1f5f6d046a..642ebaf0b4 100644 --- a/src/Sql/dbo/Stored Procedures/CipherDetails_Update.sql +++ b/src/Sql/dbo/Stored Procedures/CipherDetails_Update.sql @@ -14,6 +14,9 @@ AS BEGIN SET NOCOUNT ON + DECLARE @UserIdKey VARCHAR(50) = CONCAT('"', @UserId, '"') + DECLARE @UserIdPath VARCHAR(50) = CONCAT('$.', @UserIdKey) + UPDATE [dbo].[Cipher] SET @@ -21,10 +24,26 @@ BEGIN [OrganizationId] = @OrganizationId, [Type] = @Type, [Data] = @Data, + [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, + [Favorites] = + CASE + WHEN @Favorite = 1 AND [Favorites] IS NULL THEN + CONCAT('{', @UserIdKey, ':true}') + WHEN @Favorite = 1 THEN + JSON_MODIFY([Favorites], @UserIdPath, CAST(1 AS BIT)) + ELSE + JSON_MODIFY([Favorites], @UserIdPath, NULL) + END, [CreationDate] = @CreationDate, [RevisionDate] = @RevisionDate WHERE [Id] = @Id - - EXEC [dbo].[Cipher_UpdatePartial] @Id, @UserId, @FolderId, @Favorite END \ No newline at end of file