mirror of
https://github.com/bitwarden/server
synced 2026-01-05 18:13:31 +00:00
Added Sql project with database schema. Added SqlServer repositories for Site, Folder, and User (Cipher still TODO). Switched DI in Startup to SqlServer repos.
This commit is contained in:
18
src/Sql/dbo/Stored Procedures/FolderAndSite_ReadByUserId.sql
Normal file
18
src/Sql/dbo/Stored Procedures/FolderAndSite_ReadByUserId.sql
Normal file
@@ -0,0 +1,18 @@
|
||||
CREATE PROCEDURE [dbo].[FolderAndSite_ReadByUserId]
|
||||
@UserId UNIQUEIDENTIFIER
|
||||
AS
|
||||
BEGIN
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
[dbo].[FolderView]
|
||||
WHERE
|
||||
[UserId] = @UserId
|
||||
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
[dbo].[SiteView]
|
||||
WHERE
|
||||
[UserId] = @UserId
|
||||
END
|
||||
25
src/Sql/dbo/Stored Procedures/Folder_Create.sql
Normal file
25
src/Sql/dbo/Stored Procedures/Folder_Create.sql
Normal file
@@ -0,0 +1,25 @@
|
||||
CREATE PROCEDURE [dbo].[Folder_Create]
|
||||
@Id UNIQUEIDENTIFIER,
|
||||
@UserId UNIQUEIDENTIFIER,
|
||||
@Name NVARCHAR(MAX),
|
||||
@CreationDate DATETIME2(7),
|
||||
@RevisionDate DATETIME2(7)
|
||||
AS
|
||||
BEGIN
|
||||
INSERT INTO [dbo].[Folder]
|
||||
(
|
||||
[Id],
|
||||
[UserId],
|
||||
[Name],
|
||||
[CreationDate],
|
||||
[RevisionDate]
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@Id,
|
||||
@UserId,
|
||||
@Name,
|
||||
@CreationDate,
|
||||
@RevisionDate
|
||||
)
|
||||
END
|
||||
21
src/Sql/dbo/Stored Procedures/Folder_DeleteById.sql
Normal file
21
src/Sql/dbo/Stored Procedures/Folder_DeleteById.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
CREATE PROCEDURE [dbo].[Folder_DeleteById]
|
||||
@Id UNIQUEIDENTIFIER
|
||||
AS
|
||||
BEGIN
|
||||
BEGIN TRANSACTION Folder_DeleteById
|
||||
|
||||
UPDATE
|
||||
[dbo].[Site]
|
||||
SET
|
||||
[FolderId] = NULL
|
||||
WHERE
|
||||
[FolderId] = @Id
|
||||
|
||||
DELETE
|
||||
FROM
|
||||
[dbo].[Folder]
|
||||
WHERE
|
||||
[Id] = @Id
|
||||
|
||||
COMMIT TRANSACTION Folder_DeleteById
|
||||
END
|
||||
11
src/Sql/dbo/Stored Procedures/Folder_ReadById.sql
Normal file
11
src/Sql/dbo/Stored Procedures/Folder_ReadById.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
CREATE PROCEDURE [dbo].[Folder_ReadById]
|
||||
@Id UNIQUEIDENTIFIER
|
||||
AS
|
||||
BEGIN
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
[dbo].[FolderView]
|
||||
WHERE
|
||||
[Id] = @Id
|
||||
END
|
||||
11
src/Sql/dbo/Stored Procedures/Folder_ReadByUserId.sql
Normal file
11
src/Sql/dbo/Stored Procedures/Folder_ReadByUserId.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
CREATE PROCEDURE [dbo].[Folder_ReadByUserId]
|
||||
@UserId UNIQUEIDENTIFIER
|
||||
AS
|
||||
BEGIN
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
[dbo].[FolderView]
|
||||
WHERE
|
||||
[UserId] = @UserId
|
||||
END
|
||||
17
src/Sql/dbo/Stored Procedures/Folder_Update.sql
Normal file
17
src/Sql/dbo/Stored Procedures/Folder_Update.sql
Normal file
@@ -0,0 +1,17 @@
|
||||
CREATE PROCEDURE [dbo].[Folder_Update]
|
||||
@Id UNIQUEIDENTIFIER,
|
||||
@UserId UNIQUEIDENTIFIER,
|
||||
@Name NVARCHAR(MAX),
|
||||
@CreationDate DATETIME2(7),
|
||||
@RevisionDate DATETIME2(7)
|
||||
AS
|
||||
BEGIN
|
||||
UPDATE [dbo].[Folder]
|
||||
SET
|
||||
[UserId] = @UserId,
|
||||
[Name] = @Name,
|
||||
[CreationDate] = @CreationDate,
|
||||
[RevisionDate] = @RevisionDate
|
||||
WHERE
|
||||
[Id] = @Id
|
||||
END
|
||||
40
src/Sql/dbo/Stored Procedures/Site_Create.sql
Normal file
40
src/Sql/dbo/Stored Procedures/Site_Create.sql
Normal file
@@ -0,0 +1,40 @@
|
||||
CREATE PROCEDURE [dbo].[Site_Create]
|
||||
@Id UNIQUEIDENTIFIER,
|
||||
@UserId UNIQUEIDENTIFIER,
|
||||
@FolderId UNIQUEIDENTIFIER,
|
||||
@Name NVARCHAR(MAX),
|
||||
@Uri NVARCHAR(MAX),
|
||||
@Username NVARCHAR(MAX),
|
||||
@Password NVARCHAR(MAX),
|
||||
@Notes NVARCHAR(MAX),
|
||||
@CreationDate DATETIME2(7),
|
||||
@RevisionDate DATETIME2(7)
|
||||
AS
|
||||
BEGIN
|
||||
INSERT INTO [dbo].[Site]
|
||||
(
|
||||
[Id],
|
||||
[UserId],
|
||||
[FolderId],
|
||||
[Name],
|
||||
[Uri],
|
||||
[Username],
|
||||
[Password],
|
||||
[Notes],
|
||||
[CreationDate],
|
||||
[RevisionDate]
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@Id,
|
||||
@UserId,
|
||||
@FolderId,
|
||||
@Name,
|
||||
@Uri,
|
||||
@Username,
|
||||
@Password,
|
||||
@Notes,
|
||||
@CreationDate,
|
||||
@RevisionDate
|
||||
)
|
||||
END
|
||||
10
src/Sql/dbo/Stored Procedures/Site_DeleteById.sql
Normal file
10
src/Sql/dbo/Stored Procedures/Site_DeleteById.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
CREATE PROCEDURE [dbo].[Site_DeleteById]
|
||||
@Id UNIQUEIDENTIFIER
|
||||
AS
|
||||
BEGIN
|
||||
DELETE
|
||||
FROM
|
||||
[dbo].[Site]
|
||||
WHERE
|
||||
[Id] = @Id
|
||||
END
|
||||
11
src/Sql/dbo/Stored Procedures/Site_ReadById.sql
Normal file
11
src/Sql/dbo/Stored Procedures/Site_ReadById.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
CREATE PROCEDURE [dbo].[Site_ReadById]
|
||||
@Id UNIQUEIDENTIFIER
|
||||
AS
|
||||
BEGIN
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
[dbo].[SiteView]
|
||||
WHERE
|
||||
[Id] = @Id
|
||||
END
|
||||
11
src/Sql/dbo/Stored Procedures/Site_ReadByUserId.sql
Normal file
11
src/Sql/dbo/Stored Procedures/Site_ReadByUserId.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
CREATE PROCEDURE [dbo].[Site_ReadByUserId]
|
||||
@UserId UNIQUEIDENTIFIER
|
||||
AS
|
||||
BEGIN
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
[dbo].[SiteView]
|
||||
WHERE
|
||||
[UserId] = @UserId
|
||||
END
|
||||
27
src/Sql/dbo/Stored Procedures/Site_Update.sql
Normal file
27
src/Sql/dbo/Stored Procedures/Site_Update.sql
Normal file
@@ -0,0 +1,27 @@
|
||||
CREATE PROCEDURE [dbo].[Site_Update]
|
||||
@Id UNIQUEIDENTIFIER,
|
||||
@UserId UNIQUEIDENTIFIER,
|
||||
@FolderId UNIQUEIDENTIFIER,
|
||||
@Name NVARCHAR(MAX),
|
||||
@Uri NVARCHAR(MAX),
|
||||
@Username NVARCHAR(MAX),
|
||||
@Password NVARCHAR(MAX),
|
||||
@Notes NVARCHAR(MAX),
|
||||
@CreationDate DATETIME2(7),
|
||||
@RevisionDate DATETIME2(7)
|
||||
AS
|
||||
BEGIN
|
||||
UPDATE [dbo].[Site]
|
||||
SET
|
||||
[UserId] = @UserId,
|
||||
[FolderId] = @FolderId,
|
||||
[Name] = @Name,
|
||||
[Uri] = @Uri,
|
||||
[Username] = @Username,
|
||||
[Password] = @Password,
|
||||
[Notes] = @Notes,
|
||||
[CreationDate] = @CreationDate,
|
||||
[RevisionDate] = @RevisionDate
|
||||
WHERE
|
||||
[Id] = @Id
|
||||
END
|
||||
43
src/Sql/dbo/Stored Procedures/User_Create.sql
Normal file
43
src/Sql/dbo/Stored Procedures/User_Create.sql
Normal file
@@ -0,0 +1,43 @@
|
||||
CREATE PROCEDURE [dbo].[User_Create]
|
||||
@Id UNIQUEIDENTIFIER,
|
||||
@Name NVARCHAR(50),
|
||||
@Email NVARCHAR(50),
|
||||
@MasterPassword NVARCHAR(300),
|
||||
@MasterPasswordHint NVARCHAR(50),
|
||||
@Culture NVARCHAR(10),
|
||||
@SecurityStamp NVARCHAR(50),
|
||||
@TwoFactorEnabled BIT,
|
||||
@TwoFactorProvider TINYINT,
|
||||
@AuthenticatorKey NVARCHAR(50),
|
||||
@CreationDate DATETIME2(7)
|
||||
AS
|
||||
BEGIN
|
||||
INSERT INTO [dbo].[User]
|
||||
(
|
||||
[Id],
|
||||
[Name],
|
||||
[Email],
|
||||
[MasterPassword],
|
||||
[MasterPasswordHint],
|
||||
[Culture],
|
||||
[SecurityStamp],
|
||||
[TwoFactorEnabled],
|
||||
[TwoFactorProvider],
|
||||
[AuthenticatorKey],
|
||||
[CreationDate]
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@Id,
|
||||
@Name,
|
||||
@Email,
|
||||
@MasterPassword,
|
||||
@MasterPasswordHint,
|
||||
@Culture,
|
||||
@SecurityStamp,
|
||||
@TwoFactorEnabled,
|
||||
@TwoFactorProvider,
|
||||
@AuthenticatorKey,
|
||||
@CreationDate
|
||||
)
|
||||
END
|
||||
26
src/Sql/dbo/Stored Procedures/User_DeleteById.sql
Normal file
26
src/Sql/dbo/Stored Procedures/User_DeleteById.sql
Normal file
@@ -0,0 +1,26 @@
|
||||
CREATE PROCEDURE [dbo].[User_DeleteById]
|
||||
@Id UNIQUEIDENTIFIER
|
||||
AS
|
||||
BEGIN
|
||||
BEGIN TRANSACTION User_DeleteById
|
||||
|
||||
DELETE
|
||||
FROM
|
||||
[dbo].[Site]
|
||||
WHERE
|
||||
[UserId] = @Id
|
||||
|
||||
DELETE
|
||||
FROM
|
||||
[dbo].[Folder]
|
||||
WHERE
|
||||
[UserId] = @Id
|
||||
|
||||
DELETE
|
||||
FROM
|
||||
[dbo].[User]
|
||||
WHERE
|
||||
[Id] = @Id
|
||||
|
||||
COMMIT TRANSACTION User_DeleteById
|
||||
END
|
||||
11
src/Sql/dbo/Stored Procedures/User_ReadByEmail.sql
Normal file
11
src/Sql/dbo/Stored Procedures/User_ReadByEmail.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
CREATE PROCEDURE [dbo].[User_ReadByEmail]
|
||||
@Email NVARCHAR(50)
|
||||
AS
|
||||
BEGIN
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
[dbo].[UserView]
|
||||
WHERE
|
||||
[Email] = @Email
|
||||
END
|
||||
11
src/Sql/dbo/Stored Procedures/User_ReadById.sql
Normal file
11
src/Sql/dbo/Stored Procedures/User_ReadById.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
CREATE PROCEDURE [dbo].[User_ReadById]
|
||||
@Id UNIQUEIDENTIFIER
|
||||
AS
|
||||
BEGIN
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
[dbo].[UserView]
|
||||
WHERE
|
||||
[Id] = @Id
|
||||
END
|
||||
29
src/Sql/dbo/Stored Procedures/User_Update.sql
Normal file
29
src/Sql/dbo/Stored Procedures/User_Update.sql
Normal file
@@ -0,0 +1,29 @@
|
||||
CREATE PROCEDURE [dbo].[User_Update]
|
||||
@Id UNIQUEIDENTIFIER,
|
||||
@Name NVARCHAR(50),
|
||||
@Email NVARCHAR(50),
|
||||
@MasterPassword NVARCHAR(300),
|
||||
@MasterPasswordHint NVARCHAR(50),
|
||||
@Culture NVARCHAR(10),
|
||||
@SecurityStamp NVARCHAR(50),
|
||||
@TwoFactorEnabled BIT,
|
||||
@TwoFactorProvider TINYINT,
|
||||
@AuthenticatorKey NVARCHAR(50),
|
||||
@CreationDate DATETIME2(7)
|
||||
AS
|
||||
BEGIN
|
||||
UPDATE [dbo].[User]
|
||||
SET
|
||||
[Name] = @Name,
|
||||
[Email] = @Email,
|
||||
[MasterPassword] = @MasterPassword,
|
||||
[MasterPasswordHint] = @MasterPasswordHint,
|
||||
[Culture] = @Culture,
|
||||
[SecurityStamp] = @SecurityStamp,
|
||||
[TwoFactorEnabled] = @TwoFactorEnabled,
|
||||
[TwoFactorProvider] = TwoFactorProvider,
|
||||
[AuthenticatorKey] = @AuthenticatorKey,
|
||||
[CreationDate] = @CreationDate
|
||||
WHERE
|
||||
[Id] = @Id
|
||||
END
|
||||
15
src/Sql/dbo/Tables/Folder.sql
Normal file
15
src/Sql/dbo/Tables/Folder.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
CREATE TABLE [dbo].[Folder] (
|
||||
[Id] UNIQUEIDENTIFIER NOT NULL,
|
||||
[UserId] UNIQUEIDENTIFIER NOT NULL,
|
||||
[Name] NVARCHAR (MAX) NOT 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])
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [IX_Folder_UserId]
|
||||
ON [dbo].[Folder]([UserId] ASC);
|
||||
|
||||
21
src/Sql/dbo/Tables/Site.sql
Normal file
21
src/Sql/dbo/Tables/Site.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
CREATE TABLE [dbo].[Site] (
|
||||
[Id] UNIQUEIDENTIFIER NOT NULL,
|
||||
[UserId] UNIQUEIDENTIFIER NOT NULL,
|
||||
[FolderId] UNIQUEIDENTIFIER NULL,
|
||||
[Name] NVARCHAR (MAX) NOT NULL,
|
||||
[Uri] NVARCHAR (MAX) NULL,
|
||||
[Username] NVARCHAR (MAX) NULL,
|
||||
[Password] NVARCHAR (MAX) NULL,
|
||||
[Notes] NVARCHAR (MAX) NULL,
|
||||
[CreationDate] DATETIME2 (7) NOT NULL,
|
||||
[RevisionDate] DATETIME2 (7) NOT NULL,
|
||||
CONSTRAINT [PK_Site] PRIMARY KEY CLUSTERED ([Id] ASC),
|
||||
CONSTRAINT [FK_Site_Folder] FOREIGN KEY ([FolderId]) REFERENCES [dbo].[Folder] ([Id]),
|
||||
CONSTRAINT [FK_Site_User] FOREIGN KEY ([UserId]) REFERENCES [dbo].[User] ([Id])
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [IX_Site_UserId]
|
||||
ON [dbo].[Site]([UserId] ASC);
|
||||
|
||||
20
src/Sql/dbo/Tables/User.sql
Normal file
20
src/Sql/dbo/Tables/User.sql
Normal file
@@ -0,0 +1,20 @@
|
||||
CREATE TABLE [dbo].[User] (
|
||||
[Id] UNIQUEIDENTIFIER NOT NULL,
|
||||
[Name] NVARCHAR (50) NULL,
|
||||
[Email] NVARCHAR (50) NOT NULL,
|
||||
[MasterPassword] NVARCHAR (300) NOT NULL,
|
||||
[MasterPasswordHint] NVARCHAR (50) NULL,
|
||||
[Culture] NVARCHAR (10) NOT NULL,
|
||||
[SecurityStamp] NVARCHAR (50) NOT NULL,
|
||||
[TwoFactorEnabled] BIT NOT NULL,
|
||||
[TwoFactorProvider] TINYINT NULL,
|
||||
[AuthenticatorKey] NVARCHAR (50) NULL,
|
||||
[CreationDate] DATETIME2 (7) NOT NULL,
|
||||
CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED ([Id] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [IX_User_Email]
|
||||
ON [dbo].[User]([Email] ASC);
|
||||
|
||||
6
src/Sql/dbo/Views/FolderView.sql
Normal file
6
src/Sql/dbo/Views/FolderView.sql
Normal file
@@ -0,0 +1,6 @@
|
||||
CREATE VIEW [dbo].[FolderView]
|
||||
AS
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
[dbo].[Folder]
|
||||
6
src/Sql/dbo/Views/SiteView.sql
Normal file
6
src/Sql/dbo/Views/SiteView.sql
Normal file
@@ -0,0 +1,6 @@
|
||||
CREATE VIEW [dbo].[SiteView]
|
||||
AS
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
[dbo].[Site]
|
||||
6
src/Sql/dbo/Views/UserView.sql
Normal file
6
src/Sql/dbo/Views/UserView.sql
Normal file
@@ -0,0 +1,6 @@
|
||||
CREATE VIEW [dbo].[UserView]
|
||||
AS
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
[dbo].[User]
|
||||
Reference in New Issue
Block a user