using Management.Data; using Management.Security; using Management.Controllers.Admin; using Microsoft.AspNetCore.Mvc; using System.Text.Json; namespace Management.Controllers.Admin; /// /// Admin CRUD for help content — requires admin session. /// [ApiController] [Route("api/admin/help")] public class AdminHelpController : AdminControllerBase { public AdminHelpController(SqlService sql, ClientContext client, ILogger logger) : base(sql, client, logger) { } /// /// GET /api/admin/help /// List all help content entries (active and inactive). /// [HttpPost("list")] public async Task List([FromBody] JsonElement body, CancellationToken ct) { return await CallProc("spHelp", "list", body.ToString(), ct); } /// /// POST /api/admin/help /// Create or update a help entry by helpKey (upsert). /// Body: { helpKey, title, body, isActive } /// [HttpPost] public async Task Upsert([FromBody] JsonElement payload, CancellationToken ct) { return await CallProc("spHelp", "upsert", payload, ct); } /// /// DELETE /api/admin/help/{key} /// Delete a help entry by key. /// [HttpDelete("{key}")] public async Task Delete(string key, CancellationToken ct) { return await CallProc("spHelp", "delete", new { helpKey = key, adminId = Client.UserId }, ct); } }