diff --git a/src/Sql/Sql.sqlproj b/src/Sql/Sql.sqlproj index 8137664d38..c2022e39d0 100644 --- a/src/Sql/Sql.sqlproj +++ b/src/Sql/Sql.sqlproj @@ -102,5 +102,6 @@ + \ No newline at end of file diff --git a/src/Sql/dbo/Stored Procedures/User_Create.sql b/src/Sql/dbo/Stored Procedures/User_Create.sql index 2ebc7eee13..725ecf8505 100644 --- a/src/Sql/dbo/Stored Procedures/User_Create.sql +++ b/src/Sql/dbo/Stored Procedures/User_Create.sql @@ -13,6 +13,7 @@ @TwoFactorRecoveryCode NVARCHAR(32), @EquivalentDomains NVARCHAR(MAX), @ExcludedGlobalEquivalentDomains NVARCHAR(MAX), + @AccountRevisionDate DATETIME2(7), @CreationDate DATETIME2(7), @RevisionDate DATETIME2(7) AS @@ -35,6 +36,7 @@ BEGIN [TwoFactorRecoveryCode], [EquivalentDomains], [ExcludedGlobalEquivalentDomains], + [AccountRevisionDate], [CreationDate], [RevisionDate] ) @@ -54,6 +56,7 @@ BEGIN @TwoFactorRecoveryCode, @EquivalentDomains, @ExcludedGlobalEquivalentDomains, + @AccountRevisionDate, @CreationDate, @RevisionDate ) diff --git a/src/Sql/dbo/Stored Procedures/User_ReadAccountRevisionDateById.sql b/src/Sql/dbo/Stored Procedures/User_ReadAccountRevisionDateById.sql new file mode 100644 index 0000000000..b7dab1dc4c --- /dev/null +++ b/src/Sql/dbo/Stored Procedures/User_ReadAccountRevisionDateById.sql @@ -0,0 +1,13 @@ +CREATE PROCEDURE [dbo].[User_ReadAccountRevisionDateById] + @Id UNIQUEIDENTIFIER +AS +BEGIN + SET NOCOUNT ON + + SELECT + [AccountRevisionDate] + FROM + [dbo].[User] + WHERE + [Id] = @Id +END \ No newline at end of file diff --git a/src/Sql/dbo/Stored Procedures/User_Update.sql b/src/Sql/dbo/Stored Procedures/User_Update.sql index 50083d6e00..f05c4e5b8d 100644 --- a/src/Sql/dbo/Stored Procedures/User_Update.sql +++ b/src/Sql/dbo/Stored Procedures/User_Update.sql @@ -13,6 +13,7 @@ @TwoFactorRecoveryCode NVARCHAR(32), @EquivalentDomains NVARCHAR(MAX), @ExcludedGlobalEquivalentDomains NVARCHAR(MAX), + @AccountRevisionDate DATETIME2(7), @CreationDate DATETIME2(7), @RevisionDate DATETIME2(7) AS @@ -35,6 +36,7 @@ BEGIN [TwoFactorRecoveryCode] = @TwoFactorRecoveryCode, [EquivalentDomains] = @EquivalentDomains, [ExcludedGlobalEquivalentDomains] = @ExcludedGlobalEquivalentDomains, + [AccountRevisionDate] = @AccountRevisionDate, [CreationDate] = @CreationDate, [RevisionDate] = @RevisionDate WHERE diff --git a/src/Sql/dbo/Tables/Cipher.sql b/src/Sql/dbo/Tables/Cipher.sql index 83f30b5a46..52e4784509 100644 --- a/src/Sql/dbo/Tables/Cipher.sql +++ b/src/Sql/dbo/Tables/Cipher.sql @@ -42,6 +42,11 @@ BEGIN [CreationDate] FROM INSERTED + + UPDATE + [User] + SET + [AccountRevisionDate] = GETUTCDATE() END GO CREATE TRIGGER [dbo].[Cipher_Updated] @@ -67,6 +72,11 @@ BEGIN [RevisionDate] FROM INSERTED + + UPDATE + [User] + SET + [AccountRevisionDate] = GETUTCDATE() END GO CREATE TRIGGER [dbo].[Cipher_Deleted] @@ -92,4 +102,9 @@ BEGIN GETUTCDATE() FROM DELETED + + UPDATE + [User] + SET + [AccountRevisionDate] = GETUTCDATE() END \ No newline at end of file diff --git a/src/Sql/dbo/Tables/User.sql b/src/Sql/dbo/Tables/User.sql index 2b33f0cb82..3eef87f227 100644 --- a/src/Sql/dbo/Tables/User.sql +++ b/src/Sql/dbo/Tables/User.sql @@ -13,6 +13,7 @@ [TwoFactorRecoveryCode] NVARCHAR (32) NULL, [EquivalentDomains] NVARCHAR (MAX) NULL, [ExcludedGlobalEquivalentDomains] NVARCHAR (MAX) NULL, + [AccountRevisionDate] DATETIME2 (7) NOT NULL, [CreationDate] DATETIME2 (7) NOT NULL, [RevisionDate] DATETIME2 (7) NOT NULL, CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED ([Id] ASC)