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

[Provider] Setup provider (#1378)

This commit is contained in:
Oscar Hinton
2021-06-30 09:35:26 +02:00
committed by GitHub
parent 08f508f536
commit 43f7271147
85 changed files with 1810 additions and 113 deletions

View File

@ -74,6 +74,7 @@
<Build Include="dbo\Stored Procedures\SsoConfig_ReadByIdentifier.sql" />
<Build Include="dbo\Stored Procedures\SsoConfig_ReadByOrganizationId.sql" />
<Build Include="dbo\Stored Procedures\SsoConfig_Update.sql" />
<Build Include="dbo\Stored Procedures\User_ReadPublicKeysByProviderUserIds.sql" />
<Build Include="dbo\Tables\Grant.sql" />
<Build Include="dbo\Tables\SsoConfig.sql" />
<Build Include="dbo\Tables\User.sql" />
@ -90,6 +91,8 @@
<Build Include="dbo\Tables\OrganizationUser.sql" />
<Build Include="dbo\Tables\Organization.sql" />
<Build Include="dbo\Views\GrantView.sql" />
<Build Include="dbo\Views\ProviderOrganizationOrganizationDetailsView.sql" />
<Build Include="dbo\Views\ProviderUserProviderDetailsView.sql" />
<Build Include="dbo\Views\SsoConfigView.sql" />
<Build Include="dbo\Views\UserView.sql" />
<Build Include="dbo\Views\U2fView.sql" />
@ -332,6 +335,7 @@
<Build Include="dbo\Stored Procedures\Provider_DeleteById.sql" />
<Build Include="dbo\Stored Procedures\Provider_ReadById.sql" />
<Build Include="dbo\Stored Procedures\Provider_Search.sql" />
<Build Include="dbo\Stored Procedures\Provider_ReadAbilities.sql" />
<Build Include="dbo\Tables\ProviderUser.sql" />
<Build Include="dbo\Views\ProviderUserView.sql" />
<Build Include="dbo\Stored Procedures\ProviderUser_Create.sql" />
@ -343,12 +347,17 @@
<Build Include="dbo\Stored Procedures\ProviderUser_ReadByProviderId.sql" />
<Build Include="dbo\Stored Procedures\ProviderUser_ReadByUserId.sql" />
<Build Include="dbo\Stored Procedures\ProviderUser_ReadCountByProviderIdEmail.sql" />
<Build Include="dbo\Stored Procedures\ProviderUser_ReadByProviderIdUserId.sql" />
<Build Include="dbo\Stored Procedures\ProviderUserProviderDetails_ReadByUserIdStatus.sql" />
<Build Include="dbo\Views\ProviderUserUserDetailsView.sql" />
<Build Include="dbo\Stored Procedures\ProviderUserUserDetails_ReadByProviderId.sql" />
<Build Include="dbo\Tables\ProviderOrganization.sql" />
<Build Include="dbo\Views\ProviderOrganizationView.sql" />
<Build Include="dbo\Stored Procedures\ProviderOrganization_Create.sql" />
<Build Include="dbo\Stored Procedures\ProviderOrganization_Update.sql" />
<Build Include="dbo\Stored Procedures\ProviderOrganization_DeleteById.sql" />
<Build Include="dbo\Stored Procedures\ProviderOrganization_ReadById.sql" />
<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" />

View File

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

View File

@ -0,0 +1,15 @@
CREATE PROCEDURE [dbo].[ProviderUserProviderDetails_ReadByUserIdStatus]
@UserId UNIQUEIDENTIFIER,
@Status TINYINT
AS
BEGIN
SET NOCOUNT ON
SELECT
*
FROM
[dbo].[ProviderUserProviderDetailsView]
WHERE
[UserId] = @UserId
AND (@Status IS NULL OR [Status] = @Status)
END

View File

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

View File

@ -28,7 +28,7 @@ BEGIN
BEGIN
BEGIN TRANSACTION ProviderUser_DeleteMany_PUs
DELETE TOP(@BatchSize) OU
DELETE TOP(@BatchSize) PU
FROM
[dbo].[ProviderUser] PU
INNER JOIN

View File

@ -0,0 +1,15 @@
CREATE PROCEDURE [dbo].[ProviderUser_ReadByProviderIdUserId]
@ProviderId UNIQUEIDENTIFIER,
@UserId UNIQUEIDENTIFIER
AS
BEGIN
SET NOCOUNT ON
SELECT
*
FROM
[dbo].[ProviderUserView]
WHERE
[ProviderId] = @ProviderId
AND [UserId] = @UserId
END

View File

@ -9,6 +9,7 @@
@BusinessTaxNumber NVARCHAR(30),
@BillingEmail NVARCHAR(256),
@Status TINYINT,
@UseEvents BIT,
@Enabled BIT,
@CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7)
@ -28,6 +29,7 @@ BEGIN
[BusinessTaxNumber],
[BillingEmail],
[Status],
[UseEvents],
[Enabled],
[CreationDate],
[RevisionDate]
@ -44,6 +46,7 @@ BEGIN
@BusinessTaxNumber,
@BillingEmail,
@Status,
@UseEvents,
@Enabled,
@CreationDate,
@RevisionDate

