diff --git a/src/Sql/dbo/Stored Procedures/OrganizationUser_UpdateDataForKeyRotation.sql b/src/Sql/dbo/Stored Procedures/OrganizationUser_UpdateDataForKeyRotation.sql new file mode 100644 index 000000000..3c7047042 --- /dev/null +++ b/src/Sql/dbo/Stored Procedures/OrganizationUser_UpdateDataForKeyRotation.sql @@ -0,0 +1,36 @@ +CREATE PROCEDURE [dbo].[OrganizationUser_UpdateDataForKeyRotation] + @UserId UNIQUEIDENTIFIER, + @OrganizationUserJson NVARCHAR(MAX) +AS +BEGIN + SET NOCOUNT ON + + -- Parse the JSON string and insert into a temporary table + DECLARE @OrganizationUserInput AS TABLE ( + [Id] UNIQUEIDENTIFIER, + [ResetPasswordKey] VARCHAR(MAX) + ) + + INSERT INTO @OrganizationUserInput + SELECT + [Id], + [ResetPasswordKey] + FROM OPENJSON(@OrganizationUserJson) + WITH ( + [Id] UNIQUEIDENTIFIER '$.Id', + [ResetPasswordKey] VARCHAR(MAX) '$.ResetPasswordKey' + ) + + -- Perform the update + UPDATE + [dbo].[OrganizationUser] + SET + [ResetPasswordKey] = OUI.[ResetPasswordKey] + FROM + [dbo].[OrganizationUser] OU + INNER JOIN + @OrganizationUserInput OUI ON OU.Id = OUI.Id + WHERE + OU.[UserId] = @UserId + +END diff --git a/util/Migrator/DbScripts/2024-08-09_00_OrganizationUser_UpdateDataForKeyRotation.sql b/util/Migrator/DbScripts/2024-08-09_00_OrganizationUser_UpdateDataForKeyRotation.sql new file mode 100644 index 000000000..11066e495 --- /dev/null +++ b/util/Migrator/DbScripts/2024-08-09_00_OrganizationUser_UpdateDataForKeyRotation.sql @@ -0,0 +1,37 @@ +CREATE OR ALTER PROCEDURE [dbo].[OrganizationUser_UpdateDataForKeyRotation] + @UserId UNIQUEIDENTIFIER, + @OrganizationUserJson NVARCHAR(MAX) +AS +BEGIN + SET NOCOUNT ON + + -- Parse the JSON string and insert into a temporary table + DECLARE @OrganizationUserInput AS TABLE ( + [Id] UNIQUEIDENTIFIER, + [ResetPasswordKey] VARCHAR(MAX) + ) + + INSERT INTO @OrganizationUserInput + SELECT + [Id], + [ResetPasswordKey] + FROM OPENJSON(@OrganizationUserJson) + WITH ( + [Id] UNIQUEIDENTIFIER '$.Id', + [ResetPasswordKey] VARCHAR(MAX) '$.ResetPasswordKey' + ) + + -- Perform the update + UPDATE + [dbo].[OrganizationUser] + SET + [ResetPasswordKey] = OUI.[ResetPasswordKey] + FROM + [dbo].[OrganizationUser] OU + INNER JOIN + @OrganizationUserInput OUI ON OU.Id = OUI.Id + WHERE + OU.[UserId] = @UserId + +END +GO