Documentation
¶
Overview ¶
Package generated contains auto-generated code from the OpenAPI specification.
⚠️ DO NOT EDIT THESE FILES MANUALLY
This package is automatically generated from the OpenAPI spec. To regenerate after spec changes, run:
go generate ./...
Or manually:
./scripts/generate-server-types.sh
Source: api-spec/openapi.yaml Generator: oapi-codegen v2
Package generated provides primitives to interact with the openapi HTTP API.
Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT.
Package generated provides primitives to interact with the openapi HTTP API.
Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT.
Package generated provides primitives to interact with the openapi HTTP API.
Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT.
Index ¶
- Constants
- func GetSwagger() (swagger *openapi3.T, err error)
- func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)
- func RegisterHandlers(router gin.IRouter, si ServerInterface)
- func RegisterHandlersWithOptions(router gin.IRouter, si ServerInterface, options GinServerOptions)
- type AdminAuditLogEntry
- type AdminConfig
- type AdminStats
- type AdminUser
- type Aircraft
- type AircraftCreate
- type AircraftId
- type AircraftUpdate
- type Airport
- type AirportStats
- type Announcement
- type AnnouncementSeverity
- type ApproachEntry
- type ApproachEntryInput
- type ApproachType
- type AuthResponse
- type BadRequest
- type ChangePasswordJSONBody
- type ChangePasswordJSONRequestBody
- type ClassRating
- type ClassRatingCreate
- type ClassRatingCurrency
- type ClassRatingCurrencyStatus
- type ClassRatingUpdate
- type ClassType
- type ConfirmImportJSONRequestBody
- type Contact
- type ContactCreate
- type CreateAircraftJSONRequestBody
- type CreateAnnouncementJSONBody
- type CreateAnnouncementJSONBodySeverity
- type CreateAnnouncementJSONRequestBody
- type CreateClassRatingJSONRequestBody
- type CreateContactJSONRequestBody
- type CreateCredentialJSONRequestBody
- type CreateFlightJSONRequestBody
- type CreateLicenseJSONRequestBody
- type Credential
- type CredentialCreate
- type CredentialId
- type CredentialType
- type CredentialUpdate
- type CrewRole
- type Currency
- type CurrencyRequirement
- type CurrencyStatusResponse
- type DeleteCurrentUserJSONBody
- type DeleteCurrentUserJSONRequestBody
- type Disable2FAJSONBody
- type Disable2FAJSONRequestBody
- type Error
- type ExportFlightsCSVParams
- type ExportFlightsCSVParamsFormat
- type ExportFlightsPDFParams
- type ExportFlightsPDFParamsFormat
- type ExportFlightsPDFParamsPageSize
- type Flight
- type FlightBaseline
- type FlightBaselineInput
- type FlightCreate
- type FlightCreateLaunchMethod
- type FlightCrewMember
- type FlightCrewMemberInput
- type FlightId
- type FlightLaunchMethod
- type FlightReviewStatus
- type FlightReviewStatusStatus
- type FlightRoute
- type FlightRoutesResponse
- type FlightUpdate
- type FlightUpdateLaunchMethod
- type Forbidden
- type GetFlightTrendsParams
- type GetLicenseStatisticsParams
- type GetMyStatisticsParams
- type GetNotificationHistoryParams
- type GetStatsByClassParams
- type GinServerOptions
- type ImportColumnMapping
- type ImportConfirmRequest
- type ImportDataJSONJSONBody
- type ImportDataJSONJSONRequestBody
- type ImportField
- type ImportFormat
- type ImportId
- type ImportJSONResult
- type ImportPreviewFlight
- type ImportPreviewFlightStatus
- type ImportPreviewRequest
- type ImportPreviewResponse
- type ImportResult
- type ImportStatus
- type ImportUploadResponse
- type LaunchMethodCurrency
- type License
- type LicenseCreate
- type LicenseId
- type ListAdminAuditLogParams
- type ListAdminUsersParams
- type ListAircraftParams
- type ListFlightsParams
- type ListFlightsParamsSortBy
- type ListFlightsParamsSortOrder
- type ListImportsParams
- type Login2FAJSONBody
- type Login2FAJSONRequestBody
- type LoginUserJSONBody
- type LoginUserJSONRequestBody
- type MiddlewareFunc
- type NotFound
- type NotificationCategory
- type NotificationHistoryEntry
- type NotificationHistoryResponse
- type NotificationPreferences
- type NotificationPreferencesUpdate
- type PaginatedAdminAuditLog
- type PaginatedAdminUsers
- type PaginatedAircraft
- type PaginatedFlights
- type PaginatedImports
- type PassengerCurrency
- type PassengerCurrencyDayStatus
- type PassengerCurrencyNightStatus
- type PreviewImportJSONRequestBody
- type PutMyBaselineJSONRequestBody
- type RefreshTokenJSONBody
- type RefreshTokenJSONRequestBody
- type RegisterUserJSONBody
- type RegisterUserJSONRequestBody
- type RequestPasswordResetJSONBody
- type RequestPasswordResetJSONRequestBody
- type ResetPasswordJSONBody
- type ResetPasswordJSONRequestBody
- type SearchAirportsParams
- type SearchContactsParams
- type ServerInterface
- type ServerInterfaceWrapper
- func (siw *ServerInterfaceWrapper) ChangePassword(c *gin.Context)
- func (siw *ServerInterfaceWrapper) CleanupTokens(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ConfirmImport(c *gin.Context)
- func (siw *ServerInterfaceWrapper) CreateAircraft(c *gin.Context)
- func (siw *ServerInterfaceWrapper) CreateAnnouncement(c *gin.Context)
- func (siw *ServerInterfaceWrapper) CreateClassRating(c *gin.Context)
- func (siw *ServerInterfaceWrapper) CreateContact(c *gin.Context)
- func (siw *ServerInterfaceWrapper) CreateCredential(c *gin.Context)
- func (siw *ServerInterfaceWrapper) CreateFlight(c *gin.Context)
- func (siw *ServerInterfaceWrapper) CreateLicense(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteAircraft(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteAllFlights(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteAllUserData(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteAnnouncement(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteClassRating(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteContact(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteCredential(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteCurrentUser(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteFlight(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteLicense(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteMyBaseline(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteUser(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteWebauthnCredential(c *gin.Context)
- func (siw *ServerInterfaceWrapper) Disable2FA(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DisableUser(c *gin.Context)
- func (siw *ServerInterfaceWrapper) EnableUser(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ExportDataJSON(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ExportFlightsCSV(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ExportFlightsPDF(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetAdminConfig(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetAdminStats(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetAircraft(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetAirport(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetAirportStats(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetAllCurrencyStatus(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetAnnouncements(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetContact(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetCredential(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetCurrentUser(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetFlight(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetFlightRoutes(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetFlightTrends(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetImport(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetLicense(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetLicenseCurrency(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetLicenseStatistics(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetMyBaseline(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetMyStatistics(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetNotificationHistory(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetNotificationPreferences(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetStatsByClass(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ImportDataJSON(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ListAdminAuditLog(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ListAdminUsers(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ListAircraft(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ListClassRatings(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ListContacts(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ListCredentials(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ListFlights(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ListImports(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ListLicenses(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ListWebauthnCredentials(c *gin.Context)
- func (siw *ServerInterfaceWrapper) Login2FA(c *gin.Context)
- func (siw *ServerInterfaceWrapper) LoginUser(c *gin.Context)
- func (siw *ServerInterfaceWrapper) PreviewImport(c *gin.Context)
- func (siw *ServerInterfaceWrapper) PutMyBaseline(c *gin.Context)
- func (siw *ServerInterfaceWrapper) RecalculateFlights(c *gin.Context)
- func (siw *ServerInterfaceWrapper) RefreshToken(c *gin.Context)
- func (siw *ServerInterfaceWrapper) RegisterUser(c *gin.Context)
- func (siw *ServerInterfaceWrapper) RequestPasswordReset(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ResetPassword(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ResetUser2fa(c *gin.Context)
- func (siw *ServerInterfaceWrapper) SearchAirports(c *gin.Context)
- func (siw *ServerInterfaceWrapper) SearchContacts(c *gin.Context)
- func (siw *ServerInterfaceWrapper) Setup2FA(c *gin.Context)
- func (siw *ServerInterfaceWrapper) SmtpTest(c *gin.Context)
- func (siw *ServerInterfaceWrapper) TriggerNotifications(c *gin.Context)
- func (siw *ServerInterfaceWrapper) UnlockUser(c *gin.Context)
- func (siw *ServerInterfaceWrapper) UpdateAircraft(c *gin.Context)
- func (siw *ServerInterfaceWrapper) UpdateClassRating(c *gin.Context)
- func (siw *ServerInterfaceWrapper) UpdateContact(c *gin.Context)
- func (siw *ServerInterfaceWrapper) UpdateCredential(c *gin.Context)
- func (siw *ServerInterfaceWrapper) UpdateCurrentUser(c *gin.Context)
- func (siw *ServerInterfaceWrapper) UpdateFlight(c *gin.Context)
- func (siw *ServerInterfaceWrapper) UpdateLicense(c *gin.Context)
- func (siw *ServerInterfaceWrapper) UpdateNotificationPreferences(c *gin.Context)
- func (siw *ServerInterfaceWrapper) UploadImportFile(c *gin.Context)
- func (siw *ServerInterfaceWrapper) Verify2FA(c *gin.Context)
- func (siw *ServerInterfaceWrapper) WebauthnLoginOptions(c *gin.Context)
- func (siw *ServerInterfaceWrapper) WebauthnLoginVerify(c *gin.Context)
- func (siw *ServerInterfaceWrapper) WebauthnRegisterOptions(c *gin.Context)
- func (siw *ServerInterfaceWrapper) WebauthnRegisterVerify(c *gin.Context)
- type Statistics
- type StatisticsBaselineContribution
- type TwoFactorEnabled
- type TwoFactorSetup
- type Unauthorized
- type UpdateAircraftJSONRequestBody
- type UpdateClassRatingJSONRequestBody
- type UpdateContactJSONRequestBody
- type UpdateCredentialJSONRequestBody
- type UpdateCurrentUserJSONBody
- type UpdateCurrentUserJSONBodyDateFormat
- type UpdateCurrentUserJSONBodyDecimalSeparator
- type UpdateCurrentUserJSONBodyPreferredLocale
- type UpdateCurrentUserJSONBodyTimeDisplayFormat
- type UpdateCurrentUserJSONRequestBody
- type UpdateFlightJSONRequestBody
- type UpdateLicenseJSONBody
- type UpdateLicenseJSONRequestBody
- type UpdateNotificationPreferencesJSONRequestBody
- type UploadImportFileMultipartBody
- type UploadImportFileMultipartRequestBody
- type User
- type UserDateFormat
- type UserDecimalSeparator
- type UserPreferredLocale
- type UserTimeDisplayFormat
- type Verify2FAJSONBody
- type Verify2FAJSONRequestBody
- type WebAuthnCredential
- type WebAuthnLoginOptions
- type WebAuthnRegistrationOptions
- type WebauthnLoginOptionsJSONBody
- type WebauthnLoginOptionsJSONRequestBody
- type WebauthnLoginVerifyJSONBody
- type WebauthnLoginVerifyJSONRequestBody
- type WebauthnRegisterVerifyJSONBody
- type WebauthnRegisterVerifyJSONRequestBody
Constants ¶
const (
BearerAuthScopes = "bearerAuth.Scopes"
)
Variables ¶
This section is empty.
Functions ¶
func GetSwagger ¶
GetSwagger returns the Swagger specification corresponding to the generated code in this file. The external references of Swagger specification are resolved. The logic of resolving external references is tightly connected to "import-mapping" feature. Externally referenced files must be embedded in the corresponding golang packages. Urls can be supported but this task was out of the scope.
func PathToRawSpec ¶
Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
func RegisterHandlers ¶
func RegisterHandlers(router gin.IRouter, si ServerInterface)
RegisterHandlers creates http.Handler with routing matching OpenAPI spec.
func RegisterHandlersWithOptions ¶
func RegisterHandlersWithOptions(router gin.IRouter, si ServerInterface, options GinServerOptions)
RegisterHandlersWithOptions creates http.Handler with additional options
Types ¶
type AdminAuditLogEntry ¶
type AdminAuditLogEntry struct {
// Action The admin action performed
Action string `json:"action"`
AdminUserId openapi_types.UUID `json:"adminUserId"`
CreatedAt time.Time `json:"createdAt"`
// Details Additional details about the action (JSON)
Details *map[string]interface{} `json:"details,omitempty"`
Id openapi_types.UUID `json:"id"`
// TargetUserId The user affected by the action (if any)
TargetUserId *openapi_types.UUID `json:"targetUserId,omitempty"`
}
AdminAuditLogEntry defines model for AdminAuditLogEntry.
type AdminConfig ¶
type AdminConfig struct {
// AdminEmailConfigured Whether ADMIN_EMAIL is set
AdminEmailConfigured bool `json:"adminEmailConfigured"`
// AirportDatabaseSize Number of airports loaded
AirportDatabaseSize int `json:"airportDatabaseSize"`
// CorsOrigins Configured CORS allowed origins
CorsOrigins []string `json:"corsOrigins"`
GoVersion string `json:"goVersion"`
// MigrationVersion Current database migration version
MigrationVersion int `json:"migrationVersion"`
// RateLimitAdmin Admin endpoint rate limit
RateLimitAdmin string `json:"rateLimitAdmin"`
// RateLimitAuth Auth endpoint rate limit
RateLimitAuth string `json:"rateLimitAuth"`
// ServerUptime Human-readable uptime
ServerUptime string `json:"serverUptime"`
// SmtpConfigured Whether SMTP is configured
SmtpConfigured bool `json:"smtpConfigured"`
}
AdminConfig defines model for AdminConfig.
type AdminStats ¶
type AdminStats struct {
DisabledAccounts int `json:"disabledAccounts"`
FlightsThisMonth int `json:"flightsThisMonth"`
LockedAccounts int `json:"lockedAccounts"`
NewUsersThisWeek int `json:"newUsersThisWeek"`
TotalAircraft int `json:"totalAircraft"`
TotalCredentials int `json:"totalCredentials"`
TotalFlights int `json:"totalFlights"`
TotalImports int `json:"totalImports"`
TotalUsers int `json:"totalUsers"`
}
AdminStats defines model for AdminStats.
type AdminUser ¶
type AdminUser struct {
// AircraftCount Number of aircraft in database
AircraftCount int `json:"aircraftCount"`
CreatedAt time.Time `json:"createdAt"`
// Disabled Whether the account is disabled by admin
Disabled bool `json:"disabled"`
Email openapi_types.Email `json:"email"`
// FlightCount Total number of flights logged
FlightCount int `json:"flightCount"`
Id openapi_types.UUID `json:"id"`
// LastLoginAt Last successful login timestamp
LastLoginAt *time.Time `json:"lastLoginAt,omitempty"`
// Locked Whether the account is locked due to brute-force protection
Locked *bool `json:"locked,omitempty"`
// LockedUntil When the brute-force lock expires
LockedUntil *time.Time `json:"lockedUntil,omitempty"`
Name string `json:"name"`
TwoFactorEnabled bool `json:"twoFactorEnabled"`
}
AdminUser defines model for AdminUser.
type Aircraft ¶
type Aircraft struct {
// AircraftClass Aircraft class (e.g., SEP_LAND, MEP_LAND, TMG, or any custom value)
AircraftClass *string `json:"aircraftClass"`
CreatedAt time.Time `json:"createdAt"`
Id openapi_types.UUID `json:"id"`
// IsActive Whether aircraft is still active in the user's fleet
IsActive *bool `json:"isActive,omitempty"`
// IsComplex Whether aircraft has retractable gear, flaps, and constant speed propeller
IsComplex *bool `json:"isComplex,omitempty"`
// IsHighPerformance Whether aircraft has more than 200 HP
IsHighPerformance *bool `json:"isHighPerformance,omitempty"`
// IsTailwheel Whether aircraft has tailwheel (conventional gear)
IsTailwheel *bool `json:"isTailwheel,omitempty"`
// Make Aircraft manufacturer
Make string `json:"make"`
// Model Aircraft model name
Model string `json:"model"`
// Notes Additional notes about the aircraft
Notes *string `json:"notes"`
// Registration Aircraft registration/tail number
Registration string `json:"registration"`
// Type Aircraft type designation (e.g., C172, PA28, ASK21)
Type string `json:"type"`
UpdatedAt time.Time `json:"updatedAt"`
UserId openapi_types.UUID `json:"userId"`
}
Aircraft defines model for Aircraft.
type AircraftCreate ¶
type AircraftCreate struct {
// AircraftClass Aircraft class (e.g., SEP_LAND, MEP_LAND, TMG, or any custom value)
AircraftClass *string `json:"aircraftClass"`
IsComplex *bool `json:"isComplex,omitempty"`
IsHighPerformance *bool `json:"isHighPerformance,omitempty"`
IsTailwheel *bool `json:"isTailwheel,omitempty"`
// Make Aircraft manufacturer
Make string `json:"make"`
// Model Aircraft model name
Model string `json:"model"`
Notes *string `json:"notes"`
// Registration Aircraft registration/tail number
Registration string `json:"registration"`
// Type Aircraft type designation
Type string `json:"type"`
}
AircraftCreate defines model for AircraftCreate.
type AircraftUpdate ¶
type AircraftUpdate struct {
// AircraftClass Aircraft class (e.g., SEP_LAND, MEP_LAND, TMG, or any custom value)
AircraftClass *string `json:"aircraftClass"`
IsActive *bool `json:"isActive,omitempty"`
IsComplex *bool `json:"isComplex,omitempty"`
IsHighPerformance *bool `json:"isHighPerformance,omitempty"`
IsTailwheel *bool `json:"isTailwheel,omitempty"`
Make *string `json:"make,omitempty"`
Model *string `json:"model,omitempty"`
Notes *string `json:"notes"`
Registration *string `json:"registration,omitempty"`
Type *string `json:"type,omitempty"`
}
AircraftUpdate defines model for AircraftUpdate.
type Airport ¶
type Airport struct {
// Country Country code (ISO 3166-1 alpha-2)
Country *string `json:"country,omitempty"`
// Elevation Airport elevation in feet
Elevation *int `json:"elevation,omitempty"`
// Icao ICAO airport code
Icao string `json:"icao"`
// Latitude Latitude in decimal degrees
Latitude float64 `json:"latitude"`
// Longitude Longitude in decimal degrees
Longitude float64 `json:"longitude"`
// Name Airport name
Name string `json:"name"`
}
Airport defines model for Airport.
type AirportStats ¶
type AirportStats struct {
// Arrivals Number of arrivals to this airport
Arrivals int `json:"arrivals"`
// Departures Number of departures from this airport
Departures int `json:"departures"`
Icao string `json:"icao"`
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
Name string `json:"name"`
// TotalFlights Total flights (departures + arrivals)
TotalFlights int `json:"totalFlights"`
}
AirportStats defines model for AirportStats.
type Announcement ¶
type Announcement struct {
CreatedAt *time.Time `json:"createdAt,omitempty"`
// ExpiresAt When this announcement auto-expires (null = permanent until deleted)
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
// Id Unique identifier (UUID for admin announcements, string key for hints)
Id string `json:"id"`
Message string `json:"message"`
// Severity Display severity:
// - info: blue — neutral information
// - success: green — positive suggestions (e.g. enable 2FA)
// - warning: orange — important notices (e.g. maintenance)
// - critical: red — urgent alerts
Severity AnnouncementSeverity `json:"severity"`
}
Announcement defines model for Announcement.
type AnnouncementSeverity ¶
type AnnouncementSeverity string
AnnouncementSeverity Display severity: - info: blue — neutral information - success: green — positive suggestions (e.g. enable 2FA) - warning: orange — important notices (e.g. maintenance) - critical: red — urgent alerts
const ( AnnouncementSeverityCritical AnnouncementSeverity = "critical" AnnouncementSeverityInfo AnnouncementSeverity = "info" AnnouncementSeveritySuccess AnnouncementSeverity = "success" AnnouncementSeverityWarning AnnouncementSeverity = "warning" )
Defines values for AnnouncementSeverity.
type ApproachEntry ¶
type ApproachEntry struct {
// Airport ICAO code of the airport where the approach was performed
Airport *string `json:"airport"`
// Runway Runway designation for the approach
Runway *string `json:"runway"`
// Type Type of instrument approach procedure
Type ApproachType `json:"type"`
}
ApproachEntry defines model for ApproachEntry.
type ApproachEntryInput ¶
type ApproachEntryInput struct {
// Airport ICAO code of the airport
Airport *string `json:"airport"`
// Runway Runway designation
Runway *string `json:"runway"`
// Type Type of instrument approach procedure
Type ApproachType `json:"type"`
}
ApproachEntryInput defines model for ApproachEntryInput.
type ApproachType ¶
type ApproachType string
ApproachType Type of instrument approach procedure
const ( ApproachTypeASR ApproachType = "ASR" ApproachTypeCircling ApproachType = "Circling" ApproachTypeILS ApproachType = "ILS" ApproachTypeLDA ApproachType = "LDA" ApproachTypeLOC ApproachType = "LOC" ApproachTypeNDB ApproachType = "NDB" ApproachTypeOther ApproachType = "Other" ApproachTypePAR ApproachType = "PAR" ApproachTypeRNAVGPS ApproachType = "RNAV/GPS" ApproachTypeSDF ApproachType = "SDF" ApproachTypeUnknown ApproachType = "Unknown" ApproachTypeVOR ApproachType = "VOR" ApproachTypeVisual ApproachType = "Visual" )
Defines values for ApproachType.
type AuthResponse ¶
type AuthResponse struct {
// AccessToken JWT access token (15 minutes validity)
AccessToken string `json:"accessToken"`
// ExpiresIn Access token expiry in seconds
ExpiresIn int `json:"expiresIn"`
// RefreshToken JWT refresh token (7 days validity)
RefreshToken string `json:"refreshToken"`
User User `json:"user"`
}
AuthResponse defines model for AuthResponse.
type ChangePasswordJSONBody ¶
type ChangePasswordJSONBody struct {
// CurrentPassword The user's current password
CurrentPassword string `json:"currentPassword"`
// NewPassword The new password (minimum 12 characters)
NewPassword string `json:"newPassword"`
}
ChangePasswordJSONBody defines parameters for ChangePassword.
type ChangePasswordJSONRequestBody ¶
type ChangePasswordJSONRequestBody ChangePasswordJSONBody
ChangePasswordJSONRequestBody defines body for ChangePassword for application/json ContentType.
type ClassRating ¶
type ClassRating struct {
// ClassType Aircraft class rating type:
// - SEP_LAND/SEP_SEA: Single Engine Piston (Land/Sea)
// - MEP_LAND/MEP_SEA: Multi Engine Piston (Land/Sea)
// - SET_LAND/SET_SEA: Single Engine Turboprop (Land/Sea)
// - TMG: Touring Motor Glider
// - IR: Instrument Rating
// - OTHER: Other rating type
ClassType ClassType `json:"classType"`
CreatedAt time.Time `json:"createdAt"`
// ExpiryDate Null if rating doesn't expire (e.g., FAA ratings)
ExpiryDate *openapi_types.Date `json:"expiryDate"`
Id openapi_types.UUID `json:"id"`
IssueDate openapi_types.Date `json:"issueDate"`
LicenseId openapi_types.UUID `json:"licenseId"`
// Notes Optional notes about this rating
Notes *string `json:"notes"`
UpdatedAt time.Time `json:"updatedAt"`
}
ClassRating defines model for ClassRating.
type ClassRatingCreate ¶
type ClassRatingCreate struct {
// ClassType Aircraft class rating type:
// - SEP_LAND/SEP_SEA: Single Engine Piston (Land/Sea)
// - MEP_LAND/MEP_SEA: Multi Engine Piston (Land/Sea)
// - SET_LAND/SET_SEA: Single Engine Turboprop (Land/Sea)
// - TMG: Touring Motor Glider
// - IR: Instrument Rating
// - OTHER: Other rating type
ClassType ClassType `json:"classType"`
ExpiryDate *openapi_types.Date `json:"expiryDate"`
IssueDate openapi_types.Date `json:"issueDate"`
Notes *string `json:"notes"`
}
ClassRatingCreate defines model for ClassRatingCreate.
type ClassRatingCurrency ¶
type ClassRatingCurrency struct {
ClassRatingId openapi_types.UUID `json:"classRatingId"`
// ClassType Aircraft class rating type:
// - SEP_LAND/SEP_SEA: Single Engine Piston (Land/Sea)
// - MEP_LAND/MEP_SEA: Multi Engine Piston (Land/Sea)
// - SET_LAND/SET_SEA: Single Engine Turboprop (Land/Sea)
// - TMG: Touring Motor Glider
// - IR: Instrument Rating
// - OTHER: Other rating type
ClassType ClassType `json:"classType"`
// ExpiryDate Class rating expiry date
ExpiryDate *openapi_types.Date `json:"expiryDate"`
// LaunchMethodCurrency SPL launch method currency per FCL.140.S(b)(1) — 5 launches per method in 24 months
LaunchMethodCurrency *[]LaunchMethodCurrency `json:"launchMethodCurrency,omitempty"`
LicenseId openapi_types.UUID `json:"licenseId"`
// LicenseType Type from the parent license
LicenseType *string `json:"licenseType,omitempty"`
// Message Human-readable status message
Message *string `json:"message,omitempty"`
// Progress Progress metrics toward currency requirements (authority-specific)
Progress *struct {
// Approaches Number of instrument approaches in the evaluation period
Approaches *int `json:"approaches,omitempty"`
DayLandings *int `json:"dayLandings,omitempty"`
// Flights Number of flights in class in the evaluation period
Flights *int `json:"flights,omitempty"`
// Holds Number of holding procedures in the evaluation period
Holds *int `json:"holds,omitempty"`
// IfrMinutes IFR time in minutes in the evaluation period
IfrMinutes *int `json:"ifrMinutes,omitempty"`
// InstructorMinutes Time with instructor (dual received) in minutes in the evaluation period
InstructorMinutes *int `json:"instructorMinutes,omitempty"`
// Landings Total landings in class in the evaluation period
Landings *int `json:"landings,omitempty"`
NightLandings *int `json:"nightLandings,omitempty"`
// NightMinutes Night time in minutes in the evaluation period
NightMinutes *int `json:"nightMinutes,omitempty"`
// PicMinutes PIC time in class in minutes in the evaluation period
PicMinutes *int `json:"picMinutes,omitempty"`
// RequiredLandings Required landings for currency
RequiredLandings *int `json:"requiredLandings,omitempty"`
// RequiredMinutes Required time in minutes for currency (authority-specific)
RequiredMinutes *int `json:"requiredMinutes,omitempty"`
// TotalMinutes Total time in class in minutes in the evaluation period
TotalMinutes *int `json:"totalMinutes,omitempty"`
} `json:"progress,omitempty"`
// RegulatoryAuthority Authority from the parent license (determines which currency rules apply)
RegulatoryAuthority string `json:"regulatoryAuthority"`
// Requirements Per-requirement breakdown showing progress toward each currency requirement
Requirements *[]CurrencyRequirement `json:"requirements,omitempty"`
// Status Currency status:
// - current: All requirements met
// - expiring: Rating expiry approaching (within 90 days)
// - expired: Rating has expired or currency requirements not met
// - unknown: Authority not supported for auto-calculation
Status ClassRatingCurrencyStatus `json:"status"`
}
ClassRatingCurrency defines model for ClassRatingCurrency.
type ClassRatingCurrencyStatus ¶
type ClassRatingCurrencyStatus string
ClassRatingCurrencyStatus Currency status: - current: All requirements met - expiring: Rating expiry approaching (within 90 days) - expired: Rating has expired or currency requirements not met - unknown: Authority not supported for auto-calculation
const ( ClassRatingCurrencyStatusCurrent ClassRatingCurrencyStatus = "current" ClassRatingCurrencyStatusExpired ClassRatingCurrencyStatus = "expired" ClassRatingCurrencyStatusExpiring ClassRatingCurrencyStatus = "expiring" ClassRatingCurrencyStatusUnknown ClassRatingCurrencyStatus = "unknown" )
Defines values for ClassRatingCurrencyStatus.
type ClassRatingUpdate ¶
type ClassRatingUpdate struct {
ExpiryDate *openapi_types.Date `json:"expiryDate"`
IssueDate *openapi_types.Date `json:"issueDate,omitempty"`
Notes *string `json:"notes"`
}
ClassRatingUpdate defines model for ClassRatingUpdate.
type ClassType ¶
type ClassType string
ClassType Aircraft class rating type: - SEP_LAND/SEP_SEA: Single Engine Piston (Land/Sea) - MEP_LAND/MEP_SEA: Multi Engine Piston (Land/Sea) - SET_LAND/SET_SEA: Single Engine Turboprop (Land/Sea) - TMG: Touring Motor Glider - IR: Instrument Rating - OTHER: Other rating type
const ( ClassTypeIR ClassType = "IR" ClassTypeMEPLAND ClassType = "MEP_LAND" ClassTypeMEPSEA ClassType = "MEP_SEA" ClassTypeOTHER ClassType = "OTHER" ClassTypeSEPLAND ClassType = "SEP_LAND" ClassTypeSEPSEA ClassType = "SEP_SEA" ClassTypeSETLAND ClassType = "SET_LAND" ClassTypeSETSEA ClassType = "SET_SEA" ClassTypeTMG ClassType = "TMG" )
Defines values for ClassType.
type ConfirmImportJSONRequestBody ¶
type ConfirmImportJSONRequestBody = ImportConfirmRequest
ConfirmImportJSONRequestBody defines body for ConfirmImport for application/json ContentType.
type Contact ¶
type Contact struct {
CreatedAt time.Time `json:"createdAt"`
Email *openapi_types.Email `json:"email"`
Id openapi_types.UUID `json:"id"`
Name string `json:"name"`
Notes *string `json:"notes"`
Phone *string `json:"phone"`
UpdatedAt time.Time `json:"updatedAt"`
UserId openapi_types.UUID `json:"userId"`
}
Contact defines model for Contact.
type ContactCreate ¶
type ContactCreate struct {
Email *openapi_types.Email `json:"email"`
Name string `json:"name"`
Notes *string `json:"notes"`
Phone *string `json:"phone"`
}
ContactCreate defines model for ContactCreate.
type CreateAircraftJSONRequestBody ¶
type CreateAircraftJSONRequestBody = AircraftCreate
CreateAircraftJSONRequestBody defines body for CreateAircraft for application/json ContentType.
type CreateAnnouncementJSONBody ¶
type CreateAnnouncementJSONBody struct {
// ExpiresAt Auto-expire the announcement at this time (optional)
ExpiresAt *time.Time `json:"expiresAt,omitempty"`
Message string `json:"message"`
Severity CreateAnnouncementJSONBodySeverity `json:"severity"`
}
CreateAnnouncementJSONBody defines parameters for CreateAnnouncement.
type CreateAnnouncementJSONBodySeverity ¶
type CreateAnnouncementJSONBodySeverity string
CreateAnnouncementJSONBodySeverity defines parameters for CreateAnnouncement.
const ( CreateAnnouncementJSONBodySeverityCritical CreateAnnouncementJSONBodySeverity = "critical" CreateAnnouncementJSONBodySeverityInfo CreateAnnouncementJSONBodySeverity = "info" CreateAnnouncementJSONBodySeveritySuccess CreateAnnouncementJSONBodySeverity = "success" CreateAnnouncementJSONBodySeverityWarning CreateAnnouncementJSONBodySeverity = "warning" )
Defines values for CreateAnnouncementJSONBodySeverity.
type CreateAnnouncementJSONRequestBody ¶
type CreateAnnouncementJSONRequestBody CreateAnnouncementJSONBody
CreateAnnouncementJSONRequestBody defines body for CreateAnnouncement for application/json ContentType.
type CreateClassRatingJSONRequestBody ¶
type CreateClassRatingJSONRequestBody = ClassRatingCreate
CreateClassRatingJSONRequestBody defines body for CreateClassRating for application/json ContentType.
type CreateContactJSONRequestBody ¶
type CreateContactJSONRequestBody = ContactCreate
CreateContactJSONRequestBody defines body for CreateContact for application/json ContentType.
type CreateCredentialJSONRequestBody ¶
type CreateCredentialJSONRequestBody = CredentialCreate
CreateCredentialJSONRequestBody defines body for CreateCredential for application/json ContentType.
type CreateFlightJSONRequestBody ¶
type CreateFlightJSONRequestBody = FlightCreate
CreateFlightJSONRequestBody defines body for CreateFlight for application/json ContentType.
type CreateLicenseJSONRequestBody ¶
type CreateLicenseJSONRequestBody = LicenseCreate
CreateLicenseJSONRequestBody defines body for CreateLicense for application/json ContentType.
type Credential ¶
type Credential struct {
CreatedAt time.Time `json:"createdAt"`
// CredentialNumber Official credential number/reference
CredentialNumber *string `json:"credentialNumber"`
// CredentialType Credential type:
// - EASA_CLASS1_MEDICAL: EASA Class 1 Medical Certificate
// - EASA_CLASS2_MEDICAL: EASA Class 2 Medical Certificate
// - EASA_LAPL_MEDICAL: EASA LAPL Medical Certificate
// - FAA_CLASS1_MEDICAL: FAA First-Class Medical Certificate
// - FAA_CLASS2_MEDICAL: FAA Second-Class Medical Certificate
// - FAA_CLASS3_MEDICAL: FAA Third-Class Medical Certificate
// - LANG_ICAO_LEVEL4: Language Proficiency ICAO Level 4
// - LANG_ICAO_LEVEL5: Language Proficiency ICAO Level 5
// - LANG_ICAO_LEVEL6: Language Proficiency ICAO Level 6 (Expert)
// - SEC_CLEARANCE_ZUP: Security Clearance ZÜP (Germany)
// - SEC_CLEARANCE_ZUBB: Security Clearance ZüBB (Germany)
// - OTHER: Other credential
CredentialType CredentialType `json:"credentialType"`
// ExpiryDate Null if credential doesn't expire
ExpiryDate *openapi_types.Date `json:"expiryDate"`
Id openapi_types.UUID `json:"id"`
IssueDate openapi_types.Date `json:"issueDate"`
// IssuingAuthority Authority or examiner that issued the credential
IssuingAuthority string `json:"issuingAuthority"`
Notes *string `json:"notes"`
UpdatedAt time.Time `json:"updatedAt"`
UserId openapi_types.UUID `json:"userId"`
}
Credential defines model for Credential.
type CredentialCreate ¶
type CredentialCreate struct {
CredentialNumber *string `json:"credentialNumber"`
// CredentialType Credential type:
// - EASA_CLASS1_MEDICAL: EASA Class 1 Medical Certificate
// - EASA_CLASS2_MEDICAL: EASA Class 2 Medical Certificate
// - EASA_LAPL_MEDICAL: EASA LAPL Medical Certificate
// - FAA_CLASS1_MEDICAL: FAA First-Class Medical Certificate
// - FAA_CLASS2_MEDICAL: FAA Second-Class Medical Certificate
// - FAA_CLASS3_MEDICAL: FAA Third-Class Medical Certificate
// - LANG_ICAO_LEVEL4: Language Proficiency ICAO Level 4
// - LANG_ICAO_LEVEL5: Language Proficiency ICAO Level 5
// - LANG_ICAO_LEVEL6: Language Proficiency ICAO Level 6 (Expert)
// - SEC_CLEARANCE_ZUP: Security Clearance ZÜP (Germany)
// - SEC_CLEARANCE_ZUBB: Security Clearance ZüBB (Germany)
// - OTHER: Other credential
CredentialType CredentialType `json:"credentialType"`
// ExpiryDate Must be after issueDate when provided
ExpiryDate *openapi_types.Date `json:"expiryDate"`
IssueDate openapi_types.Date `json:"issueDate"`
IssuingAuthority string `json:"issuingAuthority"`
Notes *string `json:"notes"`
}
CredentialCreate defines model for CredentialCreate.
type CredentialId ¶
type CredentialId = openapi_types.UUID
CredentialId defines model for CredentialId.
type CredentialType ¶
type CredentialType string
CredentialType Credential type: - EASA_CLASS1_MEDICAL: EASA Class 1 Medical Certificate - EASA_CLASS2_MEDICAL: EASA Class 2 Medical Certificate - EASA_LAPL_MEDICAL: EASA LAPL Medical Certificate - FAA_CLASS1_MEDICAL: FAA First-Class Medical Certificate - FAA_CLASS2_MEDICAL: FAA Second-Class Medical Certificate - FAA_CLASS3_MEDICAL: FAA Third-Class Medical Certificate - LANG_ICAO_LEVEL4: Language Proficiency ICAO Level 4 - LANG_ICAO_LEVEL5: Language Proficiency ICAO Level 5 - LANG_ICAO_LEVEL6: Language Proficiency ICAO Level 6 (Expert) - SEC_CLEARANCE_ZUP: Security Clearance ZÜP (Germany) - SEC_CLEARANCE_ZUBB: Security Clearance ZüBB (Germany) - OTHER: Other credential
const ( CredentialTypeEASACLASS1MEDICAL CredentialType = "EASA_CLASS1_MEDICAL" CredentialTypeEASACLASS2MEDICAL CredentialType = "EASA_CLASS2_MEDICAL" CredentialTypeEASALAPLMEDICAL CredentialType = "EASA_LAPL_MEDICAL" CredentialTypeFAACLASS1MEDICAL CredentialType = "FAA_CLASS1_MEDICAL" CredentialTypeFAACLASS2MEDICAL CredentialType = "FAA_CLASS2_MEDICAL" CredentialTypeFAACLASS3MEDICAL CredentialType = "FAA_CLASS3_MEDICAL" CredentialTypeLANGICAOLEVEL4 CredentialType = "LANG_ICAO_LEVEL4" CredentialTypeLANGICAOLEVEL5 CredentialType = "LANG_ICAO_LEVEL5" CredentialTypeLANGICAOLEVEL6 CredentialType = "LANG_ICAO_LEVEL6" CredentialTypeOTHER CredentialType = "OTHER" CredentialTypeSECCLEARANCEZUBB CredentialType = "SEC_CLEARANCE_ZUBB" CredentialTypeSECCLEARANCEZUP CredentialType = "SEC_CLEARANCE_ZUP" )
Defines values for CredentialType.
type CredentialUpdate ¶
type CredentialUpdate struct {
CredentialNumber *string `json:"credentialNumber"`
// CredentialType Credential type:
// - EASA_CLASS1_MEDICAL: EASA Class 1 Medical Certificate
// - EASA_CLASS2_MEDICAL: EASA Class 2 Medical Certificate
// - EASA_LAPL_MEDICAL: EASA LAPL Medical Certificate
// - FAA_CLASS1_MEDICAL: FAA First-Class Medical Certificate
// - FAA_CLASS2_MEDICAL: FAA Second-Class Medical Certificate
// - FAA_CLASS3_MEDICAL: FAA Third-Class Medical Certificate
// - LANG_ICAO_LEVEL4: Language Proficiency ICAO Level 4
// - LANG_ICAO_LEVEL5: Language Proficiency ICAO Level 5
// - LANG_ICAO_LEVEL6: Language Proficiency ICAO Level 6 (Expert)
// - SEC_CLEARANCE_ZUP: Security Clearance ZÜP (Germany)
// - SEC_CLEARANCE_ZUBB: Security Clearance ZüBB (Germany)
// - OTHER: Other credential
CredentialType *CredentialType `json:"credentialType,omitempty"`
// ExpiryDate Must be after issueDate when provided
ExpiryDate *openapi_types.Date `json:"expiryDate"`
IssueDate *openapi_types.Date `json:"issueDate,omitempty"`
IssuingAuthority *string `json:"issuingAuthority,omitempty"`
Notes *string `json:"notes"`
}
CredentialUpdate defines model for CredentialUpdate.
type Currency ¶
type Currency struct {
// DaysCurrent Day currency status
DaysCurrent bool `json:"daysCurrent"`
// ExpiryDate License expiry date if applicable
ExpiryDate *openapi_types.Date `json:"expiryDate"`
// IsCurrent Overall currency status
IsCurrent bool `json:"isCurrent"`
Last90Days struct {
// DayLandings Day landings in last 90 days
DayLandings int `json:"dayLandings"`
// Flights Number of flights in last 90 days
Flights int `json:"flights"`
// NightLandings Night landings in last 90 days
NightLandings int `json:"nightLandings"`
// TotalLandings Total landings in last 90 days
TotalLandings int `json:"totalLandings"`
} `json:"last90Days"`
LicenseId openapi_types.UUID `json:"licenseId"`
// NightsCurrent Night currency status (FAA requires separate tracking)
NightsCurrent bool `json:"nightsCurrent"`
RequiredLandings *struct {
// Day Required day landings for currency
Day int `json:"day"`
// Night Required night landings for night currency
Night int `json:"night"`
} `json:"requiredLandings,omitempty"`
}
Currency defines model for Currency.
type CurrencyRequirement ¶
type CurrencyRequirement struct {
// Current Current progress value
Current float32 `json:"current"`
// Message Human-readable progress description
Message *string `json:"message,omitempty"`
// Met Whether this requirement is currently satisfied
Met bool `json:"met"`
// Name Requirement name (e.g., "Day Currency", "PIC Hours", "Refresher Training")
Name string `json:"name"`
// Required Required value to meet this requirement
Required float32 `json:"required"`
// Unit Unit of measurement (e.g., "landings", "hours", "flights")
Unit string `json:"unit"`
}
CurrencyRequirement defines model for CurrencyRequirement.
type CurrencyStatusResponse ¶
type CurrencyStatusResponse struct {
FlightReview *FlightReviewStatus `json:"flightReview,omitempty"`
// PassengerCurrency Tier 2: Passenger currency — determines whether the pilot can carry passengers (rolling from now, separate from rating validity)
PassengerCurrency []PassengerCurrency `json:"passengerCurrency"`
// Ratings Tier 1: Rating/license currency — determines whether the pilot can fly at all in each class
Ratings []ClassRatingCurrency `json:"ratings"`
}
CurrencyStatusResponse defines model for CurrencyStatusResponse.
type DeleteCurrentUserJSONBody ¶
type DeleteCurrentUserJSONBody struct {
// Password Current password for confirmation
Password string `json:"password"`
}
DeleteCurrentUserJSONBody defines parameters for DeleteCurrentUser.
type DeleteCurrentUserJSONRequestBody ¶
type DeleteCurrentUserJSONRequestBody DeleteCurrentUserJSONBody
DeleteCurrentUserJSONRequestBody defines body for DeleteCurrentUser for application/json ContentType.
type Disable2FAJSONBody ¶
type Disable2FAJSONBody struct {
Password string `json:"password"`
}
Disable2FAJSONBody defines parameters for Disable2FA.
type Disable2FAJSONRequestBody ¶
type Disable2FAJSONRequestBody Disable2FAJSONBody
Disable2FAJSONRequestBody defines body for Disable2FA for application/json ContentType.
type Error ¶
type Error struct {
// Details Detailed validation errors
Details *[]struct {
Field *string `json:"field,omitempty"`
Message *string `json:"message,omitempty"`
} `json:"details,omitempty"`
// Error Error message
Error string `json:"error"`
}
Error defines model for Error.
type ExportFlightsCSVParams ¶
type ExportFlightsCSVParams struct {
// Format CSV column format — easa, faa, or standard (ForeFlight-compatible default)
Format *ExportFlightsCSVParamsFormat `form:"format,omitempty" json:"format,omitempty"`
}
ExportFlightsCSVParams defines parameters for ExportFlightsCSV.
type ExportFlightsCSVParamsFormat ¶
type ExportFlightsCSVParamsFormat string
ExportFlightsCSVParamsFormat defines parameters for ExportFlightsCSV.
const ( ExportFlightsCSVParamsFormatEasa ExportFlightsCSVParamsFormat = "easa" ExportFlightsCSVParamsFormatFaa ExportFlightsCSVParamsFormat = "faa" ExportFlightsCSVParamsFormatStandard ExportFlightsCSVParamsFormat = "standard" )
Defines values for ExportFlightsCSVParamsFormat.
type ExportFlightsPDFParams ¶
type ExportFlightsPDFParams struct {
// LogbookLicenseId Filter flights for a specific logbook license
LogbookLicenseId *openapi_types.UUID `form:"logbookLicenseId,omitempty" json:"logbookLicenseId,omitempty"`
// Format PDF format — easa (AMC1 FCL.050 two-page spread), faa (ASA/Jeppesen layout), or summary (simplified totals)
Format *ExportFlightsPDFParamsFormat `form:"format,omitempty" json:"format,omitempty"`
// PageSize Page size for the generated PDF. All sizes are rendered in landscape orientation. EASA format is laid out as a book-style two-page spread (left + right) intended for double-sided printing.
PageSize *ExportFlightsPDFParamsPageSize `form:"page_size,omitempty" json:"page_size,omitempty"`
}
ExportFlightsPDFParams defines parameters for ExportFlightsPDF.
type ExportFlightsPDFParamsFormat ¶
type ExportFlightsPDFParamsFormat string
ExportFlightsPDFParamsFormat defines parameters for ExportFlightsPDF.
const ( ExportFlightsPDFParamsFormatEasa ExportFlightsPDFParamsFormat = "easa" ExportFlightsPDFParamsFormatFaa ExportFlightsPDFParamsFormat = "faa" ExportFlightsPDFParamsFormatSummary ExportFlightsPDFParamsFormat = "summary" )
Defines values for ExportFlightsPDFParamsFormat.
type ExportFlightsPDFParamsPageSize ¶ added in v1.2.1
type ExportFlightsPDFParamsPageSize string
ExportFlightsPDFParamsPageSize defines parameters for ExportFlightsPDF.
const ( A4 ExportFlightsPDFParamsPageSize = "a4" A5 ExportFlightsPDFParamsPageSize = "a5" Letter ExportFlightsPDFParamsPageSize = "letter" )
Defines values for ExportFlightsPDFParamsPageSize.
type Flight ¶
type Flight struct {
// ActualInstrumentTime Actual instrument flight time in minutes (under IMC or simulated IMC with view-limiting device)
ActualInstrumentTime *int `json:"actualInstrumentTime,omitempty"`
// AircraftReg Aircraft registration
AircraftReg string `json:"aircraftReg"`
// AircraftType Aircraft type
AircraftType string `json:"aircraftType"`
// AllLandings Total landings (day + night). Auto-calculated by the server.
AllLandings int `json:"allLandings"`
// Approaches Structured instrument approach details (FAA §61.51(g)(3)) — type, airport, and runway for each approach
Approaches *[]ApproachEntry `json:"approaches,omitempty"`
// ApproachesCount Number of instrument approaches performed
ApproachesCount *int `json:"approachesCount,omitempty"`
// ArrivalIcao ICAO code of arrival airport
ArrivalIcao *string `json:"arrivalIcao"`
// ArrivalTime Landing time in UTC. Marks the end of airborne/flight time.
ArrivalTime *string `json:"arrivalTime"`
CreatedAt time.Time `json:"createdAt"`
// CrewMembers People on board this flight with their roles
CrewMembers *[]FlightCrewMember `json:"crewMembers,omitempty"`
// CrossCountryTime Cross-country time in minutes. Auto-calculated when departure ≠ arrival.
CrossCountryTime int `json:"crossCountryTime"`
Date openapi_types.Date `json:"date"`
// DepartureIcao ICAO code of departure airport
DepartureIcao *string `json:"departureIcao"`
// DepartureTime Takeoff time in UTC. Marks the beginning of airborne/flight time.
DepartureTime *string `json:"departureTime"`
// Distance Distance in nautical miles. Auto-calculated from airport coordinates.
Distance float32 `json:"distance"`
// DualGivenTime Dual instruction given time in minutes. Auto-calculated when user acts as instructor.
DualGivenTime *int `json:"dualGivenTime,omitempty"`
// DualTime Dual instruction block time in minutes (computed from isDual and totalTime)
DualTime int `json:"dualTime"`
// Endorsements Instructor endorsements, skill test references, examiner notes. EASA AMC1 FCL.050 Col 24 / FAA §61.51(h). Separate from pilot remarks.
Endorsements *string `json:"endorsements"`
// FstdType FSTD type designation (e.g., "FNPT II", "FFS A320", "FTD Level 5", "BATD", "AATD"). Required by EASA AMC1 FCL.050 Col 22 and FAA §61.51(b)(1)(iv).
FstdType *string `json:"fstdType"`
// GroundTrainingTime Ground training time in minutes
GroundTrainingTime *int `json:"groundTrainingTime,omitempty"`
// Holds Number of holding procedures performed
Holds *int `json:"holds,omitempty"`
Id openapi_types.UUID `json:"id"`
// IfrTime Instrument block time in minutes
IfrTime int `json:"ifrTime"`
// InstructorComments Instructor comments about the flight
InstructorComments *string `json:"instructorComments"`
// InstructorName Name of the instructor for this flight
InstructorName *string `json:"instructorName"`
// IsDual Whether this flight was logged as dual instruction received. Mutually exclusive with isPic.
IsDual bool `json:"isDual"`
// IsFlightReview Whether this flight was a Flight Review (FAA 61.56) or equivalent
IsFlightReview *bool `json:"isFlightReview,omitempty"`
// IsIpc Whether this flight included an Instrument Proficiency Check (IPC)
IsIpc *bool `json:"isIpc,omitempty"`
// IsPic Whether this flight was logged as pilot-in-command. Mutually exclusive with isDual.
IsPic bool `json:"isPic"`
// IsProficiencyCheck Whether this flight was a Proficiency Check (EASA FCL.740.A MEP/SET, FCL.625.A IR, or FAA §61.58)
IsProficiencyCheck *bool `json:"isProficiencyCheck,omitempty"`
// LandingsDay Number of day landings. Auto-calculated from sunset/sunrise at arrival airport.
LandingsDay int `json:"landingsDay"`
// LandingsNight Number of night landings. Auto-calculated from sunset/sunrise at arrival airport.
LandingsNight int `json:"landingsNight"`
// LaunchMethod Launch method for glider/SPL flights (winch, aerotow, or self-launch)
LaunchMethod *FlightLaunchMethod `json:"launchMethod"`
// MultiPilotTime Multi-pilot time in minutes (EASA AMC1 FCL.050 Col 10). Time operated on multi-pilot aircraft.
MultiPilotTime *int `json:"multiPilotTime,omitempty"`
// NightTime Night block time in minutes. Auto-calculated from departure/arrival times and airport sunset/sunrise data.
NightTime int `json:"nightTime"`
// OffBlockTime Off-block time (chocks off / engine start) in UTC. Marks the beginning of block time per EASA FCL.010 / FAA 14 CFR 1.1.
OffBlockTime *string `json:"offBlockTime"`
// OnBlockTime On-block time (chocks on / engine shutdown) in UTC. Marks the end of block time per EASA FCL.010 / FAA 14 CFR 1.1.
OnBlockTime *string `json:"onBlockTime"`
// PicName Name of the pilot-in-command for this flight (EASA AMC1 FCL.050 Col 12). Auto-set to "Self" when isPic=true, or to instructorName when isDual=true.
PicName *string `json:"picName"`
// PicTime Pilot-in-command block time in minutes (computed from isPic and totalTime)
PicTime int `json:"picTime"`
// Remarks Free text notes
Remarks *string `json:"remarks"`
// Route Route waypoints as comma-separated ICAO codes for VFR/IFR flight plans
Route *string `json:"route"`
// SicTime Second-in-command time in minutes. Auto-calculated when SIC crew role assigned.
SicTime *int `json:"sicTime,omitempty"`
// SimulatedFlightTime Simulated flight time in minutes (FTD/FSTD)
SimulatedFlightTime *int `json:"simulatedFlightTime,omitempty"`
// SimulatedInstrumentTime Simulated instrument time in minutes (FSTD/FTD/ATD)
SimulatedInstrumentTime *int `json:"simulatedInstrumentTime,omitempty"`
// SoloTime Solo time in minutes. Auto-calculated when no crew and not dual instruction.
SoloTime int `json:"soloTime"`
// TakeoffsDay Number of day takeoffs. Auto-calculated from sunset/sunrise at departure airport unless overridden.
TakeoffsDay int `json:"takeoffsDay"`
// TakeoffsNight Number of night takeoffs. Auto-calculated from sunset/sunrise at departure airport unless overridden.
TakeoffsNight int `json:"takeoffsNight"`
// TotalTime Total block time in minutes (off-block to on-block)
TotalTime int `json:"totalTime"`
UpdatedAt time.Time `json:"updatedAt"`
UserId openapi_types.UUID `json:"userId"`
}
Flight defines model for Flight.
type FlightBaseline ¶ added in v1.2.3
type FlightBaseline struct {
// BaselineDate Cutoff date the snapshot covers (inclusive).
BaselineDate openapi_types.Date `json:"baselineDate"`
CreatedAt *time.Time `json:"createdAt,omitempty"`
CrossCountryMinutes *int `json:"crossCountryMinutes,omitempty"`
DualGivenMinutes *int `json:"dualGivenMinutes,omitempty"`
// DualMinutes Dual instruction received in minutes
DualMinutes *int `json:"dualMinutes,omitempty"`
// IfrMinutes Total IFR / instrument time in minutes
IfrMinutes *int `json:"ifrMinutes,omitempty"`
LandingsDay *int `json:"landingsDay,omitempty"`
LandingsNight *int `json:"landingsNight,omitempty"`
MultiPilotMinutes *int `json:"multiPilotMinutes,omitempty"`
NightMinutes *int `json:"nightMinutes,omitempty"`
// Notes Optional free-form context (e.g. "From paper logbook 1998-2010").
Notes *string `json:"notes"`
PicMinutes *int `json:"picMinutes,omitempty"`
SicMinutes *int `json:"sicMinutes,omitempty"`
SoloMinutes *int `json:"soloMinutes,omitempty"`
TotalFlights *int `json:"totalFlights,omitempty"`
// TotalMinutes Total block time in minutes
TotalMinutes *int `json:"totalMinutes,omitempty"`
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
}
FlightBaseline defines model for FlightBaseline.
type FlightBaselineInput ¶ added in v1.2.3
type FlightBaselineInput struct {
// BaselineDate Cutoff date the snapshot covers (inclusive).
BaselineDate openapi_types.Date `json:"baselineDate"`
CrossCountryMinutes *int `json:"crossCountryMinutes,omitempty"`
DualGivenMinutes *int `json:"dualGivenMinutes,omitempty"`
// DualMinutes Dual instruction received in minutes
DualMinutes *int `json:"dualMinutes,omitempty"`
// IfrMinutes Total IFR / instrument time in minutes
IfrMinutes *int `json:"ifrMinutes,omitempty"`
LandingsDay *int `json:"landingsDay,omitempty"`
LandingsNight *int `json:"landingsNight,omitempty"`
MultiPilotMinutes *int `json:"multiPilotMinutes,omitempty"`
NightMinutes *int `json:"nightMinutes,omitempty"`
// Notes Optional free-form context (e.g. "From paper logbook 1998-2010").
Notes *string `json:"notes"`
PicMinutes *int `json:"picMinutes,omitempty"`
SicMinutes *int `json:"sicMinutes,omitempty"`
SoloMinutes *int `json:"soloMinutes,omitempty"`
TotalFlights *int `json:"totalFlights,omitempty"`
// TotalMinutes Total block time in minutes
TotalMinutes *int `json:"totalMinutes,omitempty"`
}
FlightBaselineInput Initial-hours snapshot input. Allows a user to record their pre-existing flying experience as a single carried-forward total without entering every historical flight. All numeric fields default to 0 when omitted.
type FlightCreate ¶
type FlightCreate struct {
ActualInstrumentTime *int `json:"actualInstrumentTime,omitempty"`
AircraftReg string `json:"aircraftReg"`
AircraftType string `json:"aircraftType"`
// AllLandings Total landings (day + night). Auto-calculated by the server.
AllLandings *int `json:"allLandings,omitempty"`
// Approaches Structured instrument approach details
Approaches *[]ApproachEntryInput `json:"approaches,omitempty"`
ApproachesCount *int `json:"approachesCount,omitempty"`
// ArrivalIcao Arrival airport ICAO code
ArrivalIcao string `json:"arrivalIcao"`
// ArrivalTime Landing time in UTC
ArrivalTime *string `json:"arrivalTime,omitempty"`
// CrewMembers People on board this flight
CrewMembers *[]FlightCrewMemberInput `json:"crewMembers,omitempty"`
// CrossCountryTime Cross-country time in minutes. Auto-calculated by the server.
CrossCountryTime *int `json:"crossCountryTime,omitempty"`
Date openapi_types.Date `json:"date"`
// DepartureIcao Departure airport ICAO code
DepartureIcao string `json:"departureIcao"`
// DepartureTime Takeoff time in UTC
DepartureTime *string `json:"departureTime,omitempty"`
// Distance Distance in nautical miles. Auto-calculated by the server.
Distance *float32 `json:"distance,omitempty"`
DualGivenTime *int `json:"dualGivenTime,omitempty"`
// DualTime Dual instruction time in minutes. Computed by server — equals totalTime when isDual is true, 0 otherwise.
DualTime *int `json:"dualTime,omitempty"`
// Endorsements Instructor endorsements, skill test references
Endorsements *string `json:"endorsements"`
// FstdType FSTD type designation (e.g., "FNPT II", "FFS A320")
FstdType *string `json:"fstdType"`
GroundTrainingTime *int `json:"groundTrainingTime,omitempty"`
Holds *int `json:"holds,omitempty"`
IfrTime *int `json:"ifrTime,omitempty"`
InstructorComments *string `json:"instructorComments"`
InstructorName *string `json:"instructorName"`
IsFlightReview *bool `json:"isFlightReview,omitempty"`
IsIpc *bool `json:"isIpc,omitempty"`
IsProficiencyCheck *bool `json:"isProficiencyCheck,omitempty"`
// Landings Total number of landings. Day/night split is auto-calculated from sunset/sunrise at arrival airport.
Landings int `json:"landings"`
LaunchMethod *FlightCreateLaunchMethod `json:"launchMethod"`
// MultiPilotTime Multi-pilot time in minutes (EASA AMC1 FCL.050 Col 10)
MultiPilotTime *int `json:"multiPilotTime,omitempty"`
// OffBlockTime Off-block time (chocks off / engine start) in UTC
OffBlockTime string `json:"offBlockTime"`
// OnBlockTime On-block time (chocks on / engine shutdown) in UTC
OnBlockTime string `json:"onBlockTime"`
// PicName Name of the PIC. Auto-set to "Self" when isPic=true, or to instructorName when isDual=true.
PicName *string `json:"picName"`
// PicTime Pilot-in-command time in minutes. Computed by server — equals totalTime when isPic is true, 0 otherwise.
PicTime *int `json:"picTime,omitempty"`
Remarks *string `json:"remarks"`
// Route Route waypoints as comma-separated ICAO codes
Route *string `json:"route"`
SicTime *int `json:"sicTime,omitempty"`
SimulatedFlightTime *int `json:"simulatedFlightTime,omitempty"`
SimulatedInstrumentTime *int `json:"simulatedInstrumentTime,omitempty"`
// SoloTime Solo time in minutes. Auto-calculated by the server.
SoloTime *int `json:"soloTime,omitempty"`
// TakeoffsDay Number of day takeoffs. Provide to override auto-calculation.
TakeoffsDay *int `json:"takeoffsDay,omitempty"`
// TakeoffsNight Number of night takeoffs. Provide to override auto-calculation.
TakeoffsNight *int `json:"takeoffsNight,omitempty"`
// TotalTime Total block time in minutes calculated from offBlockTime and onBlockTime. This field is computed by the server and should not be provided by the client.
TotalTime *int `json:"totalTime,omitempty"`
}
FlightCreate defines model for FlightCreate.
type FlightCreateLaunchMethod ¶
type FlightCreateLaunchMethod string
FlightCreateLaunchMethod defines model for FlightCreate.LaunchMethod.
const ( FlightCreateLaunchMethodAerotow FlightCreateLaunchMethod = "aerotow" FlightCreateLaunchMethodSelfLaunch FlightCreateLaunchMethod = "self-launch" FlightCreateLaunchMethodWinch FlightCreateLaunchMethod = "winch" )
Defines values for FlightCreateLaunchMethod.
type FlightCrewMember ¶
type FlightCrewMember struct {
// ContactId Reference to a saved contact for autocomplete reuse
ContactId *openapi_types.UUID `json:"contactId"`
FlightId openapi_types.UUID `json:"flightId"`
Id openapi_types.UUID `json:"id"`
Name string `json:"name"`
// Role Role of a person on board a flight
Role CrewRole `json:"role"`
}
FlightCrewMember defines model for FlightCrewMember.
type FlightCrewMemberInput ¶
type FlightCrewMemberInput struct {
ContactId *openapi_types.UUID `json:"contactId"`
Name string `json:"name"`
// Role Role of a person on board a flight
Role CrewRole `json:"role"`
}
FlightCrewMemberInput defines model for FlightCrewMemberInput.
type FlightLaunchMethod ¶
type FlightLaunchMethod string
FlightLaunchMethod Launch method for glider/SPL flights (winch, aerotow, or self-launch)
const ( FlightLaunchMethodAerotow FlightLaunchMethod = "aerotow" FlightLaunchMethodSelfLaunch FlightLaunchMethod = "self-launch" FlightLaunchMethodWinch FlightLaunchMethod = "winch" )
Defines values for FlightLaunchMethod.
type FlightReviewStatus ¶
type FlightReviewStatus struct {
// ExpiresOn Date the flight review expires (24 calendar months after last completed)
ExpiresOn *openapi_types.Date `json:"expiresOn"`
// LastCompleted Date of most recent flight review
LastCompleted *openapi_types.Date `json:"lastCompleted"`
// Message Human-readable flight review status message
Message string `json:"message"`
// Status Flight review currency status
Status FlightReviewStatusStatus `json:"status"`
}
FlightReviewStatus defines model for FlightReviewStatus.
type FlightReviewStatusStatus ¶
type FlightReviewStatusStatus string
FlightReviewStatusStatus Flight review currency status
const ( FlightReviewStatusStatusCurrent FlightReviewStatusStatus = "current" FlightReviewStatusStatusExpired FlightReviewStatusStatus = "expired" FlightReviewStatusStatusExpiring FlightReviewStatusStatus = "expiring" FlightReviewStatusStatusUnknown FlightReviewStatusStatus = "unknown" )
Defines values for FlightReviewStatusStatus.
type FlightRoute ¶
type FlightRoute struct {
ArrivalCoords struct {
Lat float64 `json:"lat"`
Lng float64 `json:"lng"`
} `json:"arrivalCoords"`
ArrivalIcao string `json:"arrivalIcao"`
DepartureCoords struct {
Lat float64 `json:"lat"`
Lng float64 `json:"lng"`
} `json:"departureCoords"`
DepartureIcao string `json:"departureIcao"`
// FlightCount Number of flights on this route
FlightCount int `json:"flightCount"`
}
FlightRoute defines model for FlightRoute.
type FlightRoutesResponse ¶
type FlightRoutesResponse struct {
Airports []Airport `json:"airports"`
Routes []FlightRoute `json:"routes"`
}
FlightRoutesResponse defines model for FlightRoutesResponse.
type FlightUpdate ¶
type FlightUpdate struct {
ActualInstrumentTime *int `json:"actualInstrumentTime,omitempty"`
AircraftReg *string `json:"aircraftReg,omitempty"`
AircraftType *string `json:"aircraftType,omitempty"`
Approaches *[]ApproachEntryInput `json:"approaches,omitempty"`
ApproachesCount *int `json:"approachesCount,omitempty"`
ArrivalIcao *string `json:"arrivalIcao"`
// ArrivalTime Landing time in UTC
ArrivalTime *string `json:"arrivalTime"`
// CrewMembers People on board this flight
CrewMembers *[]FlightCrewMemberInput `json:"crewMembers,omitempty"`
Date *openapi_types.Date `json:"date,omitempty"`
DepartureIcao *string `json:"departureIcao"`
// DepartureTime Takeoff time in UTC
DepartureTime *string `json:"departureTime"`
DualGivenTime *int `json:"dualGivenTime,omitempty"`
// Endorsements Instructor endorsements, skill test references
Endorsements *string `json:"endorsements"`
// FstdType FSTD type designation
FstdType *string `json:"fstdType"`
GroundTrainingTime *int `json:"groundTrainingTime,omitempty"`
Holds *int `json:"holds,omitempty"`
IfrTime *int `json:"ifrTime,omitempty"`
InstructorComments *string `json:"instructorComments"`
InstructorName *string `json:"instructorName"`
IsFlightReview *bool `json:"isFlightReview,omitempty"`
IsIpc *bool `json:"isIpc,omitempty"`
IsProficiencyCheck *bool `json:"isProficiencyCheck,omitempty"`
// Landings Total number of landings
Landings *int `json:"landings,omitempty"`
LaunchMethod *FlightUpdateLaunchMethod `json:"launchMethod"`
// MultiPilotTime Multi-pilot time in minutes
MultiPilotTime *int `json:"multiPilotTime,omitempty"`
// OffBlockTime Off-block time (chocks off / engine start) in UTC
OffBlockTime *string `json:"offBlockTime"`
// OnBlockTime On-block time (chocks on / engine shutdown) in UTC
OnBlockTime *string `json:"onBlockTime"`
// PicName Name of the PIC
PicName *string `json:"picName"`
Remarks *string `json:"remarks"`
// Route Route waypoints as comma-separated ICAO codes
Route *string `json:"route"`
SicTime *int `json:"sicTime,omitempty"`
SimulatedFlightTime *int `json:"simulatedFlightTime,omitempty"`
SimulatedInstrumentTime *int `json:"simulatedInstrumentTime,omitempty"`
// TakeoffsDay Number of day takeoffs. Provide to override auto-calculation.
TakeoffsDay *int `json:"takeoffsDay,omitempty"`
// TakeoffsNight Number of night takeoffs. Provide to override auto-calculation.
TakeoffsNight *int `json:"takeoffsNight,omitempty"`
TotalTime *int `json:"totalTime,omitempty"`
}
FlightUpdate defines model for FlightUpdate.
type FlightUpdateLaunchMethod ¶
type FlightUpdateLaunchMethod string
FlightUpdateLaunchMethod defines model for FlightUpdate.LaunchMethod.
const ( Aerotow FlightUpdateLaunchMethod = "aerotow" SelfLaunch FlightUpdateLaunchMethod = "self-launch" Winch FlightUpdateLaunchMethod = "winch" )
Defines values for FlightUpdateLaunchMethod.
type GetFlightTrendsParams ¶
type GetFlightTrendsParams struct {
// Months Number of months to include (default 12, max 60)
Months *int `form:"months,omitempty" json:"months,omitempty"`
}
GetFlightTrendsParams defines parameters for GetFlightTrends.
type GetLicenseStatisticsParams ¶
type GetLicenseStatisticsParams struct {
// StartDate Filter from this date (inclusive)
StartDate *openapi_types.Date `form:"startDate,omitempty" json:"startDate,omitempty"`
// EndDate Filter to this date (inclusive)
EndDate *openapi_types.Date `form:"endDate,omitempty" json:"endDate,omitempty"`
}
GetLicenseStatisticsParams defines parameters for GetLicenseStatistics.
type GetMyStatisticsParams ¶
type GetMyStatisticsParams struct {
// StartDate Filter from this date (inclusive)
StartDate *openapi_types.Date `form:"startDate,omitempty" json:"startDate,omitempty"`
// EndDate Filter to this date (inclusive)
EndDate *openapi_types.Date `form:"endDate,omitempty" json:"endDate,omitempty"`
}
GetMyStatisticsParams defines parameters for GetMyStatistics.
type GetNotificationHistoryParams ¶
type GetNotificationHistoryParams struct {
// Limit Maximum number of results to return
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
// Offset Number of results to skip
Offset *int `form:"offset,omitempty" json:"offset,omitempty"`
}
GetNotificationHistoryParams defines parameters for GetNotificationHistory.
type GetStatsByClassParams ¶ added in v1.2.2
type GetStatsByClassParams struct {
// Months Number of months to include (default 12, 0 = all time)
Months *int `form:"months,omitempty" json:"months,omitempty"`
}
GetStatsByClassParams defines parameters for GetStatsByClass.
type GinServerOptions ¶
type GinServerOptions struct {
BaseURL string
Middlewares []MiddlewareFunc
ErrorHandler func(*gin.Context, error, int)
}
GinServerOptions provides options for the Gin server.
type ImportColumnMapping ¶
type ImportColumnMapping struct {
// DateFormat Date parsing format (Go / strftime-style). Only relevant when targetField is `date`.
DateFormat *string `json:"dateFormat,omitempty"`
// SourceColumn Column header name from the uploaded file
SourceColumn string `json:"sourceColumn"`
// TargetField Target flight log field for column mapping.
// Person fields (`person1`–`person6`) extract crew members from import rows.
// During ForeFlight imports, role assignment is automatic:
// - If an instructor is detected (via `instructorName` or dual-received time),
// `person1` is assigned the **Instructor** role and `person2` the **Student** role.
// - Otherwise, `person1` is assigned **PIC**.
// - `person3`–`person6` default to **Passenger**.
// Contacts are auto-created for each unique person name.
// Use `ignore` to skip a column during import.
TargetField ImportField `json:"targetField"`
// TimeFormat Time parsing format. Only relevant for time fields.
TimeFormat *string `json:"timeFormat,omitempty"`
// TrueValue String value that maps to boolean `true` (e.g. "Yes", "X", "1"). Only relevant for isPic / isDual.
TrueValue *string `json:"trueValue,omitempty"`
}
ImportColumnMapping defines model for ImportColumnMapping.
type ImportConfirmRequest ¶
type ImportConfirmRequest struct {
// IncludeDuplicates When true, import all duplicate rows as well (overrides selectedRows filtering)
IncludeDuplicates *bool `json:"includeDuplicates,omitempty"`
// SelectedRows Row indices to import (1-based). If omitted or empty, all `valid` rows are imported.
// Include duplicate row indices here to force-import them.
SelectedRows *[]int `json:"selectedRows,omitempty"`
// UploadToken Upload token from the preview response
UploadToken string `json:"uploadToken"`
}
ImportConfirmRequest defines model for ImportConfirmRequest.
type ImportDataJSONJSONBody ¶ added in v1.2.3
type ImportDataJSONJSONBody struct {
Aircraft *[]map[string]interface{} `json:"aircraft,omitempty"`
Credentials *[]map[string]interface{} `json:"credentials,omitempty"`
ExportedAt *time.Time `json:"exportedAt,omitempty"`
Flights *[]map[string]interface{} `json:"flights,omitempty"`
Format string `json:"format"`
Licenses *[]map[string]interface{} `json:"licenses,omitempty"`
Version *string `json:"version,omitempty"`
}
ImportDataJSONJSONBody defines parameters for ImportDataJSON.
type ImportDataJSONJSONRequestBody ¶ added in v1.2.3
type ImportDataJSONJSONRequestBody ImportDataJSONJSONBody
ImportDataJSONJSONRequestBody defines body for ImportDataJSON for application/json ContentType.
type ImportField ¶
type ImportField string
ImportField Target flight log field for column mapping. Person fields (`person1`–`person6`) extract crew members from import rows. During ForeFlight imports, role assignment is automatic:
- If an instructor is detected (via `instructorName` or dual-received time), `person1` is assigned the **Instructor** role and `person2` the **Student** role.
- Otherwise, `person1` is assigned **PIC**.
- `person3`–`person6` default to **Passenger**.
Contacts are auto-created for each unique person name. Use `ignore` to skip a column during import.
const ( ImportFieldActualInstrumentTime ImportField = "actualInstrumentTime" ImportFieldAircraftReg ImportField = "aircraftReg" ImportFieldAircraftType ImportField = "aircraftType" ImportFieldApproachesCount ImportField = "approachesCount" ImportFieldArrivalIcao ImportField = "arrivalIcao" ImportFieldArrivalTime ImportField = "arrivalTime" ImportFieldDate ImportField = "date" ImportFieldDepartureIcao ImportField = "departureIcao" ImportFieldDepartureTime ImportField = "departureTime" ImportFieldDualGivenTime ImportField = "dualGivenTime" ImportFieldHolds ImportField = "holds" ImportFieldIfrTime ImportField = "ifrTime" ImportFieldIgnore ImportField = "ignore" ImportFieldInstructorComments ImportField = "instructorComments" ImportFieldInstructorName ImportField = "instructorName" ImportFieldIsDual ImportField = "isDual" ImportFieldIsFlightReview ImportField = "isFlightReview" ImportFieldIsIpc ImportField = "isIpc" ImportFieldIsPic ImportField = "isPic" ImportFieldLandingsDay ImportField = "landingsDay" ImportFieldLandingsNight ImportField = "landingsNight" ImportFieldNightTime ImportField = "nightTime" ImportFieldOffBlockTime ImportField = "offBlockTime" ImportFieldOnBlockTime ImportField = "onBlockTime" ImportFieldPerson1 ImportField = "person1" ImportFieldPerson2 ImportField = "person2" ImportFieldPerson3 ImportField = "person3" ImportFieldPerson4 ImportField = "person4" ImportFieldPerson5 ImportField = "person5" ImportFieldPerson6 ImportField = "person6" ImportFieldRemarks ImportField = "remarks" ImportFieldRoute ImportField = "route" ImportFieldSimulatedInstrumentTime ImportField = "simulatedInstrumentTime" ImportFieldTotalTime ImportField = "totalTime" )
Defines values for ImportField.
type ImportFormat ¶
type ImportFormat string
ImportFormat Detected file format: - CSV: Generic comma/semicolon/tab-separated values - FOREFLIGHT_CSV: ForeFlight logbook export (auto-detected from header structure) - XLS: Microsoft Excel 97-2003 workbook - XLSX: Microsoft Excel 2007+ workbook (Open XML)
const ( CSV ImportFormat = "CSV" FOREFLIGHTCSV ImportFormat = "FOREFLIGHT_CSV" XLS ImportFormat = "XLS" XLSX ImportFormat = "XLSX" )
Defines values for ImportFormat.
type ImportJSONResult ¶ added in v1.2.3
type ImportJSONResult struct {
// AircraftImported Number of aircraft created from the backup
AircraftImported int `json:"aircraftImported"`
// AircraftSkipped Aircraft skipped because the registration already exists for the user
AircraftSkipped int `json:"aircraftSkipped"`
ClassRatingsImported int `json:"classRatingsImported"`
CredentialsImported int `json:"credentialsImported"`
CrewMembersImported int `json:"crewMembersImported"`
FlightsImported int `json:"flightsImported"`
LicensesImported int `json:"licensesImported"`
}
ImportJSONResult Summary returned by `POST /imports/json` after restoring a backup.
type ImportPreviewFlight ¶
type ImportPreviewFlight struct {
// Errors Validation errors when status is `error`
Errors *[]struct {
Field *string `json:"field,omitempty"`
Message *string `json:"message,omitempty"`
} `json:"errors,omitempty"`
// ExistingFlightId ID of the matching existing flight when status is `duplicate`
ExistingFlightId *openapi_types.UUID `json:"existingFlightId"`
Flight FlightCreate `json:"flight"`
// RowIndex 1-based row number in the original file
RowIndex int `json:"rowIndex"`
// Status Row validation result:
// - valid: Ready to import
// - duplicate: Matches an existing flight (same date, aircraft, departure, arrival, total time ±0.1h)
// - error: Validation failed — see `errors` field
Status ImportPreviewFlightStatus `json:"status"`
}
ImportPreviewFlight defines model for ImportPreviewFlight.
type ImportPreviewFlightStatus ¶
type ImportPreviewFlightStatus string
ImportPreviewFlightStatus Row validation result: - valid: Ready to import - duplicate: Matches an existing flight (same date, aircraft, departure, arrival, total time ±0.1h) - error: Validation failed — see `errors` field
const ( ImportPreviewFlightStatusDuplicate ImportPreviewFlightStatus = "duplicate" ImportPreviewFlightStatusError ImportPreviewFlightStatus = "error" ImportPreviewFlightStatusValid ImportPreviewFlightStatus = "valid" )
Defines values for ImportPreviewFlightStatus.
type ImportPreviewRequest ¶
type ImportPreviewRequest struct {
// Mappings Column → field mappings (user-confirmed or adjusted)
Mappings []ImportColumnMapping `json:"mappings"`
// SkipDuplicates Whether to flag rows that match existing flights as duplicates
SkipDuplicates *bool `json:"skipDuplicates,omitempty"`
// UploadToken Upload token from the upload response
UploadToken string `json:"uploadToken"`
}
ImportPreviewRequest defines model for ImportPreviewRequest.
type ImportPreviewResponse ¶
type ImportPreviewResponse struct {
// DuplicateCount Rows matching existing flights
DuplicateCount int `json:"duplicateCount"`
// ErrorCount Rows with validation errors
ErrorCount int `json:"errorCount"`
// Flights All rows with their validation status, sorted by rowIndex
Flights []ImportPreviewFlight `json:"flights"`
// TotalRows Total rows processed
TotalRows int `json:"totalRows"`
// UploadToken Upload token to use in the confirm request
UploadToken string `json:"uploadToken"`
// ValidCount Rows ready to import
ValidCount int `json:"validCount"`
}
ImportPreviewResponse defines model for ImportPreviewResponse.
type ImportResult ¶
type ImportResult struct {
// ContactsCreated Number of new contacts auto-created from person data during import
ContactsCreated *int `json:"contactsCreated,omitempty"`
CreatedAt time.Time `json:"createdAt"`
// DuplicateCount Number of rows detected as duplicates
DuplicateCount int `json:"duplicateCount"`
// ErrorCount Number of rows that failed validation
ErrorCount int `json:"errorCount"`
// Errors Per-row errors for rows that were not imported
Errors *[]struct {
Field string `json:"field"`
Message string `json:"message"`
// RawValue The original value from the file that caused the error
RawValue *string `json:"rawValue,omitempty"`
// RowIndex 1-based row number that caused the error
RowIndex int `json:"rowIndex"`
} `json:"errors,omitempty"`
FileName string `json:"fileName"`
// Format Detected file format:
// - CSV: Generic comma/semicolon/tab-separated values
// - FOREFLIGHT_CSV: ForeFlight logbook export (auto-detected from header structure)
// - XLS: Microsoft Excel 97-2003 workbook
// - XLSX: Microsoft Excel 2007+ workbook (Open XML)
Format ImportFormat `json:"format"`
Id openapi_types.UUID `json:"id"`
// ImportedCount Number of flights successfully created
ImportedCount int `json:"importedCount"`
// ImportedFlightIds IDs of the created flight log entries
ImportedFlightIds *[]openapi_types.UUID `json:"importedFlightIds,omitempty"`
// SkippedCount Number of rows skipped (duplicates not imported)
SkippedCount int `json:"skippedCount"`
// Status Overall import result:
// - completed: All selected rows imported successfully
// - partial: Some rows imported, some failed
// - failed: No rows imported (all failed validation)
Status ImportStatus `json:"status"`
// TotalRows Total rows in the uploaded file
TotalRows int `json:"totalRows"`
UserId openapi_types.UUID `json:"userId"`
}
ImportResult defines model for ImportResult.
type ImportStatus ¶
type ImportStatus string
ImportStatus Overall import result: - completed: All selected rows imported successfully - partial: Some rows imported, some failed - failed: No rows imported (all failed validation)
const ( Completed ImportStatus = "completed" Failed ImportStatus = "failed" Partial ImportStatus = "partial" )
Defines values for ImportStatus.
type ImportUploadResponse ¶
type ImportUploadResponse struct {
// Columns Column headers found in the file
Columns []string `json:"columns"`
// Format Detected file format:
// - CSV: Generic comma/semicolon/tab-separated values
// - FOREFLIGHT_CSV: ForeFlight logbook export (auto-detected from header structure)
// - XLS: Microsoft Excel 97-2003 workbook
// - XLSX: Microsoft Excel 2007+ workbook (Open XML)
Format ImportFormat `json:"format"`
// PreviewRows First 5 rows as key-value objects (column header → cell value)
PreviewRows []map[string]string `json:"previewRows"`
// SuggestedMappings Server-suggested column mappings based on header names.
// For ForeFlight exports these are pre-filled from the known column layout.
// The user can adjust mappings before submitting the preview request.
SuggestedMappings []ImportColumnMapping `json:"suggestedMappings"`
// TotalRows Total number of data rows in the file (excluding header)
TotalRows int `json:"totalRows"`
// UploadToken Opaque token identifying this upload session. Valid for 1 hour.
UploadToken string `json:"uploadToken"`
}
ImportUploadResponse defines model for ImportUploadResponse.
type LaunchMethodCurrency ¶
type LaunchMethodCurrency struct {
// Launches Number of launches with this method in evaluation period
Launches int `json:"launches"`
// Message Human-readable progress message
Message *string `json:"message,omitempty"`
// Met Whether the requirement is met
Met bool `json:"met"`
// Method Launch method (winch, aerotow, self-launch)
Method string `json:"method"`
// Required Required number of launches (typically 5)
Required int `json:"required"`
}
LaunchMethodCurrency defines model for LaunchMethodCurrency.
type License ¶
type License struct {
CreatedAt time.Time `json:"createdAt"`
Id openapi_types.UUID `json:"id"`
IssueDate openapi_types.Date `json:"issueDate"`
// IssuingAuthority e.g., EASA, FAA, CAA UK
IssuingAuthority string `json:"issuingAuthority"`
LicenseNumber string `json:"licenseNumber"`
// LicenseType License type (e.g., PPL, CPL, ATPL, SPL, LAPL, UL)
LicenseType string `json:"licenseType"`
// RegulatoryAuthority Regulatory authority (e.g., EASA, FAA, CAA UK, Transport Canada)
RegulatoryAuthority string `json:"regulatoryAuthority"`
// RequiresSeparateLogbook Whether this license requires a separate logbook (e.g., SPL, Ultralight)
RequiresSeparateLogbook *bool `json:"requiresSeparateLogbook,omitempty"`
UpdatedAt time.Time `json:"updatedAt"`
UserId openapi_types.UUID `json:"userId"`
}
License defines model for License.
type LicenseCreate ¶
type LicenseCreate struct {
IssueDate openapi_types.Date `json:"issueDate"`
IssuingAuthority string `json:"issuingAuthority"`
LicenseNumber string `json:"licenseNumber"`
LicenseType string `json:"licenseType"`
RegulatoryAuthority string `json:"regulatoryAuthority"`
RequiresSeparateLogbook *bool `json:"requiresSeparateLogbook,omitempty"`
}
LicenseCreate defines model for LicenseCreate.
type ListAdminAuditLogParams ¶
type ListAdminAuditLogParams struct {
Page *int `form:"page,omitempty" json:"page,omitempty"`
PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`
}
ListAdminAuditLogParams defines parameters for ListAdminAuditLog.
type ListAdminUsersParams ¶
type ListAdminUsersParams struct {
Page *int `form:"page,omitempty" json:"page,omitempty"`
PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`
// Search Search by email or name
Search *string `form:"search,omitempty" json:"search,omitempty"`
}
ListAdminUsersParams defines parameters for ListAdminUsers.
type ListAircraftParams ¶
type ListAircraftParams struct {
// Page Page number (1-indexed)
Page *int `form:"page,omitempty" json:"page,omitempty"`
// PageSize Items per page
PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`
}
ListAircraftParams defines parameters for ListAircraft.
type ListFlightsParams ¶
type ListFlightsParams struct {
// StartDate Filter from this date (inclusive)
StartDate *openapi_types.Date `form:"startDate,omitempty" json:"startDate,omitempty"`
// EndDate Filter to this date (inclusive)
EndDate *openapi_types.Date `form:"endDate,omitempty" json:"endDate,omitempty"`
// AircraftReg Filter by aircraft registration
AircraftReg *string `form:"aircraftReg,omitempty" json:"aircraftReg,omitempty"`
// DepartureIcao Filter by departure airport ICAO code
DepartureIcao *string `form:"departureIcao,omitempty" json:"departureIcao,omitempty"`
// ArrivalIcao Filter by arrival airport ICAO code
ArrivalIcao *string `form:"arrivalIcao,omitempty" json:"arrivalIcao,omitempty"`
// IsPic Filter by PIC flights only
IsPic *bool `form:"isPic,omitempty" json:"isPic,omitempty"`
// IsDual Filter by dual instruction flights only
IsDual *bool `form:"isDual,omitempty" json:"isDual,omitempty"`
// Search Free-text search across registration, type, ICAO codes, and remarks
Search *string `form:"search,omitempty" json:"search,omitempty"`
// Page Page number (1-indexed)
Page *int `form:"page,omitempty" json:"page,omitempty"`
// PageSize Number of items per page
PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`
// SortBy Sort field
SortBy *ListFlightsParamsSortBy `form:"sortBy,omitempty" json:"sortBy,omitempty"`
// SortOrder Sort order
SortOrder *ListFlightsParamsSortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty"`
// LogbookLicenseId Filter flights for a separate-logbook license. Only returns flights on aircraft whose class matches the license's class ratings.
LogbookLicenseId *openapi_types.UUID `form:"logbookLicenseId,omitempty" json:"logbookLicenseId,omitempty"`
}
ListFlightsParams defines parameters for ListFlights.
type ListFlightsParamsSortBy ¶
type ListFlightsParamsSortBy string
ListFlightsParamsSortBy defines parameters for ListFlights.
const ( ListFlightsParamsSortByCreatedAt ListFlightsParamsSortBy = "createdAt" ListFlightsParamsSortByDate ListFlightsParamsSortBy = "date" ListFlightsParamsSortByTotalTime ListFlightsParamsSortBy = "totalTime" )
Defines values for ListFlightsParamsSortBy.
type ListFlightsParamsSortOrder ¶
type ListFlightsParamsSortOrder string
ListFlightsParamsSortOrder defines parameters for ListFlights.
const ( Asc ListFlightsParamsSortOrder = "asc" Desc ListFlightsParamsSortOrder = "desc" )
Defines values for ListFlightsParamsSortOrder.
type ListImportsParams ¶
type ListImportsParams struct {
// Page Page number (1-indexed)
Page *int `form:"page,omitempty" json:"page,omitempty"`
// PageSize Items per page
PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`
}
ListImportsParams defines parameters for ListImports.
type Login2FAJSONBody ¶
type Login2FAJSONBody struct {
// Code 6-digit TOTP code or recovery code
Code string `json:"code"`
// TwoFactorToken Temporary token from login response
TwoFactorToken string `json:"twoFactorToken"`
}
Login2FAJSONBody defines parameters for Login2FA.
type Login2FAJSONRequestBody ¶
type Login2FAJSONRequestBody Login2FAJSONBody
Login2FAJSONRequestBody defines body for Login2FA for application/json ContentType.
type LoginUserJSONBody ¶
type LoginUserJSONBody struct {
Email openapi_types.Email `json:"email"`
Password string `json:"password"`
}
LoginUserJSONBody defines parameters for LoginUser.
type LoginUserJSONRequestBody ¶
type LoginUserJSONRequestBody LoginUserJSONBody
LoginUserJSONRequestBody defines body for LoginUser for application/json ContentType.
type MiddlewareFunc ¶
type NotificationCategory ¶
type NotificationCategory string
NotificationCategory Notification category for granular control: - credential_medical: Medical certificate expiry - credential_language: Language proficiency expiry - credential_security: Security clearance expiry - credential_other: Other credential expiry - rating_expiry: Class rating expiry date approaching - currency_passenger: Passenger carrying currency (e.g., 3 T&L in 90 days) - currency_night: Night currency - currency_instrument: Instrument currency - currency_flight_review: Flight review / proficiency check due - currency_revalidation: EASA revalidation requirements approaching expiry
const ( CredentialLanguage NotificationCategory = "credential_language" CredentialMedical NotificationCategory = "credential_medical" CredentialOther NotificationCategory = "credential_other" CredentialSecurity NotificationCategory = "credential_security" CurrencyFlightReview NotificationCategory = "currency_flight_review" CurrencyInstrument NotificationCategory = "currency_instrument" CurrencyNight NotificationCategory = "currency_night" CurrencyPassenger NotificationCategory = "currency_passenger" CurrencyRevalidation NotificationCategory = "currency_revalidation" RatingExpiry NotificationCategory = "rating_expiry" )
Defines values for NotificationCategory.
type NotificationHistoryEntry ¶
type NotificationHistoryEntry struct {
// Category Notification category for granular control:
// - credential_medical: Medical certificate expiry
// - credential_language: Language proficiency expiry
// - credential_security: Security clearance expiry
// - credential_other: Other credential expiry
// - rating_expiry: Class rating expiry date approaching
// - currency_passenger: Passenger carrying currency (e.g., 3 T&L in 90 days)
// - currency_night: Night currency
// - currency_instrument: Instrument currency
// - currency_flight_review: Flight review / proficiency check due
// - currency_revalidation: EASA revalidation requirements approaching expiry
Category NotificationCategory `json:"category"`
// DaysBeforeExpiry Days before expiry when notification was sent
DaysBeforeExpiry *int `json:"daysBeforeExpiry"`
Id openapi_types.UUID `json:"id"`
// ReferenceDescription Human-readable description of the reference item
ReferenceDescription *string `json:"referenceDescription"`
// ReferenceType Type of item that triggered the notification (e.g., credential, rating)
ReferenceType *string `json:"referenceType"`
// SentAt When the notification was sent
SentAt time.Time `json:"sentAt"`
// Subject Email subject line
Subject string `json:"subject"`
}
NotificationHistoryEntry defines model for NotificationHistoryEntry.
type NotificationHistoryResponse ¶
type NotificationHistoryResponse struct {
Items []NotificationHistoryEntry `json:"items"`
// Total Total number of notification history entries
Total int `json:"total"`
}
NotificationHistoryResponse defines model for NotificationHistoryResponse.
type NotificationPreferences ¶
type NotificationPreferences struct {
// CheckHour Preferred hour (UTC) for daily notification check (0-23)
CheckHour int `json:"checkHour"`
// EmailEnabled Master switch for all email notifications
EmailEnabled bool `json:"emailEnabled"`
// EnabledCategories List of enabled notification categories
EnabledCategories []NotificationCategory `json:"enabledCategories"`
// WarningDays Days before expiry to send warnings
WarningDays []int `json:"warningDays"`
}
NotificationPreferences defines model for NotificationPreferences.
type NotificationPreferencesUpdate ¶
type NotificationPreferencesUpdate struct {
CheckHour *int `json:"checkHour,omitempty"`
EmailEnabled *bool `json:"emailEnabled,omitempty"`
EnabledCategories *[]NotificationCategory `json:"enabledCategories,omitempty"`
WarningDays *[]int `json:"warningDays,omitempty"`
}
NotificationPreferencesUpdate defines model for NotificationPreferencesUpdate.
type PaginatedAdminAuditLog ¶
type PaginatedAdminAuditLog struct {
Data []AdminAuditLogEntry `json:"data"`
Pagination struct {
Page int `json:"page"`
PageSize int `json:"pageSize"`
Total int `json:"total"`
TotalPages int `json:"totalPages"`
} `json:"pagination"`
}
PaginatedAdminAuditLog defines model for PaginatedAdminAuditLog.
type PaginatedAdminUsers ¶
type PaginatedAdminUsers struct {
Data []AdminUser `json:"data"`
Pagination struct {
Page int `json:"page"`
PageSize int `json:"pageSize"`
Total int `json:"total"`
TotalPages int `json:"totalPages"`
} `json:"pagination"`
}
PaginatedAdminUsers defines model for PaginatedAdminUsers.
type PaginatedAircraft ¶
type PaginatedAircraft struct {
Data []Aircraft `json:"data"`
Pagination struct {
// Page Current page (1-indexed)
Page int `json:"page"`
// PageSize Items per page
PageSize int `json:"pageSize"`
// Total Total number of items
Total int `json:"total"`
// TotalPages Total number of pages
TotalPages int `json:"totalPages"`
} `json:"pagination"`
}
PaginatedAircraft defines model for PaginatedAircraft.
type PaginatedFlights ¶
type PaginatedFlights struct {
Data []Flight `json:"data"`
Pagination struct {
// Page Current page (1-indexed)
Page int `json:"page"`
// PageSize Items per page
PageSize int `json:"pageSize"`
// Total Total number of items
Total int `json:"total"`
// TotalPages Total number of pages
TotalPages int `json:"totalPages"`
} `json:"pagination"`
}
PaginatedFlights defines model for PaginatedFlights.
type PaginatedImports ¶
type PaginatedImports struct {
Data []ImportResult `json:"data"`
Pagination struct {
// Page Current page (1-indexed)
Page int `json:"page"`
// PageSize Items per page
PageSize int `json:"pageSize"`
// Total Total number of imports
Total int `json:"total"`
// TotalPages Total number of pages
TotalPages int `json:"totalPages"`
} `json:"pagination"`
}
PaginatedImports defines model for PaginatedImports.
type PassengerCurrency ¶
type PassengerCurrency struct {
// ClassType Aircraft class rating type:
// - SEP_LAND/SEP_SEA: Single Engine Piston (Land/Sea)
// - MEP_LAND/MEP_SEA: Multi Engine Piston (Land/Sea)
// - SET_LAND/SET_SEA: Single Engine Turboprop (Land/Sea)
// - TMG: Touring Motor Glider
// - IR: Instrument Rating
// - OTHER: Other rating type
ClassType ClassType `json:"classType"`
// DayLandings Number of landings in the preceding 90 days
DayLandings int `json:"dayLandings"`
// DayRequired Required landings for day passenger currency (typically 3)
DayRequired int `json:"dayRequired"`
// DayStatus Day passenger currency status
DayStatus PassengerCurrencyDayStatus `json:"dayStatus"`
// Message Human-readable passenger currency status message
Message *string `json:"message,omitempty"`
// NightLandings Number of night landings in the preceding 90 days
NightLandings int `json:"nightLandings"`
// NightPrivilege Whether this license type has night flying privileges. false for Sport, Recreational, Glider (FAA), SPL, LAPL (EASA), UL.
NightPrivilege *bool `json:"nightPrivilege,omitempty"`
// NightRequired Required night landings for night passenger currency (typically 3, 0 if night not applicable)
NightRequired int `json:"nightRequired"`
// NightStatus Night passenger currency status
NightStatus PassengerCurrencyNightStatus `json:"nightStatus"`
// PassengerPrivilege Informational — whether the pilot meets additional requirements to carry passengers (LAPL 10h PIC, SPL 30 launches, etc.)
PassengerPrivilege *struct {
// Eligible Whether the pilot is eligible to carry passengers (based on total PIC hours/launches since license issue)
Eligible *bool `json:"eligible,omitempty"`
// Message Human-readable explanation of passenger privilege status
Message *string `json:"message,omitempty"`
} `json:"passengerPrivilege,omitempty"`
// RegulatoryAuthority Authority that defines the passenger currency rules
RegulatoryAuthority string `json:"regulatoryAuthority"`
// RuleDescription Regulatory reference for the passenger currency rule
RuleDescription *string `json:"ruleDescription,omitempty"`
}
PassengerCurrency defines model for PassengerCurrency.
type PassengerCurrencyDayStatus ¶
type PassengerCurrencyDayStatus string
PassengerCurrencyDayStatus Day passenger currency status
const ( PassengerCurrencyDayStatusCurrent PassengerCurrencyDayStatus = "current" PassengerCurrencyDayStatusExpired PassengerCurrencyDayStatus = "expired" PassengerCurrencyDayStatusExpiring PassengerCurrencyDayStatus = "expiring" PassengerCurrencyDayStatusUnknown PassengerCurrencyDayStatus = "unknown" )
Defines values for PassengerCurrencyDayStatus.
type PassengerCurrencyNightStatus ¶
type PassengerCurrencyNightStatus string
PassengerCurrencyNightStatus Night passenger currency status
const ( Current PassengerCurrencyNightStatus = "current" Expired PassengerCurrencyNightStatus = "expired" Expiring PassengerCurrencyNightStatus = "expiring" Unknown PassengerCurrencyNightStatus = "unknown" )
Defines values for PassengerCurrencyNightStatus.
type PreviewImportJSONRequestBody ¶
type PreviewImportJSONRequestBody = ImportPreviewRequest
PreviewImportJSONRequestBody defines body for PreviewImport for application/json ContentType.
type PutMyBaselineJSONRequestBody ¶ added in v1.2.3
type PutMyBaselineJSONRequestBody = FlightBaselineInput
PutMyBaselineJSONRequestBody defines body for PutMyBaseline for application/json ContentType.
type RefreshTokenJSONBody ¶
type RefreshTokenJSONBody struct {
RefreshToken string `json:"refreshToken"`
}
RefreshTokenJSONBody defines parameters for RefreshToken.
type RefreshTokenJSONRequestBody ¶
type RefreshTokenJSONRequestBody RefreshTokenJSONBody
RefreshTokenJSONRequestBody defines body for RefreshToken for application/json ContentType.
type RegisterUserJSONBody ¶
type RegisterUserJSONBody struct {
Email openapi_types.Email `json:"email"`
Name string `json:"name"`
// Password Must be at least 12 characters
Password string `json:"password"`
}
RegisterUserJSONBody defines parameters for RegisterUser.
type RegisterUserJSONRequestBody ¶
type RegisterUserJSONRequestBody RegisterUserJSONBody
RegisterUserJSONRequestBody defines body for RegisterUser for application/json ContentType.
type RequestPasswordResetJSONBody ¶ added in v1.1.0
type RequestPasswordResetJSONBody struct {
Email openapi_types.Email `json:"email"`
}
RequestPasswordResetJSONBody defines parameters for RequestPasswordReset.
type RequestPasswordResetJSONRequestBody ¶ added in v1.1.0
type RequestPasswordResetJSONRequestBody RequestPasswordResetJSONBody
RequestPasswordResetJSONRequestBody defines body for RequestPasswordReset for application/json ContentType.
type ResetPasswordJSONBody ¶ added in v1.1.0
type ResetPasswordJSONBody struct {
// NewPassword The new password (minimum 12 characters)
NewPassword string `json:"newPassword"`
// Token Password reset token from email
Token string `json:"token"`
}
ResetPasswordJSONBody defines parameters for ResetPassword.
type ResetPasswordJSONRequestBody ¶ added in v1.1.0
type ResetPasswordJSONRequestBody ResetPasswordJSONBody
ResetPasswordJSONRequestBody defines body for ResetPassword for application/json ContentType.
type SearchAirportsParams ¶
type SearchAirportsParams struct {
// Q Search query (ICAO code prefix)
Q string `form:"q" json:"q"`
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
}
SearchAirportsParams defines parameters for SearchAirports.
type SearchContactsParams ¶
type SearchContactsParams struct {
// Q Search query string
Q string `form:"q" json:"q"`
// Limit Maximum results (default 10)
Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
}
SearchContactsParams defines parameters for SearchContacts.
type ServerInterface ¶
type ServerInterface interface {
// Create a system announcement
// (POST /admin/announcements)
CreateAnnouncement(c *gin.Context)
// Delete an announcement
// (DELETE /admin/announcements/{announcementId})
DeleteAnnouncement(c *gin.Context, announcementId openapi_types.UUID)
// List admin audit log
// (GET /admin/audit-log)
ListAdminAuditLog(c *gin.Context, params ListAdminAuditLogParams)
// Runtime configuration (non-secret)
// (GET /admin/config)
GetAdminConfig(c *gin.Context)
// Clean up expired tokens
// (POST /admin/maintenance/cleanup-tokens)
CleanupTokens(c *gin.Context)
// Send SMTP test email
// (POST /admin/maintenance/smtp-test)
SmtpTest(c *gin.Context)
// Trigger notification check
// (POST /admin/maintenance/trigger-notifications)
TriggerNotifications(c *gin.Context)
// System-wide aggregate statistics
// (GET /admin/stats)
GetAdminStats(c *gin.Context)
// List all users (privacy-preserving)
// (GET /admin/users)
ListAdminUsers(c *gin.Context, params ListAdminUsersParams)
// Permanently delete a user account
// (DELETE /admin/users/{userId})
DeleteUser(c *gin.Context, userId openapi_types.UUID)
// Disable a user account
// (POST /admin/users/{userId}/disable)
DisableUser(c *gin.Context, userId openapi_types.UUID)
// Re-enable a user account
// (POST /admin/users/{userId}/enable)
EnableUser(c *gin.Context, userId openapi_types.UUID)
// Reset 2FA for a user
// (POST /admin/users/{userId}/reset-2fa)
ResetUser2fa(c *gin.Context, userId openapi_types.UUID)
// Unlock a locked user account
// (POST /admin/users/{userId}/unlock)
UnlockUser(c *gin.Context, userId openapi_types.UUID)
// List aircraft
// (GET /aircraft)
ListAircraft(c *gin.Context, params ListAircraftParams)
// Add aircraft
// (POST /aircraft)
CreateAircraft(c *gin.Context)
// Delete aircraft
// (DELETE /aircraft/{aircraftId})
DeleteAircraft(c *gin.Context, aircraftId AircraftId)
// Get aircraft details
// (GET /aircraft/{aircraftId})
GetAircraft(c *gin.Context, aircraftId AircraftId)
// Update aircraft
// (PATCH /aircraft/{aircraftId})
UpdateAircraft(c *gin.Context, aircraftId AircraftId)
// Search airports
// (GET /airports/search)
SearchAirports(c *gin.Context, params SearchAirportsParams)
// Get airport coordinates
// (GET /airports/{icaoCode})
GetAirport(c *gin.Context, icaoCode string)
// Get active announcements and user hints
// (GET /announcements)
GetAnnouncements(c *gin.Context)
// Disable 2FA
// (POST /auth/2fa/disable)
Disable2FA(c *gin.Context)
// Complete login with 2FA code
// (POST /auth/2fa/login)
Login2FA(c *gin.Context)
// Start 2FA setup
// (POST /auth/2fa/setup)
Setup2FA(c *gin.Context)
// Verify and enable 2FA
// (POST /auth/2fa/verify)
Verify2FA(c *gin.Context)
// Change password
// (POST /auth/change-password)
ChangePassword(c *gin.Context)
// Login
// (POST /auth/login)
LoginUser(c *gin.Context)
// Reset password with token
// (POST /auth/password-reset)
ResetPassword(c *gin.Context)
// Request password reset
// (POST /auth/password-reset-request)
RequestPasswordReset(c *gin.Context)
// Refresh access token
// (POST /auth/refresh)
RefreshToken(c *gin.Context)
// Register a new user
// (POST /auth/register)
RegisterUser(c *gin.Context)
// List the current user's passkeys
// (GET /auth/webauthn/credentials)
ListWebauthnCredentials(c *gin.Context)
// Revoke a passkey
// (DELETE /auth/webauthn/credentials/{credentialId})
DeleteWebauthnCredential(c *gin.Context, credentialId openapi_types.UUID)
// Begin passkey login
// (POST /auth/webauthn/login/options)
WebauthnLoginOptions(c *gin.Context)
// Verify passkey assertion and sign in
// (POST /auth/webauthn/login/verify)
WebauthnLoginVerify(c *gin.Context)
// Begin passkey registration
// (POST /auth/webauthn/register/options)
WebauthnRegisterOptions(c *gin.Context)
// Verify passkey registration attestation
// (POST /auth/webauthn/register/verify)
WebauthnRegisterVerify(c *gin.Context)
// List all contacts
// (GET /contacts)
ListContacts(c *gin.Context)
// Create a contact
// (POST /contacts)
CreateContact(c *gin.Context)
// Search contacts
// (GET /contacts/search)
SearchContacts(c *gin.Context, params SearchContactsParams)
// Delete a contact
// (DELETE /contacts/{contactId})
DeleteContact(c *gin.Context, contactId openapi_types.UUID)
// Get a contact
// (GET /contacts/{contactId})
GetContact(c *gin.Context, contactId openapi_types.UUID)
// Update a contact
// (PUT /contacts/{contactId})
UpdateContact(c *gin.Context, contactId openapi_types.UUID)
// List credentials
// (GET /credentials)
ListCredentials(c *gin.Context)
// Add credential
// (POST /credentials)
CreateCredential(c *gin.Context)
// Delete credential
// (DELETE /credentials/{credentialId})
DeleteCredential(c *gin.Context, credentialId CredentialId)
// Get credential details
// (GET /credentials/{credentialId})
GetCredential(c *gin.Context, credentialId CredentialId)
// Update credential
// (PATCH /credentials/{credentialId})
UpdateCredential(c *gin.Context, credentialId CredentialId)
// Get currency status for all class ratings
// (GET /currency)
GetAllCurrencyStatus(c *gin.Context)
// Export flights as CSV
// (GET /exports/csv)
ExportFlightsCSV(c *gin.Context, params ExportFlightsCSVParams)
// Export full data backup as JSON
// (GET /exports/json)
ExportDataJSON(c *gin.Context)
// Export flights as PDF logbook
// (GET /exports/pdf)
ExportFlightsPDF(c *gin.Context, params ExportFlightsPDFParams)
// List flights
// (GET /flights)
ListFlights(c *gin.Context, params ListFlightsParams)
// Create flight log
// (POST /flights)
CreateFlight(c *gin.Context)
// Delete all flights
// (DELETE /flights/delete-all)
DeleteAllFlights(c *gin.Context)
// Recalculate all flights
// (POST /flights/recalculate)
RecalculateFlights(c *gin.Context)
// Delete flight
// (DELETE /flights/{flightId})
DeleteFlight(c *gin.Context, flightId FlightId)
// Get flight details
// (GET /flights/{flightId})
GetFlight(c *gin.Context, flightId FlightId)
// Update flight
// (PUT /flights/{flightId})
UpdateFlight(c *gin.Context, flightId FlightId)
// List import history
// (GET /imports)
ListImports(c *gin.Context, params ListImportsParams)
// Confirm and execute import
// (POST /imports/confirm)
ConfirmImport(c *gin.Context)
// Restore a NinerLog JSON backup
// (POST /imports/json)
ImportDataJSON(c *gin.Context)
// Preview mapped flights
// (POST /imports/preview)
PreviewImport(c *gin.Context)
// Upload file for import
// (POST /imports/upload)
UploadImportFile(c *gin.Context)
// Get import details
// (GET /imports/{importId})
GetImport(c *gin.Context, importId ImportId)
// List user's licenses
// (GET /licenses)
ListLicenses(c *gin.Context)
// Create a new license
// (POST /licenses)
CreateLicense(c *gin.Context)
// Delete license
// (DELETE /licenses/{licenseId})
DeleteLicense(c *gin.Context, licenseId LicenseId)
// Get license details
// (GET /licenses/{licenseId})
GetLicense(c *gin.Context, licenseId LicenseId)
// Update license
// (PATCH /licenses/{licenseId})
UpdateLicense(c *gin.Context, licenseId LicenseId)
// Check currency status
// (GET /licenses/{licenseId}/currency)
GetLicenseCurrency(c *gin.Context, licenseId LicenseId)
// List class ratings for a license
// (GET /licenses/{licenseId}/ratings)
ListClassRatings(c *gin.Context, licenseId LicenseId)
// Add class rating to license
// (POST /licenses/{licenseId}/ratings)
CreateClassRating(c *gin.Context, licenseId LicenseId)
// Delete class rating
// (DELETE /licenses/{licenseId}/ratings/{ratingId})
DeleteClassRating(c *gin.Context, licenseId LicenseId, ratingId openapi_types.UUID)
// Update class rating
// (PATCH /licenses/{licenseId}/ratings/{ratingId})
UpdateClassRating(c *gin.Context, licenseId LicenseId, ratingId openapi_types.UUID)
// Get license statistics
// (GET /licenses/{licenseId}/statistics)
GetLicenseStatistics(c *gin.Context, licenseId LicenseId, params GetLicenseStatisticsParams)
// Get airport statistics
// (GET /reports/airport-stats)
GetAirportStats(c *gin.Context)
// Get flight routes for map
// (GET /reports/routes)
GetFlightRoutes(c *gin.Context)
// Get statistics by aircraft class and category
// (GET /reports/stats-by-class)
GetStatsByClass(c *gin.Context, params GetStatsByClassParams)
// Get monthly flight trends
// (GET /reports/trends)
GetFlightTrends(c *gin.Context, params GetFlightTrendsParams)
// Delete current user account
// (DELETE /users/me)
DeleteCurrentUser(c *gin.Context)
// Get current user profile
// (GET /users/me)
GetCurrentUser(c *gin.Context)
// Update current user profile
// (PATCH /users/me)
UpdateCurrentUser(c *gin.Context)
// Remove the user's initial hours snapshot
// (DELETE /users/me/baseline)
DeleteMyBaseline(c *gin.Context)
// Get the user's initial hours snapshot (baseline)
// (GET /users/me/baseline)
GetMyBaseline(c *gin.Context)
// Create or replace the user's initial hours snapshot
// (PUT /users/me/baseline)
PutMyBaseline(c *gin.Context)
// Delete all user data
// (DELETE /users/me/data)
DeleteAllUserData(c *gin.Context)
// Get notification preferences
// (GET /users/me/notifications)
GetNotificationPreferences(c *gin.Context)
// Update notification preferences
// (PATCH /users/me/notifications)
UpdateNotificationPreferences(c *gin.Context)
// Get notification history
// (GET /users/me/notifications/history)
GetNotificationHistory(c *gin.Context, params GetNotificationHistoryParams)
// Get current user's flight statistics
// (GET /users/me/statistics)
GetMyStatistics(c *gin.Context, params GetMyStatisticsParams)
}
ServerInterface represents all server handlers.
type ServerInterfaceWrapper ¶
type ServerInterfaceWrapper struct {
Handler ServerInterface
HandlerMiddlewares []MiddlewareFunc
ErrorHandler func(*gin.Context, error, int)
}
ServerInterfaceWrapper converts contexts to parameters.
func (*ServerInterfaceWrapper) ChangePassword ¶
func (siw *ServerInterfaceWrapper) ChangePassword(c *gin.Context)
ChangePassword operation middleware
func (*ServerInterfaceWrapper) CleanupTokens ¶
func (siw *ServerInterfaceWrapper) CleanupTokens(c *gin.Context)
CleanupTokens operation middleware
func (*ServerInterfaceWrapper) ConfirmImport ¶
func (siw *ServerInterfaceWrapper) ConfirmImport(c *gin.Context)
ConfirmImport operation middleware
func (*ServerInterfaceWrapper) CreateAircraft ¶
func (siw *ServerInterfaceWrapper) CreateAircraft(c *gin.Context)
CreateAircraft operation middleware
func (*ServerInterfaceWrapper) CreateAnnouncement ¶
func (siw *ServerInterfaceWrapper) CreateAnnouncement(c *gin.Context)
CreateAnnouncement operation middleware
func (*ServerInterfaceWrapper) CreateClassRating ¶
func (siw *ServerInterfaceWrapper) CreateClassRating(c *gin.Context)
CreateClassRating operation middleware
func (*ServerInterfaceWrapper) CreateContact ¶
func (siw *ServerInterfaceWrapper) CreateContact(c *gin.Context)
CreateContact operation middleware
func (*ServerInterfaceWrapper) CreateCredential ¶
func (siw *ServerInterfaceWrapper) CreateCredential(c *gin.Context)
CreateCredential operation middleware
func (*ServerInterfaceWrapper) CreateFlight ¶
func (siw *ServerInterfaceWrapper) CreateFlight(c *gin.Context)
CreateFlight operation middleware
func (*ServerInterfaceWrapper) CreateLicense ¶
func (siw *ServerInterfaceWrapper) CreateLicense(c *gin.Context)
CreateLicense operation middleware
func (*ServerInterfaceWrapper) DeleteAircraft ¶
func (siw *ServerInterfaceWrapper) DeleteAircraft(c *gin.Context)
DeleteAircraft operation middleware
func (*ServerInterfaceWrapper) DeleteAllFlights ¶
func (siw *ServerInterfaceWrapper) DeleteAllFlights(c *gin.Context)
DeleteAllFlights operation middleware
func (*ServerInterfaceWrapper) DeleteAllUserData ¶
func (siw *ServerInterfaceWrapper) DeleteAllUserData(c *gin.Context)
DeleteAllUserData operation middleware
func (*ServerInterfaceWrapper) DeleteAnnouncement ¶
func (siw *ServerInterfaceWrapper) DeleteAnnouncement(c *gin.Context)
DeleteAnnouncement operation middleware
func (*ServerInterfaceWrapper) DeleteClassRating ¶
func (siw *ServerInterfaceWrapper) DeleteClassRating(c *gin.Context)
DeleteClassRating operation middleware
func (*ServerInterfaceWrapper) DeleteContact ¶
func (siw *ServerInterfaceWrapper) DeleteContact(c *gin.Context)
DeleteContact operation middleware
func (*ServerInterfaceWrapper) DeleteCredential ¶
func (siw *ServerInterfaceWrapper) DeleteCredential(c *gin.Context)
DeleteCredential operation middleware
func (*ServerInterfaceWrapper) DeleteCurrentUser ¶
func (siw *ServerInterfaceWrapper) DeleteCurrentUser(c *gin.Context)
DeleteCurrentUser operation middleware
func (*ServerInterfaceWrapper) DeleteFlight ¶
func (siw *ServerInterfaceWrapper) DeleteFlight(c *gin.Context)
DeleteFlight operation middleware
func (*ServerInterfaceWrapper) DeleteLicense ¶
func (siw *ServerInterfaceWrapper) DeleteLicense(c *gin.Context)
DeleteLicense operation middleware
func (*ServerInterfaceWrapper) DeleteMyBaseline ¶ added in v1.2.3
func (siw *ServerInterfaceWrapper) DeleteMyBaseline(c *gin.Context)
DeleteMyBaseline operation middleware
func (*ServerInterfaceWrapper) DeleteUser ¶ added in v1.2.3
func (siw *ServerInterfaceWrapper) DeleteUser(c *gin.Context)
DeleteUser operation middleware
func (*ServerInterfaceWrapper) DeleteWebauthnCredential ¶ added in v1.2.0
func (siw *ServerInterfaceWrapper) DeleteWebauthnCredential(c *gin.Context)
DeleteWebauthnCredential operation middleware
func (*ServerInterfaceWrapper) Disable2FA ¶
func (siw *ServerInterfaceWrapper) Disable2FA(c *gin.Context)
Disable2FA operation middleware
func (*ServerInterfaceWrapper) DisableUser ¶
func (siw *ServerInterfaceWrapper) DisableUser(c *gin.Context)
DisableUser operation middleware
func (*ServerInterfaceWrapper) EnableUser ¶
func (siw *ServerInterfaceWrapper) EnableUser(c *gin.Context)
EnableUser operation middleware
func (*ServerInterfaceWrapper) ExportDataJSON ¶
func (siw *ServerInterfaceWrapper) ExportDataJSON(c *gin.Context)
ExportDataJSON operation middleware
func (*ServerInterfaceWrapper) ExportFlightsCSV ¶
func (siw *ServerInterfaceWrapper) ExportFlightsCSV(c *gin.Context)
ExportFlightsCSV operation middleware
func (*ServerInterfaceWrapper) ExportFlightsPDF ¶
func (siw *ServerInterfaceWrapper) ExportFlightsPDF(c *gin.Context)
ExportFlightsPDF operation middleware
func (*ServerInterfaceWrapper) GetAdminConfig ¶
func (siw *ServerInterfaceWrapper) GetAdminConfig(c *gin.Context)
GetAdminConfig operation middleware
func (*ServerInterfaceWrapper) GetAdminStats ¶
func (siw *ServerInterfaceWrapper) GetAdminStats(c *gin.Context)
GetAdminStats operation middleware
func (*ServerInterfaceWrapper) GetAircraft ¶
func (siw *ServerInterfaceWrapper) GetAircraft(c *gin.Context)
GetAircraft operation middleware
func (*ServerInterfaceWrapper) GetAirport ¶
func (siw *ServerInterfaceWrapper) GetAirport(c *gin.Context)
GetAirport operation middleware
func (*ServerInterfaceWrapper) GetAirportStats ¶
func (siw *ServerInterfaceWrapper) GetAirportStats(c *gin.Context)
GetAirportStats operation middleware
func (*ServerInterfaceWrapper) GetAllCurrencyStatus ¶
func (siw *ServerInterfaceWrapper) GetAllCurrencyStatus(c *gin.Context)
GetAllCurrencyStatus operation middleware
func (*ServerInterfaceWrapper) GetAnnouncements ¶
func (siw *ServerInterfaceWrapper) GetAnnouncements(c *gin.Context)
GetAnnouncements operation middleware
func (*ServerInterfaceWrapper) GetContact ¶
func (siw *ServerInterfaceWrapper) GetContact(c *gin.Context)
GetContact operation middleware
func (*ServerInterfaceWrapper) GetCredential ¶
func (siw *ServerInterfaceWrapper) GetCredential(c *gin.Context)
GetCredential operation middleware
func (*ServerInterfaceWrapper) GetCurrentUser ¶
func (siw *ServerInterfaceWrapper) GetCurrentUser(c *gin.Context)
GetCurrentUser operation middleware
func (*ServerInterfaceWrapper) GetFlight ¶
func (siw *ServerInterfaceWrapper) GetFlight(c *gin.Context)
GetFlight operation middleware
func (*ServerInterfaceWrapper) GetFlightRoutes ¶
func (siw *ServerInterfaceWrapper) GetFlightRoutes(c *gin.Context)
GetFlightRoutes operation middleware
func (*ServerInterfaceWrapper) GetFlightTrends ¶
func (siw *ServerInterfaceWrapper) GetFlightTrends(c *gin.Context)
GetFlightTrends operation middleware
func (*ServerInterfaceWrapper) GetImport ¶
func (siw *ServerInterfaceWrapper) GetImport(c *gin.Context)
GetImport operation middleware
func (*ServerInterfaceWrapper) GetLicense ¶
func (siw *ServerInterfaceWrapper) GetLicense(c *gin.Context)
GetLicense operation middleware
func (*ServerInterfaceWrapper) GetLicenseCurrency ¶
func (siw *ServerInterfaceWrapper) GetLicenseCurrency(c *gin.Context)
GetLicenseCurrency operation middleware
func (*ServerInterfaceWrapper) GetLicenseStatistics ¶
func (siw *ServerInterfaceWrapper) GetLicenseStatistics(c *gin.Context)
GetLicenseStatistics operation middleware
func (*ServerInterfaceWrapper) GetMyBaseline ¶ added in v1.2.3
func (siw *ServerInterfaceWrapper) GetMyBaseline(c *gin.Context)
GetMyBaseline operation middleware
func (*ServerInterfaceWrapper) GetMyStatistics ¶
func (siw *ServerInterfaceWrapper) GetMyStatistics(c *gin.Context)
GetMyStatistics operation middleware
func (*ServerInterfaceWrapper) GetNotificationHistory ¶
func (siw *ServerInterfaceWrapper) GetNotificationHistory(c *gin.Context)
GetNotificationHistory operation middleware
func (*ServerInterfaceWrapper) GetNotificationPreferences ¶
func (siw *ServerInterfaceWrapper) GetNotificationPreferences(c *gin.Context)
GetNotificationPreferences operation middleware
func (*ServerInterfaceWrapper) GetStatsByClass ¶
func (siw *ServerInterfaceWrapper) GetStatsByClass(c *gin.Context)
GetStatsByClass operation middleware
func (*ServerInterfaceWrapper) ImportDataJSON ¶ added in v1.2.3
func (siw *ServerInterfaceWrapper) ImportDataJSON(c *gin.Context)
ImportDataJSON operation middleware
func (*ServerInterfaceWrapper) ListAdminAuditLog ¶
func (siw *ServerInterfaceWrapper) ListAdminAuditLog(c *gin.Context)
ListAdminAuditLog operation middleware
func (*ServerInterfaceWrapper) ListAdminUsers ¶
func (siw *ServerInterfaceWrapper) ListAdminUsers(c *gin.Context)
ListAdminUsers operation middleware
func (*ServerInterfaceWrapper) ListAircraft ¶
func (siw *ServerInterfaceWrapper) ListAircraft(c *gin.Context)
ListAircraft operation middleware
func (*ServerInterfaceWrapper) ListClassRatings ¶
func (siw *ServerInterfaceWrapper) ListClassRatings(c *gin.Context)
ListClassRatings operation middleware
func (*ServerInterfaceWrapper) ListContacts ¶
func (siw *ServerInterfaceWrapper) ListContacts(c *gin.Context)
ListContacts operation middleware
func (*ServerInterfaceWrapper) ListCredentials ¶
func (siw *ServerInterfaceWrapper) ListCredentials(c *gin.Context)
ListCredentials operation middleware
func (*ServerInterfaceWrapper) ListFlights ¶
func (siw *ServerInterfaceWrapper) ListFlights(c *gin.Context)
ListFlights operation middleware
func (*ServerInterfaceWrapper) ListImports ¶
func (siw *ServerInterfaceWrapper) ListImports(c *gin.Context)
ListImports operation middleware
func (*ServerInterfaceWrapper) ListLicenses ¶
func (siw *ServerInterfaceWrapper) ListLicenses(c *gin.Context)
ListLicenses operation middleware
func (*ServerInterfaceWrapper) ListWebauthnCredentials ¶ added in v1.2.0
func (siw *ServerInterfaceWrapper) ListWebauthnCredentials(c *gin.Context)
ListWebauthnCredentials operation middleware
func (*ServerInterfaceWrapper) Login2FA ¶
func (siw *ServerInterfaceWrapper) Login2FA(c *gin.Context)
Login2FA operation middleware
func (*ServerInterfaceWrapper) LoginUser ¶
func (siw *ServerInterfaceWrapper) LoginUser(c *gin.Context)
LoginUser operation middleware
func (*ServerInterfaceWrapper) PreviewImport ¶
func (siw *ServerInterfaceWrapper) PreviewImport(c *gin.Context)
PreviewImport operation middleware
func (*ServerInterfaceWrapper) PutMyBaseline ¶ added in v1.2.3
func (siw *ServerInterfaceWrapper) PutMyBaseline(c *gin.Context)
PutMyBaseline operation middleware
func (*ServerInterfaceWrapper) RecalculateFlights ¶
func (siw *ServerInterfaceWrapper) RecalculateFlights(c *gin.Context)
RecalculateFlights operation middleware
func (*ServerInterfaceWrapper) RefreshToken ¶
func (siw *ServerInterfaceWrapper) RefreshToken(c *gin.Context)
RefreshToken operation middleware
func (*ServerInterfaceWrapper) RegisterUser ¶
func (siw *ServerInterfaceWrapper) RegisterUser(c *gin.Context)
RegisterUser operation middleware
func (*ServerInterfaceWrapper) RequestPasswordReset ¶ added in v1.1.0
func (siw *ServerInterfaceWrapper) RequestPasswordReset(c *gin.Context)
RequestPasswordReset operation middleware
func (*ServerInterfaceWrapper) ResetPassword ¶ added in v1.1.0
func (siw *ServerInterfaceWrapper) ResetPassword(c *gin.Context)
ResetPassword operation middleware
func (*ServerInterfaceWrapper) ResetUser2fa ¶
func (siw *ServerInterfaceWrapper) ResetUser2fa(c *gin.Context)
ResetUser2fa operation middleware
func (*ServerInterfaceWrapper) SearchAirports ¶
func (siw *ServerInterfaceWrapper) SearchAirports(c *gin.Context)
SearchAirports operation middleware
func (*ServerInterfaceWrapper) SearchContacts ¶
func (siw *ServerInterfaceWrapper) SearchContacts(c *gin.Context)
SearchContacts operation middleware
func (*ServerInterfaceWrapper) Setup2FA ¶
func (siw *ServerInterfaceWrapper) Setup2FA(c *gin.Context)
Setup2FA operation middleware
func (*ServerInterfaceWrapper) SmtpTest ¶
func (siw *ServerInterfaceWrapper) SmtpTest(c *gin.Context)
SmtpTest operation middleware
func (*ServerInterfaceWrapper) TriggerNotifications ¶
func (siw *ServerInterfaceWrapper) TriggerNotifications(c *gin.Context)
TriggerNotifications operation middleware
func (*ServerInterfaceWrapper) UnlockUser ¶
func (siw *ServerInterfaceWrapper) UnlockUser(c *gin.Context)
UnlockUser operation middleware
func (*ServerInterfaceWrapper) UpdateAircraft ¶
func (siw *ServerInterfaceWrapper) UpdateAircraft(c *gin.Context)
UpdateAircraft operation middleware
func (*ServerInterfaceWrapper) UpdateClassRating ¶
func (siw *ServerInterfaceWrapper) UpdateClassRating(c *gin.Context)
UpdateClassRating operation middleware
func (*ServerInterfaceWrapper) UpdateContact ¶
func (siw *ServerInterfaceWrapper) UpdateContact(c *gin.Context)
UpdateContact operation middleware
func (*ServerInterfaceWrapper) UpdateCredential ¶
func (siw *ServerInterfaceWrapper) UpdateCredential(c *gin.Context)
UpdateCredential operation middleware
func (*ServerInterfaceWrapper) UpdateCurrentUser ¶
func (siw *ServerInterfaceWrapper) UpdateCurrentUser(c *gin.Context)
UpdateCurrentUser operation middleware
func (*ServerInterfaceWrapper) UpdateFlight ¶
func (siw *ServerInterfaceWrapper) UpdateFlight(c *gin.Context)
UpdateFlight operation middleware
func (*ServerInterfaceWrapper) UpdateLicense ¶
func (siw *ServerInterfaceWrapper) UpdateLicense(c *gin.Context)
UpdateLicense operation middleware
func (*ServerInterfaceWrapper) UpdateNotificationPreferences ¶
func (siw *ServerInterfaceWrapper) UpdateNotificationPreferences(c *gin.Context)
UpdateNotificationPreferences operation middleware
func (*ServerInterfaceWrapper) UploadImportFile ¶
func (siw *ServerInterfaceWrapper) UploadImportFile(c *gin.Context)
UploadImportFile operation middleware
func (*ServerInterfaceWrapper) Verify2FA ¶
func (siw *ServerInterfaceWrapper) Verify2FA(c *gin.Context)
Verify2FA operation middleware
func (*ServerInterfaceWrapper) WebauthnLoginOptions ¶ added in v1.2.0
func (siw *ServerInterfaceWrapper) WebauthnLoginOptions(c *gin.Context)
WebauthnLoginOptions operation middleware
func (*ServerInterfaceWrapper) WebauthnLoginVerify ¶ added in v1.2.0
func (siw *ServerInterfaceWrapper) WebauthnLoginVerify(c *gin.Context)
WebauthnLoginVerify operation middleware
func (*ServerInterfaceWrapper) WebauthnRegisterOptions ¶ added in v1.2.0
func (siw *ServerInterfaceWrapper) WebauthnRegisterOptions(c *gin.Context)
WebauthnRegisterOptions operation middleware
func (*ServerInterfaceWrapper) WebauthnRegisterVerify ¶ added in v1.2.0
func (siw *ServerInterfaceWrapper) WebauthnRegisterVerify(c *gin.Context)
WebauthnRegisterVerify operation middleware
type Statistics ¶
type Statistics struct {
// Baseline Present when an initial-hours snapshot was added to these totals.
// Frontends can use it to display a "(includes initial snapshot)" hint
// and break down logged vs. carried-forward time.
Baseline *StatisticsBaselineContribution `json:"baseline,omitempty"`
// CrossCountryMinutes Total cross-country time in minutes
CrossCountryMinutes *int `json:"crossCountryMinutes,omitempty"`
// DualMinutes Total dual instruction block time in minutes
DualMinutes int `json:"dualMinutes"`
// IfrMinutes Total IFR block time in minutes
IfrMinutes int `json:"ifrMinutes"`
// LandingsDay Total day landings
LandingsDay int `json:"landingsDay"`
// LandingsNight Total night landings
LandingsNight int `json:"landingsNight"`
LicenseId *openapi_types.UUID `json:"licenseId,omitempty"`
// NightMinutes Total night block time in minutes
NightMinutes int `json:"nightMinutes"`
// PicMinutes Total PIC block time in minutes
PicMinutes int `json:"picMinutes"`
// SoloMinutes Total solo time in minutes
SoloMinutes *int `json:"soloMinutes,omitempty"`
// TotalFlights Total number of flights
TotalFlights int `json:"totalFlights"`
// TotalMinutes Total block time in minutes
TotalMinutes int `json:"totalMinutes"`
}
Statistics defines model for Statistics.
type StatisticsBaselineContribution ¶ added in v1.2.3
type StatisticsBaselineContribution struct {
BaselineDate openapi_types.Date `json:"baselineDate"`
CrossCountryMinutes *int `json:"crossCountryMinutes,omitempty"`
DualGivenMinutes *int `json:"dualGivenMinutes,omitempty"`
DualMinutes int `json:"dualMinutes"`
IfrMinutes int `json:"ifrMinutes"`
LandingsDay int `json:"landingsDay"`
LandingsNight int `json:"landingsNight"`
MultiPilotMinutes *int `json:"multiPilotMinutes,omitempty"`
NightMinutes int `json:"nightMinutes"`
PicMinutes int `json:"picMinutes"`
SicMinutes *int `json:"sicMinutes,omitempty"`
SoloMinutes *int `json:"soloMinutes,omitempty"`
TotalFlights int `json:"totalFlights"`
TotalMinutes int `json:"totalMinutes"`
}
StatisticsBaselineContribution Portion of the statistics totals contributed by the user's initial-hours snapshot.
type TwoFactorEnabled ¶
type TwoFactorEnabled struct {
// RecoveryCodes One-time recovery codes to use if authenticator is unavailable
RecoveryCodes []string `json:"recoveryCodes"`
}
TwoFactorEnabled defines model for TwoFactorEnabled.
type TwoFactorSetup ¶
type TwoFactorSetup struct {
// QrUri otpauth:// URI for QR code generation
QrUri string `json:"qrUri"`
// Secret Base32-encoded TOTP secret for manual entry
Secret string `json:"secret"`
}
TwoFactorSetup defines model for TwoFactorSetup.
type UpdateAircraftJSONRequestBody ¶
type UpdateAircraftJSONRequestBody = AircraftUpdate
UpdateAircraftJSONRequestBody defines body for UpdateAircraft for application/json ContentType.
type UpdateClassRatingJSONRequestBody ¶
type UpdateClassRatingJSONRequestBody = ClassRatingUpdate
UpdateClassRatingJSONRequestBody defines body for UpdateClassRating for application/json ContentType.
type UpdateContactJSONRequestBody ¶
type UpdateContactJSONRequestBody = ContactCreate
UpdateContactJSONRequestBody defines body for UpdateContact for application/json ContentType.
type UpdateCredentialJSONRequestBody ¶
type UpdateCredentialJSONRequestBody = CredentialUpdate
UpdateCredentialJSONRequestBody defines body for UpdateCredential for application/json ContentType.
type UpdateCurrentUserJSONBody ¶
type UpdateCurrentUserJSONBody struct {
// DateFormat Preferred date display format
DateFormat *UpdateCurrentUserJSONBodyDateFormat `json:"dateFormat,omitempty"`
// DecimalSeparator Preferred decimal separator for number display
DecimalSeparator *UpdateCurrentUserJSONBodyDecimalSeparator `json:"decimalSeparator,omitempty"`
Email *openapi_types.Email `json:"email,omitempty"`
Name *string `json:"name,omitempty"`
// PreferredLocale Preferred language for the interface
PreferredLocale *UpdateCurrentUserJSONBodyPreferredLocale `json:"preferredLocale,omitempty"`
// TimeDisplayFormat Preferred time display format
TimeDisplayFormat *UpdateCurrentUserJSONBodyTimeDisplayFormat `json:"timeDisplayFormat,omitempty"`
}
UpdateCurrentUserJSONBody defines parameters for UpdateCurrentUser.
type UpdateCurrentUserJSONBodyDateFormat ¶
type UpdateCurrentUserJSONBodyDateFormat string
UpdateCurrentUserJSONBodyDateFormat defines parameters for UpdateCurrentUser.
const ( UpdateCurrentUserJSONBodyDateFormatDDMMYYYY UpdateCurrentUserJSONBodyDateFormat = "DD.MM.YYYY" UpdateCurrentUserJSONBodyDateFormatMMDDYYYY UpdateCurrentUserJSONBodyDateFormat = "MM/DD/YYYY" UpdateCurrentUserJSONBodyDateFormatYYYYMMDD UpdateCurrentUserJSONBodyDateFormat = "YYYY-MM-DD" )
Defines values for UpdateCurrentUserJSONBodyDateFormat.
type UpdateCurrentUserJSONBodyDecimalSeparator ¶
type UpdateCurrentUserJSONBodyDecimalSeparator string
UpdateCurrentUserJSONBodyDecimalSeparator defines parameters for UpdateCurrentUser.
const ( UpdateCurrentUserJSONBodyDecimalSeparatorComma UpdateCurrentUserJSONBodyDecimalSeparator = "comma" UpdateCurrentUserJSONBodyDecimalSeparatorDot UpdateCurrentUserJSONBodyDecimalSeparator = "dot" )
Defines values for UpdateCurrentUserJSONBodyDecimalSeparator.
type UpdateCurrentUserJSONBodyPreferredLocale ¶
type UpdateCurrentUserJSONBodyPreferredLocale string
UpdateCurrentUserJSONBodyPreferredLocale defines parameters for UpdateCurrentUser.
const ( UpdateCurrentUserJSONBodyPreferredLocaleDe UpdateCurrentUserJSONBodyPreferredLocale = "de" UpdateCurrentUserJSONBodyPreferredLocaleEn UpdateCurrentUserJSONBodyPreferredLocale = "en" )
Defines values for UpdateCurrentUserJSONBodyPreferredLocale.
type UpdateCurrentUserJSONBodyTimeDisplayFormat ¶
type UpdateCurrentUserJSONBodyTimeDisplayFormat string
UpdateCurrentUserJSONBodyTimeDisplayFormat defines parameters for UpdateCurrentUser.
const ( UpdateCurrentUserJSONBodyTimeDisplayFormatDecimal UpdateCurrentUserJSONBodyTimeDisplayFormat = "decimal" UpdateCurrentUserJSONBodyTimeDisplayFormatHm UpdateCurrentUserJSONBodyTimeDisplayFormat = "hm" )
Defines values for UpdateCurrentUserJSONBodyTimeDisplayFormat.
type UpdateCurrentUserJSONRequestBody ¶
type UpdateCurrentUserJSONRequestBody UpdateCurrentUserJSONBody
UpdateCurrentUserJSONRequestBody defines body for UpdateCurrentUser for application/json ContentType.
type UpdateFlightJSONRequestBody ¶
type UpdateFlightJSONRequestBody = FlightUpdate
UpdateFlightJSONRequestBody defines body for UpdateFlight for application/json ContentType.
type UpdateLicenseJSONBody ¶
type UpdateLicenseJSONBody struct {
IssuingAuthority *string `json:"issuingAuthority,omitempty"`
LicenseNumber *string `json:"licenseNumber,omitempty"`
LicenseType *string `json:"licenseType,omitempty"`
RegulatoryAuthority *string `json:"regulatoryAuthority,omitempty"`
RequiresSeparateLogbook *bool `json:"requiresSeparateLogbook,omitempty"`
}
UpdateLicenseJSONBody defines parameters for UpdateLicense.
type UpdateLicenseJSONRequestBody ¶
type UpdateLicenseJSONRequestBody UpdateLicenseJSONBody
UpdateLicenseJSONRequestBody defines body for UpdateLicense for application/json ContentType.
type UpdateNotificationPreferencesJSONRequestBody ¶
type UpdateNotificationPreferencesJSONRequestBody = NotificationPreferencesUpdate
UpdateNotificationPreferencesJSONRequestBody defines body for UpdateNotificationPreferences for application/json ContentType.
type UploadImportFileMultipartBody ¶
type UploadImportFileMultipartBody struct {
// File CSV or XLS/XLSX file to import
File openapi_types.File `json:"file"`
}
UploadImportFileMultipartBody defines parameters for UploadImportFile.
type UploadImportFileMultipartRequestBody ¶
type UploadImportFileMultipartRequestBody UploadImportFileMultipartBody
UploadImportFileMultipartRequestBody defines body for UploadImportFile for multipart/form-data ContentType.
type User ¶
type User struct {
CreatedAt time.Time `json:"createdAt"`
// DateFormat User's preferred date display format.
DateFormat *UserDateFormat `json:"dateFormat,omitempty"`
// DecimalSeparator User's preferred decimal separator for number display. "comma" for European style (1,5), "dot" for US/UK style (1.5).
DecimalSeparator *UserDecimalSeparator `json:"decimalSeparator,omitempty"`
Email openapi_types.Email `json:"email"`
Id openapi_types.UUID `json:"id"`
// IsAdmin Whether this user is the platform admin (computed from ADMIN_EMAIL env var, not stored in DB)
IsAdmin *bool `json:"isAdmin,omitempty"`
Name string `json:"name"`
// PreferredLocale User's preferred language for the interface.
PreferredLocale *UserPreferredLocale `json:"preferredLocale,omitempty"`
// TimeDisplayFormat User's preferred time display format. "hm" for hours and minutes (1h 30m), "decimal" for decimal hours (1.5h).
TimeDisplayFormat *UserTimeDisplayFormat `json:"timeDisplayFormat,omitempty"`
// TwoFactorEnabled Whether 2FA is enabled for this account
TwoFactorEnabled *bool `json:"twoFactorEnabled,omitempty"`
UpdatedAt time.Time `json:"updatedAt"`
}
User defines model for User.
type UserDateFormat ¶
type UserDateFormat string
UserDateFormat User's preferred date display format.
const ( UserDateFormatDDMMYYYY UserDateFormat = "DD.MM.YYYY" UserDateFormatMMDDYYYY UserDateFormat = "MM/DD/YYYY" UserDateFormatYYYYMMDD UserDateFormat = "YYYY-MM-DD" )
Defines values for UserDateFormat.
type UserDecimalSeparator ¶
type UserDecimalSeparator string
UserDecimalSeparator User's preferred decimal separator for number display. "comma" for European style (1,5), "dot" for US/UK style (1.5).
const ( UserDecimalSeparatorComma UserDecimalSeparator = "comma" UserDecimalSeparatorDot UserDecimalSeparator = "dot" )
Defines values for UserDecimalSeparator.
type UserPreferredLocale ¶
type UserPreferredLocale string
UserPreferredLocale User's preferred language for the interface.
const ( UserPreferredLocaleDe UserPreferredLocale = "de" UserPreferredLocaleEn UserPreferredLocale = "en" )
Defines values for UserPreferredLocale.
type UserTimeDisplayFormat ¶
type UserTimeDisplayFormat string
UserTimeDisplayFormat User's preferred time display format. "hm" for hours and minutes (1h 30m), "decimal" for decimal hours (1.5h).
const ( UserTimeDisplayFormatDecimal UserTimeDisplayFormat = "decimal" UserTimeDisplayFormatHm UserTimeDisplayFormat = "hm" )
Defines values for UserTimeDisplayFormat.
type Verify2FAJSONBody ¶
type Verify2FAJSONBody struct {
// Code 6-digit TOTP code from authenticator app
Code string `json:"code"`
}
Verify2FAJSONBody defines parameters for Verify2FA.
type Verify2FAJSONRequestBody ¶
type Verify2FAJSONRequestBody Verify2FAJSONBody
Verify2FAJSONRequestBody defines body for Verify2FA for application/json ContentType.
type WebAuthnCredential ¶ added in v1.2.0
type WebAuthnCredential struct {
// Aaguid Authenticator AAGUID as a hex/UUID string
Aaguid *string `json:"aaguid,omitempty"`
CreatedAt time.Time `json:"createdAt"`
Id openapi_types.UUID `json:"id"`
// Label Human-readable label for the passkey
Label *string `json:"label"`
LastUsedAt *time.Time `json:"lastUsedAt"`
// Transports Authenticator transports reported during registration
Transports *[]string `json:"transports,omitempty"`
}
WebAuthnCredential defines model for WebAuthnCredential.
type WebAuthnLoginOptions ¶ added in v1.2.0
type WebAuthnLoginOptions struct {
// PublicKey WebAuthn `PublicKeyCredentialRequestOptions` (passed verbatim to `navigator.credentials.get`)
PublicKey map[string]interface{} `json:"publicKey"`
// SessionId Opaque session id to send back with the verify request
SessionId string `json:"sessionId"`
}
WebAuthnLoginOptions defines model for WebAuthnLoginOptions.
type WebAuthnRegistrationOptions ¶ added in v1.2.0
type WebAuthnRegistrationOptions struct {
// PublicKey WebAuthn `PublicKeyCredentialCreationOptions` (passed verbatim to `navigator.credentials.create`)
PublicKey map[string]interface{} `json:"publicKey"`
// SessionId Opaque session id to send back with the verify request
SessionId string `json:"sessionId"`
}
WebAuthnRegistrationOptions defines model for WebAuthnRegistrationOptions.
type WebauthnLoginOptionsJSONBody ¶ added in v1.2.0
type WebauthnLoginOptionsJSONBody struct {
// Email Optional email to scope the challenge to a specific user
Email *openapi_types.Email `json:"email,omitempty"`
}
WebauthnLoginOptionsJSONBody defines parameters for WebauthnLoginOptions.
type WebauthnLoginOptionsJSONRequestBody ¶ added in v1.2.0
type WebauthnLoginOptionsJSONRequestBody WebauthnLoginOptionsJSONBody
WebauthnLoginOptionsJSONRequestBody defines body for WebauthnLoginOptions for application/json ContentType.
type WebauthnLoginVerifyJSONBody ¶ added in v1.2.0
type WebauthnLoginVerifyJSONBody struct {
// Response Raw `PublicKeyCredential` returned from `navigator.credentials.get`
Response map[string]interface{} `json:"response"`
SessionId string `json:"sessionId"`
}
WebauthnLoginVerifyJSONBody defines parameters for WebauthnLoginVerify.
type WebauthnLoginVerifyJSONRequestBody ¶ added in v1.2.0
type WebauthnLoginVerifyJSONRequestBody WebauthnLoginVerifyJSONBody
WebauthnLoginVerifyJSONRequestBody defines body for WebauthnLoginVerify for application/json ContentType.
type WebauthnRegisterVerifyJSONBody ¶ added in v1.2.0
type WebauthnRegisterVerifyJSONBody struct {
// Label Optional human-readable label for the passkey
Label *string `json:"label,omitempty"`
// Response Raw `PublicKeyCredential` returned from `navigator.credentials.create`
Response map[string]interface{} `json:"response"`
// SessionId Session id returned from `/auth/webauthn/register/options`
SessionId string `json:"sessionId"`
}
WebauthnRegisterVerifyJSONBody defines parameters for WebauthnRegisterVerify.
type WebauthnRegisterVerifyJSONRequestBody ¶ added in v1.2.0
type WebauthnRegisterVerifyJSONRequestBody WebauthnRegisterVerifyJSONBody
WebauthnRegisterVerifyJSONRequestBody defines body for WebauthnRegisterVerify for application/json ContentType.