- using Campaign_Tracker.Server.Authorization;
- using Microsoft.AspNetCore.Authorization;
- using Microsoft.AspNetCore.Mvc;
-
- namespace Campaign_Tracker.Server.Controllers;
-
- [ApiController]
- public sealed class AuthorizationProbeController : ControllerBase
- {
- [HttpGet("api/municipalities/profile")]
- [Authorize(Policy = ApplicationPolicy.ClientServicesAccess)]
- public ActionResult GetMunicipalityProfile()
- {
- return Ok(new { access = "municipality-profile" });
- }
-
- [HttpPost("api/election-cycles")]
- [Authorize(Policy = ApplicationPolicy.ClientServicesAccess)]
- public ActionResult CreateElectionCycle()
- {
- return Ok(new { access = "election-cycle-create" });
- }
-
- [HttpGet("api/production/work-queue")]
- [Authorize(Policy = ApplicationPolicy.ProductionAccess)]
- public ActionResult GetProductionWorkQueue()
- {
- return Ok(new { access = "production-work-queue" });
- }
-
- [HttpGet("api/admin/settings")]
- [Authorize(Policy = ApplicationPolicy.AdminAccess)]
- public ActionResult GetAdminSettings()
- {
- return Ok(new { access = "admin-settings" });
- }
-
- [HttpPost("api/admin/privileged-operation")]
- [Authorize(Policy = ApplicationPolicy.AdminAccess)]
- public ActionResult PerformPrivilegedOperation()
- {
- return Ok(new { access = "privileged-operation" });
- }
- }
|