From 91f439d6a4f3e60c12a99fbcda9b9f2a34834366 Mon Sep 17 00:00:00 2001 From: Mark Kincaid Date: Thu, 29 Jan 2026 15:01:14 -0800 Subject: [PATCH] Fixed invalid syntax in OrganizationUser_UpdateMany --- .../OrganizationUser_UpdateMany.sql | 12 +-- ...1-29_00_FixOrganizationUser_UpdateMany.sql | 86 +++++++++++++++++++ 2 files changed, 93 insertions(+), 5 deletions(-) create mode 100644 util/Migrator/DbScripts/2026-01-29_00_FixOrganizationUser_UpdateMany.sql diff --git a/src/Sql/dbo/Stored Procedures/OrganizationUser_UpdateMany.sql b/src/Sql/dbo/Stored Procedures/OrganizationUser_UpdateMany.sql index f60372b128..3c744f2cb9 100644 --- a/src/Sql/dbo/Stored Procedures/OrganizationUser_UpdateMany.sql +++ b/src/Sql/dbo/Stored Procedures/OrganizationUser_UpdateMany.sql @@ -4,6 +4,8 @@ AS BEGIN SET NOCOUNT ON + DECLARE @UserIds [dbo].[GuidIdArray] + -- Parse the JSON string DECLARE @OrganizationUserInput AS TABLE ( [Id] UNIQUEIDENTIFIER, @@ -75,9 +77,9 @@ BEGIN @OrganizationUserInput OUI ON OU.Id = OUI.Id -- Bump account revision dates - EXEC [dbo].[User_BumpManyAccountRevisionDates] - ( - SELECT [UserId] - FROM @OrganizationUserInput - ) + INSERT INTO @UserIds + SELECT [UserId] + FROM @OrganizationUserInput + + EXEC [dbo].[User_BumpManyAccountRevisionDates] @UserIds END diff --git a/util/Migrator/DbScripts/2026-01-29_00_FixOrganizationUser_UpdateMany.sql b/util/Migrator/DbScripts/2026-01-29_00_FixOrganizationUser_UpdateMany.sql new file mode 100644 index 0000000000..723f734fd7 --- /dev/null +++ b/util/Migrator/DbScripts/2026-01-29_00_FixOrganizationUser_UpdateMany.sql @@ -0,0 +1,86 @@ +CREATE OR ALTER PROCEDURE [dbo].[OrganizationUser_UpdateMany] + @jsonData NVARCHAR(MAX) +AS +BEGIN + SET NOCOUNT ON + + DECLARE @UserIds [dbo].[GuidIdArray] + + -- Parse the JSON string + DECLARE @OrganizationUserInput AS TABLE ( + [Id] UNIQUEIDENTIFIER, + [OrganizationId] UNIQUEIDENTIFIER, + [UserId] UNIQUEIDENTIFIER, + [Email] NVARCHAR(256), + [Key] VARCHAR(MAX), + [Status] SMALLINT, + [Type] TINYINT, + [ExternalId] NVARCHAR(300), + [CreationDate] DATETIME2(7), + [RevisionDate] DATETIME2(7), + [Permissions] NVARCHAR(MAX), + [ResetPasswordKey] VARCHAR(MAX), + [AccessSecretsManager] BIT + ) + + INSERT INTO @OrganizationUserInput + SELECT + [Id], + [OrganizationId], + [UserId], + [Email], + [Key], + [Status], + [Type], + [ExternalId], + [CreationDate], + [RevisionDate], + [Permissions], + [ResetPasswordKey], + [AccessSecretsManager] + FROM OPENJSON(@jsonData) + WITH ( + [Id] UNIQUEIDENTIFIER '$.Id', + [OrganizationId] UNIQUEIDENTIFIER '$.OrganizationId', + [UserId] UNIQUEIDENTIFIER '$.UserId', + [Email] NVARCHAR(256) '$.Email', + [Key] VARCHAR(MAX) '$.Key', + [Status] SMALLINT '$.Status', + [Type] TINYINT '$.Type', + [ExternalId] NVARCHAR(300) '$.ExternalId', + [CreationDate] DATETIME2(7) '$.CreationDate', + [RevisionDate] DATETIME2(7) '$.RevisionDate', + [Permissions] NVARCHAR (MAX) '$.Permissions', + [ResetPasswordKey] VARCHAR (MAX) '$.ResetPasswordKey', + [AccessSecretsManager] BIT '$.AccessSecretsManager' + ) + + -- Perform the update + UPDATE + OU + SET + [OrganizationId] = OUI.[OrganizationId], + [UserId] = OUI.[UserId], + [Email] = OUI.[Email], + [Key] = OUI.[Key], + [Status] = OUI.[Status], + [Type] = OUI.[Type], + [ExternalId] = OUI.[ExternalId], + [CreationDate] = OUI.[CreationDate], + [RevisionDate] = OUI.[RevisionDate], + [Permissions] = OUI.[Permissions], + [ResetPasswordKey] = OUI.[ResetPasswordKey], + [AccessSecretsManager] = OUI.[AccessSecretsManager] + FROM + [dbo].[OrganizationUser] OU + INNER JOIN + @OrganizationUserInput OUI ON OU.Id = OUI.Id + + -- Bump account revision dates + INSERT INTO @UserIds + SELECT [UserId] + FROM @OrganizationUserInput + + EXEC [dbo].[User_BumpManyAccountRevisionDates] @UserIds +END +GO