1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-02 16:42:50 -05:00

cipher details create/update

This commit is contained in:
Kyle Spearrin
2017-03-18 23:41:46 -04:00
parent 3d5437e238
commit 26b553c248
16 changed files with 159 additions and 44 deletions

View File

@ -165,5 +165,8 @@
<Build Include="dbo\Stored Procedures\CipherDetails_ReadById.sql" />
<Build Include="dbo\Views\FolderView.sql" />
<Build Include="dbo\Stored Procedures\Folder_ReadByUserId.sql" />
<Build Include="dbo\Stored Procedures\CipherDetails_Update.sql" />
<Build Include="dbo\Stored Procedures\CipherDetails_Create.sql" />
<Build Include="dbo\Stored Procedures\FolderCipher_DeleteByUserId.sql" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,45 @@
CREATE PROCEDURE [dbo].[CipherDetails_Create]
@Id UNIQUEIDENTIFIER,
@UserId UNIQUEIDENTIFIER,
@OrganizationId UNIQUEIDENTIFIER,
@Type TINYINT,
@Data NVARCHAR(MAX),
@CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7),
@FolderId UNIQUEIDENTIFIER,
@Favorite BIT
AS
BEGIN
SET NOCOUNT ON
INSERT INTO [dbo].[Cipher]
(
[Id],
[UserId],
[OrganizationId],
[Type],
[Data],
[CreationDate],
[RevisionDate]
)
VALUES
(
@Id,
@UserId,
@OrganizationId,
@Type,
@Data,
@CreationDate,
@RevisionDate
)
IF @FolderId IS NOT NULL
BEGIN
EXEC [dbo].[FolderCipher_Create] @FolderId, @Id
END
IF @Favorite = 1
BEGIN
EXEC [dbo].[Favorite_Create] @UserId, @Id
END
END

View File

@ -0,0 +1,44 @@
CREATE PROCEDURE [dbo].[CipherDetails_Update]
@Id UNIQUEIDENTIFIER,
@UserId UNIQUEIDENTIFIER,
@OrganizationId UNIQUEIDENTIFIER,
@Type TINYINT,
@Data NVARCHAR(MAX),
@CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7),
@FolderId UNIQUEIDENTIFIER,
@Favorite BIT
AS
BEGIN
SET NOCOUNT ON
UPDATE
[dbo].[Cipher]
SET
[UserId] = @UserId,
[OrganizationId] = @OrganizationId,
[Type] = @Type,
[Data] = @Data,
[CreationDate] = @CreationDate,
[RevisionDate] = @RevisionDate
WHERE
[Id] = @Id
IF @FolderId IS NULL
BEGIN
EXEC [dbo].[FolderCipher_DeleteByUserId] @UserId, @Id
END
ELSE IF (SELECT COUNT(1) FROM [dbo].[FolderCipher] WHERE [FolderId] = @FolderId AND [CipherId] = @Id) = 0
BEGIN
EXEC [dbo].[FolderCipher_Create] @FolderId, @Id
END
IF @Favorite = 0
BEGIN
EXEC [dbo].[Favorite_Delete] @UserId, @Id
END
ELSE IF (SELECT COUNT(1) FROM [dbo].[Favorite] WHERE [UserId] = @UserId AND [CipherId] = @Id) = 0
BEGIN
EXEC [dbo].[Favorite_Create] @UserId, @Id
END
END

View File

@ -5,10 +5,7 @@
@Type TINYINT,
@Data NVARCHAR(MAX),
@CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7),
-- Extra, unused props from cipher details model since dapper maps all child properties too. This is kind of a hack.
@FolderId UNIQUEIDENTIFIER,
@Favorite BIT
@RevisionDate DATETIME2(7)
AS
BEGIN
SET NOCOUNT ON

View File

@ -5,10 +5,7 @@
@Type TINYINT,
@Data NVARCHAR(MAX),
@CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7),
-- Extra, unused props from cipher details model since dapper maps all child properties too. This is kind of a hack.
@FolderId UNIQUEIDENTIFIER,
@Favorite BIT
@RevisionDate DATETIME2(7)
AS
BEGIN
SET NOCOUNT ON

View File

@ -0,0 +1,16 @@
CREATE PROCEDURE [dbo].[FolderCipher_DeleteByUserId]
@UserId UNIQUEIDENTIFIER,
@CipherId UNIQUEIDENTIFIER
AS
BEGIN
SET NOCOUNT ON
DELETE FC
FROM
[dbo].[FolderCipher] FC
INNER JOIN
[dbo].[Folder] F ON F.[Id] = FC.[FolderId]
WHERE
F.[UserId] = @UserId
AND [CipherId] = @CipherId
END