This commit is contained in:
@@ -148,8 +148,8 @@ namespace AyaNova.Api.Controllers
|
||||
/// </summary>
|
||||
/// <param name="requestData"></param>
|
||||
/// <returns>HTTP 204 No Content result code on success or fail code with explanation</returns>
|
||||
[HttpPost("trialrequest")]
|
||||
public async Task<IActionResult> RequestTrial([FromBody] dtoRequestTrial requestData)
|
||||
[HttpPost("trialRequest")]
|
||||
public async Task<IActionResult> RequestTrial([FromBody] RequestTrial trialRequest)
|
||||
{
|
||||
if (serverState.IsClosed)
|
||||
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
|
||||
@@ -175,7 +175,7 @@ namespace AyaNova.Api.Controllers
|
||||
}
|
||||
|
||||
//Send the request to RockFish here (or at least start the job to do it in which case return Accepted instead of no content and update comment above)
|
||||
var ret = await Core.License.RequestTrialAsync(requestData.EmailAddress, requestData.RegisteredTo, log);
|
||||
var ret = await Core.License.RequestTrialAsync(trialRequest, log);
|
||||
|
||||
//Log
|
||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserIdFromContext.Id(HttpContext.Items), 0, AyaType.License, AyaEvent.LicenseTrialRequest), ct);
|
||||
|
||||
@@ -13,6 +13,7 @@ using Microsoft.EntityFrameworkCore;
|
||||
//JSON KEY
|
||||
using Org.BouncyCastle.Security;
|
||||
using Org.BouncyCastle.OpenSsl;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
|
||||
|
||||
@@ -27,8 +28,11 @@ namespace AyaNova.Core
|
||||
{
|
||||
|
||||
//License server address
|
||||
// private const string LICENSE_SERVER_URL = "https://rockfish.ayanova.com/";
|
||||
#if (DEBUG)
|
||||
private const string LICENSE_SERVER_URL = "http://localhost:3001/";
|
||||
#else
|
||||
private const string LICENSE_SERVER_URL = "https://rockfish.ayanova.com/";
|
||||
#endif
|
||||
|
||||
//Unlicensed token
|
||||
private const string UNLICENSED_TOKEN = "UNLICENSED";
|
||||
@@ -436,20 +440,28 @@ namespace AyaNova.Core
|
||||
/// Request a key
|
||||
/// </summary>
|
||||
/// <returns>Result string</returns>
|
||||
internal static async Task<string> RequestTrialAsync(string email, string regto, ILogger log)
|
||||
internal static async Task<string> RequestTrialAsync(RequestTrial trialRequest, ILogger log)
|
||||
{
|
||||
|
||||
Microsoft.AspNetCore.Http.Extensions.QueryBuilder q = new Microsoft.AspNetCore.Http.Extensions.QueryBuilder();
|
||||
q.Add("dbid", LicenseDbId.ToString());
|
||||
q.Add("email", email);
|
||||
q.Add("regto", regto);
|
||||
trialRequest.DbId = ServerDbId;
|
||||
|
||||
log.LogDebug($"Requesting trial license for DBID {LicenseDbId.ToString()}");
|
||||
string sUrl = $"{LICENSE_SERVER_URL}rvr" + q.ToQueryString();
|
||||
try
|
||||
{
|
||||
var res = await ServiceProviderProvider.HttpClientFactory.CreateClient().GetStringAsync(sUrl);
|
||||
return res;
|
||||
// var content = new StringContent(jsonObject.ToString(), Encoding.UTF8, "application/json");
|
||||
// var result = client.PostAsync(url, content).Result;
|
||||
|
||||
var content = new StringContent(JsonConvert.SerializeObject(trialRequest), Encoding.UTF8, "application/json");
|
||||
|
||||
var client = ServiceProviderProvider.HttpClientFactory.CreateClient();
|
||||
var res = await client.PostAsync(sUrl, content);
|
||||
if (res.IsSuccessStatusCode)
|
||||
{
|
||||
return "ok";
|
||||
}
|
||||
else return res.Content.ToString();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -478,7 +490,7 @@ namespace AyaNova.Core
|
||||
//FUTURE: if there is any kind of error response or REASON or LicenseFetchStatus then here is
|
||||
//where to deal with it
|
||||
//todo: key should hang off json data object as text version of key
|
||||
//that way we can put other objects on the data return object
|
||||
//that way we can put other objects on the data return object
|
||||
|
||||
AyaNovaLicenseKey ParsedKey = Parse(RawTextKeyFromRockfish, log);
|
||||
if (ParsedKey != null)
|
||||
|
||||
Reference in New Issue
Block a user