1
0
mirror of https://github.com/bitwarden/server.git synced 2025-06-30 15:42:48 -05:00

sql event repo "Get" implementations

This commit is contained in:
Kyle Spearrin
2017-12-18 23:15:16 -05:00
parent 6c30cfc295
commit d75ca51d75
8 changed files with 320 additions and 19 deletions

View File

@ -266,7 +266,7 @@ BEGIN
);
CREATE NONCLUSTERED INDEX [IX_Event_DateOrganizationIdUserId]
ON [dbo].[Event]([Date] ASC, [OrganizationId] ASC, [UserId] ASC, [CipherId] ASC);
ON [dbo].[Event]([Date] DESC, [OrganizationId] ASC, [ActingUserId] ASC, [CipherId] ASC);
END
GO
@ -326,6 +326,143 @@ BEGIN
END
GO
IF OBJECT_ID('[dbo].[Event_ReadPageByCipherId]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[Event_ReadPageByCipherId]
END
GO
CREATE PROCEDURE [dbo].[Event_ReadPageByCipherId]
@OrganizationId UNIQUEIDENTIFIER,
@UserId UNIQUEIDENTIFIER,
@CipherId UNIQUEIDENTIFIER,
@StartDate DATETIME2(7),
@EndDate DATETIME2(7),
@BeforeDate DATETIME2(7),
@PageSize INT
AS
BEGIN
SET NOCOUNT ON
SELECT
*
FROM
[dbo].[EventView]
WHERE
[Date] >= @StartDate
AND (@BeforeDate IS NOT NULL OR [Date] <= @EndDate)
AND (@BeforeDate IS NULL OR [Date] < @BeforeDate)
AND (
(@OrganizationId IS NULL AND [OrganizationId] IS NULL)
OR (@OrganizationId IS NOT NULL AND [OrganizationId] = @OrganizationId)
)
AND (
(@UserId IS NULL AND [UserId] IS NULL)
OR (@UserId IS NOT NULL AND [UserId] = @UserId)
)
AND [CipherId] = @CipherId
ORDER BY [Date] DESC
OFFSET 0 ROWS
FETCH NEXT @PageSize ROWS ONLY
END
GO
IF OBJECT_ID('[dbo].[Event_ReadPageByOrganizationId]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[Event_ReadPageByOrganizationId]
END
GO
CREATE PROCEDURE [dbo].[Event_ReadPageByOrganizationId]
@OrganizationId UNIQUEIDENTIFIER,
@StartDate DATETIME2(7),
@EndDate DATETIME2(7),
@BeforeDate DATETIME2(7),
@PageSize INT
AS
BEGIN
SET NOCOUNT ON
SELECT
*
FROM
[dbo].[EventView]
WHERE
[Date] >= @StartDate
AND (@BeforeDate IS NOT NULL OR [Date] <= @EndDate)
AND (@BeforeDate IS NULL OR [Date] < @BeforeDate)
AND [OrganizationId] = @OrganizationId
ORDER BY [Date] DESC
OFFSET 0 ROWS
FETCH NEXT @PageSize ROWS ONLY
END
GO
IF OBJECT_ID('[dbo].[Event_ReadPageByOrganizationIdActingUserId]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[Event_ReadPageByOrganizationIdActingUserId]
END
GO
CREATE PROCEDURE [dbo].[Event_ReadPageByOrganizationIdActingUserId]
@OrganizationId UNIQUEIDENTIFIER,
@ActingUserId UNIQUEIDENTIFIER,
@StartDate DATETIME2(7),
@EndDate DATETIME2(7),
@BeforeDate DATETIME2(7),
@PageSize INT
AS
BEGIN
SET NOCOUNT ON
SELECT
*
FROM
[dbo].[EventView]
WHERE
[Date] >= @StartDate
AND (@BeforeDate IS NOT NULL OR [Date] <= @EndDate)
AND (@BeforeDate IS NULL OR [Date] < @BeforeDate)
AND [OrganizationId] = @OrganizationId
AND [ActingUserId] = @ActingUserId
ORDER BY [Date] DESC
OFFSET 0 ROWS
FETCH NEXT @PageSize ROWS ONLY
END
GO
IF OBJECT_ID('[dbo].[Event_ReadPageByUserId]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[Event_ReadPageByUserId]
END
GO
CREATE PROCEDURE [dbo].[Event_ReadPageByUserId]
@UserId UNIQUEIDENTIFIER,
@StartDate DATETIME2(7),
@EndDate DATETIME2(7),
@BeforeDate DATETIME2(7),
@PageSize INT
AS
BEGIN
SET NOCOUNT ON
SELECT
*
FROM
[dbo].[EventView]
WHERE
[Date] >= @StartDate
AND (@BeforeDate IS NOT NULL OR [Date] <= @EndDate)
AND (@BeforeDate IS NULL OR [Date] < @BeforeDate)
AND [OrganizationId] IS NULL
AND [ActingUserId] = @UserId
ORDER BY [Date] DESC
OFFSET 0 ROWS
FETCH NEXT @PageSize ROWS ONLY
END
GO
IF EXISTS(SELECT * FROM sys.views WHERE [Name] = 'EventView')
BEGIN
DROP VIEW [dbo].[EventView]