diff --git a/AdminUI/LearningHub.Nhs.AdminUI/LearningHub.Nhs.AdminUI.csproj b/AdminUI/LearningHub.Nhs.AdminUI/LearningHub.Nhs.AdminUI.csproj
index 0b26b9cd7..3eb1d8323 100644
--- a/AdminUI/LearningHub.Nhs.AdminUI/LearningHub.Nhs.AdminUI.csproj
+++ b/AdminUI/LearningHub.Nhs.AdminUI/LearningHub.Nhs.AdminUI.csproj
@@ -89,7 +89,7 @@
-
+
diff --git a/LearningHub.Nhs.WebUI/Controllers/SearchController.cs b/LearningHub.Nhs.WebUI/Controllers/SearchController.cs
index ac314f6c9..0d4081a5d 100644
--- a/LearningHub.Nhs.WebUI/Controllers/SearchController.cs
+++ b/LearningHub.Nhs.WebUI/Controllers/SearchController.cs
@@ -6,6 +6,7 @@ namespace LearningHub.Nhs.WebUI.Controllers
using System.Net.Http;
using System.Threading.Tasks;
using LearningHub.Nhs.Models.Search;
+ using LearningHub.Nhs.Models.Search.SearchClick;
using LearningHub.Nhs.WebUI.Filters;
using LearningHub.Nhs.WebUI.Interfaces;
using LearningHub.Nhs.WebUI.Models.Search;
@@ -308,5 +309,52 @@ public async Task GetAutoSuggestion(string term)
var autoSuggestions = await this.searchService.GetAutoSuggestionList(term);
return this.PartialView("_AutoComplete", autoSuggestions);
}
+
+ ///
+ /// Records the AutoSuggestion Click logs.
+ ///
+ /// the term.
+ /// the searchType.
+ /// click Payload Model.
+ /// itemIndex.
+ /// total Number Of Hits.
+ /// containerId.
+ /// name.
+ /// query.
+ /// userQuery.
+ /// searchId.
+ /// timeOfSearch.
+ /// title.
+ /// Action result.
+ [HttpGet("record-autosuggestion-click")]
+ public IActionResult RecordAutoSuggestionClick(string term, string url, string clickTargetUrl, int itemIndex, int totalNumberOfHits, string containerId, string name, string query, string userQuery, string searchId, long timeOfSearch, string title)
+ {
+ AutoSuggestionClickPayloadModel clickPayloadModel = new AutoSuggestionClickPayloadModel
+ {
+ ClickTargetUrl = clickTargetUrl,
+ ContainerId = containerId,
+ HitNumber = itemIndex,
+ TimeOfClick = timeOfSearch,
+ DocumentFields = new SearchClickDocumentModel
+ {
+ Name = name,
+ Title = title,
+ },
+ SearchSignal = new SearchClickSignalModel
+ {
+ Query = query,
+ SearchId = searchId,
+ TimeOfSearch = timeOfSearch,
+ UserQuery = userQuery,
+ Stats = new SearchClickStatsModel
+ {
+ TotalHits = totalNumberOfHits,
+ },
+ },
+ };
+
+ this.searchService.SendAutoSuggestionClickActionAsync(clickPayloadModel);
+ return this.Redirect(url);
+ }
}
}
\ No newline at end of file
diff --git a/LearningHub.Nhs.WebUI/Interfaces/ISearchService.cs b/LearningHub.Nhs.WebUI/Interfaces/ISearchService.cs
index 8a2f0aec1..3f083bc38 100644
--- a/LearningHub.Nhs.WebUI/Interfaces/ISearchService.cs
+++ b/LearningHub.Nhs.WebUI/Interfaces/ISearchService.cs
@@ -3,6 +3,7 @@
using System.Security.Principal;
using System.Threading.Tasks;
using LearningHub.Nhs.Models.Search;
+ using LearningHub.Nhs.Models.Search.SearchClick;
using LearningHub.Nhs.WebUI.Models.Search;
///
@@ -91,5 +92,12 @@ public interface ISearchService
/// The term.
/// The .
Task GetAutoSuggestionList(string term);
+
+ ///
+ /// The Send AutoSuggestion Click Action Async.
+ ///
+ /// The click Payload Model.
+ /// The .
+ Task SendAutoSuggestionClickActionAsync(AutoSuggestionClickPayloadModel clickPayloadModel);
}
}
diff --git a/LearningHub.Nhs.WebUI/LearningHub.Nhs.WebUI.csproj b/LearningHub.Nhs.WebUI/LearningHub.Nhs.WebUI.csproj
index f20842a9a..b49d33805 100644
--- a/LearningHub.Nhs.WebUI/LearningHub.Nhs.WebUI.csproj
+++ b/LearningHub.Nhs.WebUI/LearningHub.Nhs.WebUI.csproj
@@ -108,7 +108,7 @@
-
+
diff --git a/LearningHub.Nhs.WebUI/Services/SearchService.cs b/LearningHub.Nhs.WebUI/Services/SearchService.cs
index c8628270f..16680a81e 100644
--- a/LearningHub.Nhs.WebUI/Services/SearchService.cs
+++ b/LearningHub.Nhs.WebUI/Services/SearchService.cs
@@ -13,6 +13,7 @@ namespace LearningHub.Nhs.WebUI.Services
using LearningHub.Nhs.Models.Common;
using LearningHub.Nhs.Models.Enums;
using LearningHub.Nhs.Models.Search;
+ using LearningHub.Nhs.Models.Search.SearchClick;
using LearningHub.Nhs.WebUI.Configuration;
using LearningHub.Nhs.WebUI.Helpers;
using LearningHub.Nhs.WebUI.Interfaces;
@@ -691,6 +692,44 @@ public async Task GetAutoSuggestionList(string term)
return viewModel;
}
+ ///
+ /// The Send AutoSuggestion Click Action.
+ ///
+ /// The search action catalogue model.
+ /// The .
+ public async Task SendAutoSuggestionClickActionAsync(AutoSuggestionClickPayloadModel clickPayloadModel)
+ {
+ try
+ {
+ var client = await this.LearningHubHttpClient.GetClientAsync();
+
+ var json = JsonConvert.SerializeObject(clickPayloadModel);
+ var stringContent = new StringContent(json, UnicodeEncoding.UTF8, "application/json");
+
+ var request = $"Search/SendAutoSuggestionClickAction";
+ var response = await client.PostAsync(request, stringContent).ConfigureAwait(false);
+
+ if (response.IsSuccessStatusCode)
+ {
+ var result = response.Content.ReadAsStringAsync().Result;
+ ApiResponse apiResponse = JsonConvert.DeserializeObject(result) as ApiResponse;
+
+ if (!apiResponse.Success)
+ {
+ throw new Exception("Error sending AutoSuggestion click Action!");
+ }
+ }
+ else
+ {
+ throw new Exception(string.Format("Error sending AutoSuggestion click Action!"));
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(string.Format("Error sending AutoSuggestion click Action: {0}", ex.Message));
+ }
+ }
+
///
/// The RemoveHtmlTags.
///
diff --git a/LearningHub.Nhs.WebUI/Views/Search/_AutoComplete.cshtml b/LearningHub.Nhs.WebUI/Views/Search/_AutoComplete.cshtml
index ba031ab0e..151b27f98 100644
--- a/LearningHub.Nhs.WebUI/Views/Search/_AutoComplete.cshtml
+++ b/LearningHub.Nhs.WebUI/Views/Search/_AutoComplete.cshtml
@@ -1,7 +1,35 @@
@model LearningHub.Nhs.Models.Search.AutoSuggestionModel;
+
+@using LearningHub.Nhs.Models.Search.SearchClick;
+@using Microsoft.AspNetCore.WebUtilities
+@using System.Web
@{
var counter = 0;
var counter_res = 0;
+ string GetUrl(string term, string searchType, AutoSuggestionClickPayloadModel payload, string reference, int? resourceReferenceId)
+ {
+ var url = string.Empty;
+ if (!string.IsNullOrEmpty(reference) && searchType == "Catalogues")
+ {
+ url = "/Catalogue/" + reference;
+ }
+ else if ((resourceReferenceId > 0) && searchType == "Resource")
+ {
+ url = "/Resource/" + resourceReferenceId;
+ }
+ else if (!string.IsNullOrEmpty(term) && searchType == "Concepts")
+ {
+ url = "/Search/results?term=" + term;
+ }
+ else
+ {
+ url = "/Search/results?term=" + term;
+ }
+
+ return $@"/search/record-autosuggestion-click?term={term}&url={url}&clickTargetUrl={payload.ClickTargetUrl}&itemIndex={payload?.HitNumber}&&totalNumberOfHits={payload?.SearchSignal?.Stats?.TotalHits}
+&containerId={payload?.ContainerId}&name={payload?.DocumentFields.Name}&query={payload?.SearchSignal?.Query}&userQuery={HttpUtility.UrlEncode(payload?.SearchSignal?.UserQuery)}
+&searchId={payload?.SearchSignal?.SearchId}&timeOfSearch={payload?.SearchSignal?.TimeOfSearch}&title={payload?.DocumentFields?.Title}";
+ }
}
@if (Model != null)
{
@@ -9,7 +37,7 @@
{
counter++;
-
+
@@ -21,7 +49,7 @@
{
counter_res++;
-
+
@@ -33,7 +61,7 @@
@foreach (var item in Model.CatalogueDocument.CatalogueDocumentList)
{
-
+
diff --git a/WebAPI/LearningHub.Nhs.API/Controllers/SearchController.cs b/WebAPI/LearningHub.Nhs.API/Controllers/SearchController.cs
index 8b0b9beb7..ea4d10d04 100644
--- a/WebAPI/LearningHub.Nhs.API/Controllers/SearchController.cs
+++ b/WebAPI/LearningHub.Nhs.API/Controllers/SearchController.cs
@@ -7,6 +7,7 @@
using LearningHub.Nhs.Models.Common;
using LearningHub.Nhs.Models.Enums;
using LearningHub.Nhs.Models.Search;
+ using LearningHub.Nhs.Models.Search.SearchClick;
using LearningHub.Nhs.Models.Validation;
using LearningHub.Nhs.Repository.Interface;
using LearningHub.Nhs.Services.Interface;
@@ -233,11 +234,35 @@ public async Task GetAllCatalogueSearchResult(AllCatalogueSearchR
[Route("GetAutoSuggestionResult/{term}")]
public async Task GetAutoSuggestionResults(string term)
{
- var autosuggestionViewModel = new AutoSuggestionModel();
- autosuggestionViewModel = await this.searchService.GetAutoSuggestionResultsAsync(term);
+ var autosuggestionViewModel = await this.GetAutoSuggestions(term);
return this.Ok(autosuggestionViewModel);
}
+ ///
+ /// Send AutoSuggestion Click action.
+ ///
+ ///
+ /// The click Payload model.
+ ///
+ ///
+ /// Nothing.
+ ///
+ [HttpPost]
+ [Route("SendAutoSuggestionClickAction")]
+ public async Task SendAutoSuggestionClickAction(AutoSuggestionClickPayloadModel clickPayloadModel)
+ {
+ var eventCreated = await this.searchService.SendAutoSuggestionEventAsync(clickPayloadModel);
+
+ if (eventCreated)
+ {
+ return this.Ok(new ApiResponse(true));
+ }
+ else
+ {
+ return this.BadRequest(new ApiResponse(false));
+ }
+ }
+
///
/// Get search result.
///
@@ -480,5 +505,36 @@ private async Task GetAllCatalogueResults(AllCatalo
return searchViewModel;
}
+
+ ///
+ /// Get AutoSuggestion Results.
+ ///
+ /// term.
+ /// The .
+ private async Task GetAutoSuggestions(string term)
+ {
+ var autosuggestionModel = await this.searchService.GetAutoSuggestionResultsAsync(term);
+ if (autosuggestionModel != null)
+ {
+ var documents = autosuggestionModel.CatalogueDocument.CatalogueDocumentList;
+ var documentIds = documents.Select(x => int.Parse(x.Id)).ToList();
+ var catalogues = this.catalogueService.GetCataloguesByNodeId(documentIds);
+
+ foreach (var document in documents)
+ {
+ var catalogue = catalogues.SingleOrDefault(x => x.NodeId == int.Parse(document.Id));
+ if (catalogue == null)
+ {
+ continue;
+ }
+
+ document.Url = catalogue.Url;
+ }
+
+ autosuggestionModel.CatalogueDocument.CatalogueDocumentList = documents;
+ }
+
+ return autosuggestionModel;
+ }
}
}
\ No newline at end of file
diff --git a/WebAPI/LearningHub.Nhs.API/LearningHub.Nhs.Api.csproj b/WebAPI/LearningHub.Nhs.API/LearningHub.Nhs.Api.csproj
index 780f22f77..86a1a5dd3 100644
--- a/WebAPI/LearningHub.Nhs.API/LearningHub.Nhs.Api.csproj
+++ b/WebAPI/LearningHub.Nhs.API/LearningHub.Nhs.Api.csproj
@@ -27,7 +27,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.API/appsettings.json b/WebAPI/LearningHub.Nhs.API/appsettings.json
index 623e0cd84..6e5e930ef 100644
--- a/WebAPI/LearningHub.Nhs.API/appsettings.json
+++ b/WebAPI/LearningHub.Nhs.API/appsettings.json
@@ -84,19 +84,20 @@
},
"FindWise": {
- "IndexUrl": "",
- "SearchUrl": "",
+ "IndexUrl": "",
+ "SearchUrl": "",
"CollectionIds": {
"Resource": "",
"Catalogue": "",
"AutoSuggestion": ""
},
- "UrlSearchComponent": "rest/apps/HEE/searchers/{0}",
- "UrlClickComponent": "rest/apps/HEE/searchers/hee/signals/hee/signal/click",
- "Token": "",
- "MaximumDescriptionLength": 150,
- "IndexMethod": "/rest/v2/collections/{0}/documents",
- "DescriptionLengthLimit": 3000
+ "UrlSearchComponent": "rest/apps/HEE/searchers/{0}",
+ "UrlClickComponent": "rest/apps/HEE/searchers/hee/signals/hee/signal/click",
+ "UrlAutoSuggestionClickComponent": "rest/apps/HEE/searchers/hee/signals/hee/signal/click-hee",
+ "Token": "",
+ "MaximumDescriptionLength": 150,
+ "IndexMethod": "/rest/v2/collections/{0}/documents",
+ "DescriptionLengthLimit": 3000
},
"Notifications": {
"PublishResourceTimeToProcessInSec": 30,
diff --git a/WebAPI/LearningHub.Nhs.Api.Shared/Configuration/FindwiseSettings.cs b/WebAPI/LearningHub.Nhs.Api.Shared/Configuration/FindwiseSettings.cs
index c68ab9dd9..aa3802eee 100644
--- a/WebAPI/LearningHub.Nhs.Api.Shared/Configuration/FindwiseSettings.cs
+++ b/WebAPI/LearningHub.Nhs.Api.Shared/Configuration/FindwiseSettings.cs
@@ -25,6 +25,11 @@ public class FindwiseSettings
///
public string UrlClickComponent { get; set; }
+ ///
+ /// Gets or sets the url AutoSuggestion click component.
+ ///
+ public string UrlAutoSuggestionClickComponent { get; set; }
+
///
/// Gets or sets the token.
///
diff --git a/WebAPI/LearningHub.Nhs.Api.Shared/LearningHub.Nhs.Api.Shared.csproj b/WebAPI/LearningHub.Nhs.Api.Shared/LearningHub.Nhs.Api.Shared.csproj
index 829bad9be..831497bc2 100644
--- a/WebAPI/LearningHub.Nhs.Api.Shared/LearningHub.Nhs.Api.Shared.csproj
+++ b/WebAPI/LearningHub.Nhs.Api.Shared/LearningHub.Nhs.Api.Shared.csproj
@@ -9,7 +9,7 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/WebAPI/LearningHub.Nhs.Api.UnitTests/LearningHub.Nhs.Api.UnitTests.csproj b/WebAPI/LearningHub.Nhs.Api.UnitTests/LearningHub.Nhs.Api.UnitTests.csproj
index 72f794c05..6da2ec625 100644
--- a/WebAPI/LearningHub.Nhs.Api.UnitTests/LearningHub.Nhs.Api.UnitTests.csproj
+++ b/WebAPI/LearningHub.Nhs.Api.UnitTests/LearningHub.Nhs.Api.UnitTests.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.Repository.Interface/LearningHub.Nhs.Repository.Interface.csproj b/WebAPI/LearningHub.Nhs.Repository.Interface/LearningHub.Nhs.Repository.Interface.csproj
index 7d7158ca5..ac60ee1b6 100644
--- a/WebAPI/LearningHub.Nhs.Repository.Interface/LearningHub.Nhs.Repository.Interface.csproj
+++ b/WebAPI/LearningHub.Nhs.Repository.Interface/LearningHub.Nhs.Repository.Interface.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.Repository/LearningHub.Nhs.Repository.csproj b/WebAPI/LearningHub.Nhs.Repository/LearningHub.Nhs.Repository.csproj
index ad69ef225..3027cdbc6 100644
--- a/WebAPI/LearningHub.Nhs.Repository/LearningHub.Nhs.Repository.csproj
+++ b/WebAPI/LearningHub.Nhs.Repository/LearningHub.Nhs.Repository.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.Services.Interface/ISearchService.cs b/WebAPI/LearningHub.Nhs.Services.Interface/ISearchService.cs
index 0fb99c731..aa13fdf0e 100644
--- a/WebAPI/LearningHub.Nhs.Services.Interface/ISearchService.cs
+++ b/WebAPI/LearningHub.Nhs.Services.Interface/ISearchService.cs
@@ -2,6 +2,7 @@
{
using System.Threading.Tasks;
using LearningHub.Nhs.Models.Search;
+ using LearningHub.Nhs.Models.Search.SearchClick;
using LearningHub.Nhs.Models.Search.SearchFeedback;
using LearningHub.Nhs.Models.Validation;
@@ -182,5 +183,12 @@ public interface ISearchService
/// the term.
/// The .
Task GetAutoSuggestionResultsAsync(string term);
+
+ ///
+ /// The Send AutoSuggestion Event Async.
+ ///
+ /// The click Payload Model.
+ /// The .
+ Task SendAutoSuggestionEventAsync(AutoSuggestionClickPayloadModel clickPayloadModel);
}
}
diff --git a/WebAPI/LearningHub.Nhs.Services.Interface/LearningHub.Nhs.Services.Interface.csproj b/WebAPI/LearningHub.Nhs.Services.Interface/LearningHub.Nhs.Services.Interface.csproj
index 3755bd4a9..b49011e8c 100644
--- a/WebAPI/LearningHub.Nhs.Services.Interface/LearningHub.Nhs.Services.Interface.csproj
+++ b/WebAPI/LearningHub.Nhs.Services.Interface/LearningHub.Nhs.Services.Interface.csproj
@@ -16,7 +16,7 @@
-
+
all
diff --git a/WebAPI/LearningHub.Nhs.Services.UnitTests/LearningHub.Nhs.Services.UnitTests.csproj b/WebAPI/LearningHub.Nhs.Services.UnitTests/LearningHub.Nhs.Services.UnitTests.csproj
index 97879cf14..ef4a2180b 100644
--- a/WebAPI/LearningHub.Nhs.Services.UnitTests/LearningHub.Nhs.Services.UnitTests.csproj
+++ b/WebAPI/LearningHub.Nhs.Services.UnitTests/LearningHub.Nhs.Services.UnitTests.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.Services/LearningHub.Nhs.Services.csproj b/WebAPI/LearningHub.Nhs.Services/LearningHub.Nhs.Services.csproj
index 9b9bb5f7d..9a2ab84b2 100644
--- a/WebAPI/LearningHub.Nhs.Services/LearningHub.Nhs.Services.csproj
+++ b/WebAPI/LearningHub.Nhs.Services/LearningHub.Nhs.Services.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.Services/SearchService.cs b/WebAPI/LearningHub.Nhs.Services/SearchService.cs
index c98bddfcf..d05c73cb5 100644
--- a/WebAPI/LearningHub.Nhs.Services/SearchService.cs
+++ b/WebAPI/LearningHub.Nhs.Services/SearchService.cs
@@ -633,6 +633,25 @@ public async Task GetAutoSuggestionResultsAsync(string term
}
}
+ ///
+ /// The AutoSuggestion Event action async.
+ ///
+ ///
+ /// The clic kPayload Model.
+ ///
+ ///
+ /// The .
+ ///
+ public async Task SendAutoSuggestionEventAsync(AutoSuggestionClickPayloadModel clickPayloadModel)
+ {
+ clickPayloadModel.TimeOfClick = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
+ clickPayloadModel.SearchSignal.ProfileSignature.ApplicationId = ApplicationId;
+ clickPayloadModel.SearchSignal.ProfileSignature.ProfileType = ProfileType;
+ clickPayloadModel.SearchSignal.ProfileSignature.ProfileId = this.settings.Findwise.CollectionIds.AutoSuggestion;
+
+ return await this.SendAutoSuggestionEventClickAsync(clickPayloadModel);
+ }
+
///
/// Send search click payload.
///
@@ -685,6 +704,55 @@ private async Task SendSearchEventClickAsync(SearchClickPayloadModel searc
}
}
+ ///
+ /// Send auto suggestion click payload.
+ ///
+ /// search click payload model.
+ ///
+ /// The .
+ ///
+ private async Task SendAutoSuggestionEventClickAsync(AutoSuggestionClickPayloadModel clickPayloadModel)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(this.settings.Findwise.UrlAutoSuggestionClickComponent))
+ {
+ this.Logger.LogWarning($"The UrlClickComponent is not configured. Auto suggestion click event not send to FindWise.");
+ }
+ else
+ {
+ var json = JsonConvert.SerializeObject(clickPayloadModel);
+ var base64EncodedString = BinaryFormatterHelper.Base64EncodeObject(json);
+
+ var request = $"{this.settings.Findwise.UrlAutoSuggestionClickComponent}?payload={base64EncodedString}";
+
+ var client = await this.FindWiseHttpClient.GetClient(this.settings.Findwise.SearchUrl);
+ var response = await client.PostAsync(request, null).ConfigureAwait(false);
+
+ if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized || response.StatusCode == System.Net.HttpStatusCode.Forbidden)
+ {
+ this.Logger.LogError($"Click event save to FindWise failed for Auto suggestion: {clickPayloadModel.ClickTargetUrl} HTTP Status Code: {response.StatusCode}");
+ throw new Exception("AccessDenied");
+ }
+ else if (!response.IsSuccessStatusCode)
+ {
+ this.Logger.LogError($"Click event save to FindWise failed for Auto suggestion: {clickPayloadModel.ClickTargetUrl} HTTP Status Code: {response.StatusCode}");
+ throw new Exception($"Click event save to FindWise failed for Auto suggestion: {json}");
+ }
+ else
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+ catch (Exception ex)
+ {
+ throw new Exception($"Click event save to FindWise failed for Auto suggestion: {clickPayloadModel.ClickTargetUrl} : {ex.Message}");
+ }
+ }
+
private string EncodeSearchText(string searchText)
{
string specialSearchCharacters = this.settings.SpecialSearchCharacters;
diff --git a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.ConsoleApp/LearningHub.Nhs.Migration.ConsoleApp.csproj b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.ConsoleApp/LearningHub.Nhs.Migration.ConsoleApp.csproj
index aef6c8475..28730e740 100644
--- a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.ConsoleApp/LearningHub.Nhs.Migration.ConsoleApp.csproj
+++ b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.ConsoleApp/LearningHub.Nhs.Migration.ConsoleApp.csproj
@@ -24,7 +24,7 @@
-
+
all
diff --git a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Interface/LearningHub.Nhs.Migration.Interface.csproj b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Interface/LearningHub.Nhs.Migration.Interface.csproj
index 8c01c9143..d08aa9391 100644
--- a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Interface/LearningHub.Nhs.Migration.Interface.csproj
+++ b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Interface/LearningHub.Nhs.Migration.Interface.csproj
@@ -9,7 +9,7 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Models/LearningHub.Nhs.Migration.Models.csproj b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Models/LearningHub.Nhs.Migration.Models.csproj
index a80919111..28916df8b 100644
--- a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Models/LearningHub.Nhs.Migration.Models.csproj
+++ b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Models/LearningHub.Nhs.Migration.Models.csproj
@@ -10,7 +10,7 @@
-
+
all
diff --git a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Staging.Repository/LearningHub.Nhs.Migration.Staging.Repository.csproj b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Staging.Repository/LearningHub.Nhs.Migration.Staging.Repository.csproj
index c65d9208e..e71105e0b 100644
--- a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Staging.Repository/LearningHub.Nhs.Migration.Staging.Repository.csproj
+++ b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Staging.Repository/LearningHub.Nhs.Migration.Staging.Repository.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.UnitTests/LearningHub.Nhs.Migration.UnitTests.csproj b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.UnitTests/LearningHub.Nhs.Migration.UnitTests.csproj
index 416c85de0..9addb85a0 100644
--- a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.UnitTests/LearningHub.Nhs.Migration.UnitTests.csproj
+++ b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.UnitTests/LearningHub.Nhs.Migration.UnitTests.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/WebAPI/MigrationTool/LearningHub.Nhs.Migration/LearningHub.Nhs.Migration.csproj b/WebAPI/MigrationTool/LearningHub.Nhs.Migration/LearningHub.Nhs.Migration.csproj
index 9c68fccf6..8e0c512aa 100644
--- a/WebAPI/MigrationTool/LearningHub.Nhs.Migration/LearningHub.Nhs.Migration.csproj
+++ b/WebAPI/MigrationTool/LearningHub.Nhs.Migration/LearningHub.Nhs.Migration.csproj
@@ -12,7 +12,7 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive