Skip to content

Commit

Permalink
chore: #869: Add new debug endpoint for Atlas donor store to test don…
Browse files Browse the repository at this point in the history
…or import.
  • Loading branch information
zabeen committed Jan 30, 2023
1 parent 99492e9 commit 73ce09a
Show file tree
Hide file tree
Showing 3 changed files with 51,040 additions and 56,999 deletions.
40 changes: 40 additions & 0 deletions Atlas.DonorImport.Functions/Functions/Debug/DonorFunctions.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
using System.Collections.Generic;
using Atlas.Common.Utils.Http;
using Atlas.DonorImport.ExternalInterface;
using AzureFunctions.Extensions.Swashbuckle.Attribute;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Newtonsoft.Json;
using System.IO;
using System.Net;
using System.Threading.Tasks;
using Atlas.DonorImport.ExternalInterface.Models;

namespace Atlas.DonorImport.Functions.Functions.Debug
{
public class DonorFunctions
{
private readonly IDonorReader donorReader;

public DonorFunctions(IDonorReader donorReader)
{
this.donorReader = donorReader;
}

[FunctionName(nameof(GetDonors))]
[ProducesResponseType(typeof(IEnumerable<Donor>), (int)HttpStatusCode.OK)]
public async Task<IActionResult> GetDonors(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = $"{RouteConstants.DebugRoutePrefix}/donors")]
[RequestBodyType(typeof(string[]), "Donor Record Ids")]
HttpRequest request)
{
var recordIds = JsonConvert.DeserializeObject<string[]>(await new StreamReader(request.Body).ReadToEndAsync());

var donors = await donorReader.GetDonorsByExternalDonorCodes(recordIds);

return new JsonResult(donors.Values);
}
}
}
2 changes: 2 additions & 0 deletions Atlas.DonorImport.Functions/Startup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ public override void Configure(IFunctionsHostBuilder builder)
OptionsReaderFor<PublishDonorUpdatesSettings>(),
ConnectionStringReader("DonorStoreSql")
);

builder.Services.RegisterDonorReader(ConnectionStringReader("DonorStoreSql"));
}

private static void RegisterSettings(IServiceCollection services)
Expand Down
Loading

0 comments on commit 73ce09a

Please sign in to comment.