1
0
mirror of https://github.com/bitwarden/server synced 2025-12-16 16:23:31 +00:00
This commit is contained in:
jaasen-livefront
2025-12-03 12:07:38 -08:00
parent 1a17699260
commit 3d4311a2c3
4 changed files with 129 additions and 7 deletions

View File

@@ -18,7 +18,7 @@
@DeletedDate DATETIME2(7), @DeletedDate DATETIME2(7),
@Reprompt TINYINT, @Reprompt TINYINT,
@Key VARCHAR(MAX) = NULL, @Key VARCHAR(MAX) = NULL,
@ArchivedDate DATETIME2(7) = NULL @ArchivedDate DATETIME2(7) = NULL,
@Archives NVARCHAR(MAX) @Archives NVARCHAR(MAX)
AS AS
BEGIN BEGIN
@@ -57,7 +57,8 @@ BEGIN
@DeletedDate, @DeletedDate,
@Reprompt, @Reprompt,
@Key, @Key,
@ArchivedDate @ArchivedDate,
@Archives
) )
IF @OrganizationId IS NOT NULL IF @OrganizationId IS NOT NULL

View File

@@ -18,9 +18,9 @@
@DeletedDate DATETIME2(7), @DeletedDate DATETIME2(7),
@Reprompt TINYINT, @Reprompt TINYINT,
@Key VARCHAR(MAX) = NULL, @Key VARCHAR(MAX) = NULL,
@CollectionIds AS [dbo].[GuidIdArray] READONLY, @ArchivedDate DATETIME2(7) = NULL,
@ArchivedDate DATETIME2(7) = NULL @Archives NVARCHAR(MAX),
@Archives NVARCHAR(MAX) @CollectionIds AS [dbo].[GuidIdArray] READONLY
AS AS
BEGIN BEGIN
SET NOCOUNT ON SET NOCOUNT ON

View File

@@ -12,7 +12,7 @@
@DeletedDate DATETIME2(7), @DeletedDate DATETIME2(7),
@Reprompt TINYINT, @Reprompt TINYINT,
@Key VARCHAR(MAX) = NULL, @Key VARCHAR(MAX) = NULL,
@ArchivedDate DATETIME2(7), @ArchivedDate DATETIME2(7) = NULL,
@Archives NVARCHAR(MAX) = NULL, @Archives NVARCHAR(MAX) = NULL,
@CollectionIds AS [dbo].[GuidIdArray] READONLY @CollectionIds AS [dbo].[GuidIdArray] READONLY
AS AS

View File

@@ -357,7 +357,7 @@ CREATE PROCEDURE [dbo].[Cipher_CreateWithCollections]
@Key VARCHAR(MAX) = NULL, @Key VARCHAR(MAX) = NULL,
@Archives NVARCHAR(MAX), @Archives NVARCHAR(MAX),
@ArchivedDate DATETIME2(7) = NULL, @ArchivedDate DATETIME2(7) = NULL,
@CollectionIds AS [dbo].[GuidIdArray] READONLY @CollectionIds [dbo].[GuidIdArray] READONLY
AS AS
BEGIN BEGIN
SET NOCOUNT ON SET NOCOUNT ON
@@ -431,3 +431,124 @@ BEGIN
EXEC [dbo].[User_BumpAccountRevisionDate] @UserId EXEC [dbo].[User_BumpAccountRevisionDate] @UserId
END END
END END
IF OBJECT_ID('[dbo].[Cipher_CreateWithCollections]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[Cipher_CreateWithCollections];
END
GO
CREATE PROCEDURE [dbo].[Cipher_CreateWithCollections]
@Id UNIQUEIDENTIFIER,
@UserId UNIQUEIDENTIFIER,
@OrganizationId UNIQUEIDENTIFIER,
@Type TINYINT,
@Data NVARCHAR(MAX),
@Favorites NVARCHAR(MAX),
@Folders NVARCHAR(MAX),
@Attachments NVARCHAR(MAX),
@CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7),
@DeletedDate DATETIME2(7),
@Reprompt TINYINT,
@Key VARCHAR(MAX) = NULL,
@ArchivedDate DATETIME2(7) = NULL,
@Archives NVARCHAR(MAX) = NULL,
@CollectionIds AS [dbo].[GuidIdArray] READONLY
AS
BEGIN
SET NOCOUNT ON
EXEC [dbo].[Cipher_Create] @Id, @UserId, @OrganizationId, @Type, @Data, @Favorites, @Folders,
@Attachments, @CreationDate, @RevisionDate, @DeletedDate, @Reprompt, @Key, @ArchivedDate, @Archives
DECLARE @UpdateCollectionsSuccess INT
EXEC @UpdateCollectionsSuccess = [dbo].[Cipher_UpdateCollections] @Id, @UserId, @OrganizationId, @CollectionIds
-- Bump the account revision date AFTER collections are assigned.
IF @UpdateCollectionsSuccess = 0
BEGIN
EXEC [dbo].[User_BumpAccountRevisionDateByCipherId] @Id, @OrganizationId
END
END
IF OBJECT_ID('[dbo].[CipherDetails_Create]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[CipherDetails_Create];
END
GO
CREATE PROCEDURE [dbo].[CipherDetails_Create]
@Id UNIQUEIDENTIFIER,
@UserId UNIQUEIDENTIFIER,
@OrganizationId UNIQUEIDENTIFIER,
@Type TINYINT,
@Data NVARCHAR(MAX),
@Favorites NVARCHAR(MAX), -- not used
@Folders NVARCHAR(MAX), -- not used
@Attachments NVARCHAR(MAX), -- not used
@CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7),
@FolderId UNIQUEIDENTIFIER,
@Favorite BIT,
@Edit BIT, -- not used
@ViewPassword BIT, -- not used
@Manage BIT, -- not used
@OrganizationUseTotp BIT, -- not used
@DeletedDate DATETIME2(7),
@Reprompt TINYINT,
@Key VARCHAR(MAX) = NULL,
@ArchivedDate DATETIME2(7) = NULL,
@Archives NVARCHAR(MAX)
AS
BEGIN
SET NOCOUNT ON
DECLARE @UserIdKey VARCHAR(50) = CONCAT('"', @UserId, '"')
DECLARE @UserIdPath VARCHAR(50) = CONCAT('$.', @UserIdKey)
INSERT INTO [dbo].[Cipher]
(
[Id],
[UserId],
[OrganizationId],
[Type],
[Data],
[Favorites],
[Folders],
[CreationDate],
[RevisionDate],
[DeletedDate],
[Reprompt],
[Key],
[ArchivedDate]
)
VALUES
(
@Id,
CASE WHEN @OrganizationId IS NULL THEN @UserId ELSE NULL END,
@OrganizationId,
@Type,
@Data,
CASE WHEN @Favorite = 1 THEN CONCAT('{', @UserIdKey, ':true}') ELSE NULL END,
CASE WHEN @FolderId IS NOT NULL THEN CONCAT('{', @UserIdKey, ':"', @FolderId, '"', '}') ELSE NULL END,
@CreationDate,
@RevisionDate,
@DeletedDate,
@Reprompt,
@Key,
@ArchivedDate,
@Archives
)
IF @OrganizationId IS NOT NULL
BEGIN
EXEC [dbo].[User_BumpAccountRevisionDateByCipherId] @Id, @OrganizationId
END
ELSE IF @UserId IS NOT NULL
BEGIN
EXEC [dbo].[User_BumpAccountRevisionDate] @UserId
END
END
GO