1
0
mirror of https://github.com/bitwarden/server.git synced 2025-02-22 02:51:33 +01:00

simplified to require single status

modified script to check for users with edit rights
This commit is contained in:
gbubemismith 2024-11-27 16:05:19 -05:00
parent 6aa18976c7
commit 4674628b2a
No known key found for this signature in database
3 changed files with 38 additions and 35 deletions

View File

@ -1,12 +1,18 @@
CREATE PROCEDURE [dbo].[SecurityTask_ReadByUserIdStatus] CREATE PROCEDURE [dbo].[SecurityTask_ReadByUserIdStatus]
@UserId UNIQUEIDENTIFIER, @UserId UNIQUEIDENTIFIER,
@Status AS [dbo].[SecurityTaskStatusArray] READONLY @Status TINYINT = NULL
AS AS
BEGIN BEGIN
SET NOCOUNT ON SET NOCOUNT ON
SELECT SELECT
ST.* ST.Id,
ST.OrganizationId,
ST.CipherId,
ST.Type,
ST.Status,
ST.CreationDate,
ST.RevisionDate
FROM FROM
[dbo].[SecurityTaskView] ST [dbo].[SecurityTaskView] ST
INNER JOIN INNER JOIN
@ -32,14 +38,19 @@ BEGIN
OR ( OR (
C.[Id] IS NOT NULL C.[Id] IS NOT NULL
AND ( AND (
CU.[Manage] = 1 CU.[ReadOnly] = 0
OR CG.[Manage] = 1 OR CG.[Manage] = 0
) )
) )
) )
AND ( AND ST.[Status] = COALESCE(@Status, ST.[Status])
NOT EXISTS (SELECT 1 FROM @Status) GROUP BY
OR ST.[Status] IN (SELECT [Value] FROM @Status) ST.Id,
) ST.OrganizationId,
ST.CipherId,
ST.Type,
ST.Status,
ST.CreationDate,
ST.RevisionDate
ORDER BY ST.[CreationDate] DESC ORDER BY ST.[CreationDate] DESC
END END

View File

@ -1,3 +0,0 @@
CREATE TYPE [dbo].[SecurityTaskStatusArray] AS TABLE (
[Value] TINYINT NOT NULL);
GO

View File

@ -1,30 +1,20 @@
-- Security Task Read By UserId Status -- Security Task Read By UserId Status
-- Create SecurityTaskStatusArray Type
IF NOT EXISTS (
SELECT
*
FROM
sys.types
WHERE
[Name] = 'SecurityTaskStatusArray' AND
is_user_defined = 1
)
CREATE TYPE [dbo].[SecurityTaskStatusArray] AS TABLE (
[Value] TINYINT NOT NULL
);
GO
-- Stored Procedure: ReadByUserIdStatus -- Stored Procedure: ReadByUserIdStatus
CREATE OR ALTER PROCEDURE [dbo].[SecurityTask_ReadByUserIdStatus] CREATE OR ALTER PROCEDURE [dbo].[SecurityTask_ReadByUserIdStatus]
@UserId UNIQUEIDENTIFIER, @UserId UNIQUEIDENTIFIER,
@Status AS [dbo].[SecurityTaskStatusArray] READONLY @Status TINYINT = NULL
AS AS
BEGIN BEGIN
SET NOCOUNT ON SET NOCOUNT ON
SELECT SELECT
ST.* ST.Id,
ST.OrganizationId,
ST.CipherId,
ST.Type,
ST.Status,
ST.CreationDate,
ST.RevisionDate
FROM FROM
[dbo].[SecurityTaskView] ST [dbo].[SecurityTaskView] ST
INNER JOIN INNER JOIN
@ -50,15 +40,20 @@ BEGIN
OR ( OR (
C.[Id] IS NOT NULL C.[Id] IS NOT NULL
AND ( AND (
CU.[Manage] = 1 CU.[ReadOnly] = 0
OR CG.[Manage] = 1 OR CG.[ReadOnly] = 0
) )
) )
) )
AND ( AND ST.[Status] = COALESCE(@Status, ST.[Status])
NOT EXISTS (SELECT 1 FROM @Status) GROUP BY
OR ST.[Status] IN (SELECT [Value] FROM @Status) ST.Id,
) ST.OrganizationId,
ST.CipherId,
ST.Type,
ST.Status,
ST.CreationDate,
ST.RevisionDate
ORDER BY ST.[CreationDate] DESC ORDER BY ST.[CreationDate] DESC
END END
GO GO