diff --git a/src/Sql/Sql.sqlproj b/src/Sql/Sql.sqlproj index 20bcbfbf2f..f1ed290433 100644 --- a/src/Sql/Sql.sqlproj +++ b/src/Sql/Sql.sqlproj @@ -65,22 +65,24 @@ - - + + + + + + + + - + - - - - @@ -109,10 +111,5 @@ - - - - - \ No newline at end of file diff --git a/src/Sql/dbo/Stored Procedures/CipherShare_ReadById.sql b/src/Sql/dbo/Stored Procedures/CipherShare_ReadById.sql deleted file mode 100644 index dc841a9be9..0000000000 --- a/src/Sql/dbo/Stored Procedures/CipherShare_ReadById.sql +++ /dev/null @@ -1,13 +0,0 @@ -CREATE PROCEDURE [dbo].[CipherShare_ReadById] - @Id UNIQUEIDENTIFIER -AS -BEGIN - SET NOCOUNT ON - - SELECT - * - FROM - [dbo].[CipherShareView] - WHERE - [Id] = @Id -END \ No newline at end of file diff --git a/src/Sql/dbo/Stored Procedures/CipherShare_ReadByTypeUserId.sql b/src/Sql/dbo/Stored Procedures/CipherShare_ReadByTypeUserId.sql deleted file mode 100644 index e77f7f15b1..0000000000 --- a/src/Sql/dbo/Stored Procedures/CipherShare_ReadByTypeUserId.sql +++ /dev/null @@ -1,15 +0,0 @@ -CREATE PROCEDURE [dbo].[CipherShare_ReadByTypeUserId] - @Type TINYINT, - @UserId UNIQUEIDENTIFIER -AS -BEGIN - SET NOCOUNT ON - - SELECT - * - FROM - [dbo].[CipherView] - WHERE - [Type] = @Type - AND [UserId] = @UserId -END \ No newline at end of file diff --git a/src/Sql/dbo/Stored Procedures/CipherShare_ReadByUserId.sql b/src/Sql/dbo/Stored Procedures/CipherShare_ReadByUserId.sql deleted file mode 100644 index 77be9d1f4b..0000000000 --- a/src/Sql/dbo/Stored Procedures/CipherShare_ReadByUserId.sql +++ /dev/null @@ -1,14 +0,0 @@ -CREATE PROCEDURE [dbo].[CipherShare_ReadByUserId] - @UserId UNIQUEIDENTIFIER -AS -BEGIN - SET NOCOUNT ON - - SELECT - * - FROM - [dbo].[CipherShareView] - WHERE - [UserId] = @UserId - OR [ShareUserId] = @UserId -END \ No newline at end of file diff --git a/src/Sql/dbo/Stored Procedures/Cipher_Create.sql b/src/Sql/dbo/Stored Procedures/Cipher_Create.sql index 48d5e8fe5e..4c7894909a 100644 --- a/src/Sql/dbo/Stored Procedures/Cipher_Create.sql +++ b/src/Sql/dbo/Stored Procedures/Cipher_Create.sql @@ -4,7 +4,6 @@ @FolderId UNIQUEIDENTIFIER, @Type TINYINT, @Favorite BIT, - @Key NVARCHAR(MAX), @Data NVARCHAR(MAX), @CreationDate DATETIME2(7), @RevisionDate DATETIME2(7) @@ -19,7 +18,6 @@ BEGIN [FolderId], [Type], [Favorite], - [Key], [Data], [CreationDate], [RevisionDate] @@ -31,9 +29,8 @@ BEGIN @FolderId, @Type, @Favorite, - @Key, @Data, @CreationDate, @RevisionDate ) -END +END \ No newline at end of file diff --git a/src/Sql/dbo/Stored Procedures/Cipher_Update.sql b/src/Sql/dbo/Stored Procedures/Cipher_Update.sql index e8e02332e8..19190a73c6 100644 --- a/src/Sql/dbo/Stored Procedures/Cipher_Update.sql +++ b/src/Sql/dbo/Stored Procedures/Cipher_Update.sql @@ -4,7 +4,6 @@ @FolderId UNIQUEIDENTIFIER, @Type TINYINT, @Favorite BIT, - @Key NVARCHAR(MAX), @Data NVARCHAR(MAX), @CreationDate DATETIME2(7), @RevisionDate DATETIME2(7) @@ -19,10 +18,9 @@ BEGIN [FolderId] = @FolderId, [Type] = @Type, [Favorite] = @Favorite, - [Key] = @Key, [Data] = @Data, [CreationDate] = @CreationDate, [RevisionDate] = @RevisionDate WHERE [Id] = @Id -END +END \ No newline at end of file diff --git a/src/Sql/dbo/Stored Procedures/Share_Create.sql b/src/Sql/dbo/Stored Procedures/Share_Create.sql deleted file mode 100644 index e5bb141fc3..0000000000 --- a/src/Sql/dbo/Stored Procedures/Share_Create.sql +++ /dev/null @@ -1,39 +0,0 @@ -CREATE PROCEDURE [dbo].[Share_Create] - @Id UNIQUEIDENTIFIER, - @UserId UNIQUEIDENTIFIER, - @SharerUserId UNIQUEIDENTIFIER, - @CipherId UNIQUEIDENTIFIER, - @Key NVARCHAR(MAX), - @ReadOnly BIT, - @Status TINYINT, - @CreationDate DATETIME2(7), - @RevisionDate DATETIME2(7) -AS -BEGIN - SET NOCOUNT ON - - INSERT INTO [dbo].[Share] - ( - [Id], - [UserId], - [SharerUserId], - [CipherId], - [Key], - [ReadOnly], - [Status], - [CreationDate], - [RevisionDate] - ) - VALUES - ( - @Id, - @UserId, - @SharerUserId, - @CipherId, - @Key, - @ReadOnly, - @Status, - @CreationDate, - @RevisionDate - ) -END diff --git a/src/Sql/dbo/Stored Procedures/Share_DeleteById.sql b/src/Sql/dbo/Stored Procedures/Share_DeleteById.sql deleted file mode 100644 index 0db5201a91..0000000000 --- a/src/Sql/dbo/Stored Procedures/Share_DeleteById.sql +++ /dev/null @@ -1,12 +0,0 @@ -CREATE PROCEDURE [dbo].[Share_DeleteById] - @Id UNIQUEIDENTIFIER -AS -BEGIN - SET NOCOUNT ON - - DELETE - FROM - [dbo].[Share] - WHERE - [Id] = @Id -END diff --git a/src/Sql/dbo/Stored Procedures/Share_ReadByCipherId.sql b/src/Sql/dbo/Stored Procedures/Share_ReadByCipherId.sql deleted file mode 100644 index 6fde153a1c..0000000000 --- a/src/Sql/dbo/Stored Procedures/Share_ReadByCipherId.sql +++ /dev/null @@ -1,13 +0,0 @@ -CREATE PROCEDURE [dbo].[Share_ReadByCipherId] - @CipherId UNIQUEIDENTIFIER -AS -BEGIN - SET NOCOUNT ON - - SELECT - * - FROM - [dbo].[ShareView] - WHERE - [CipherId] = @CipherId -END diff --git a/src/Sql/dbo/Stored Procedures/Share_ReadById.sql b/src/Sql/dbo/Stored Procedures/Share_ReadById.sql deleted file mode 100644 index 77836ba16c..0000000000 --- a/src/Sql/dbo/Stored Procedures/Share_ReadById.sql +++ /dev/null @@ -1,13 +0,0 @@ -CREATE PROCEDURE [dbo].[Share_ReadById] - @Id UNIQUEIDENTIFIER -AS -BEGIN - SET NOCOUNT ON - - SELECT - * - FROM - [dbo].[ShareView] - WHERE - [Id] = @Id -END diff --git a/src/Sql/dbo/Stored Procedures/Share_Update.sql b/src/Sql/dbo/Stored Procedures/Share_Update.sql deleted file mode 100644 index d1baffc0c8..0000000000 --- a/src/Sql/dbo/Stored Procedures/Share_Update.sql +++ /dev/null @@ -1,28 +0,0 @@ -CREATE PROCEDURE [dbo].[Share_Update] - @Id UNIQUEIDENTIFIER, - @UserId UNIQUEIDENTIFIER, - @SharerUserId UNIQUEIDENTIFIER, - @CipherId UNIQUEIDENTIFIER, - @Key NVARCHAR(MAX), - @ReadOnly BIT, - @Status TINYINT, - @CreationDate DATETIME2(7), - @RevisionDate DATETIME2(7) -AS -BEGIN - SET NOCOUNT ON - - UPDATE - [dbo].[Share] - SET - [UserId] = @UserId, - [SharerUserId] = @SharerUserId, - [CipherId] = @CipherId, - [Key] = @Key, - [ReadOnly] = @ReadOnly, - [Status] = @Status, - [CreationDate] = @CreationDate, - [RevisionDate] = @RevisionDate - WHERE - [Id] = @Id -END diff --git a/src/Sql/dbo/Tables/Cipher.sql b/src/Sql/dbo/Tables/Cipher.sql index 767bf879d8..719e147b09 100644 --- a/src/Sql/dbo/Tables/Cipher.sql +++ b/src/Sql/dbo/Tables/Cipher.sql @@ -4,7 +4,6 @@ [FolderId] UNIQUEIDENTIFIER NULL, [Type] TINYINT NOT NULL, [Favorite] BIT NOT NULL, - [Key] NVARCHAR (MAX) NULL, [Data] NVARCHAR (MAX) NOT NULL, [CreationDate] DATETIME2 (7) NOT NULL, [RevisionDate] DATETIME2 (7) NOT NULL, diff --git a/src/Sql/dbo/Tables/Favorite.sql b/src/Sql/dbo/Tables/Favorite.sql new file mode 100644 index 0000000000..4f9a8f8b6e --- /dev/null +++ b/src/Sql/dbo/Tables/Favorite.sql @@ -0,0 +1,8 @@ +CREATE TABLE [dbo].[Favorite] ( + [UserId] UNIQUEIDENTIFIER NOT NULL, + [CipherId] UNIQUEIDENTIFIER NOT NULL, + CONSTRAINT [PK_Favorite] PRIMARY KEY CLUSTERED ([UserId] ASC, [CipherId] ASC), + CONSTRAINT [FK_Favorite_Cipher] FOREIGN KEY ([CipherId]) REFERENCES [dbo].[Cipher] ([Id]), + CONSTRAINT [FK_Favorite_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id]) +); + diff --git a/src/Sql/dbo/Tables/Folder.sql b/src/Sql/dbo/Tables/Folder.sql new file mode 100644 index 0000000000..c937987a16 --- /dev/null +++ b/src/Sql/dbo/Tables/Folder.sql @@ -0,0 +1,10 @@ +CREATE TABLE [dbo].[Folder] ( + [Id] UNIQUEIDENTIFIER NOT NULL, + [UserId] UNIQUEIDENTIFIER NOT NULL, + [Name] VARCHAR (MAX) NULL, + [CreationDate] DATETIME2 (7) NOT NULL, + [RevisionDate] DATETIME2 (7) NOT NULL, + CONSTRAINT [PK_Folder] PRIMARY KEY CLUSTERED ([Id] ASC), + CONSTRAINT [FK_Folder_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id]) +); + diff --git a/src/Sql/dbo/Tables/FolderCipher.sql b/src/Sql/dbo/Tables/FolderCipher.sql new file mode 100644 index 0000000000..2e35c95168 --- /dev/null +++ b/src/Sql/dbo/Tables/FolderCipher.sql @@ -0,0 +1,8 @@ +CREATE TABLE [dbo].[FolderCipher] ( + [FolderId] UNIQUEIDENTIFIER NOT NULL, + [CipherId] UNIQUEIDENTIFIER NOT NULL, + CONSTRAINT [PK_FolderCipher] PRIMARY KEY CLUSTERED ([FolderId] ASC, [CipherId] ASC), + CONSTRAINT [FK_FolderCipher_Cipher] FOREIGN KEY ([CipherId]) REFERENCES [dbo].[Cipher] ([Id]), + CONSTRAINT [FK_FolderCipher_Folder] FOREIGN KEY ([FolderId]) REFERENCES [dbo].[Folder] ([Id]) +); + diff --git a/src/Sql/dbo/Tables/Organization.sql b/src/Sql/dbo/Tables/Organization.sql new file mode 100644 index 0000000000..2f6652bf3f --- /dev/null +++ b/src/Sql/dbo/Tables/Organization.sql @@ -0,0 +1,12 @@ +CREATE TABLE [dbo].[Organization] ( + [Id] UNIQUEIDENTIFIER NOT NULL, + [UserId] UNIQUEIDENTIFIER NOT NULL, + [Name] NVARCHAR (50) NOT NULL, + [Plan] TINYINT NOT NULL, + [MaxUsers] SMALLINT NULL, + [CreationDate] DATETIME2 (7) NOT NULL, + [RevisionDate] DATETIME2 (7) NOT NULL, + CONSTRAINT [PK_Organization] PRIMARY KEY CLUSTERED ([Id] ASC), + CONSTRAINT [FK_Organization_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id]) +); + diff --git a/src/Sql/dbo/Tables/OrganizationUser.sql b/src/Sql/dbo/Tables/OrganizationUser.sql new file mode 100644 index 0000000000..6c5c30d167 --- /dev/null +++ b/src/Sql/dbo/Tables/OrganizationUser.sql @@ -0,0 +1,14 @@ +CREATE TABLE [dbo].[OrganizationUser] ( + [Id] UNIQUEIDENTIFIER NOT NULL, + [OrganizationId] UNIQUEIDENTIFIER NOT NULL, + [UserId] UNIQUEIDENTIFIER NULL, + [Email] NVARCHAR (50) NULL, + [Status] TINYINT NOT NULL, + [Type] TINYINT NOT NULL, + [CreationDate] DATETIME2 (7) NOT NULL, + [RevisionDate] DATETIME2 (7) NOT NULL, + CONSTRAINT [PK_OrganizationUser] PRIMARY KEY CLUSTERED ([Id] ASC), + CONSTRAINT [FK_OrganizationUser_Organization] FOREIGN KEY ([OrganizationId]) REFERENCES [dbo].[Organization] ([Id]), + CONSTRAINT [FK_OrganizationUser_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id]) +); + diff --git a/src/Sql/dbo/Tables/Share.sql b/src/Sql/dbo/Tables/Share.sql deleted file mode 100644 index 4072272758..0000000000 --- a/src/Sql/dbo/Tables/Share.sql +++ /dev/null @@ -1,21 +0,0 @@ -CREATE TABLE [dbo].[Share] ( - [Id] UNIQUEIDENTIFIER NOT NULL, - [UserId] UNIQUEIDENTIFIER NOT NULL, - [SharerUserId] UNIQUEIDENTIFIER NOT NULL, - [CipherId] UNIQUEIDENTIFIER NOT NULL, - [Key] VARCHAR (MAX) NULL, - [ReadOnly] BIT NOT NULL, - [Status] TINYINT NOT NULL, - [CreationDate] DATETIME2 (7) NOT NULL, - [RevisionDate] DATETIME2 (7) NOT NULL, - CONSTRAINT [PK_Share] PRIMARY KEY CLUSTERED ([Id] ASC), - CONSTRAINT [FK_Share_Cipher] FOREIGN KEY ([CipherId]) REFERENCES [dbo].[Cipher] ([Id]), - CONSTRAINT [FK_Share_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id]), - CONSTRAINT [FK_Share_SharerUser] FOREIGN KEY ([SharerUserId]) REFERENCES [dbo].[User] ([Id]) -); - - -GO -CREATE NONCLUSTERED INDEX [IX_Share_CipherId_Status] - ON [dbo].[Share]([CipherId] ASC, [Status] ASC); - diff --git a/src/Sql/dbo/Tables/Subvault.sql b/src/Sql/dbo/Tables/Subvault.sql new file mode 100644 index 0000000000..cf711128a7 --- /dev/null +++ b/src/Sql/dbo/Tables/Subvault.sql @@ -0,0 +1,8 @@ +CREATE TABLE [dbo].[Subvault] ( + [Id] UNIQUEIDENTIFIER NOT NULL, + [Name] VARCHAR (MAX) NOT NULL, + [CreationDate] DATETIME2 (7) NOT NULL, + [RevisionDate] DATETIME2 (7) NOT NULL, + CONSTRAINT [PK_Subvault] PRIMARY KEY CLUSTERED ([Id] ASC) +); + diff --git a/src/Sql/dbo/Tables/SubvaultCipher.sql b/src/Sql/dbo/Tables/SubvaultCipher.sql new file mode 100644 index 0000000000..05951ed662 --- /dev/null +++ b/src/Sql/dbo/Tables/SubvaultCipher.sql @@ -0,0 +1,8 @@ +CREATE TABLE [dbo].[SubvaultCipher] ( + [SubvaultId] UNIQUEIDENTIFIER NOT NULL, + [CipherId] UNIQUEIDENTIFIER NOT NULL, + CONSTRAINT [PK_SubvaultCipher] PRIMARY KEY CLUSTERED ([SubvaultId] ASC, [CipherId] ASC), + CONSTRAINT [FK_SubvaultCipher_Cipher] FOREIGN KEY ([CipherId]) REFERENCES [dbo].[Cipher] ([Id]), + CONSTRAINT [FK_SubvaultCipher_Subvault] FOREIGN KEY ([SubvaultId]) REFERENCES [dbo].[Subvault] ([Id]) +); + diff --git a/src/Sql/dbo/Tables/SubvaultUser.sql b/src/Sql/dbo/Tables/SubvaultUser.sql new file mode 100644 index 0000000000..e5b65edc1d --- /dev/null +++ b/src/Sql/dbo/Tables/SubvaultUser.sql @@ -0,0 +1,13 @@ +CREATE TABLE [dbo].[SubvaultUser] ( + [Id] UNIQUEIDENTIFIER NOT NULL, + [SubvaultId] UNIQUEIDENTIFIER NOT NULL, + [UserId] UNIQUEIDENTIFIER NOT NULL, + [Key] VARCHAR (MAX) NOT NULL, + [CreationDate] DATETIME2 (7) NOT NULL, + [Admin] BIT NOT NULL, + [ReadOnly] BIT NOT NULL, + CONSTRAINT [PK_SubvaultUser] PRIMARY KEY CLUSTERED ([Id] ASC), + CONSTRAINT [FK_SubvaultUser_Subvault] FOREIGN KEY ([SubvaultId]) REFERENCES [dbo].[Subvault] ([Id]), + CONSTRAINT [FK_SubvaultUser_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id]) +); + diff --git a/src/Sql/dbo/Tables/User.sql b/src/Sql/dbo/Tables/User.sql index 3259bd0a3a..f55c2f0cf6 100644 --- a/src/Sql/dbo/Tables/User.sql +++ b/src/Sql/dbo/Tables/User.sql @@ -14,8 +14,8 @@ [EquivalentDomains] NVARCHAR (MAX) NULL, [ExcludedGlobalEquivalentDomains] NVARCHAR (MAX) NULL, [AccountRevisionDate] DATETIME2 (7) NOT NULL, - [PublicKey] NVARCHAR (MAX) NULL, - [PrivateKey] NVARCHAR (MAX) NULL, + [PublicKey] VARCHAR (MAX) NULL, + [PrivateKey] VARCHAR (MAX) NULL, [CreationDate] DATETIME2 (7) NOT NULL, [RevisionDate] DATETIME2 (7) NOT NULL, CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED ([Id] ASC) diff --git a/src/Sql/dbo/Views/CipherShareView.sql b/src/Sql/dbo/Views/CipherShareView.sql deleted file mode 100644 index 86b5404388..0000000000 --- a/src/Sql/dbo/Views/CipherShareView.sql +++ /dev/null @@ -1,19 +0,0 @@ -CREATE VIEW [dbo].[CipherShareView] -AS -SELECT - C.[Id], - C.[UserId], - C.[FolderId], - C.[Type], - C.[Favorite], - ISNULL(S.[Key], C.[Key]) [Key], - C.[Data], - C.[CreationDate], - C.[RevisionDate], - S.[ReadOnly], - S.[Status], - S.[UserId] [ShareUserId] -FROM - [dbo].[Cipher] C -LEFT JOIN - [dbo].[Share] S ON C.[Id] = S.[CipherId] \ No newline at end of file diff --git a/src/Sql/dbo/Views/ShareView.sql b/src/Sql/dbo/Views/ShareView.sql deleted file mode 100644 index f132539f0b..0000000000 --- a/src/Sql/dbo/Views/ShareView.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE VIEW [dbo].[ShareView] -AS -SELECT - * -FROM - [dbo].[Share]