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:
parent
6aa18976c7
commit
4674628b2a
@ -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
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
CREATE TYPE [dbo].[SecurityTaskStatusArray] AS TABLE (
|
|
||||||
[Value] TINYINT NOT NULL);
|
|
||||||
GO
|
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user