1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-17 23:50:58 -05:00

[Provider] Add support for events (#1447)

This commit is contained in:
Oscar Hinton
2021-07-15 16:37:27 +02:00
committed by GitHub
parent 8ac2dc50af
commit f6ebb20847
74 changed files with 4007 additions and 635 deletions

View File

@ -70,7 +70,9 @@
</ItemGroup>
<ItemGroup>
<Build Include="dbo\Stored Procedures\EmergencyAccessDetails_ReadByIdGrantorId.sql" />
<Build Include="dbo\Stored Procedures\ProviderOrganization_ReadByUserId.sql" />
<Build Include="dbo\Stored Procedures\Event_ReadPageByProviderId.sql" />
<Build Include="dbo\Stored Procedures\Event_ReadPageByProviderIdActingUserId.sql" />
<Build Include="dbo\Stored Procedures\ProviderOrganization_ReadByOrganizationId.sql" />
<Build Include="dbo\Stored Procedures\ProviderUserProviderOrganizationDetails_ReadByUserIdStatus.sql" />
<Build Include="dbo\Stored Procedures\SsoConfig_Create.sql" />
<Build Include="dbo\Stored Procedures\SsoConfig_ReadByIdentifier.sql" />
@ -363,10 +365,5 @@
<Build Include="dbo\Stored Procedures\ProviderOrganizationOrganizationDetails_ReadByProviderId.sql" />
<Build Include="dbo\Stored Procedures\User_BumpAccountRevisionDateByProviderId.sql" />
<Build Include="dbo\Stored Procedures\User_BumpAccountRevisionDateByProviderUserId.sql" />
<Build Include="dbo\Tables\ProviderOrganizationProviderUser.sql" />
<Build Include="dbo\Stored Procedures\ProviderOrganizationProviderUser_Create.sql" />
<Build Include="dbo\Stored Procedures\ProviderOrganizationProviderUser_DeleteById.sql" />
<Build Include="dbo\Stored Procedures\ProviderOrganizationProviderUser_ReadById.sql" />
<Build Include="dbo\Stored Procedures\ProviderOrganizationProviderUser_Update.sql" />
</ItemGroup>
</Project>

View File

@ -1,13 +1,15 @@
CREATE PROCEDURE [dbo].[Event_Create]
@Id UNIQUEIDENTIFIER,
@Id UNIQUEIDENTIFIER OUTPUT,
@Type INT,
@UserId UNIQUEIDENTIFIER,
@OrganizationId UNIQUEIDENTIFIER,
@ProviderId UNIQUEIDENTIFIER,
@CipherId UNIQUEIDENTIFIER,
@CollectionId UNIQUEIDENTIFIER,
@PolicyId UNIQUEIDENTIFIER,
@GroupId UNIQUEIDENTIFIER,
@OrganizationUserId UNIQUEIDENTIFIER,
@ProviderUserId UNIQUEIDENTIFIER,
@ActingUserId UNIQUEIDENTIFIER,
@DeviceType SMALLINT,
@IpAddress VARCHAR(50),
@ -22,11 +24,13 @@ BEGIN
[Type],
[UserId],
[OrganizationId],
[ProviderId],
[CipherId],
[CollectionId],
[PolicyId],
[GroupId],
[OrganizationUserId],
[ProviderUserId],
[ActingUserId],
[DeviceType],
[IpAddress],
@ -38,11 +42,13 @@ BEGIN
@Type,
@UserId,
@OrganizationId,
@ProviderId,
@CipherId,
@CollectionId,
@PolicyId,
@GroupId,
@OrganizationUserId,
@ProviderUserId,
@ActingUserId,
@DeviceType,
@IpAddress,

View File

@ -0,0 +1,23 @@
CREATE PROCEDURE [dbo].[Event_ReadPageByProviderId]
@ProviderId 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 [Providerid] = @ProviderId
ORDER BY [Date] DESC
OFFSET 0 ROWS
FETCH NEXT @PageSize ROWS ONLY
END

View File

@ -0,0 +1,25 @@
CREATE PROCEDURE [dbo].[Event_ReadPageByProviderIdActingUserId]
@ProviderId 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 [ProviderId] = @ProviderId
AND [ActingUserId] = @ActingUserId
ORDER BY [Date] DESC
OFFSET 0 ROWS
FETCH NEXT @PageSize ROWS ONLY
END

View File

@ -1,33 +0,0 @@
CREATE PROCEDURE [dbo].[ProviderOrganizationProviderUser_Create]
@Id UNIQUEIDENTIFIER,
@ProviderOrganizationId UNIQUEIDENTIFIER,
@ProviderUserId UNIQUEIDENTIFIER,
@Type TINYINT,
@Permissions NVARCHAR(MAX),
@CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7)
AS
BEGIN
SET NOCOUNT ON
INSERT INTO [dbo].[ProviderOrganizationProviderUser]
(
[Id],
[ProviderOrganizationId],
[ProviderUserId],
[Type],
[Permissions],
[CreationDate],
[RevisionDate]
)
VALUES
(
@Id,
@ProviderOrganizationId,
@ProviderUserId,
@Type,
@Permissions,
@CreationDate,
@RevisionDate
)
END

View File

@ -1,27 +0,0 @@
CREATE PROCEDURE [dbo].[ProviderOrganizationProviderUser_DeleteById]
@Id UNIQUEIDENTIFIER
AS
BEGIN
SET NOCOUNT ON
BEGIN TRANSACTION POPU_DeleteById
DECLARE @ProviderUserId UNIQUEIDENTIFIER
SELECT
@ProviderUserId = [ProviderUserId]
FROM
[dbo].[ProviderOrganizationProviderUser]
WHERE
[Id] = @Id
DELETE
FROM
[dbo].[ProviderOrganizationProviderUser]
WHERE
[Id] = @Id
EXEC [dbo].[User_BumpAccountRevisionDateByProviderUserId] @ProviderUserId
COMMIT TRANSACTION POPU_DeleteById
END

