Fix admin route access and backend configuration

- Added /admin redirect to login page in nginx config
- Fixed backend server.js route ordering for proper admin handling
- Updated authentication middleware and routes
- Added user management routes
- Configured PostgreSQL integration
- Updated environment configuration
This commit is contained in:
Local Server
2025-12-13 22:34:11 -06:00
parent 8bb6430a70
commit 703ab57984
253 changed files with 29870 additions and 157 deletions

View File

@@ -0,0 +1,25 @@
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using SkyArtShop.Models;
using SkyArtShop.Services;
namespace SkyArtShop.ViewComponents;
public class FooterPagesViewComponent : ViewComponent
{
private readonly PostgreSQLService _pgService;
public FooterPagesViewComponent(PostgreSQLService pgService)
{
_pgService = pgService;
}
public async Task<IViewComponentResult> InvokeAsync()
{
return View((from p in await _pgService.GetAllAsync<Page>("Pages")
where p.IsActive
orderby p.PageName
select p).ToList());
}
}

View File

@@ -0,0 +1,36 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using SkyArtShop.Models;
using SkyArtShop.Services;
namespace SkyArtShop.ViewComponents;
public class NavigationViewComponent : ViewComponent
{
private readonly PostgreSQLService _pgService;
public NavigationViewComponent(PostgreSQLService pgService)
{
_pgService = pgService;
}
public async Task<IViewComponentResult> InvokeAsync(string location = "navbar")
{
List<MenuItem> source = await _pgService.GetAllAsync<MenuItem>("MenuItems");
if (location == "dropdown")
{
List<MenuItem> model = (from m in source
where m.IsActive && m.ShowInDropdown
orderby m.DisplayOrder
select m).ToList();
return View(model);
}
List<MenuItem> model2 = (from m in source
where m.IsActive && m.ShowInNavbar
orderby m.DisplayOrder
select m).ToList();
return View(model2);
}
}