mirror of
https://github.com/azaion/missions.git
synced 2026-06-21 09:21:07 +00:00
2840ccb9b6
ci/woodpecker/push/build-arm Pipeline was successful
This commit transitions the project from Azaion.Flights to Azaion.Missions, updating namespaces, DTOs, services, and database entities accordingly. The Docker configuration and entry points have been modified to reflect the new project structure. Additionally, the README and documentation have been updated to clarify the ongoing renaming process and its implications. All references to flights have been replaced with missions, ensuring consistency across the codebase.
76 lines
2.4 KiB
C#
76 lines
2.4 KiB
C#
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Azaion.Missions.DTOs;
|
|
using Azaion.Missions.Services;
|
|
|
|
namespace Azaion.Missions.Controllers;
|
|
|
|
[ApiController]
|
|
[Route("missions")]
|
|
[Authorize(Policy = "FL")]
|
|
public class MissionsController(MissionService missionService, WaypointService waypointService) : ControllerBase
|
|
{
|
|
[HttpPost]
|
|
public async Task<IActionResult> Create([FromBody] CreateMissionRequest request)
|
|
{
|
|
var mission = await missionService.CreateMission(request);
|
|
return Created($"/missions/{mission.Id}", mission);
|
|
}
|
|
|
|
[HttpPut("{id:guid}")]
|
|
public async Task<IActionResult> Update(Guid id, [FromBody] UpdateMissionRequest request)
|
|
{
|
|
var mission = await missionService.UpdateMission(id, request);
|
|
return Ok(mission);
|
|
}
|
|
|
|
[HttpGet("{id:guid}")]
|
|
public async Task<IActionResult> Get(Guid id)
|
|
{
|
|
var mission = await missionService.GetMission(id);
|
|
return Ok(mission);
|
|
}
|
|
|
|
[HttpGet]
|
|
public async Task<IActionResult> GetAll([FromQuery] GetMissionsQuery query)
|
|
{
|
|
var result = await missionService.GetMissions(query);
|
|
return Ok(result);
|
|
}
|
|
|
|
[HttpDelete("{id:guid}")]
|
|
public async Task<IActionResult> Delete(Guid id)
|
|
{
|
|
await missionService.DeleteMission(id);
|
|
return NoContent();
|
|
}
|
|
|
|
[HttpPost("{id:guid}/waypoints")]
|
|
public async Task<IActionResult> CreateWaypoint(Guid id, [FromBody] CreateWaypointRequest request)
|
|
{
|
|
var waypoint = await waypointService.CreateWaypoint(id, request);
|
|
return Created($"/missions/{id}/waypoints/{waypoint.Id}", waypoint);
|
|
}
|
|
|
|
[HttpPut("{id:guid}/waypoints/{waypointId:guid}")]
|
|
public async Task<IActionResult> UpdateWaypoint(Guid id, Guid waypointId, [FromBody] UpdateWaypointRequest request)
|
|
{
|
|
var waypoint = await waypointService.UpdateWaypoint(id, waypointId, request);
|
|
return Ok(waypoint);
|
|
}
|
|
|
|
[HttpDelete("{id:guid}/waypoints/{waypointId:guid}")]
|
|
public async Task<IActionResult> DeleteWaypoint(Guid id, Guid waypointId)
|
|
{
|
|
await waypointService.DeleteWaypoint(id, waypointId);
|
|
return NoContent();
|
|
}
|
|
|
|
[HttpGet("{id:guid}/waypoints")]
|
|
public async Task<IActionResult> GetWaypoints(Guid id)
|
|
{
|
|
var waypoints = await waypointService.GetWaypoints(id);
|
|
return Ok(waypoints);
|
|
}
|
|
}
|