View File

@ -0,0 +1,12 @@
CREATE PROCEDURE [dbo].[Provider_ReadAbilities]
AS
BEGIN
SET NOCOUNT ON
SELECT
[Id],
[UseEvents],
[Enabled]
FROM
[dbo].[Provider]
END

View File

@ -9,6 +9,7 @@
@BusinessTaxNumber NVARCHAR(30),
@BillingEmail NVARCHAR(256),
@Status TINYINT,
@UseEvents BIT,
@Enabled BIT,
@CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7)
@ -28,6 +29,7 @@ BEGIN
[BusinessTaxNumber] = @BusinessTaxNumber,
[BillingEmail] = @BillingEmail,
[Status] = @Status,
[UseEvents] = @UseEvents,
[Enabled] = @Enabled,
[CreationDate] = @CreationDate,
[RevisionDate] = @RevisionDate

View File

@ -0,0 +1,19 @@
CREATE PROCEDURE [dbo].[User_ReadPublicKeysByProviderUserIds]
@ProviderId UNIQUEIDENTIFIER,
@ProviderUserIds [dbo].[GuidIdArray] READONLY
AS
BEGIN
SET NOCOUNT ON
SELECT
PU.[Id],
U.[PublicKey]
FROM
@ProviderUserIds PUIDs
INNER JOIN
[dbo].[ProviderUser] PU ON PUIDs.Id = PU.Id AND PU.[Status] = 1 -- Accepted
INNER JOIN
[dbo].[User] U ON PU.UserId = U.Id
WHERE
PU.ProviderId = @ProviderId
END

View File

@ -9,6 +9,7 @@
[BusinessTaxNumber] NVARCHAR (30) NULL,
[BillingEmail] NVARCHAR (256) NULL,
[Status] TINYINT NOT NULL,
[UseEvents] BIT NOT NULL,
[Enabled] BIT NOT NULL,
[CreationDate] DATETIME2 (7) NOT NULL,
[RevisionDate] DATETIME2 (7) NOT NULL,

View File

@ -27,10 +27,16 @@ SELECT
OU.[Status],
OU.[Type],
SU.[ExternalId] SsoExternalId,
OU.[Permissions]
OU.[Permissions],
PO.[ProviderId],
P.[Name] ProviderName
FROM
[dbo].[OrganizationUser] OU
INNER JOIN
[dbo].[Organization] O ON O.[Id] = OU.[OrganizationId]
LEFT JOIN
[dbo].[SsoUser] SU ON SU.[UserId] = OU.[UserId] AND SU.[OrganizationId] = OU.[OrganizationId]
LEFT JOIN
[dbo].[ProviderOrganization] PO ON PO.[OrganizationId] = O.[Id]
LEFT JOIN
[dbo].[Provider] P ON P.[Id] = PO.[ProviderId]

View File

@ -0,0 +1,15 @@
CREATE VIEW [dbo].[ProviderOrganizationOrganizationDetailsView]
AS
SELECT
PO.[Id],
PO.[ProviderId],
PO.[OrganizationId],
O.[Name] OrganizationName,
PO.[Key],
PO.[Settings],
PO.[CreationDate],
PO.[RevisionDate]
FROM
[dbo].[ProviderOrganization] PO
LEFT JOIN
[dbo].[Organization] O ON O.[Id] = PO.[OrganizationId]

View File

@ -0,0 +1,15 @@
CREATE VIEW [dbo].[ProviderUserProviderDetailsView]
AS
SELECT
PU.[UserId],
PU.[ProviderId],
P.[Name],
PU.[Key],
PU.[Status],
PU.[Type],
P.[Enabled],
PU.[Permissions]
FROM
[dbo].[ProviderUser] PU
LEFT JOIN
[dbo].[Provider] P ON P.[Id] = PU.[ProviderId]

View File

@ -0,0 +1,15 @@
CREATE VIEW [dbo].[ProviderUserUserDetailsView]
AS
SELECT
PU.[Id],
PU.[UserId],
PU.[ProviderId],
U.[Name],
ISNULL(U.[Email], PU.[Email]) Email,
PU.[Status],
PU.[Type],
PU.[Permissions]
FROM
[dbo].[ProviderUser] PU
LEFT JOIN
[dbo].[User] U ON U.[Id] = PU.[UserId]