3.0.0.3 Control Repository Schema & Logs.

This commit is contained in:
Andy Howard
2025-02-10 18:25:40 +00:00
parent 75185ed302
commit a7bec4e806
36 changed files with 1272 additions and 94 deletions
@@ -17,7 +17,7 @@ using System.Linq;
namespace Sarand.BusinessMgr.Web.Control.Controllers.Instance
{
//=======================================================================
partial class CoreDatabaseController
partial class RepositoryDatabaseController
{
//-------------------------------------------------------------------
// Definitions.
@@ -35,21 +35,21 @@ namespace Sarand.BusinessMgr.Web.Control.Controllers.Instance
//-------------------------------------------------------------------
// Get Core Database Table list ajax request.
//-------------------------------------------------------------------
private class AjaxResponse_CoreDatabaseTableList : AjaxResponse_Data
private class AjaxResponse_RepositoryTableList : AjaxResponse_Data
{
// Construction.
public AjaxResponse_CoreDatabaseTableList(SbmModel_Control model) : base(model) { }
// CoreDatabase list.
public AjaxResponse_RepositoryTableList(SbmModel_Control model) : base(model) { }
// Table list.
public List<TableListData> Tables { get; } = new List<TableListData>();
}
//-------------------------------------------------------------------
[HttpPost]
[Route("Instance/CoreDatabase/Ajax/GetTableList")]
[Route("Instance/CoreDatabase/Ajax/GetTables")]
public IActionResult Ajax_GetTableList(Model_CoreDatabase model)
[Route("Instance/Repository/Ajax/GetTableList")]
[Route("Instance/Repository/Ajax/GetTables")]
public IActionResult Ajax_GetTableList(Model_RepositoryDatabase model)
{
String messageTitle = Localiser["label.database"];
AjaxResponse_CoreDatabaseTableList responseData = new AjaxResponse_CoreDatabaseTableList(model);
AjaxResponse_RepositoryTableList responseData = new AjaxResponse_RepositoryTableList(model);
// Validate session and referrer.
if (!ValidReferer) return Forbid();
@@ -3,25 +3,26 @@ using Microsoft.Extensions.Logging;
using Sarand.BusinessMgr.Net.Core.Web.App;
using Sarand.BusinessMgr.Web.Control.Components;
using Sarand.BusinessMgr.Web.Control.Models.Instance;
using Sarand.BusinessMgr.Web.Control.Models.System;
namespace Sarand.BusinessMgr.Web.Control.Controllers.Instance
{
//======================================================================
public partial class CoreDatabaseController : SbmController_Control
public partial class RepositoryDatabaseController : SbmController_Control
{
//-------------------------------------------------------------------
// Data members.
//-------------------------------------------------------------------
// Construction.
public CoreDatabaseController(SbmLocaliser localiser, ILogger<CoreDatabaseController> logger) :
public RepositoryDatabaseController(SbmLocaliser localiser, ILogger<RepositoryDatabaseController> logger) :
base(localiser, logger)
{
}
//-------------------------------------------------------------------
[Route("Instance/CoreDatabase")]
public IActionResult Index(Model_CoreDatabase model)
[Route("Instance/Repository/Database/Tables")]
public IActionResult DatabaseTables(Model_RepositoryDatabase model)
{
if (!ValidUserSession)
AutoLoginUser();
@@ -38,7 +39,30 @@ namespace Sarand.BusinessMgr.Web.Control.Controllers.Instance
model.Filter.Context = SessionData_Control.Profile.Filter.InstanceContext;
// Core Database view.
return View("Views/Instance/CoreDatabase/Index.cshtml", model);
return View("Views/Instance/Repository/Database/Tables.cshtml", model);
}
//-------------------------------------------------------------------
[Route("Instance/Repository/Database/Schema")]
public IActionResult Schema()
{
if (!ValidUserSession)
AutoLoginUser();
// Redirect to sign-in if not signed-in.
if (!ValidUserSession)
{
ClearKeepLoggedInCookie();
return RedirectToAction("", "Security");
}
// Refresh model.
Model_System model = new Model_System(Localiser);
RefreshModel(model);
model.DatabaseFilter.Instance = SessionData_Control.Profile.Filter.InstanceContext;
// Core Database view.
return View("Views/Instance/Repository/Database/Schema.cshtml", model);
}
//-------------------------------------------------------------------