init push

This commit is contained in:
2026-07-16 22:16:45 +07:00
commit 8b068bdb10
1021 changed files with 332816 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
package request
// MCFSetAttributes toggles a helicopter's MCF (Yes/No) and is the DRAFT work endpoint.
// active=true (or omitted) ACTIVATES it — creates the draft MCF if none is open, or
// UPDATES the open draft with the provided check-flight fields (all optional; partial
// edits allowed). Finalize it later via POST /mcf/sign (sign:true).
// active=false DEACTIVATES it — cancels the open draft ("tidak jadi") and releases the
// MCF status; the cancelled record stays in the list. A signed MCF is a real event and
// is not cancelled by this.
type MCFSetAttributes struct {
Active *bool `json:"active,omitempty" example:"true"`
// FlightID — OPTIONAL flight this check flight is performed on (on activate).
FlightID string `json:"flight_id,omitempty" validate:"omitempty,uuid" example:"019d6774-98e8-7fba-9ef4-3795c0da8a13"`
AFHours string `json:"af_hours,omitempty" example:"1245.3"`
LandingCount *int `json:"landing_count,omitempty" example:"3"`
UTCTime string `json:"utc_time,omitempty" example:"2026-06-17T08:30:00Z"`
Date string `json:"date,omitempty" example:"2026-06-17"`
Result string `json:"result,omitempty" validate:"omitempty,oneof=passed failed" enums:"passed,failed" example:"passed"`
Notes *string `json:"notes,omitempty" example:"MCF required after engine mount work"`
}
type MCFSetData struct {
Type string `json:"type" validate:"required,oneof=mcf_set mcf" example:"mcf_set"`
Attributes MCFSetAttributes `json:"attributes" validate:"required"`
}
type MCFSetRequest struct {
Data MCFSetData `json:"data" validate:"required"`
}
// MCFCompleteAttributes signs (completes) or unsigns an MCF. sign toggles the state:
// - sign=true (or omitted) SIGNS it — af_hours, landing_count, utc_time, date and
// result are required. "passed" clears the aircraft; "failed" keeps it grounded.
// - sign=false UNSIGNS it — reverts the MCF to a draft (the fields below are ignored).
type MCFCompleteAttributes struct {
Sign *bool `json:"sign,omitempty" example:"true"`
AFHours string `json:"af_hours,omitempty" example:"1245.3"`
LandingCount *int `json:"landing_count,omitempty" example:"3"`
UTCTime string `json:"utc_time,omitempty" example:"2026-06-17T08:30:00Z"`
Date string `json:"date,omitempty" example:"2026-06-17"`
Result string `json:"result,omitempty" validate:"omitempty,oneof=passed failed" enums:"passed,failed" example:"passed"`
Notes *string `json:"notes,omitempty" example:"Vibration within limits after check flight"`
}
type MCFCompleteData struct {
Type string `json:"type" validate:"required,oneof=mcf_complete mcf_sign mcf" example:"mcf_sign"`
Attributes MCFCompleteAttributes `json:"attributes" validate:"required"`
}
type MCFCompleteRequest struct {
Data MCFCompleteData `json:"data" validate:"required"`
}