This commit is contained in:
Zeeshaun
2026-04-22 09:52:00 -05:00
parent 5bea84f4a9
commit 9be51e89ec
12 changed files with 77 additions and 16 deletions
@@ -135,6 +135,10 @@
"Url": "https://localhost:7066", "Url": "https://localhost:7066",
"AccountBatchEndpoint": "/api/RepoBatchProcessing/QueueRepoBatchRequest" "AccountBatchEndpoint": "/api/RepoBatchProcessing/QueueRepoBatchRequest"
}, },
"MemberPreferencesApiConfiguration": {
"Url": "https://localhost:52727",
"QueueDNAAuditRequestEndpoint": "/api/QueueDnaAuditProcess"
},
"ConnectionsConfiguration": { "ConnectionsConfiguration": {
"SQL": { "SQL": {
"DispatcherDb": "data source=localhost;initial catalog=Dispatcher;Integrated Security=SSPI;MultipleActiveResultSets=True;App=EntityFramework;Encrypt=false", "DispatcherDb": "data source=localhost;initial catalog=Dispatcher;Integrated Security=SSPI;MultipleActiveResultSets=True;App=EntityFramework;Encrypt=false",
@@ -14,6 +14,7 @@ using LCU.Library.Internal.FileOperationsModels.Models;
using LCU.Library.Internal.FileOperationsModels.Models.Requests; using LCU.Library.Internal.FileOperationsModels.Models.Requests;
using LCU.Library.Internal.FileUpdaterModels.Models.Requests; using LCU.Library.Internal.FileUpdaterModels.Models.Requests;
using LCU.Library.Internal.IncentiveApiModels.Requests; using LCU.Library.Internal.IncentiveApiModels.Requests;
using LCU.Library.Internal.MemberPreferencesApiModels.Requests;
using LCU.Library.Internal.MomBotModels.Models; using LCU.Library.Internal.MomBotModels.Models;
using LCU.Library.Internal.NoticeProcessorModel.Models; using LCU.Library.Internal.NoticeProcessorModel.Models;
using LCU.Library.Internal.NotificationsModels.Models; using LCU.Library.Internal.NotificationsModels.Models;
@@ -45,6 +46,7 @@ public class ActionBuilderService : IActionBuilderService
private readonly TemenosNotificationApiConfiguration _temenosNotificationApiConfiguration; private readonly TemenosNotificationApiConfiguration _temenosNotificationApiConfiguration;
private readonly RealTimeAlertsApiConfiguration _realTimeAlertsApiConfiguration; private readonly RealTimeAlertsApiConfiguration _realTimeAlertsApiConfiguration;
private readonly RepoApiConfiguration _repoApiConfiguration; private readonly RepoApiConfiguration _repoApiConfiguration;
private readonly MemberPreferencesApiConfiguration _memberPreferencesApiConfiguration;
public ActionBuilderService(FileOperationsApiConfiguration fileOperationsApiConfiguration, public ActionBuilderService(FileOperationsApiConfiguration fileOperationsApiConfiguration,
FtpApiConfiguration ftpApiConfiguration, FtpApiConfiguration ftpApiConfiguration,
@@ -63,7 +65,8 @@ public class ActionBuilderService : IActionBuilderService
FileUpdaterApiConfiguration fileUpdaterApiConfiguration, FileUpdaterApiConfiguration fileUpdaterApiConfiguration,
TemenosNotificationApiConfiguration temenosNotificationApiConfiguration, TemenosNotificationApiConfiguration temenosNotificationApiConfiguration,
RealTimeAlertsApiConfiguration realTimeAlertsApiConfiguration, RealTimeAlertsApiConfiguration realTimeAlertsApiConfiguration,
RepoApiConfiguration repoApiConfiguration) RepoApiConfiguration repoApiConfiguration,
MemberPreferencesApiConfiguration memberPreferencesApiConfiguration)
{ {
_fileOperationsApiConfiguration = fileOperationsApiConfiguration; _fileOperationsApiConfiguration = fileOperationsApiConfiguration;
_ftpApiConfiguration = ftpApiConfiguration; _ftpApiConfiguration = ftpApiConfiguration;
@@ -83,6 +86,7 @@ public class ActionBuilderService : IActionBuilderService
_temenosNotificationApiConfiguration = temenosNotificationApiConfiguration; _temenosNotificationApiConfiguration = temenosNotificationApiConfiguration;
_realTimeAlertsApiConfiguration = realTimeAlertsApiConfiguration; _realTimeAlertsApiConfiguration = realTimeAlertsApiConfiguration;
_repoApiConfiguration = repoApiConfiguration; _repoApiConfiguration = repoApiConfiguration;
_memberPreferencesApiConfiguration = memberPreferencesApiConfiguration;
} }
public IActionService BuildAction(ActionType actionType) public IActionService BuildAction(ActionType actionType)
@@ -345,6 +349,12 @@ public class ActionBuilderService : IActionBuilderService
ActionType.RepoBatchProcessRequest), ActionType.RepoBatchProcessRequest),
#endregion RepoApi #endregion RepoApi
#region MemberPreferences
nameof(ActionType.MemberPreferencesDNAAuditRequest) => new ActionService<DnaAuditProcessRequest>(_memberPreferencesApiConfiguration.QueueDNAAuditRequestEndpointUrl,
HttpMethodType.Post,
ActionType.MemberPreferencesDNAAuditRequest),
#endregion MemberPreferences
_ => throw new NotImplementedException(), _ => throw new NotImplementedException(),
}; };
} }
@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations.Schema;
namespace LCU.Api.Internal.DispatcherSharedLib.Configurations
{
public class MemberPreferencesApiConfiguration
{
public string Url { get; set; }
public string QueueDNAAuditRequestEndpoint { get; set; }
[NotMapped]
public string QueueDNAAuditRequestEndpointUrl => Url + QueueDNAAuditRequestEndpoint;
}
}
@@ -29,6 +29,7 @@ public static class DependencyInjection
configuration.Bind<TemenosNotificationApiConfiguration>(services); configuration.Bind<TemenosNotificationApiConfiguration>(services);
configuration.Bind<RealTimeAlertsApiConfiguration>(services); configuration.Bind<RealTimeAlertsApiConfiguration>(services);
configuration.Bind<RepoApiConfiguration>(services); configuration.Bind<RepoApiConfiguration>(services);
configuration.Bind<MemberPreferencesApiConfiguration>(services);
services.AddScoped<IRequestBuilderService, RequestBuilderService>(); services.AddScoped<IRequestBuilderService, RequestBuilderService>();
services.AddScoped<IActionBuilderService, ActionBuilderService>(); services.AddScoped<IActionBuilderService, ActionBuilderService>();
@@ -1,10 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<LangVersion>latest</LangVersion> <LangVersion>latest</LangVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version>5.7.21</Version> <Version>5.7.23</Version>
<Description> <Description>
1.0.0 - Initial Creation 1.0.0 - Initial Creation
1.1.0 - FileOperationsLib and ApiResponse Version upgrade. 1.1.0 - FileOperationsLib and ApiResponse Version upgrade.
@@ -123,6 +123,8 @@
5.7.19 - Update DocumentIngestorModels Nuget Package 5.7.19 - Update DocumentIngestorModels Nuget Package
5.7.20 - Update Dialer Api Nuget package for campaigns 5.7.20 - Update Dialer Api Nuget package for campaigns
5.7.21 - Update DocumentIngestorModels Nuget package 5.7.21 - Update DocumentIngestorModels Nuget package
5.7.22 - Update for MemberPreferences DNA Audit WorkItem
5.7.23 - Update Ftp models
</Description> </Description>
<PackageReleaseNotes> <PackageReleaseNotes>
1.0.0 - Initial Creation 1.0.0 - Initial Creation
@@ -241,12 +243,14 @@
5.7.19 - Update DocumentIngestorModels Nuget Package 5.7.19 - Update DocumentIngestorModels Nuget Package
5.7.20 - Update Dialer Api Nuget package for campaigns 5.7.20 - Update Dialer Api Nuget package for campaigns
5.7.21 - Update DocumentIngestorModels Nuget package 5.7.21 - Update DocumentIngestorModels Nuget package
5.7.22 - Update for MemberPreferences DNA Audit WorkItem
5.7.23 - Update Ftp models
</PackageReleaseNotes> </PackageReleaseNotes>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="LCU.API.Internal.BlendApiWrapperModels" Version="1.0.15" /> <PackageReference Include="LCU.API.Internal.BlendApiWrapperModels" Version="1.0.15" />
<PackageReference Include="LCU.Api.Internal.FTPLib" Version="2.11.3" /> <PackageReference Include="LCU.Api.Internal.FTPLib" Version="2.12.0" />
<PackageReference Include="LCU.Library.Internal.ApiResponse.Models" Version="3.3.2" /> <PackageReference Include="LCU.Library.Internal.ApiResponse.Models" Version="3.3.2" />
<PackageReference Include="LCU.Library.Internal.ArchiverApiModel" Version="1.8.0" /> <PackageReference Include="LCU.Library.Internal.ArchiverApiModel" Version="1.8.0" />
<PackageReference Include="LCU.Library.Internal.Configuration" Version="1.0.0" /> <PackageReference Include="LCU.Library.Internal.Configuration" Version="1.0.0" />
@@ -258,6 +262,7 @@
<PackageReference Include="LCU.Library.Internal.FileUpdaterModels" Version="1.0.3" /> <PackageReference Include="LCU.Library.Internal.FileUpdaterModels" Version="1.0.3" />
<PackageReference Include="LCU.Library.Internal.IncentiveApiModels" Version="1.1.4" /> <PackageReference Include="LCU.Library.Internal.IncentiveApiModels" Version="1.1.4" />
<PackageReference Include="LCU.Library.Internal.LcuHttpClient" Version="2.0.1" /> <PackageReference Include="LCU.Library.Internal.LcuHttpClient" Version="2.0.1" />
<PackageReference Include="LCU.Library.Internal.MemberPreferencesApiModels" Version="1.0.0" />
<PackageReference Include="LCU.Library.Internal.MomBotModels" Version="1.0.1" /> <PackageReference Include="LCU.Library.Internal.MomBotModels" Version="1.0.1" />
<PackageReference Include="LCU.Library.Internal.NoticeProcessorModel" Version="1.0.8" /> <PackageReference Include="LCU.Library.Internal.NoticeProcessorModel" Version="1.0.8" />
<PackageReference Include="LCU.Library.Internal.NotificationsModels" Version="1.0.3" /> <PackageReference Include="LCU.Library.Internal.NotificationsModels" Version="1.0.3" />
@@ -24,6 +24,7 @@ public class ActionBuilderServiceTest
private readonly TemenosNotificationApiConfiguration _temenosNotificationApiConfiguration; private readonly TemenosNotificationApiConfiguration _temenosNotificationApiConfiguration;
private readonly RealTimeAlertsApiConfiguration _realTimeAlertsApiConfiguration; private readonly RealTimeAlertsApiConfiguration _realTimeAlertsApiConfiguration;
private readonly RepoApiConfiguration _repoApiConfiguration; private readonly RepoApiConfiguration _repoApiConfiguration;
private readonly MemberPreferencesApiConfiguration _memberPreferencesApiConfiguration;
public ActionBuilderServiceTest() public ActionBuilderServiceTest()
{ {
@@ -168,6 +169,12 @@ public class ActionBuilderServiceTest
AccountBatchEndpoint = "/api/RepoBatchProcessing/QueueRepoBatchRequest" AccountBatchEndpoint = "/api/RepoBatchProcessing/QueueRepoBatchRequest"
}; };
_memberPreferencesApiConfiguration = new MemberPreferencesApiConfiguration
{
Url = "https://Test",
QueueDNAAuditRequestEndpoint = "/api/QueueDnaAuditProcess"
};
_actionBuilderService = new ActionBuilderService(_fileOperationsApiConfiguration, _actionBuilderService = new ActionBuilderService(_fileOperationsApiConfiguration,
_ftpApiConfiguration, _ftpApiConfiguration,
@@ -186,7 +193,8 @@ public class ActionBuilderServiceTest
_fileUpdaterApiConfiguration, _fileUpdaterApiConfiguration,
_temenosNotificationApiConfiguration, _temenosNotificationApiConfiguration,
_realTimeAlertsApiConfiguration, _realTimeAlertsApiConfiguration,
_repoApiConfiguration); _repoApiConfiguration,
_memberPreferencesApiConfiguration);
} }
internal void BuildActionService_Test(ActionType actionType, string url) internal void BuildActionService_Test(ActionType actionType, string url)
@@ -526,4 +534,13 @@ public class ActionBuilderServiceTest
BuildActionService_Test(ActionType.RepoBatchProcessRequest, "https://Test/api/RepoBatchProcessing/QueueRepoBatchRequest"); BuildActionService_Test(ActionType.RepoBatchProcessRequest, "https://Test/api/RepoBatchProcessing/QueueRepoBatchRequest");
} }
#endregion RepoApi #endregion RepoApi
#region MemberPreferences
[Fact]
public void BuildActionService_MemberPreferencesDnaAuditRequest()
{
BuildActionService_Test(ActionType.MemberPreferencesDNAAuditRequest, "https://Test/api/QueueDnaAuditProcess");
}
#endregion MemberPreferences
} }
@@ -65,5 +65,6 @@ public enum ActionType
DocumentRetentionCleanupRequest = 60, DocumentRetentionCleanupRequest = 60,
UploadVoAppsCampaignResultsErrorRequest = 61, UploadVoAppsCampaignResultsErrorRequest = 61,
RepoBatchProcessRequest = 62, RepoBatchProcessRequest = 62,
DocumentIngestorProcessStatusEmail = 63 DocumentIngestorProcessStatusEmail = 63,
MemberPreferencesDNAAuditRequest = 64
} }
@@ -3,7 +3,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild> <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<Version>1.20.14</Version> <Version>1.20.15</Version>
<Description> <Description>
1.0.0 - Initial Creation 1.0.0 - Initial Creation
1.1.0 - Addition of Tag, JobTag, new filter for tags, and List of JobTags in Job model. 1.1.0 - Addition of Tag, JobTag, new filter for tags, and List of JobTags in Job model.
@@ -68,6 +68,7 @@
1.20.12 - Update JobErrorDetail to use JobStatus 1.20.12 - Update JobErrorDetail to use JobStatus
1.20.13 - Update for RepoAPI 1.20.13 - Update for RepoAPI
1.20.14 - Update DocumentIngestorModels Nuget package 1.20.14 - Update DocumentIngestorModels Nuget package
1.20.15 - Update for MemeberPreferences API
</Description> </Description>
<PackageReleaseNotes> <PackageReleaseNotes>
1.0.0 - Initial Creation 1.0.0 - Initial Creation
@@ -133,6 +134,7 @@
1.20.12 - Update JobErrorDetail to use JobStatus 1.20.12 - Update JobErrorDetail to use JobStatus
1.20.13 - Update for RepoAPI 1.20.13 - Update for RepoAPI
1.20.14 - Update DocumentIngestorModels Nuget package 1.20.14 - Update DocumentIngestorModels Nuget package
1.20.15 - Update for MemeberPreferences API
</PackageReleaseNotes> </PackageReleaseNotes>
<LangVersion>latest</LangVersion> <LangVersion>latest</LangVersion>
</PropertyGroup> </PropertyGroup>
@@ -9,4 +9,4 @@ variables:
pvar_azdo_deployment_environment_db: DB-UAT pvar_azdo_deployment_environment_db: DB-UAT
pvar_LCU_API_Internal_DispatcherSql_db_name: Dispatcher pvar_LCU_API_Internal_DispatcherSql_db_name: Dispatcher
pvar_LCU_API_Internal_DispatcherSql_sql_server_name: D1CLS01U pvar_LCU_API_Internal_DispatcherSql_sql_server_name: WEBCLSU
@@ -66,7 +66,10 @@
"TemenosNotificationApiConfiguration": { "TemenosNotificationApiConfiguration": {
"Url": "https://prd-temenos-notification-api.apps.azure.lcu-internal.com" "Url": "https://prd-temenos-notification-api.apps.azure.lcu-internal.com"
}, },
"RepoApiConfiguration": { "RepoApiConfiguration": {
"Url": "https://prd-repo-api.apps.azure.lcu-internal.com" "Url": "https://prd-repo-api.apps.azure.lcu-internal.com"
} },
"MemberPreferencesApiConfiguration": {
"Url": "https://prd-member-preferences-api.apps.azure.lcu-internal.com"
}
} }
@@ -69,6 +69,9 @@
"Url": "https://qa-temenos-notification-api.apps.azure.lcu-internal.com" "Url": "https://qa-temenos-notification-api.apps.azure.lcu-internal.com"
}, },
"RepoApiConfiguration": { "RepoApiConfiguration": {
"Url": "https://qa-repo-api.apps.azure.lcu-internal.com" "Url": "https://qa-repo-api.apps.azure.lcu-internal.com"
} },
"MemberPreferencesApiConfiguration": {
"Url": "https://qa-member-preferences-api.apps.azure.lcu-internal.com"
}
} }
@@ -68,7 +68,10 @@
"TemenosNotificationApiConfiguration": { "TemenosNotificationApiConfiguration": {
"Url": "https://uat-temenos-notification-api.apps.azure.lcu-internal.com" "Url": "https://uat-temenos-notification-api.apps.azure.lcu-internal.com"
}, },
"RepoApiConfiguration": { "RepoApiConfiguration": {
"Url": "https://uat-repo-api.apps.azure.lcu-internal.com" "Url": "https://uat-repo-api.apps.azure.lcu-internal.com"
} },
"MemberPreferencesApiConfiguration": {
"Url": "https://uat-member-preferences-api.apps.azure.lcu-internal.com"
}
} }