This commit is contained in:
@@ -41,13 +41,13 @@ namespace AyaNova.Api.Controllers
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
[HttpGet("hello")]
|
[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
|
bool showSampleLogins = false;
|
||||||
//offer a language selection up front and or see if the server is contactable
|
if (AyaNova.Core.License.ActiveKey.Status == AyaNova.Core.License.AyaNovaLicenseKey.LicenseStatus.ActiveTrial)
|
||||||
// if (serverState.IsClosed)
|
showSampleLogins = await AyaNova.Util.DbUtil.DBHasTrialUsersAsync(ct, log);
|
||||||
// return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
|
|
||||||
return Ok(ApiOkResponse.Response(AyaNova.Core.License.ActiveKey.Status));
|
return Ok(ApiOkResponse.Response(showSampleLogins));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using AyaNova.Models;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace AyaNova.Util
|
namespace AyaNova.Util
|
||||||
{
|
{
|
||||||
@@ -407,11 +408,34 @@ namespace AyaNova.Util
|
|||||||
if (await ct.Part.AnyAsync()) return false;
|
if (await ct.Part.AnyAsync()) return false;
|
||||||
if (await ct.Project.AnyAsync()) return false;
|
if (await ct.Project.AnyAsync()) return false;
|
||||||
if (await ct.PurchaseOrder.AnyAsync()) return false;
|
if (await ct.PurchaseOrder.AnyAsync()) return false;
|
||||||
|
|
||||||
return true;
|
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
|
// Ensure the db is not modified
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user