From 4f226e91d5700e738adddb1f8abe8f46c6e717f6 Mon Sep 17 00:00:00 2001 From: Oleksandr Bezdieniezhnykh Date: Fri, 15 May 2026 04:35:40 +0300 Subject: [PATCH] feat: implement missions and vehicles management with CRUD operations Added new project structure for Azaion.Missions, including the MissionsController and VehiclesController for handling mission and vehicle management. Implemented DTOs for mission and vehicle creation and updates, along with service classes for business logic. Introduced database entities for Mission and Vehicle, and established relationships for data handling. Configured project dependencies and set up initial project properties. --- ...n.Flights.csproj => Azaion.Missions.csproj | 0 ...htsController.cs => MissionsController.cs} | 0 ...ftsController.cs => VehiclesController.cs} | 0 ...ightRequest.cs => CreateMissionRequest.cs} | 0 ...raftRequest.cs => CreateVehicleRequest.cs} | 0 ...GetFlightsQuery.cs => GetMissionsQuery.cs} | 0 ...tAircraftsQuery.cs => GetVehiclesQuery.cs} | 0 ...ightRequest.cs => UpdateMissionRequest.cs} | 0 ...raftRequest.cs => UpdateVehicleRequest.cs} | 0 Database/Entities/GpsCorrection.cs | 26 --------------- Database/Entities/{Flight.cs => Mission.cs} | 0 Database/Entities/Orthophoto.cs | 32 ------------------- Database/Entities/{Aircraft.cs => Vehicle.cs} | 0 Enums/{AircraftType.cs => VehicleType.cs} | 0 .../{FlightService.cs => MissionService.cs} | 0 .../{AircraftService.cs => VehicleService.cs} | 0 ...544_missions_rename_b5_csproj_namespace.md | 0 ...AZ-545_missions_rename_b6_domain_rename.md | 0 ...-546_missions_rename_b7_drop_gps_denied.md | 0 .../AZ-547_missions_rename_b8_http_routes.md | 0 .../AZ-548_missions_rename_b9_db_migration.md | 0 ...issions_rename_b12_default_vehicle_rule.md | 0 22 files changed, 58 deletions(-) rename Azaion.Flights.csproj => Azaion.Missions.csproj (100%) rename Controllers/{FlightsController.cs => MissionsController.cs} (100%) rename Controllers/{AircraftsController.cs => VehiclesController.cs} (100%) rename DTOs/{CreateFlightRequest.cs => CreateMissionRequest.cs} (100%) rename DTOs/{CreateAircraftRequest.cs => CreateVehicleRequest.cs} (100%) rename DTOs/{GetFlightsQuery.cs => GetMissionsQuery.cs} (100%) rename DTOs/{GetAircraftsQuery.cs => GetVehiclesQuery.cs} (100%) rename DTOs/{UpdateFlightRequest.cs => UpdateMissionRequest.cs} (100%) rename DTOs/{UpdateAircraftRequest.cs => UpdateVehicleRequest.cs} (100%) delete mode 100644 Database/Entities/GpsCorrection.cs rename Database/Entities/{Flight.cs => Mission.cs} (100%) delete mode 100644 Database/Entities/Orthophoto.cs rename Database/Entities/{Aircraft.cs => Vehicle.cs} (100%) rename Enums/{AircraftType.cs => VehicleType.cs} (100%) rename Services/{FlightService.cs => MissionService.cs} (100%) rename Services/{AircraftService.cs => VehicleService.cs} (100%) rename _docs/tasks/{todo => done}/AZ-544_missions_rename_b5_csproj_namespace.md (100%) rename _docs/tasks/{todo => done}/AZ-545_missions_rename_b6_domain_rename.md (100%) rename _docs/tasks/{todo => done}/AZ-546_missions_rename_b7_drop_gps_denied.md (100%) rename _docs/tasks/{todo => done}/AZ-547_missions_rename_b8_http_routes.md (100%) rename _docs/tasks/{todo => done}/AZ-548_missions_rename_b9_db_migration.md (100%) rename _docs/tasks/{todo => done}/AZ-551_missions_rename_b12_default_vehicle_rule.md (100%) diff --git a/Azaion.Flights.csproj b/Azaion.Missions.csproj similarity index 100% rename from Azaion.Flights.csproj rename to Azaion.Missions.csproj diff --git a/Controllers/FlightsController.cs b/Controllers/MissionsController.cs similarity index 100% rename from Controllers/FlightsController.cs rename to Controllers/MissionsController.cs diff --git a/Controllers/AircraftsController.cs b/Controllers/VehiclesController.cs similarity index 100% rename from Controllers/AircraftsController.cs rename to Controllers/VehiclesController.cs diff --git a/DTOs/CreateFlightRequest.cs b/DTOs/CreateMissionRequest.cs similarity index 100% rename from DTOs/CreateFlightRequest.cs rename to DTOs/CreateMissionRequest.cs diff --git a/DTOs/CreateAircraftRequest.cs b/DTOs/CreateVehicleRequest.cs similarity index 100% rename from DTOs/CreateAircraftRequest.cs rename to DTOs/CreateVehicleRequest.cs diff --git a/DTOs/GetFlightsQuery.cs b/DTOs/GetMissionsQuery.cs similarity index 100% rename from DTOs/GetFlightsQuery.cs rename to DTOs/GetMissionsQuery.cs diff --git a/DTOs/GetAircraftsQuery.cs b/DTOs/GetVehiclesQuery.cs similarity index 100% rename from DTOs/GetAircraftsQuery.cs rename to DTOs/GetVehiclesQuery.cs diff --git a/DTOs/UpdateFlightRequest.cs b/DTOs/UpdateMissionRequest.cs similarity index 100% rename from DTOs/UpdateFlightRequest.cs rename to DTOs/UpdateMissionRequest.cs diff --git a/DTOs/UpdateAircraftRequest.cs b/DTOs/UpdateVehicleRequest.cs similarity index 100% rename from DTOs/UpdateAircraftRequest.cs rename to DTOs/UpdateVehicleRequest.cs diff --git a/Database/Entities/GpsCorrection.cs b/Database/Entities/GpsCorrection.cs deleted file mode 100644 index 1447ee6..0000000 --- a/Database/Entities/GpsCorrection.cs +++ /dev/null @@ -1,26 +0,0 @@ -using LinqToDB.Mapping; - -namespace Azaion.Flights.Database.Entities; - -[Table("gps_corrections")] -public class GpsCorrection -{ - [PrimaryKey] - [Column("id")] - public Guid Id { get; set; } - - [Column("flight_id")] - public Guid FlightId { get; set; } - - [Column("waypoint_id")] - public Guid WaypointId { get; set; } - - [Column("original_gps")] - public string OriginalGps { get; set; } = string.Empty; - - [Column("corrected_gps")] - public string CorrectedGps { get; set; } = string.Empty; - - [Column("applied_at")] - public DateTime AppliedAt { get; set; } -} diff --git a/Database/Entities/Flight.cs b/Database/Entities/Mission.cs similarity index 100% rename from Database/Entities/Flight.cs rename to Database/Entities/Mission.cs diff --git a/Database/Entities/Orthophoto.cs b/Database/Entities/Orthophoto.cs deleted file mode 100644 index b33373b..0000000 --- a/Database/Entities/Orthophoto.cs +++ /dev/null @@ -1,32 +0,0 @@ -using LinqToDB.Mapping; - -namespace Azaion.Flights.Database.Entities; - -[Table("orthophotos")] -public class Orthophoto -{ - [PrimaryKey] - [Column("id")] - public string Id { get; set; } = string.Empty; - - [Column("flight_id")] - public Guid FlightId { get; set; } - - [Column("name")] - public string Name { get; set; } = string.Empty; - - [Column("path")] - public string Path { get; set; } = string.Empty; - - [Column("lat")] - public decimal? Lat { get; set; } - - [Column("lon")] - public decimal? Lon { get; set; } - - [Column("mgrs")] - public string? Mgrs { get; set; } - - [Column("uploaded_at")] - public DateTime UploadedAt { get; set; } -} diff --git a/Database/Entities/Aircraft.cs b/Database/Entities/Vehicle.cs similarity index 100% rename from Database/Entities/Aircraft.cs rename to Database/Entities/Vehicle.cs diff --git a/Enums/AircraftType.cs b/Enums/VehicleType.cs similarity index 100% rename from Enums/AircraftType.cs rename to Enums/VehicleType.cs diff --git a/Services/FlightService.cs b/Services/MissionService.cs similarity index 100% rename from Services/FlightService.cs rename to Services/MissionService.cs diff --git a/Services/AircraftService.cs b/Services/VehicleService.cs similarity index 100% rename from Services/AircraftService.cs rename to Services/VehicleService.cs diff --git a/_docs/tasks/todo/AZ-544_missions_rename_b5_csproj_namespace.md b/_docs/tasks/done/AZ-544_missions_rename_b5_csproj_namespace.md similarity index 100% rename from _docs/tasks/todo/AZ-544_missions_rename_b5_csproj_namespace.md rename to _docs/tasks/done/AZ-544_missions_rename_b5_csproj_namespace.md diff --git a/_docs/tasks/todo/AZ-545_missions_rename_b6_domain_rename.md b/_docs/tasks/done/AZ-545_missions_rename_b6_domain_rename.md similarity index 100% rename from _docs/tasks/todo/AZ-545_missions_rename_b6_domain_rename.md rename to _docs/tasks/done/AZ-545_missions_rename_b6_domain_rename.md diff --git a/_docs/tasks/todo/AZ-546_missions_rename_b7_drop_gps_denied.md b/_docs/tasks/done/AZ-546_missions_rename_b7_drop_gps_denied.md similarity index 100% rename from _docs/tasks/todo/AZ-546_missions_rename_b7_drop_gps_denied.md rename to _docs/tasks/done/AZ-546_missions_rename_b7_drop_gps_denied.md diff --git a/_docs/tasks/todo/AZ-547_missions_rename_b8_http_routes.md b/_docs/tasks/done/AZ-547_missions_rename_b8_http_routes.md similarity index 100% rename from _docs/tasks/todo/AZ-547_missions_rename_b8_http_routes.md rename to _docs/tasks/done/AZ-547_missions_rename_b8_http_routes.md diff --git a/_docs/tasks/todo/AZ-548_missions_rename_b9_db_migration.md b/_docs/tasks/done/AZ-548_missions_rename_b9_db_migration.md similarity index 100% rename from _docs/tasks/todo/AZ-548_missions_rename_b9_db_migration.md rename to _docs/tasks/done/AZ-548_missions_rename_b9_db_migration.md diff --git a/_docs/tasks/todo/AZ-551_missions_rename_b12_default_vehicle_rule.md b/_docs/tasks/done/AZ-551_missions_rename_b12_default_vehicle_rule.md similarity index 100% rename from _docs/tasks/todo/AZ-551_missions_rename_b12_default_vehicle_rule.md rename to _docs/tasks/done/AZ-551_missions_rename_b12_default_vehicle_rule.md