Files
fm_be/internal/transport/http/dto/response/flight_response.go
2026-07-16 22:16:45 +07:00

92 lines
4.1 KiB
Go

package response
type FlightAttributes struct {
Status string `json:"status" example:"draft"`
MissionID string `json:"mission_id,omitempty" example:"019e9640-f7af-7940-80e8-1e9a83013afb"`
Code string `json:"code" example:"M-062226-001"`
Date string `json:"date" example:"2026-04-14"`
TotalDraft int `json:"total_draft" example:"6"`
Takeover *FlightTakeoverSummary `json:"takeover,omitempty"`
Steps []FlightStepItem `json:"steps"`
Draft []FlightDraftGroup `json:"draft,omitempty"`
CreatedAt string `json:"created_at,omitempty" example:"2026-04-14T08:00:00Z"`
CreatedBy *UserRef `json:"created_by,omitempty"`
UpdatedAt string `json:"updated_at,omitempty" example:"2026-04-14T08:00:00Z"`
UpdatedBy *UserRef `json:"updated_by,omitempty"`
DeletedAt string `json:"deleted_at,omitempty" example:"2026-04-14T08:00:00Z"`
DeletedBy *UserRef `json:"deleted_by,omitempty"`
}
type FlightStepItem struct {
Phase string `json:"phase" example:"duty_roster"`
Position string `json:"position,omitempty" example:"takeover"`
Step int `json:"step,omitempty" example:"1"`
Complete bool `json:"complete" example:"true"`
ID string `json:"id,omitempty" example:"019d6772-471c-7b70-b42a-d94020ef61e4"`
Status string `json:"status" example:"completed"`
MissionType []FlightMissionTypeSummary `json:"mission_type,omitempty"`
CompletedAt string `json:"completed_at" example:"2026-04-14T08:00:00Z"`
CompletedBy string `json:"completed_by" example:"019d61db-53c6-7280-87ec-e65f205c6d3b"`
}
type FlightHelicopterSummary struct {
AOG bool `json:"aog" example:"false"`
Designation string `json:"designation" example:"AIRBUS H145"`
ID string `json:"id" example:"019d6771-5fb5-7337-837f-bc5ed85181a1"`
Identifier string `json:"identifier" example:"D-HYAR"`
IsActive bool `json:"is_active" example:"true"`
Type string `json:"type" example:"H145"`
}
type FlightTakeoverSummary struct {
ID string `json:"id,omitempty" example:"019e8713-aa19-7fb7-a510-a0332dc69697"`
Helicopter *FlightHelicopterSummary `json:"helicopter,omitempty"`
DailyInspection *FlightDailyInspectionSummary `json:"daily_inspection,omitempty"`
RosterDetail *TakeoverDutyRosterDetailsResponse `json:"roster_detail,omitempty"`
}
type FlightDailyInspectionSummary struct {
ID string `json:"id" example:"019d6772-471c-7b70-b42a-d94020ef61e4"`
Name string `json:"name" example:"Ganahl Stefan"`
ShortName string `json:"short_name" example:"GAN"`
Date string `json:"date" example:"17.04.2026"`
UTCTime string `json:"utc_time" example:"10:57"`
}
type FlightDraftItem struct {
ID string `json:"id,omitempty" example:"019d6774-98e8-7fba-9ef4-3795c0da8a13"`
Type string `json:"type" example:"HEMS"`
Status string `json:"status" example:"draft"`
FlightDataID string `json:"flight_data_id,omitempty" example:"019d6774-98e8-7fba-9ef4-3795c0da8a55"`
}
type FlightDraftGroup struct {
Type string `json:"type" example:"HEMS"`
Items []FlightDraftItem `json:"items"`
}
type FlightMissionTypeSummary struct {
Type string `json:"type" example:"HEMS"`
Draft int `json:"draft" example:"5"`
Completed int `json:"completed" example:"0"`
}
type FlightResource struct {
Type string `json:"type" example:"flight"`
ID string `json:"id" example:"019d6774-98e8-7fba-9ef4-3795c0da8a13"`
Attributes FlightAttributes `json:"attributes"`
}
type FlightResponse struct {
Data FlightResource `json:"data"`
}
type FlightListResponse struct {
Data []FlightResource `json:"data"`
Meta struct {
PageNumber int `json:"page_number" example:"1"`
PageSize int `json:"page_size" example:"20"`
Total int64 `json:"total" example:"1"`
} `json:"meta"`
}