diff --git a/LCU.API.Internal.MemberPreferencesApi/Dockerfile b/LCU.API.Internal.MemberPreferencesApi/Dockerfile index 2e4bb50..f1c1e8a 100644 --- a/LCU.API.Internal.MemberPreferencesApi/Dockerfile +++ b/LCU.API.Internal.MemberPreferencesApi/Dockerfile @@ -5,7 +5,6 @@ FROM mcr.microsoft.com/dotnet/sdk:8.0 AS aspnetcore-build COPY LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.csproj ./source/LCU.API.Internal.MemberPreferencesApi/ COPY LCU.API.Internal.MemberPreferencesApiLib/LCU.API.Internal.MemberPreferencesApiLib.csproj ./source/LCU.API.Internal.MemberPreferencesApiLib/ COPY LCU.Library.Internal.MemberPreferencesApiModels/LCU.Library.Internal.MemberPreferencesApiModels.csproj ./source/LCU.Library.Internal.MemberPreferencesApiModels/ -COPY LCU.API.Internal.MemberPreferencesApi.UnitTests/LCU.API.Internal.MemberPreferencesApi.UnitTests.csproj ./source/LCU.API.Internal.MemberPreferencesApi.UnitTests/ # Install Credential Provider and set env variables to enable Nuget restore with auth ARG PAT=bh2lq3jibktw67b2wdbqyfln7cd3je6lk52kijntpj43v6kimpgq @@ -20,7 +19,10 @@ RUN dotnet restore -s "https://landmarkcu.pkgs.visualstudio.com/_packaging/LCU-I COPY . ./source/ LABEL test=true +COPY LCU.API.Internal.MemberPreferencesApi.UnitTests/LCU.API.Internal.MemberPreferencesApi.UnitTests.csproj ./source/LCU.API.Internal.MemberPreferencesApi.UnitTests/ + RUN dotnet restore -s "https://landmarkcu.pkgs.visualstudio.com/_packaging/LCU-Internal/nuget/v3/index.json" -s "https://api.nuget.org/v3/index.json" ./source/LCU.API.Internal.MemberPreferencesApi.UnitTests/LCU.API.Internal.MemberPreferencesApi.UnitTests.csproj + RUN dotnet test -c Release --results-directory /testresults --logger "trx;LogFileName=test_results.trx" ./source/LCU.API.Internal.MemberPreferencesApi.UnitTests/LCU.API.Internal.MemberPreferencesApi.UnitTests.csproj # .NET Core Publish diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.IntegrationTests/XdiBatchItemTest.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.IntegrationTests/XdiBatchItemTest.cs index f92d8e3..19be978 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.IntegrationTests/XdiBatchItemTest.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.IntegrationTests/XdiBatchItemTest.cs @@ -18,8 +18,6 @@ namespace LCU.API.Internal.MemberPreferencesApi.IntegrationTests private Mock _mockUnifiedOptinRepository; private Mock _mockMemberPreferenceRepository; private Mock _mockFileOperationsApiService; - private IMock _mockXdiBatchProcessInfoRepository; - [SetUp] public void Setup() @@ -27,7 +25,6 @@ namespace LCU.API.Internal.MemberPreferencesApi.IntegrationTests _mockFileOperationsApiService = new Mock(); _mockUnifiedOptinRepository = new Mock(); _mockBatchItemsRepository = new Mock(); - _mockXdiBatchProcessInfoRepository = new Mock(); _mockUnitOfWork = new Mock(); _mockUnifiedOptinRepository = new Mock(); _mockMemberPreferenceRepository = new Mock(); @@ -35,7 +32,7 @@ namespace LCU.API.Internal.MemberPreferencesApi.IntegrationTests _xdiBatchItemService = new XdiBatchService(_mockBatchItemsRepository.Object, _mockUnitOfWork.Object, _mockUnifiedOptinRepository.Object, _mockMemberPreferenceRepository.Object, - _mockFileOperationsApiService.Object, _mockXdiBatchProcessInfoRepository.Object); + _mockFileOperationsApiService.Object); } [Test] diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.UnitTests/LCU.API.Internal.MemberPreferencesApi.UnitTests.csproj b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.UnitTests/LCU.API.Internal.MemberPreferencesApi.UnitTests.csproj index afbb660..af02052 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.UnitTests/LCU.API.Internal.MemberPreferencesApi.UnitTests.csproj +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.UnitTests/LCU.API.Internal.MemberPreferencesApi.UnitTests.csproj @@ -10,7 +10,6 @@ - diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.UnitTests/Services/XdiBatchItemServiceTest.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.UnitTests/Services/XdiBatchItemServiceTest.cs index 2656d3c..300cd52 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.UnitTests/Services/XdiBatchItemServiceTest.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.UnitTests/Services/XdiBatchItemServiceTest.cs @@ -3,8 +3,8 @@ using LCU.API.Internal.MemberPreferencesApi.Models; using LCU.API.Internal.MemberPreferencesApi.Models.Requests; using LCU.API.Internal.MemberPreferencesApi.Services.XdiServices; using LCU.API.Internal.MemberPreferencesApiLib.Repositories; -using LCU.Library.Internal.LcuClassPatterns.CrudTests.Tests; -using LCU.Library.Internal.LcuClassPatterns.CrudTests.Utilities; +using LCU.Library.Internal.ApiResponse.Models; +using LCU.Library.Internal.FileOperationsModels.Models; using LCU.Library.Internal.MemberPreferencesApiModels.Entities; using LCU.Library.Internal.MemberPreferencesApiModels.Enums; using Moq; @@ -17,11 +17,10 @@ using System.Threading.Tasks; namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services { - public class XdiBatchItemServiceTest : CrudServiceTest + public class XdiBatchItemServiceTest { private IXdiBatchService _xdiBatchItemService; private Mock _mockBatchItemsRepository; - private Mock _mockXdiBatchProcessInfoRepository; private Mock _mockUnitOfWork; private Mock _mockUnifiedOptinRepository; private Mock _mockMemberPreferenceRepository; @@ -31,7 +30,6 @@ namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services public void Setup() { _mockBatchItemsRepository = new Mock(); - _mockXdiBatchProcessInfoRepository = new Mock(); _mockUnitOfWork = new Mock(); _mockUnifiedOptinRepository = new Mock(); _mockMemberPreferenceRepository = new Mock(); @@ -39,7 +37,7 @@ namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services _xdiBatchItemService = new XdiBatchService(_mockBatchItemsRepository.Object, _mockUnitOfWork.Object, _mockUnifiedOptinRepository.Object, _mockMemberPreferenceRepository.Object, - _mockFileOperationsApiService.Object, _mockXdiBatchProcessInfoRepository.Object); + _mockFileOperationsApiService.Object); } [Test] @@ -305,14 +303,17 @@ namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services UniversalOptIn = DeliveryPreference.Hold }); - var xdiBatchProcessInfo = new List + var appendFileResponse = new RequestResponse { - new() + IsSuccessful = true, + ReturnResponse = new ReturnResponse { - XdiBatchProcessInfoId = (int)typeof(int).GetRandomValue(), - StartTimeStamp = DateTime.Now, - XdiBatchProcessStatus = XdiBatchProcessStatus.InProgress, - ApiResponse = "Started" + ResponseItems = new List() { + new() + { + ResponsePayload = "File Created" + } + } } }; @@ -321,10 +322,9 @@ namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services XdiAppendFileRootBasePath = "test/test" }; - _mockXdiBatchProcessInfoRepository.Setup(x => x.FindBatchProcessInfoByStatus(XdiBatchProcessStatus.InProgress)).ReturnsAsync(xdiBatchProcessInfo) - .Verifiable(); + _mockFileOperationsApiService.Setup(x => x.AppendFile(It.IsAny())).ReturnsAsync(appendFileResponse).Verifiable(); - var results = await _xdiBatchItemService.BuildXdiFiles(testFile, request.XdiAppendFileRootBasePath, xdiBatchProcessInfo.FirstOrDefault()); + var results = await _xdiBatchItemService.BuildXdiFiles(testFile, request.XdiAppendFileRootBasePath); Assert.AreEqual(4, results.Count); Assert.True(results.Exists(x => x.UserId == "100" && x.Value == "newemail@email.com")); @@ -347,17 +347,6 @@ namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services } }; - var xdiBatchProcessInfo = new List - { - new() - { - XdiBatchProcessInfoId = (int)typeof(int).GetRandomValue(), - StartTimeStamp = DateTime.Now, - XdiBatchProcessStatus = XdiBatchProcessStatus.InProgress, - ApiResponse = "Started" - } - }; - _mockUnifiedOptinRepository .Setup(x => x.GetMemberOptInSettingsNoTracking("100")).ReturnsAsync(new MemberOptInSettings { @@ -369,15 +358,28 @@ namespace LCU.API.Internal.MemberPreferencesApi.UnitTests.Services .Setup(x => x.GetMemberOptInSettingsNoTracking(It.Is(userId => int.Parse(userId) > 100))) .Returns(Task.FromResult(null)); - _mockXdiBatchProcessInfoRepository.Setup(x => x.FindBatchProcessInfoByStatus(XdiBatchProcessStatus.InProgress)).ReturnsAsync(xdiBatchProcessInfo) - .Verifiable(); - var request = new XdiBatchRequest() { XdiAppendFileRootBasePath = "test/test" }; - var results = await _xdiBatchItemService.BuildXdiFiles(testFile, request.XdiAppendFileRootBasePath, xdiBatchProcessInfo.FirstOrDefault()); + var appendFileResponse = new RequestResponse + { + IsSuccessful = true, + ReturnResponse = new ReturnResponse + { + ResponseItems = new List() { + new() + { + ResponsePayload = "File Created" + } + } + } + }; + + _mockFileOperationsApiService.Setup(x => x.AppendFile(It.IsAny())).ReturnsAsync(appendFileResponse).Verifiable(); + + var results = await _xdiBatchItemService.BuildXdiFiles(testFile, request.XdiAppendFileRootBasePath); Assert.AreEqual(1, results.Count); Assert.True(results.Exists(x => x.UserId == "100" && x.Value == DeliveryPreference.Paper)); diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.UnitTests/XdiBatch/XdiBatchTest.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.UnitTests/XdiBatch/XdiBatchTest.cs index d0a5d94..6b93da2 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.UnitTests/XdiBatch/XdiBatchTest.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.UnitTests/XdiBatch/XdiBatchTest.cs @@ -2,7 +2,6 @@ using System; using System.Linq; using LCU.Library.Internal.MemberPreferencesApiModels.Entities; using LCU.Library.Internal.MemberPreferencesApiModels.Enums; -using LCU.API.Internal.MemberPreferencesApi.Models; using NUnit.Framework; namespace LCU.API.Internal.MemberPreferencesApi.UnitTests @@ -162,57 +161,5 @@ namespace LCU.API.Internal.MemberPreferencesApi.UnitTests Assert.AreEqual(1, files.Count); Assert.AreEqual(XdiFileType.UpdateMemberEmail, files.First().Type); } - - [Test] - public void Test_Enrollment_Microfiche() - { - var batch = new Models.XdiBatch(); - var settings = new MemberOptInSettings() - { - Id = 1000, - UniversalOptIn = DeliveryPreference.Microfiche, - ENotifications = DeliveryPreference.Electronic, - EStatements = DeliveryPreference.Electronic, - UnifiedOptInEmail = "updated_email@test.com", - ENotificationsEmail = "test@test.com", - EStatementsEmail = "test@test.com", - UserId = "99" - }; - - var result = batch.ProcessItem(_item, settings); - - Assert.True(result); - var files = batch.GetNonEmptyFiles(); - Assert.NotNull(files); - Assert.AreEqual(1, files.Count); - Assert.AreEqual(XdiFileType.UpdateMemberToPrint, files.First().Type); - Assert.AreEqual("updated_email@test.com", files.First().Data.First().Email); - } - - [Test] - public void Test_Enrollment_Hold() - { - var batch = new Models.XdiBatch(); - var settings = new MemberOptInSettings() - { - Id = 1000, - UniversalOptIn = DeliveryPreference.Hold, - ENotifications = DeliveryPreference.Electronic, - EStatements = DeliveryPreference.Electronic, - UnifiedOptInEmail = "updated_email@test.com", - ENotificationsEmail = "test@test.com", - EStatementsEmail = "test@test.com", - UserId = "99" - }; - - var result = batch.ProcessItem(_item, settings); - - Assert.True(result); - var files = batch.GetNonEmptyFiles(); - Assert.NotNull(files); - Assert.AreEqual(1, files.Count); - Assert.AreEqual(XdiFileType.UpdateMemberToPrint, files.First().Type); - Assert.AreEqual("updated_email@test.com", files.First().Data.First().Email); - } } } diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Consumers/DnaAuditProcessConsumer.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Consumers/DnaAuditProcessConsumer.cs index 2d4ec19..8c56098 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Consumers/DnaAuditProcessConsumer.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Consumers/DnaAuditProcessConsumer.cs @@ -21,14 +21,6 @@ public class DnaAuditProcessConsumer : IConsumer await scope.ServiceProvider.GetRequiredService().HandleDnaAuditProcessRequest(context.Message); Log.Debug("Ending DnaAuditProcessConsumer."); } - catch (ServiceException serviceException) - { - Log.ForContext(Enum.GetName(typeof(PropertyEnum), PropertyEnum.Group), - Enum.GetName(typeof(GroupEnum), GroupEnum.ITDevelopment)) - .Error(serviceException, $"DnaAuditProcess Failure. " + - $"The request is placed on DnaAuditProcess_error."); - throw; - } catch (Exception exception) { Log.ForContext(Enum.GetName(typeof(PropertyEnum), PropertyEnum.Group), diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Consumers/XdiBatchProcessConsumer.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Consumers/XdiBatchProcessConsumer.cs index 5846890..dce21fc 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Consumers/XdiBatchProcessConsumer.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Consumers/XdiBatchProcessConsumer.cs @@ -17,15 +17,6 @@ public class XdiBatchProcessConsumer : IConsumer using var scope = _scopeFactory.CreateScope(); await Task.Run(async () => await scope.ServiceProvider.GetRequiredService().HandleXdiBatchProcess(context.Message)); } - catch (ServiceException ex) - { - Log.ForContext(Enum.GetName(typeof(PropertyEnum), PropertyEnum.Group), - Enum.GetName(typeof(GroupEnum), GroupEnum.ITDevelopment)) - .Error($"XdiBatchProcessConsumer Failure. " + - $"The response is placed on LCU.MemberPreferencesApi.XdiBatchProcess_error. " + - $"Error Message: {ex.Message}"); - throw; - } catch (Exception exception) { Log.ForContext(Enum.GetName(typeof(PropertyEnum), PropertyEnum.Group), diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Controllers/QueueXdiBatchProcessController.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Controllers/QueueXdiBatchProcessController.cs index f48e426..3d3d803 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Controllers/QueueXdiBatchProcessController.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Controllers/QueueXdiBatchProcessController.cs @@ -1,8 +1,10 @@ using LCU.API.Internal.MemberPreferencesApi.Services.QueueServices; using Microsoft.AspNetCore.Mvc; +using Microsoft.FeatureManagement.Mvc; namespace LCU.API.Internal.MemberPreferencesApi.Controllers; +[FeatureGate(FeatureGates.EnableControllers)] [ApiController] [Route("api/[controller]")] public class QueueXdiBatchProcessController : ControllerBase diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.csproj b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.csproj index e5b4978..17867e0 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.csproj +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi.csproj @@ -13,7 +13,6 @@ - diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Models/XdiBatch.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Models/XdiBatch.cs index a56fb8e..0405249 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Models/XdiBatch.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Models/XdiBatch.cs @@ -68,7 +68,7 @@ public class XdiBatch } if (currentSettings.UniversalOptIn == DeliveryPreference.Microfiche && - currentSettings.ENotifications == DeliveryPreference.Electronic) + currentSettings.ENotifications == DeliveryPreference.Electronic) { _updateMemberToPrint.AddRow(item.UserId, currentSettings.UnifiedOptInEmail); return true; diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Program.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Program.cs index c5547d8..3937c5f 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Program.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Program.cs @@ -245,7 +245,6 @@ void AddMemberPreferencesLib(ref IServiceCollection services) services.AddScoped(); services.AddScoped(); services.AddScoped(); - services.AddScoped(); services.AddScoped(); } diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/DnaAuditServices/DNADataAuditProcessService.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/DnaAuditServices/DNADataAuditProcessService.cs index 0c13ac2..5052324 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/DnaAuditServices/DNADataAuditProcessService.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/DnaAuditServices/DNADataAuditProcessService.cs @@ -50,7 +50,6 @@ public class DNADataAuditProcessService : IDNADataAuditProcessService Log.Error(ex.Message); // Return successful as True so Dispatcher job never stops running. await QueueReturnResponse.QueueResponse(request, true, new List() { ex.Message }); - throw new ServiceException($"Failed to handled Consumed DnaAuditProcessRequest. ExceptionMessage: {ex.Message}"); } } diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/MicroApiServices/FileOperationsApiService.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/MicroApiServices/FileOperationsApiService.cs index d03a08b..06aa1c4 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/MicroApiServices/FileOperationsApiService.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/MicroApiServices/FileOperationsApiService.cs @@ -18,7 +18,7 @@ namespace LCU.API.Internal.MemberPreferencesApi.MicroApiServices { var result = await _fileOperationsApiDao.AppendFileAsync(request); - Log.Information($"XDI File Sent, Response: {result.ReturnResponse}"); + Log.Information($"XDI File Saved. Response: {result.ReturnResponse}"); return result; } catch (Exception ex) diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/XdiServices/IXdiBatchService.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/XdiServices/IXdiBatchService.cs index 7aa46c2..6b1bac8 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/XdiServices/IXdiBatchService.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/XdiServices/IXdiBatchService.cs @@ -1,5 +1,6 @@ using LCU.API.Internal.MemberPreferencesApi.Models; using LCU.Library.Internal.MemberPreferencesApiModels.Entities; +using LCU.Library.Internal.MemberPreferencesApiModels.Responses; namespace LCU.API.Internal.MemberPreferencesApi.Services.XdiServices; @@ -7,9 +8,9 @@ public interface IXdiBatchService { Task AddXdiBatchItem(XdiBatchItem newItem); Task SaveRangeAsync(List xdiBatchItemList); - Task CreateXdiBatchFiles(XdiBatchRequest request); + Task CreateXdiBatchFiles(XdiBatchRequest request); Task BuildXdiBatchRequest(XdiBatchRequest request); - Task> BuildXdiFiles(XdiBatchFile batchFile, string filePath, XdiBatchProcessInfo xdiBatchProcessInfo); + Task> BuildXdiFiles(XdiBatchFile batchFile, string filePath); Task MarkPendingSuccessful(List batchFileExportList); Task DoesMemberHavePendingXdiChange(string memberId); } diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/XdiServices/XdiBatchProcessService.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/XdiServices/XdiBatchProcessService.cs index 78bc0f7..796a7c4 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/XdiServices/XdiBatchProcessService.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/XdiServices/XdiBatchProcessService.cs @@ -36,8 +36,8 @@ public class XdiBatchProcessService : IXdiBatchProcessService XdiAppendFileRootBasePath = xdiBatchProcessRequest.XdiAppendFileRootBasePath }; - await _xdiBatchService.CreateXdiBatchFiles(request); - await QueueReturnResponse.QueueResponse(xdiBatchProcessRequest, true, new List { $"Requested {xdiBatchItems.Count()} Xdi Batch Items to Process."}); + var result = await _xdiBatchService.CreateXdiBatchFiles(request); + await QueueReturnResponse.QueueResponse(xdiBatchProcessRequest, result.IsSuccessful, result.MessageStack); } } catch (Exception ex) @@ -45,7 +45,6 @@ public class XdiBatchProcessService : IXdiBatchProcessService var errorMessage = $"Failed to HandleXdiBatchProcess. Exception Message: {ex.Message}"; Log.Error(errorMessage); await QueueReturnResponse.QueueResponse(xdiBatchProcessRequest, false, new List() {errorMessage}); - throw new ServiceException(errorMessage); } } } diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/XdiServices/XdiBatchService.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/XdiServices/XdiBatchService.cs index bfdcd2d..ac4479e 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/XdiServices/XdiBatchService.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/Services/XdiServices/XdiBatchService.cs @@ -1,17 +1,15 @@ using LCU.API.Internal.MemberPreferencesApi.MicroApiServices; using LCU.API.Internal.MemberPreferencesApi.Models; using LCU.API.Internal.MemberPreferencesApiLib.Repositories; -using LCU.Library.Internal.FileOperationsModels.Models; -using LCU.Library.Internal.LcuClassPatterns.Crud.Services; using LCU.Library.Internal.MemberPreferencesApiModels.Entities; using LCU.Library.Internal.MemberPreferencesApiModels.Enums; -using System.Data.SqlClient; +using LCU.Library.Internal.MemberPreferencesApiModels.Responses; +using FileOperationsModels = LCU.Library.Internal.FileOperationsModels.Models; namespace LCU.API.Internal.MemberPreferencesApi.Services.XdiServices { - public class XdiBatchService : CrudService, IXdiBatchService + public class XdiBatchService : IXdiBatchService { - private readonly IXdiBatchProcessInfoRepository _xdiBatchProcessInfoRepository; private readonly IXdiBatchItemsRepository _xdiBatchItemsRepository; private readonly IUnifiedOptInRepository _unifiedOptInRepository; private readonly IMemberPreferenceRepository _memberPreferenceRepository; @@ -21,44 +19,37 @@ namespace LCU.API.Internal.MemberPreferencesApi.Services.XdiServices public XdiBatchService(IXdiBatchItemsRepository xdiBatchItemsRepository, IUnitOfWork unitOfWork, IUnifiedOptInRepository unifiedOptInRepository, - IMemberPreferenceRepository memberPreferencesRepository, IFileOperationsApiService fileOperationsApiService, - IXdiBatchProcessInfoRepository xdiBatchProcessInfoRepository) : base(xdiBatchProcessInfoRepository) + IMemberPreferenceRepository memberPreferencesRepository, IFileOperationsApiService fileOperationsApiService) { _xdiBatchItemsRepository = xdiBatchItemsRepository; _unitOfWork = unitOfWork; _memberPreferenceRepository = memberPreferencesRepository; _unifiedOptInRepository = unifiedOptInRepository; _fileOperationsApiService = fileOperationsApiService; - _xdiBatchProcessInfoRepository = xdiBatchProcessInfoRepository; } - public async Task CreateXdiBatchFiles(XdiBatchRequest request) + public async Task CreateXdiBatchFiles(XdiBatchRequest request) { - var batchProcessInfo = new XdiBatchProcessInfo(); - var batchUserIds = string.Join(",", request.XdiBatchItems.Select(c => c.UserId).ToList()); + var requestResponse = new RequestResponse(); try { - var batchProcessInProgress = _xdiBatchProcessInfoRepository.FindBatchProcessInfoByStatus(XdiBatchProcessStatus.InProgress).Result; - if (batchProcessInProgress.Count() == 0) - { - request = await BuildXdiBatchRequest(request); - batchProcessInfo = await CreateNewBatchProcessInfo(request.XdiBatchItems.Count()); - await CreateXdiExportFileRequest(request, batchProcessInfo); - - await UpdateBatchAsync(batchProcessInfo, XdiBatchProcessStatus.Completed, $"Completed XDI Batch Process for UserIds: {batchUserIds}"); - } + request = await BuildXdiBatchRequest(request); + requestResponse = await CreateXdiExportFileRequest(request); } catch (Exception ex) { - Log.Error(ex, $"Failed to Create XDI Batch Files."); - await UpdateBatchAsync(batchProcessInfo, XdiBatchProcessStatus.Failed, $"Failed XDI Batch Process for UserIds: {batchUserIds}"); - throw new ServiceException($"Failed to Create XDI Batch Files. Exception Message: {ex.Message}"); + var batchUserIds = string.Join(",", request.XdiBatchItems.Select(c => c.UserId).ToList()); + var errorMessage = $"Failed to Create XDI Batch Files for UserId(s): {batchUserIds} Error: { ex.Message}"; + Log.Error(errorMessage); + requestResponse.MessageStack.Add(errorMessage); + requestResponse.IsSuccessful = false; } + return requestResponse; } public async Task BuildXdiBatchRequest(XdiBatchRequest request) { - foreach (var item in request.XdiBatchItems) + foreach (var item in request.XdiBatchItems) { var currentSettings = await _unifiedOptInRepository.GetMemberOptInSettings(item.UserId); if (currentSettings != null) @@ -81,45 +72,62 @@ namespace LCU.API.Internal.MemberPreferencesApi.Services.XdiServices Log.Error($"No XdiBatchRow or XDI File was processed based on current member UserId: {item.UserId} Opt In Settings, marking complete."); _xdiBatchItemsRepository.Delete(item); } - }; - }; + } + ; + } + ; await _unitOfWork.CompleteAsync(XdiBatchProcessOperatorName, DateTime.UtcNow, UserType.System); return request; } - public async Task CreateXdiExportFileRequest(XdiBatchRequest request, XdiBatchProcessInfo xdiBatchProcessInfo) + public async Task CreateXdiExportFileRequest(XdiBatchRequest request) { + var requestResponse = new RequestResponse(); try { IReadOnlyCollection batchFiles = request.XdiBatch.GetNonEmptyFiles(); - Log.Information($"XdiBatchService produced {batchFiles.Count} files"); + var batchFilesMessage = ($"XdiBatchService produced {batchFiles.Count} file(s)"); + Log.Information(batchFilesMessage); foreach (var xdiBatchFile in batchFiles) { - var xdiBatchFileExport = await BuildXdiFiles(xdiBatchFile, request.XdiAppendFileRootBasePath, xdiBatchProcessInfo); - await MarkPendingSuccessful(xdiBatchFileExport); + var xdiBatchFileExport = await BuildXdiFiles(xdiBatchFile, request.XdiAppendFileRootBasePath); + if (xdiBatchFileExport != null) + { + await MarkPendingSuccessful(xdiBatchFileExport); + } } - } + requestResponse.IsSuccessful = true; + requestResponse.MessageStack.Add(batchFilesMessage); + } catch (Exception ex) { - Log.Error(ex, $"Failed to Create the XDI File to export."); + var errorMessage = $"Failed to Create the XDI File to export. {ex.Message}"; + Log.Error(errorMessage); + requestResponse.MessageStack.Add(errorMessage); + requestResponse.IsSuccessful = false; } + return requestResponse; } - public async Task> BuildXdiFiles(XdiBatchFile batchFile, string filePath, XdiBatchProcessInfo xdiBatchProcessInfo) + public async Task> BuildXdiFiles(XdiBatchFile batchFile, string filePath) { - AppendFileRequest request = BuildFileOperationsRequest(batchFile, filePath); + FileOperationsModels.AppendFileRequest request = BuildFileOperationsRequest(batchFile, filePath); var xdiBatchFileExport = await CreateDirectoryXdiFiles(batchFile); var result = await _fileOperationsApiService.AppendFile(request); - + if (!result.IsSuccessful) + { + throw new Exception($"Failed to Append File: {batchFile.GetFileName}"); + } + return xdiBatchFileExport; } - private AppendFileRequest BuildFileOperationsRequest(XdiBatchFile xdiBatchFile, string filePath) + private FileOperationsModels.AppendFileRequest BuildFileOperationsRequest(XdiBatchFile xdiBatchFile, string filePath) { - var request = new AppendFileRequest() + var request = new FileOperationsModels.AppendFileRequest() { DestinationPath = filePath, Extension = ".txt", @@ -256,45 +264,5 @@ namespace LCU.API.Internal.MemberPreferencesApi.Services.XdiServices } } } - - public async Task CreateNewBatchProcessInfo(int batchTotal) - { - var xdiBatchProcessInfo = new XdiBatchProcessInfo(); - xdiBatchProcessInfo.StartTimeStamp = DateTime.Now; - xdiBatchProcessInfo.XdiBatchProcessStatus = XdiBatchProcessStatus.InProgress; - xdiBatchProcessInfo.BatchTotal = batchTotal; - return await _xdiBatchProcessInfoRepository.AddAsync(xdiBatchProcessInfo); - } - - public async Task UpdateBatchAsync(XdiBatchProcessInfo xdiBatchProcessInfo, XdiBatchProcessStatus xdiBatchStatus, string apiResponse) - { - try - { - var existing = await _xdiBatchProcessInfoRepository.FindByIdAsync(xdiBatchProcessInfo.XdiBatchProcessInfoId); - if (existing == null) - { - throw new ServiceException($"XdiBatchProcessInfo with XdiBatchProcessInfoId {xdiBatchProcessInfo.XdiBatchProcessInfoId} not found"); - } - existing.XdiBatchProcessStatus = xdiBatchStatus; - existing.ApiResponse = apiResponse; - existing.EndTimeStamp = DateTime.Now; - - await _xdiBatchProcessInfoRepository.UpdateAsync(existing); - await _unitOfWork.CompleteAsync(); - return existing; - } - catch (SqlException sqlEx) - { - var message = $"Failure updating XdiBatchProcessInfo with XdiBatchProcessInfoId {xdiBatchProcessInfo.XdiBatchProcessInfoId}"; - Log.Error(sqlEx, message); - throw new ServiceException(message); - } - catch (Exception ex) - { - var message = $"Failure updating XdiBatchProcessInfo with XdiBatchProcessInfoId {xdiBatchProcessInfo.XdiBatchProcessInfoId}"; - Log.Error(ex, message); - throw new ServiceException(message); - } - } } } diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/appsettings.json b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/appsettings.json index 275ac80..92c406e 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/appsettings.json +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApi/appsettings.json @@ -42,7 +42,7 @@ "AppendFile": "DirectFileOperations/AppendFile" }, "CoreApiWrapperConfiguration": { - "CoreApiBaseUrl": "https://qa-core-api-wrapper-api.apps.azure.lcu-internal.com/api/core/", + "CoreApiBaseUrl": "https://localhost:44355/api/core/", "CoreApiGetAgreementByUserId": "Agree/AgreementByUserId/{userId}", "CoreApiGetAgreementByAgreementId": "Agree/AgreementByAgreementId/{agreementId}", "CoreApiGetAgreementsByAccountId": "Agree/AgreementsByAccountId/{accountId}", diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Persistence/ApplicationDbContext.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Persistence/ApplicationDbContext.cs index cdb6413..43c4967 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Persistence/ApplicationDbContext.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Persistence/ApplicationDbContext.cs @@ -18,7 +18,6 @@ public class ApplicationDbContext : DbContext, IApplicationDbContext public DbSet MemberOptInSettings { get; set; } public DbSet DnaAuditProcesses { get; set; } public DbSet XdiBatchItems { get; set; } - public DbSet XdiBatchProcessInfos { get; set; } public override Task SaveChangesAsync(CancellationToken cancellationToken = new CancellationToken()) { @@ -104,8 +103,5 @@ public class ApplicationDbContext : DbContext, IApplicationDbContext builder.Entity().ToTable("DnaAuditProcess"); builder.Entity().HasKey(p => p.ProcessId); - - builder.Entity().ToTable("XdiBatchProcessInfo"); - builder.Entity().HasKey(p => p.XdiBatchProcessInfoId); } } diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Persistence/IApplicationDbContext.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Persistence/IApplicationDbContext.cs index a9ae724..d360e99 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Persistence/IApplicationDbContext.cs +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Persistence/IApplicationDbContext.cs @@ -11,7 +11,6 @@ public interface IApplicationDbContext : IAuditableChanges DbSet MemberOptInSettings { get; set; } public DbSet XdiBatchItems { get; set; } public DbSet DnaAuditProcesses { get; set; } - public DbSet XdiBatchProcessInfos { get; set; } Task SaveChangesAsync(CancellationToken cancellationToken = new CancellationToken()); Task SaveChangesWithOperatorAsync(string operatorId, DateTime dateAdded, UserType userType, CancellationToken cancellationToken); } diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Repositories/IXdiBatchProcessInfoRepository.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Repositories/IXdiBatchProcessInfoRepository.cs deleted file mode 100644 index 9947ea3..0000000 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Repositories/IXdiBatchProcessInfoRepository.cs +++ /dev/null @@ -1,10 +0,0 @@ -using LCU.Library.Internal.LcuClassPatterns.Crud.Repositories; -using LCU.Library.Internal.MemberPreferencesApiModels.Entities; -using LCU.Library.Internal.MemberPreferencesApiModels.Enums; - -namespace LCU.API.Internal.MemberPreferencesApiLib.Repositories; - -public interface IXdiBatchProcessInfoRepository: ICrudRepository -{ - Task> FindBatchProcessInfoByStatus(XdiBatchProcessStatus xdiProcessStatus); -} diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Repositories/XdiBatchProcessInfoRepository.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Repositories/XdiBatchProcessInfoRepository.cs deleted file mode 100644 index 91663ad..0000000 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiLib/Repositories/XdiBatchProcessInfoRepository.cs +++ /dev/null @@ -1,21 +0,0 @@ -using LCU.API.Internal.MemberPreferencesApiLib.Persistence; -using LCU.Library.Internal.LcuClassPatterns.Crud.Repositories; -using LCU.Library.Internal.MemberPreferencesApiModels.Entities; -using LCU.Library.Internal.MemberPreferencesApiModels.Enums; -using Microsoft.EntityFrameworkCore; - -namespace LCU.API.Internal.MemberPreferencesApiLib.Repositories; - -public class XdiBatchProcessInfoRepository : CrudRepository, IXdiBatchProcessInfoRepository -{ - private readonly IApplicationDbContext _context; - public XdiBatchProcessInfoRepository(ApplicationDbContext context) : base(context) - { - _context = context; - } - - public async Task> FindBatchProcessInfoByStatus(XdiBatchProcessStatus xdiProcessStatus) - { - return await _context.XdiBatchProcessInfos.Where(p => p.XdiBatchProcessStatus == xdiProcessStatus).ToListAsync(); - } -} diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiSql/LCU.API.Internal.MemberPreferencesApiSql.refactorlog b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiSql/LCU.API.Internal.MemberPreferencesApiSql.refactorlog deleted file mode 100644 index 1da498c..0000000 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiSql/LCU.API.Internal.MemberPreferencesApiSql.refactorlog +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiSql/LCU.API.Internal.MemberPreferencesApiSql.sqlproj b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiSql/LCU.API.Internal.MemberPreferencesApiSql.sqlproj index fe468c7..719e0b5 100644 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiSql/LCU.API.Internal.MemberPreferencesApiSql.sqlproj +++ b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiSql/LCU.API.Internal.MemberPreferencesApiSql.sqlproj @@ -63,9 +63,5 @@ - - - - \ No newline at end of file diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiSql/XdiBatchProcessInfo.sql b/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiSql/XdiBatchProcessInfo.sql deleted file mode 100644 index 9edb776..0000000 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.API.Internal.MemberPreferencesApiSql/XdiBatchProcessInfo.sql +++ /dev/null @@ -1,9 +0,0 @@ -CREATE TABLE [dbo].[XdiBatchProcessInfo] -( - [XdiBatchProcessInfoId] [int] NOT NULL PRIMARY KEY IDENTITY, - [StartTimeStamp] DATETIME2 NOT NULL, - [EndTimeStamp] DATETIME2 NULL, - [BatchTotal] INT NOT NULL DEFAULT 0, - [ApiResponse] NVARCHAR(MAX) NULL, - [XdiBatchProcessStatus] INT NOT NULL -) diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.Library.Internal.MemberPreferencesApiModels/Entities/XdiBatchProcessInfo.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.Library.Internal.MemberPreferencesApiModels/Entities/XdiBatchProcessInfo.cs deleted file mode 100644 index 4141167..0000000 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.Library.Internal.MemberPreferencesApiModels/Entities/XdiBatchProcessInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using LCU.Library.Internal.MemberPreferencesApiModels.Enums; -using System; -using System.ComponentModel.DataAnnotations; - -namespace LCU.Library.Internal.MemberPreferencesApiModels.Entities -{ - public class XdiBatchProcessInfo - { - [Key] - public int XdiBatchProcessInfoId { get; set; } - public DateTime StartTimeStamp { get; set; } - public DateTime EndTimeStamp { get; set; } - public XdiBatchProcessStatus XdiBatchProcessStatus { get; set; } - public int BatchTotal { get; set; } - public string ApiResponse { get; set; } - } -} diff --git a/LCU.API.Internal.MemberPreferencesApi/LCU.Library.Internal.MemberPreferencesApiModels/Enums/XdiBatchProcessStatus.cs b/LCU.API.Internal.MemberPreferencesApi/LCU.Library.Internal.MemberPreferencesApiModels/Enums/XdiBatchProcessStatus.cs deleted file mode 100644 index 391ce6c..0000000 --- a/LCU.API.Internal.MemberPreferencesApi/LCU.Library.Internal.MemberPreferencesApiModels/Enums/XdiBatchProcessStatus.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace LCU.Library.Internal.MemberPreferencesApiModels.Enums -{ - public enum XdiBatchProcessStatus - { - InProgress, - Failed, - Completed - } -} diff --git a/LCU.API.Internal.MemberPreferencesApi/kustomize/components/keyvaults/normal/set_secrets_deployment.yaml b/LCU.API.Internal.MemberPreferencesApi/kustomize/components/keyvaults/normal/set_secrets_deployment.yaml index c009bf2..70c017a 100644 --- a/LCU.API.Internal.MemberPreferencesApi/kustomize/components/keyvaults/normal/set_secrets_deployment.yaml +++ b/LCU.API.Internal.MemberPreferencesApi/kustomize/components/keyvaults/normal/set_secrets_deployment.yaml @@ -6,7 +6,7 @@ driver: secrets-store.csi.k8s.io readOnly: true volumeAttributes: - secretProviderClass: member-preferences-api-csi-key-vault-secrets-provider + secretProviderClass: normal-member-preferences-api-csi-key-vault-secrets-provider - op: add path: /spec/template/spec/containers/0/volumeMounts/- diff --git a/LCU.API.Internal.MemberPreferencesApi/kustomize/components/workloads/normal/appsettings/appsettings.json b/LCU.API.Internal.MemberPreferencesApi/kustomize/components/workloads/normal/appsettings/appsettings.json index d758da9..02bdabe 100644 --- a/LCU.API.Internal.MemberPreferencesApi/kustomize/components/workloads/normal/appsettings/appsettings.json +++ b/LCU.API.Internal.MemberPreferencesApi/kustomize/components/workloads/normal/appsettings/appsettings.json @@ -1,9 +1,7 @@ { "Primary": { "FeatureFlags": { - "RunHostedServices": true, - "RunXdiBatchProcessConsumer": true, - "RunXdiSshResponseConsumer": true, + "RunXdiBatchProcessConsumer": false, "RunDnaAuditProcessConsumer": false } } diff --git a/LCU.IAC.Azdo.Pipelines/Import.tf b/LCU.IAC.Azdo.Pipelines/Import.tf index 75c90bc..b0c2688 100644 --- a/LCU.IAC.Azdo.Pipelines/Import.tf +++ b/LCU.IAC.Azdo.Pipelines/Import.tf @@ -1,6 +1,10 @@ # This import was successfully run on 4/17/25 # Commenting it out so that the scheduled pipelines can run +import { + to = azuredevops_git_repository.repositories["LCU.WebApps.Collections.RepoClient"] + id = "2aeafa30-011a-4751-8b26-ebf29243ae67/LCU.WebApps.Collections.RepoClient" +} #import { # to = azuredevops_git_repository.repositories["LCU.API.Internal.MaidBotApi"] # id = "2aeafa30-011a-4751-8b26-ebf29243ae67/LCU.API.Internal.MaidBotApi" diff --git a/LCU.IAC.Azdo.Pipelines/config-files/azdo-lcu-pipelines-platform.yaml b/LCU.IAC.Azdo.Pipelines/config-files/azdo-lcu-pipelines-platform.yaml index 126075a..6e04500 100644 --- a/LCU.IAC.Azdo.Pipelines/config-files/azdo-lcu-pipelines-platform.yaml +++ b/LCU.IAC.Azdo.Pipelines/config-files/azdo-lcu-pipelines-platform.yaml @@ -128,6 +128,8 @@ aks_workloads: - path: \AKS\maidbot-api repo: LCU.API.Internal.MaidBotApi environment: DB + - path: \AKS\repo-manager + repo: LCU.WebApps.Collections.RepoClient environments: - DB