From c43b6a6248e190deb3ec1c4c5f1dcfe01ae17636 Mon Sep 17 00:00:00 2001 From: Binon Date: Fri, 10 Apr 2026 09:25:39 +0100 Subject: [PATCH 1/2] TD-7116, script to create new moodle instance config table and and script to insert default moodle prod instacne --- .../LearningHub.Nhs.Database.sqlproj | 3 ++ .../Scripts/TD-7116-mib_new_env.sql | 4 +++ .../Tables/MIB/MoodleInstanceConfigs.sql | 28 +++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 WebAPI/LearningHub.Nhs.Database/Scripts/Post-Deploy/Scripts/TD-7116-mib_new_env.sql create mode 100644 WebAPI/LearningHub.Nhs.Database/Tables/MIB/MoodleInstanceConfigs.sql diff --git a/WebAPI/LearningHub.Nhs.Database/LearningHub.Nhs.Database.sqlproj b/WebAPI/LearningHub.Nhs.Database/LearningHub.Nhs.Database.sqlproj index a6a0db7ad..705fc366f 100644 --- a/WebAPI/LearningHub.Nhs.Database/LearningHub.Nhs.Database.sqlproj +++ b/WebAPI/LearningHub.Nhs.Database/LearningHub.Nhs.Database.sqlproj @@ -102,6 +102,7 @@ + @@ -565,6 +566,8 @@ + + diff --git a/WebAPI/LearningHub.Nhs.Database/Scripts/Post-Deploy/Scripts/TD-7116-mib_new_env.sql b/WebAPI/LearningHub.Nhs.Database/Scripts/Post-Deploy/Scripts/TD-7116-mib_new_env.sql new file mode 100644 index 000000000..f8ab9e17e --- /dev/null +++ b/WebAPI/LearningHub.Nhs.Database/Scripts/Post-Deploy/Scripts/TD-7116-mib_new_env.sql @@ -0,0 +1,4 @@ + INSERT INTO MoodleInstanceConfigs + (ShortName, BaseUrl, TokenSecretName, EnabledEndpoints, Weighting, IsEnabled, CreatedAt, UpdatedAt) +VALUES + ('moodle-prod', 'https://learn.learninghub.nhs.uk/', 'LearningHubMoodleClientSecretProd', 'users,courses,grades', 100, 1, GETUTCDATE(), GETUTCDATE()); \ No newline at end of file diff --git a/WebAPI/LearningHub.Nhs.Database/Tables/MIB/MoodleInstanceConfigs.sql b/WebAPI/LearningHub.Nhs.Database/Tables/MIB/MoodleInstanceConfigs.sql new file mode 100644 index 000000000..956319c6b --- /dev/null +++ b/WebAPI/LearningHub.Nhs.Database/Tables/MIB/MoodleInstanceConfigs.sql @@ -0,0 +1,28 @@ +CREATE TABLE [dbo].[MoodleInstanceConfigs]( + [Id] [int] IDENTITY(1,1) NOT NULL, + [BaseUrl] [nvarchar](500) NOT NULL, + [ShortName] [nvarchar](100) NOT NULL, + [TokenSecretName] [nvarchar](200) NOT NULL, + [EnabledEndpoints] [nvarchar](1000) NULL, + [IsEnabled] [bit] NOT NULL, + [Weighting] [int] NOT NULL, + [CreatedAt] [datetime2](7) NOT NULL, + [UpdatedAt] [datetime2](7) NOT NULL, + CONSTRAINT [PK_InstanceConfigs] PRIMARY KEY CLUSTERED +( + [Id] ASC +)WITH (STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] +) ON [PRIMARY] +GO + +ALTER TABLE [dbo].[MoodleInstanceConfigs] ADD CONSTRAINT [DF_InstanceConfigs_IsEnabled] DEFAULT ((1)) FOR [IsEnabled] +GO + +ALTER TABLE [dbo].[MoodleInstanceConfigs] ADD CONSTRAINT [DF_InstanceConfigs_Weighting] DEFAULT ((100)) FOR [Weighting] +GO + +ALTER TABLE [dbo].[MoodleInstanceConfigs] ADD CONSTRAINT [DF_InstanceConfigs_CreatedAt] DEFAULT (sysutcdatetime()) FOR [CreatedAt] +GO + +ALTER TABLE [dbo].[MoodleInstanceConfigs] ADD CONSTRAINT [DF_InstanceConfigs_UpdatedAt] DEFAULT (sysutcdatetime()) FOR [UpdatedAt] +GO \ No newline at end of file From 9ce2337ea0a3082dc6babd360888d138020fa1be Mon Sep 17 00:00:00 2001 From: Binon Date: Fri, 10 Apr 2026 09:42:14 +0100 Subject: [PATCH 2/2] Made it consistent with other script inserts --- .../Scripts/Post-Deploy/Script.PostDeployment.sql | 1 + .../Post-Deploy/Scripts/TD-7116-mib_new_env.sql | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/WebAPI/LearningHub.Nhs.Database/Scripts/Post-Deploy/Script.PostDeployment.sql b/WebAPI/LearningHub.Nhs.Database/Scripts/Post-Deploy/Script.PostDeployment.sql index 34ba8ad39..672b5785b 100644 --- a/WebAPI/LearningHub.Nhs.Database/Scripts/Post-Deploy/Script.PostDeployment.sql +++ b/WebAPI/LearningHub.Nhs.Database/Scripts/Post-Deploy/Script.PostDeployment.sql @@ -86,4 +86,5 @@ UPDATE [resources].[ResourceVersion] SET CertificateEnabled = 0 WHERE VersionSta :r .\Scripts\AttributeData.sql :r .\Scripts\PPSXFileType.sql :r .\Scripts\UpdateFileTypes.sql +:r .\Scripts\TD-7116-mib_new_env.sql diff --git a/WebAPI/LearningHub.Nhs.Database/Scripts/Post-Deploy/Scripts/TD-7116-mib_new_env.sql b/WebAPI/LearningHub.Nhs.Database/Scripts/Post-Deploy/Scripts/TD-7116-mib_new_env.sql index f8ab9e17e..09e405b1d 100644 --- a/WebAPI/LearningHub.Nhs.Database/Scripts/Post-Deploy/Scripts/TD-7116-mib_new_env.sql +++ b/WebAPI/LearningHub.Nhs.Database/Scripts/Post-Deploy/Scripts/TD-7116-mib_new_env.sql @@ -1,4 +1,8 @@ - INSERT INTO MoodleInstanceConfigs - (ShortName, BaseUrl, TokenSecretName, EnabledEndpoints, Weighting, IsEnabled, CreatedAt, UpdatedAt) -VALUES - ('moodle-prod', 'https://learn.learninghub.nhs.uk/', 'LearningHubMoodleClientSecretProd', 'users,courses,grades', 100, 1, GETUTCDATE(), GETUTCDATE()); \ No newline at end of file + +IF NOT EXISTS(SELECT 'X' FROM [dbo].[MoodleInstanceConfigs] WHERE ShortName = 'moodle-prod') +BEGIN + INSERT INTO [dbo].[MoodleInstanceConfigs] + (ShortName, BaseUrl, TokenSecretName, EnabledEndpoints, Weighting, IsEnabled, CreatedAt, UpdatedAt) + VALUES + ('moodle-prod', 'https://learn.learninghub.nhs.uk/', 'LearningHubMoodleClientSecretProd', 'users,courses,grades', 100, 1, GETUTCDATE(), GETUTCDATE()); +END \ No newline at end of file