This commit is contained in:
@@ -41,13 +41,13 @@ namespace AyaNova.Api.Controllers
|
||||
/// <returns></returns>
|
||||
[AllowAnonymous]
|
||||
[HttpGet("hello")]
|
||||
public ActionResult GetPreLoginPing()
|
||||
public async Task<IActionResult> GetPreLoginPing()
|
||||
{
|
||||
//note: this route is called by the client to determine if it should display trial login ui
|
||||
//offer a language selection up front and or see if the server is contactable
|
||||
// if (serverState.IsClosed)
|
||||
// return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
|
||||
return Ok(ApiOkResponse.Response(AyaNova.Core.License.ActiveKey.Status));
|
||||
bool showSampleLogins = false;
|
||||
if (AyaNova.Core.License.ActiveKey.Status == AyaNova.Core.License.AyaNovaLicenseKey.LicenseStatus.ActiveTrial)
|
||||
showSampleLogins = await AyaNova.Util.DbUtil.DBHasTrialUsersAsync(ct, log);
|
||||
|
||||
return Ok(ApiOkResponse.Response(showSampleLogins));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ using AyaNova.Models;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Linq;
|
||||
|
||||
namespace AyaNova.Util
|
||||
{
|
||||
@@ -407,11 +408,34 @@ namespace AyaNova.Util
|
||||
if (await ct.Part.AnyAsync()) return false;
|
||||
if (await ct.Project.AnyAsync()) return false;
|
||||
if (await ct.PurchaseOrder.AnyAsync()) return false;
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////
|
||||
// Check if DB has evaluation user accounts
|
||||
// CALLED BY by login ping from licent via notify controller
|
||||
internal static async Task<bool> DBHasTrialUsersAsync(AyContext ct, ILogger _log)
|
||||
{
|
||||
_log.LogDebug("DB trial users presence check");
|
||||
//There are 22 trial users (more but for internal use) in a trial database
|
||||
if (await ct.User.LongCountAsync() < 22) return false;
|
||||
|
||||
//just check for a few for testing
|
||||
if(await ct.User.AsNoTracking()
|
||||
.Where(z =>
|
||||
z.Login == "BizAdminFull" ||
|
||||
z.Login == "DispatchFull" ||
|
||||
z.Login == "InventoryFull" ||
|
||||
z.Login == "Accounting" ||
|
||||
z.Login == "TechFull"
|
||||
).LongCountAsync() < 5) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////
|
||||
// Ensure the db is not modified
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user