Many more changes to get to a build for testing

This commit is contained in:
2026-09-25 12:46:19 -07:00
parent c68ddbc24a
commit 1ac923b907
5 changed files with 89 additions and 81 deletions

View File

@@ -1,78 +1,78 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Routing;
using Microsoft.Extensions.Logging;
using Sockeye.Models;
using Sockeye.Api.ControllerHelpers;
using Newtonsoft.Json.Linq;
using System;
using Sockeye.Biz;
// using System.Threading.Tasks;
// using Microsoft.AspNetCore.Mvc;
// using Microsoft.AspNetCore.Routing;
// using Microsoft.Extensions.Logging;
// using Sockeye.Models;
// using Sockeye.Api.ControllerHelpers;
// using Newtonsoft.Json.Linq;
// using System;
// using Sockeye.Biz;
namespace Sockeye.Api.Controllers
{
// namespace Sockeye.Api.Controllers
// {
[Produces("application/json")]
[Route("api/order")]
public class OrderController : ControllerBase //RECEIVE ORDERS FROM VENDOR (MyCommerce)
{
// [Produces("application/json")]
// [Route("api/order")]
// public class OrderController : ControllerBase //RECEIVE ORDERS FROM VENDOR (MyCommerce)
// {
private readonly AyContext ct;
private readonly ILogger<OrderController> log;
private readonly ApiServerState serverState;
// private readonly AyContext ct;
// private readonly ILogger<OrderController> log;
// private readonly ApiServerState serverState;
/// <summary>
/// ctor
/// </summary>
/// <param name="dbcontext"></param>
/// <param name="logger"></param>
/// <param name="apiServerState"></param>
public OrderController(AyContext dbcontext, ILogger<OrderController> logger, ApiServerState apiServerState)
{
ct = dbcontext;
log = logger;
serverState = apiServerState;
}
//Receive an order notification from ShareIt
//https://account.mycommerce.com/home/wiki/7479805
[HttpPost("shareit")]
public async Task<IActionResult> Post([FromHeader] string Authorization, [FromBody] JObject j)
{
if (!serverState.IsOpen)
{
var msg = ("Server state was not open when Vendor Order notification received; returning 503 (temp. unavailable) to them, they should retry when server open again.");
log.LogError(msg);
await NotifyEventHelper.AddOpsProblemEvent(msg);
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
}
// /// <summary>
// /// ctor
// /// </summary>
// /// <param name="dbcontext"></param>
// /// <param name="logger"></param>
// /// <param name="apiServerState"></param>
// public OrderController(AyContext dbcontext, ILogger<OrderController> logger, ApiServerState apiServerState)
// {
// ct = dbcontext;
// log = logger;
// serverState = apiServerState;
// }
// //Receive an order notification from ShareIt
// //https://account.mycommerce.com/home/wiki/7479805
// [HttpPost("shareit")]
// public async Task<IActionResult> Post([FromHeader] string Authorization, [FromBody] JObject j)
// {
// if (!serverState.IsOpen)
// {
// var msg = ("Server state was not open when Vendor Order notification received; returning 503 (temp. unavailable) to them, they should retry when server open again.");
// log.LogError(msg);
// await NotifyEventHelper.AddOpsProblemEvent(msg);
// return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
// }
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
try
{
(string username, string password) = Sockeye.Util.AutoOrderProcessingUtil.GetUsernameAndPasswordFromAuthorizeHeader(Authorization);
if (username == "Y24PYYDQSA1L12905N5MKU" && password == "MA8GMQK2PC3FDNT1RTR68R")
{
//save it to the database
var vn = new VendorNotification();
vn.Created = DateTime.UtcNow;
vn.VendorId = 1;//MyCommerce/shareit is vendor 1, for now that's all that's needed
vn.VendorData = j.ToString();
await ct.VendorNotification.AddAsync(vn);
await ct.SaveChangesAsync();
}
}
catch (Exception ex)
{
log.LogError(ex, "OrderController/shareit - Exception processing vendor notification, returned 503 to vendor");
await NotifyEventHelper.AddOpsProblemEvent("OrderController/shareit - Exception processing vendor notification, see log");
return StatusCode(503);//ask it to retry again later
}
return Ok("ok");//shareit notifier looks for an OK response to know if it should resend or not https://account.mycommerce.com/home/wiki/7479805
}
//------------
// if (!ModelState.IsValid)
// {
// return BadRequest(ModelState);
// }
// try
// {
// (string username, string password) = Sockeye.Util.AutoOrderProcessingUtil.GetUsernameAndPasswordFromAuthorizeHeader(Authorization);
// if (username == "Y24PYYDQSA1L12905N5MKU" && password == "MA8GMQK2PC3FDNT1RTR68R")
// {
// //save it to the database
// var vn = new VendorNotification();
// vn.Created = DateTime.UtcNow;
// vn.VendorId = 1;//MyCommerce/shareit is vendor 1, for now that's all that's needed
// vn.VendorData = j.ToString();
// await ct.VendorNotification.AddAsync(vn);
// await ct.SaveChangesAsync();
// }
// }
// catch (Exception ex)
// {
// log.LogError(ex, "OrderController/shareit - Exception processing vendor notification, returned 503 to vendor");
// await NotifyEventHelper.AddOpsProblemEvent("OrderController/shareit - Exception processing vendor notification, see log");
// return StatusCode(503);//ask it to retry again later
// }
// return Ok("ok");//shareit notifier looks for an OK response to know if it should resend or not https://account.mycommerce.com/home/wiki/7479805
// }
// //------------
}//eoc
}//eons
// }//eoc
// }//eons