This commit is contained in:
2020-06-16 22:17:25 +00:00
parent e48dff80b2
commit 50b9f873d9
2 changed files with 31 additions and 7 deletions

View File

@@ -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));
} }

View File

@@ -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
// //