View File

@ -1,13 +0,0 @@
CREATE PROCEDURE [dbo].[ProviderOrganizationProviderUser_ReadById]
@Id UNIQUEIDENTIFIER
AS
BEGIN
SET NOCOUNT ON
SELECT
*
FROM
[dbo].[ProviderOrganizationProviderUser]
WHERE
[Id] = @Id
END

View File

@ -1,26 +0,0 @@
CREATE PROCEDURE [dbo].[ProviderOrganizationProviderUser_Update]
@Id UNIQUEIDENTIFIER,
@ProviderOrganizationId UNIQUEIDENTIFIER,
@ProviderUserId UNIQUEIDENTIFIER,
@Type TINYINT,
@Permissions NVARCHAR(MAX),
@CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7)
AS
BEGIN
SET NOCOUNT ON
UPDATE
[dbo].[ProviderOrganizationProviderUser]
SET
[ProviderOrganizationId] = @ProviderOrganizationId,
[ProviderUserId] = @ProviderUserId,
[Type] = @Type,
[Permissions] = @Permissions,
[CreationDate] = @CreationDate,
[RevisionDate] = @RevisionDate
WHERE
[Id] = @Id
EXEC [dbo].[User_BumpAccountRevisionDateByProviderUserId] @ProviderUserId
END

View File

@ -1,5 +1,5 @@
CREATE PROCEDURE [dbo].[ProviderOrganization_Create]
@Id UNIQUEIDENTIFIER,
@Id UNIQUEIDENTIFIER OUTPUT,
@ProviderId UNIQUEIDENTIFIER,
@OrganizationId UNIQUEIDENTIFIER,
@Key VARCHAR(MAX),

View File

@ -0,0 +1,13 @@
CREATE PROCEDURE [dbo].[ProviderOrganization_ReadByOrganizationId]
@OrganizationId UNIQUEIDENTIFIER
AS
BEGIN
SET NOCOUNT ON
SELECT
*
FROM
[dbo].[ProviderOrganizationView]
WHERE
[OrganizationId] = @OrganizationId
END

View File

@ -1,17 +0,0 @@
CREATE PROCEDURE [dbo].[ProviderOrganization_ReadByUserId]
@UserId UNIQUEIDENTIFIER
AS
BEGIN
SET NOCOUNT ON
SELECT
PO.*
FROM
[dbo].[ProviderOrganizationView] PO
INNER JOIN
[dbo].[Provider] P ON PO.[ProviderId] = P.[Id]
INNER JOIN
[dbo].[ProviderUser] PU ON P.[Id] = PU.[ProviderId]
WHERE
PU.[UserId] = @UserId
END

View File

@ -1,5 +1,5 @@
CREATE PROCEDURE [dbo].[ProviderUser_Create]
@Id UNIQUEIDENTIFIER,
@Id UNIQUEIDENTIFIER OUTPUT,
@ProviderId UNIQUEIDENTIFIER,
@UserId UNIQUEIDENTIFIER,
@Email NVARCHAR(256),

View File

@ -1,5 +1,5 @@
CREATE PROCEDURE [dbo].[Provider_Create]
@Id UNIQUEIDENTIFIER,
@Id UNIQUEIDENTIFIER OUTPUT,
@Name NVARCHAR(50),
@BusinessName NVARCHAR(50),
@BusinessAddress1 NVARCHAR(50),

View File

@ -7,6 +7,7 @@ BEGIN
SELECT
PU.[Id],
PU.[UserId],
U.[PublicKey]
FROM
@ProviderUserIds PUIDs

View File

@ -12,6 +12,8 @@
[DeviceType] SMALLINT NULL,
[IpAddress] VARCHAR(50) NULL,
[Date] DATETIME2 (7) NOT NULL,
[ProviderId] UNIQUEIDENTIFIER NULL,
[ProviderUserId] UNIQUEIDENTIFIER NULL,
CONSTRAINT [PK_Event] PRIMARY KEY CLUSTERED ([Id] ASC)
);

View File

@ -1,12 +0,0 @@
CREATE TABLE [dbo].[ProviderOrganizationProviderUser] (
[Id] UNIQUEIDENTIFIER NOT NULL,
[ProviderOrganizationId] UNIQUEIDENTIFIER NOT NULL,
[ProviderUserId] UNIQUEIDENTIFIER NULL,
[Type] TINYINT NOT NULL,
[Permissions] NVARCHAR (MAX) NULL,
[CreationDate] DATETIME2 (7) NOT NULL,
[RevisionDate] DATETIME2 (7) NOT NULL,
CONSTRAINT [PK_ProviderOrganizationProviderUser] PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_ProviderOrganizationProviderUser_Provider] FOREIGN KEY ([ProviderOrganizationId]) REFERENCES [dbo].[ProviderOrganization] ([Id]) ON DELETE CASCADE,
CONSTRAINT [FK_ProviderOrganizationProviderUser_User] FOREIGN KEY ([ProviderUserId]) REFERENCES [dbo].[ProviderUser] ([Id])
);

View File

@ -26,6 +26,7 @@ SELECT
PU.[Status],
PU.[Type],
PO.[ProviderId],
PU.[Id] ProviderUserId,
P.[Name] ProviderName
FROM
[dbo].[ProviderUser] PU