mirror of
https://github.com/bitwarden/server.git
synced 2026-02-08 09:53:14 +08:00
* Increase organization max seat size from 30k to 2b (#1274) * Increase organization max seat size from 30k to 2b * PR review. Do not modify unless state matches expected * Organization sync simultaneous event reporting (#1275) * Split up azure messages according to max size * Allow simultaneous login of organization user events * Early resolve small event lists * Clarify logic Co-authored-by: Chad Scharf <3904944+cscharf@users.noreply.github.com> * Improve readability This comes at the cost of multiple serializations, but the improvement in wire-time should more than make up for this on message where serialization time matters Co-authored-by: Chad Scharf <3904944+cscharf@users.noreply.github.com> * Queue emails (#1286) * Extract common Azure queue methods * Do not use internal entity framework namespace * Prefer IEnumerable to IList unless needed All of these implementations were just using `Count == 1`, which is easily replicated. This will be used when abstracting Azure queues * Add model for azure queue message * Abstract Azure queue for reuse * Creat service to enqueue mail messages for later processing Azure queue mail service uses Azure queues. Blocking just blocks until all the work is done -- This is how emailing works today * Provide mail queue service to DI * Queue organization invite emails for later processing All emails can later be added to this queue * Create Admin hosted service to process enqueued mail messages * Prefer constructors to static generators * Mass delete organization users (#1287) * Add delete many to Organization Users * Correct formatting * Remove erroneous migration * Clarify parameter name * Formatting fixes * Simplify bump account revision sproc * Formatting fixes * Match file names to objects * Indicate if large import is expected * Early pull all existing users we were planning on inviting (#1290) * Early pull all existing users we were planning on inviting * Improve sproc name * Batch upsert org users (#1289) * Add UpsertMany sprocs to OrganizationUser * Add method to create TVPs from any object. Uses DbOrder attribute to generate. Sproc will fail unless TVP column order matches that of the db type * Combine migrations * Correct formatting * Include sql objects in sql project * Keep consisten parameter names * Batch deletes for performance * Correct formatting * consolidate migrations * Use batch methods in OrganizationImport * Declare @BatchSize * Transaction names limited to 32 chars Drop sproc before creating it if it exists * Update import tests * Allow for more users in org upgrades * Fix formatting * Improve class hierarchy structure * Use name tuple types * Fix formatting * Front load all reflection * Format constructor * Simplify ToTvp as class-specific extension Co-authored-by: Chad Scharf <3904944+cscharf@users.noreply.github.com>
56 lines
2.5 KiB
Transact-SQL
56 lines
2.5 KiB
Transact-SQL
CREATE TABLE [dbo].[Organization] (
|
|
[Id] UNIQUEIDENTIFIER NOT NULL,
|
|
[Identifier] NVARCHAR (50) NULL,
|
|
[Name] NVARCHAR (50) NOT NULL,
|
|
[BusinessName] NVARCHAR (50) NULL,
|
|
[BusinessAddress1] NVARCHAR (50) NULL,
|
|
[BusinessAddress2] NVARCHAR (50) NULL,
|
|
[BusinessAddress3] NVARCHAR (50) NULL,
|
|
[BusinessCountry] VARCHAR (2) NULL,
|
|
[BusinessTaxNumber] NVARCHAR (30) NULL,
|
|
[BillingEmail] NVARCHAR (256) NOT NULL,
|
|
[Plan] NVARCHAR (50) NOT NULL,
|
|
[PlanType] TINYINT NOT NULL,
|
|
[Seats] INT NULL,
|
|
[MaxCollections] SMALLINT NULL,
|
|
[UsePolicies] BIT NOT NULL,
|
|
[UseSso] BIT NOT NULL,
|
|
[UseGroups] BIT NOT NULL,
|
|
[UseDirectory] BIT NOT NULL,
|
|
[UseEvents] BIT NOT NULL,
|
|
[UseTotp] BIT NOT NULL,
|
|
[Use2fa] BIT NOT NULL,
|
|
[UseApi] BIT NOT NULL,
|
|
[UseResetPassword] BIT NOT NULL,
|
|
[SelfHost] BIT NOT NULL,
|
|
[UsersGetPremium] BIT NOT NULL,
|
|
[Storage] BIGINT NULL,
|
|
[MaxStorageGb] SMALLINT NULL,
|
|
[Gateway] TINYINT NULL,
|
|
[GatewayCustomerId] VARCHAR (50) NULL,
|
|
[GatewaySubscriptionId] VARCHAR (50) NULL,
|
|
[ReferenceData] NVARCHAR (MAX) NULL,
|
|
[Enabled] BIT NOT NULL,
|
|
[LicenseKey] VARCHAR (100) NULL,
|
|
[ApiKey] VARCHAR (30) NOT NULL,
|
|
[PublicKey] VARCHAR (MAX) NULL,
|
|
[PrivateKey] VARCHAR (MAX) NULL,
|
|
[TwoFactorProviders] NVARCHAR (MAX) NULL,
|
|
[ExpirationDate] DATETIME2 (7) NULL,
|
|
[CreationDate] DATETIME2 (7) NOT NULL,
|
|
[RevisionDate] DATETIME2 (7) NOT NULL,
|
|
CONSTRAINT [PK_Organization] PRIMARY KEY CLUSTERED ([Id] ASC)
|
|
);
|
|
|
|
|
|
GO
|
|
CREATE NONCLUSTERED INDEX [IX_Organization_Enabled]
|
|
ON [dbo].[Organization]([Id] ASC, [Enabled] ASC)
|
|
INCLUDE ([UseTotp]);
|
|
|
|
GO
|
|
CREATE UNIQUE NONCLUSTERED INDEX [IX_Organization_Identifier]
|
|
ON [dbo].[Organization]([Identifier] ASC)
|
|
WHERE [Identifier] IS NOT NULL;
|
|
|