generated

package
v1.3.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2026 License: AGPL-3.0 Imports: 15 Imported by: 0

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.8.0 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.8.0 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.8.0 DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetSpec added in v1.2.0

func GetSpec() (swagger *openapi3.T, err error)

GetSpec returns the OpenAPI specification corresponding to the generated code in this file. External references in the spec are resolved through PathToRawSpec; externally-referenced files must be embedded in their corresponding Go packages (via the import-mapping feature). URL-based external refs are not supported.

func GetSpecJSON added in v1.2.0

func GetSpecJSON() ([]byte, error)

GetSpecJSON returns the raw JSON bytes of the embedded OpenAPI specification: decompressed but not unmarshaled. External references are not resolved here; the bytes are the spec exactly as embedded by codegen. The result is cached at package init time, so repeated calls are cheap.

func GetSwagger deprecated

func GetSwagger() (*openapi3.T, error)

GetSwagger returns the OpenAPI specification corresponding to the generated code in this file.

Deprecated: GetSwagger predates kin-openapi renaming openapi3.Swagger to openapi3.T. Use GetSpec instead. This wrapper is retained for backwards compatibility.

func PathToRawSpec

func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)

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
	//
	// Example: disable_user
	Action string `json:"action"`

	// AdminEmail Email of the admin who performed the action (if the account still exists)
	AdminEmail *openapi_types.Email `json:"adminEmail,omitempty"`

	// AdminName Display name of the admin who performed the action (if the account still exists)
	AdminName   *string            `json:"adminName,omitempty"`
	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"`

	// TargetUserEmail Email of the target user (if any, and if the account still exists)
	TargetUserEmail *openapi_types.Email `json:"targetUserEmail,omitempty"`

	// TargetUserId The user affected by the action (if any)
	TargetUserId *openapi_types.UUID `json:"targetUserId,omitempty"`

	// TargetUserName Display name of the target user (if any, and if the account still exists)
	TargetUserName *string `json:"targetUserName,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
	//
	// Example: 29331
	AirportDatabaseSize int `json:"airportDatabaseSize"`

	// AuthMode Active authentication mode (oidc when OIDC_ISSUER is set)
	AuthMode *AdminConfigAuthMode `json:"authMode,omitempty"`

	// CloudBackupProviders Names of registered cloud backup providers (e.g. s3, sftp, webdav). Empty when cloud backups are disabled.
	//
	// Example: ["s3","sftp","webdav"]
	CloudBackupProviders []string `json:"cloudBackupProviders"`

	// CloudBackupsConfigured Whether cloud backups are enabled (BACKUP_CREDENTIALS_KEY is set)
	CloudBackupsConfigured bool `json:"cloudBackupsConfigured"`

	// CorsOrigins Configured CORS allowed origins
	CorsOrigins []string `json:"corsOrigins"`

	// DocumentFilesEnabled Whether licence/credential reference files are enabled (DOCUMENT_FILES_ENABLED is not "false")
	DocumentFilesEnabled *bool `json:"documentFilesEnabled,omitempty"`

	// EmailSuppressedCount Addresses currently suppressed after a permanent delivery failure.
	EmailSuppressedCount *int `json:"emailSuppressedCount,omitempty"`

	// GoVersion Example: go1.23.0
	GoVersion string `json:"goVersion"`

	// MigrationVersion Current database migration version
	//
	// Example: 28
	MigrationVersion int `json:"migrationVersion"`

	// OidcIssuer Configured OIDC issuer URL. Present only in oidc mode; the client ID and secret are never exposed.
	OidcIssuer *string `json:"oidcIssuer,omitempty"`

	// RateLimitAdmin Admin endpoint rate limit
	//
	// Example: 30 req/min
	RateLimitAdmin string `json:"rateLimitAdmin"`

	// RateLimitAuth Auth endpoint rate limit
	//
	// Example: 10 req/min
	RateLimitAuth string `json:"rateLimitAuth"`

	// ServerUptime Human-readable uptime
	//
	// Example: 2d 5h 30m
	ServerUptime string `json:"serverUptime"`

	// SmtpConfigured Whether SMTP is configured
	SmtpConfigured bool `json:"smtpConfigured"`

	// UnverifiedCleanupDisabledReason Why the cleanup is not running, absent when it is. `oidc_mode` is not
	// configurable: with an identity provider in charge, an unverified
	// account is one the provider did not assert `email_verified` for — not
	// an abandoned signup — so reaping is refused outright.
	UnverifiedCleanupDisabledReason *AdminConfigUnverifiedCleanupDisabledReason `json:"unverifiedCleanupDisabledReason,omitempty"`

	// UnverifiedCleanupEnabled Whether unverified accounts are reminded and then deleted. Requires
	// SMTP to be configured; without it, registration marks accounts
	// verified immediately and nothing is reaped. Always false in OIDC
	// mode.
	UnverifiedCleanupEnabled *bool `json:"unverifiedCleanupEnabled,omitempty"`

	// UnverifiedReminderAfter How long after signup the verification reminder is sent.
	//
	// Example: 24h0m0s
	UnverifiedReminderAfter *string `json:"unverifiedReminderAfter,omitempty"`

	// UnverifiedRetention How long an account survives, unverified, after that reminder before
	// it is deleted.
	//
	//
	// Example: 720h0m0s
	UnverifiedRetention *string `json:"unverifiedRetention,omitempty"`
}

AdminConfig defines model for AdminConfig.

type AdminConfigAuthMode added in v1.3.2

type AdminConfigAuthMode string

AdminConfigAuthMode Active authentication mode (oidc when OIDC_ISSUER is set)

const (
	AdminConfigAuthModeLocal AdminConfigAuthMode = "local"
	AdminConfigAuthModeOidc  AdminConfigAuthMode = "oidc"
)

Defines values for AdminConfigAuthMode.

func (AdminConfigAuthMode) Valid added in v1.3.2

func (e AdminConfigAuthMode) Valid() bool

Valid indicates whether the value is a known member of the AdminConfigAuthMode enum.

type AdminConfigUnverifiedCleanupDisabledReason added in v1.3.2

type AdminConfigUnverifiedCleanupDisabledReason string

AdminConfigUnverifiedCleanupDisabledReason Why the cleanup is not running, absent when it is. `oidc_mode` is not configurable: with an identity provider in charge, an unverified account is one the provider did not assert `email_verified` for — not an abandoned signup — so reaping is refused outright.

const (
	DisabledByConfiguration AdminConfigUnverifiedCleanupDisabledReason = "disabled_by_configuration"
	OidcMode                AdminConfigUnverifiedCleanupDisabledReason = "oidc_mode"
	SmtpNotConfigured       AdminConfigUnverifiedCleanupDisabledReason = "smtp_not_configured"
)

Defines values for AdminConfigUnverifiedCleanupDisabledReason.

func (AdminConfigUnverifiedCleanupDisabledReason) Valid added in v1.3.2

Valid indicates whether the value is a known member of the AdminConfigUnverifiedCleanupDisabledReason enum.

type AdminStats

type AdminStats struct {
	// CloudBackupDestinations Counts of user-configured cloud backup destinations.
	CloudBackupDestinations struct {
		// ByProvider Number of destinations grouped by provider name (e.g. {"s3": 3, "sftp": 1}). Providers with zero destinations are omitted.
		//
		// Example: {"s3":3,"sftp":1}
		ByProvider map[string]int `json:"byProvider"`

		// Total Total number of cloud backup destinations configured across all users.
		Total int `json:"total"`
	} `json:"cloudBackupDestinations"`
	DisabledAccounts int `json:"disabledAccounts"`
	FlightsThisMonth int `json:"flightsThisMonth"`
	LockedAccounts   int `json:"lockedAccounts"`
	NewUsersThisWeek int `json:"newUsersThisWeek"`
	TotalAircraft    int `json:"totalAircraft"`

	// TotalContacts Contacts across all users. Grows on its own as flights are logged, since crew names are turned into contacts automatically.
	TotalContacts    int `json:"totalContacts"`
	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"`

	// EmailSuppressed Whether this address is on the suppression list after a permanent
	// delivery failure. A suppressed address receives no further mail, so
	// an unverified account with this flag set will never verify.
	EmailSuppressed *bool `json:"emailSuppressed,omitempty"`

	// EmailVerified Whether the user has verified their email address and completed sign-up
	EmailVerified bool `json:"emailVerified"`

	// FlightCount Total number of flights logged
	FlightCount int                `json:"flightCount"`
	Id          openapi_types.UUID `json:"id"`

	// LastLoginAt Last successful sign-in. Recorded for every path that issues a session: password login, the second factor, a passkey, OIDC, and the sign-up verification link (following it signs the new account in). Not updated by a token refresh.
	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"`

	// ScheduledDeletionAt When this unverified account will be deleted if the address is still
	// not confirmed. Absent for verified accounts and for accounts that
	// have not been reminded yet.
	ScheduledDeletionAt *time.Time `json:"scheduledDeletionAt,omitempty"`
	TwoFactorEnabled    bool       `json:"twoFactorEnabled"`

	// VerificationReminderSentAt When the follow-up email-verification reminder was sent. Absent when
	// the account is verified, or when the reminder is not due yet. This
	// timestamp starts the retention clock: an account still unverified
	// once the retention window has elapsed from here is deleted.
	VerificationReminderSentAt *time.Time `json:"verificationReminderSentAt,omitempty"`
}

AdminUser defines model for AdminUser.

type Aircraft

type Aircraft struct {
	// AircraftClass Aircraft class (e.g., SEP_LAND, MEP_LAND, TMG, or any custom value)
	//
	// Example: SEP_LAND
	AircraftClass *string `json:"aircraftClass,omitempty"`

	// CreatedAt Example: 2026-01-15T10:00:00Z
	CreatedAt time.Time `json:"createdAt"`

	// DefaultArrivalIcao Default arrival location (ICAO code or free-text place name) prefilled when logging a flight with this aircraft
	//
	// Example: LSZH
	DefaultArrivalIcao *string `json:"defaultArrivalIcao,omitempty"`

	// DefaultDepartureIcao Default departure location (ICAO code or free-text place name) prefilled when logging a flight with this aircraft
	//
	// Example: LSZH
	DefaultDepartureIcao *string `json:"defaultDepartureIcao,omitempty"`

	// Id Example: 770e8400-e29b-41d4-a716-446655440002
	Id openapi_types.UUID `json:"id"`

	// IsActive Whether aircraft is still active in the user's fleet
	//
	// Example: true
	IsActive *bool `json:"isActive,omitempty"`

	// IsComplex Whether aircraft has retractable gear, flaps, and constant speed propeller
	//
	// Example: false
	IsComplex *bool `json:"isComplex,omitempty"`

	// IsHighPerformance Whether aircraft has more than 200 HP
	//
	// Example: false
	IsHighPerformance *bool `json:"isHighPerformance,omitempty"`

	// IsTailwheel Whether aircraft has tailwheel (conventional gear)
	//
	// Example: false
	IsTailwheel *bool `json:"isTailwheel,omitempty"`

	// Make Aircraft manufacturer
	//
	// Example: Cessna
	Make string `json:"make"`

	// Model Aircraft model name
	//
	// Example: 172 Skyhawk
	Model string `json:"model"`

	// Notes Additional notes about the aircraft
	//
	// Example: Club aircraft, requires checkout
	Notes *string `json:"notes,omitempty"`

	// Registration Aircraft registration/tail number
	//
	// Example: D-EFGH
	Registration string `json:"registration"`

	// Type Aircraft type designation (e.g., C172, PA28, ASK21)
	//
	// Example: C172
	Type string `json:"type"`

	// UpdatedAt Example: 2026-02-01T14:30:00Z
	UpdatedAt time.Time `json:"updatedAt"`

	// UserId Example: 550e8400-e29b-41d4-a716-446655440000
	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)
	//
	// Example: SEP_LAND
	AircraftClass *string `json:"aircraftClass,omitempty"`

	// DefaultArrivalIcao Default arrival location (ICAO code or free-text place name) prefilled when logging a flight with this aircraft
	//
	// Example: LSZH
	DefaultArrivalIcao *string `json:"defaultArrivalIcao,omitempty"`

	// DefaultDepartureIcao Default departure location (ICAO code or free-text place name) prefilled when logging a flight with this aircraft
	//
	// Example: LSZH
	DefaultDepartureIcao *string `json:"defaultDepartureIcao,omitempty"`

	// IsComplex Example: false
	IsComplex *bool `json:"isComplex,omitempty"`

	// IsHighPerformance Example: false
	IsHighPerformance *bool `json:"isHighPerformance,omitempty"`

	// IsTailwheel Example: false
	IsTailwheel *bool `json:"isTailwheel,omitempty"`

	// Make Aircraft manufacturer
	//
	// Example: Cessna
	Make string `json:"make"`

	// Model Aircraft model name
	//
	// Example: 172 Skyhawk
	Model string `json:"model"`

	// Notes Example: Club aircraft, requires checkout
	Notes *string `json:"notes,omitempty"`

	// Registration Aircraft registration/tail number
	//
	// Example: D-EFGH
	Registration string `json:"registration"`

	// Type Aircraft type designation
	//
	// Example: C172
	Type string `json:"type"`
}

AircraftCreate defines model for AircraftCreate.

type AircraftId

type AircraftId = openapi_types.UUID

AircraftId Example: 770e8400-e29b-41d4-a716-446655440002

type AircraftStats added in v1.3.1

type AircraftStats struct {
	// FirstFlightDate Date (YYYY-MM-DD) of the first logged flight with this registration
	//
	// Example: 2024-03-02
	FirstFlightDate *string `json:"firstFlightDate,omitempty"`

	// LandingsDay Total day landings with this registration
	//
	// Example: 55
	LandingsDay int `json:"landingsDay"`

	// LandingsLast90Days Total landings with this registration in the preceding 90 days
	//
	// Example: 5
	LandingsLast90Days int `json:"landingsLast90Days"`

	// LandingsNight Total night landings with this registration
	//
	// Example: 4
	LandingsNight int `json:"landingsNight"`

	// LastFlightDate Date (YYYY-MM-DD) of the most recent logged flight with this registration
	//
	// Example: 2026-06-14
	LastFlightDate *string `json:"lastFlightDate,omitempty"`

	// RecencyLapsesOn Informational 90-day recency (styled after EASA FCL.060(b) day recency, 3 landings in 90 days): last date on which the 90-day landing count is still 3 or more. Only set while the count is currently 3 or more.
	//
	// Example: 2026-09-03
	RecencyLapsesOn *string `json:"recencyLapsesOn,omitempty"`

	// Registration Aircraft registration the statistics are aggregated for
	//
	// Example: D-EFGH
	Registration string `json:"registration"`

	// TotalFlights Number of logged flights with this registration
	//
	// Example: 42
	TotalFlights int `json:"totalFlights"`

	// TotalMinutes Total flight time in minutes with this registration
	//
	// Example: 2530
	TotalMinutes int `json:"totalMinutes"`
}

AircraftStats defines model for AircraftStats.

type AircraftTypeStats added in v1.3.1

type AircraftTypeStats struct {
	// AircraftType Aircraft type/model designation the statistics are aggregated for
	//
	// Example: C172
	AircraftType string `json:"aircraftType"`

	// FirstFlightDate Date (YYYY-MM-DD) of the first logged flight on this type
	//
	// Example: 2024-03-02
	FirstFlightDate *string `json:"firstFlightDate,omitempty"`

	// LandingsDay Total day landings on this type
	//
	// Example: 55
	LandingsDay int `json:"landingsDay"`

	// LandingsLast90Days Total landings on this type in the preceding 90 days
	//
	// Example: 5
	LandingsLast90Days int `json:"landingsLast90Days"`

	// LandingsNight Total night landings on this type
	//
	// Example: 4
	LandingsNight int `json:"landingsNight"`

	// LastFlightDate Date (YYYY-MM-DD) of the most recent logged flight on this type
	//
	// Example: 2026-06-14
	LastFlightDate *string `json:"lastFlightDate,omitempty"`

	// RecencyLapsesOn Informational 90-day recency (styled after EASA FCL.060(b) day recency, 3 landings in 90 days): last date on which the 90-day landing count is still 3 or more. Only set while the count is currently 3 or more.
	//
	// Example: 2026-09-03
	RecencyLapsesOn *string `json:"recencyLapsesOn,omitempty"`

	// TotalFlights Number of logged flights on this type
	//
	// Example: 42
	TotalFlights int `json:"totalFlights"`

	// TotalMinutes Total flight time in minutes on this type
	//
	// Example: 2530
	TotalMinutes int `json:"totalMinutes"`
}

AircraftTypeStats defines model for AircraftTypeStats.

type AircraftUpdate

type AircraftUpdate struct {
	// AircraftClass Aircraft class (e.g., SEP_LAND, MEP_LAND, TMG, or any custom value)
	//
	// Example: SEP_LAND
	AircraftClass nullable.Nullable[string] `json:"aircraftClass,omitempty"`

	// DefaultArrivalIcao Default arrival location (ICAO code or free-text place name) prefilled when logging a flight with this aircraft
	//
	// Example: LSZH
	DefaultArrivalIcao nullable.Nullable[string] `json:"defaultArrivalIcao,omitempty"`

	// DefaultDepartureIcao Default departure location (ICAO code or free-text place name) prefilled when logging a flight with this aircraft
	//
	// Example: LSZH
	DefaultDepartureIcao nullable.Nullable[string] `json:"defaultDepartureIcao,omitempty"`

	// IsActive Example: true
	IsActive *bool `json:"isActive,omitempty"`

	// IsComplex Example: false
	IsComplex *bool `json:"isComplex,omitempty"`

	// IsHighPerformance Example: false
	IsHighPerformance *bool `json:"isHighPerformance,omitempty"`

	// IsTailwheel Example: false
	IsTailwheel *bool `json:"isTailwheel,omitempty"`

	// Make Example: Cessna
	Make *string `json:"make,omitempty"`

	// Model Example: 172 Skyhawk
	Model *string `json:"model,omitempty"`

	// Notes Example: Club aircraft, requires checkout
	Notes nullable.Nullable[string] `json:"notes,omitempty"`

	// Registration Example: D-EFGH
	Registration *string `json:"registration,omitempty"`

	// RenameFlights When true and the registration is being changed, logged flights that reference the old registration are updated to the new one.
	//
	// Example: false
	RenameFlights *bool `json:"renameFlights,omitempty"`

	// Type Example: C172
	Type *string `json:"type,omitempty"`
}

AircraftUpdate defines model for AircraftUpdate.

type Airport

type Airport struct {
	// Country Country code (ISO 3166-1 alpha-2)
	//
	// Example: DE
	Country *string `json:"country,omitempty"`

	// Elevation Airport elevation in feet
	//
	// Example: 364
	Elevation *int `json:"elevation,omitempty"`

	// Icao ICAO airport code
	//
	// Example: EDDF
	Icao string `json:"icao"`

	// Latitude Latitude in decimal degrees
	//
	// Example: 50.033333
	Latitude float64 `json:"latitude"`

	// Longitude Longitude in decimal degrees
	//
	// Example: 8.570556
	Longitude float64 `json:"longitude"`

	// Name Airport name
	//
	// Example: Frankfurt am Main
	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 Example: EDDF
	Icao      string  `json:"icao"`
	Latitude  float64 `json:"latitude"`
	Longitude float64 `json:"longitude"`

	// Name Example: Frankfurt am Main
	Name string `json:"name"`

	// TotalFlights Total flights (departures + arrivals)
	TotalFlights int `json:"totalFlights"`
}

AirportStats defines model for AirportStats.

type AnalyticsAircraftRow added in v1.3.1

type AnalyticsAircraftRow struct {
	DistanceNm      float64 `json:"distanceNm"`
	DualMinutes     int     `json:"dualMinutes"`
	FirstFlightDate *string `json:"firstFlightDate,omitempty"`
	Flights         int     `json:"flights"`
	IfrMinutes      int     `json:"ifrMinutes"`

	// Label Aircraft type designation, or registration for byRegistration rows.
	//
	// Example: C172
	Label          string  `json:"label"`
	Landings       int     `json:"landings"`
	LastFlightDate *string `json:"lastFlightDate,omitempty"`
	NightMinutes   int     `json:"nightMinutes"`
	PicMinutes     int     `json:"picMinutes"`

	// SubLabel Aircraft type for byRegistration rows, or make/model where known.
	//
	// Example: Cessna 172S
	SubLabel     *string `json:"subLabel,omitempty"`
	TotalMinutes int     `json:"totalMinutes"`
}

AnalyticsAircraftRow defines model for AnalyticsAircraftRow.

type AnalyticsAirportRow added in v1.3.1

type AnalyticsAirportRow struct {
	Arrivals int `json:"arrivals"`

	// Country Example: DE
	Country    *string `json:"country,omitempty"`
	Departures int     `json:"departures"`

	// Flights Flights touching this airport. A local flight departing and arriving here counts once.
	Flights int `json:"flights"`

	// Icao Example: EDNY
	Icao      string   `json:"icao"`
	Latitude  *float64 `json:"latitude,omitempty"`
	Longitude *float64 `json:"longitude,omitempty"`

	// Name Null when the code does not resolve against the airport database.
	//
	// Example: Friedrichshafen Airport
	Name *string `json:"name,omitempty"`
}

AnalyticsAirportRow defines model for AnalyticsAirportRow.

type AnalyticsApproachTypeRow added in v1.3.1

type AnalyticsApproachTypeRow struct {
	Count int `json:"count"`

	// Type Example: ILS
	Type string `json:"type"`
}

AnalyticsApproachTypeRow defines model for AnalyticsApproachTypeRow.

type AnalyticsBucketRow added in v1.3.1

type AnalyticsBucketRow struct {
	Flights int `json:"flights"`

	// Key Bucket index. Day of week 1–7 (Monday first), hour of day 0–23 UTC, month of year 1–12, duration bucket 0–5.
	//
	// Example: 1
	Key int `json:"key"`

	// Label Stable machine label for the bucket. Clients localize by key.
	//
	// Example: <30m
	Label        string `json:"label"`
	TotalMinutes int    `json:"totalMinutes"`
}

AnalyticsBucketRow defines model for AnalyticsBucketRow.

type AnalyticsCountryRow added in v1.3.1

type AnalyticsCountryRow struct {
	// Airports Distinct airports visited in this country.
	Airports int `json:"airports"`

	// Country ISO 3166-1 alpha-2 country code from the airport database.
	//
	// Example: DE
	Country string `json:"country"`
	Flights int    `json:"flights"`
}

AnalyticsCountryRow defines model for AnalyticsCountryRow.

type AnalyticsFlightRef added in v1.3.1

type AnalyticsFlightRef struct {
	AircraftReg  *string `json:"aircraftReg,omitempty"`
	AircraftType *string `json:"aircraftType,omitempty"`
	ArrivalIcao  *string `json:"arrivalIcao,omitempty"`

	// Date Example: 2026-05-17
	Date          string             `json:"date"`
	DepartureIcao *string            `json:"departureIcao,omitempty"`
	DistanceNm    float64            `json:"distanceNm"`
	Id            openapi_types.UUID `json:"id"`
	TotalMinutes  int                `json:"totalMinutes"`
}

AnalyticsFlightRef defines model for AnalyticsFlightRef.

type AnalyticsGroupRow added in v1.3.1

type AnalyticsGroupRow struct {
	DualMinutes int `json:"dualMinutes"`
	Flights     int `json:"flights"`

	// Label Example: SEP_LAND
	Label        string `json:"label"`
	Landings     int    `json:"landings"`
	PicMinutes   int    `json:"picMinutes"`
	TotalMinutes int    `json:"totalMinutes"`
}

AnalyticsGroupRow defines model for AnalyticsGroupRow.

type AnalyticsMonthPoint added in v1.3.1

type AnalyticsMonthPoint struct {
	// CumulativeMinutes Running total of block time from the very first logged flight up to and including this month, so the curve reflects true career hours even when the timeframe starts later.
	CumulativeMinutes int     `json:"cumulativeMinutes"`
	DistanceNm        float64 `json:"distanceNm"`
	DualGivenMinutes  int     `json:"dualGivenMinutes"`
	DualMinutes       int     `json:"dualMinutes"`
	Flights           int     `json:"flights"`
	IfrMinutes        int     `json:"ifrMinutes"`
	LandingsDay       int     `json:"landingsDay"`
	LandingsNight     int     `json:"landingsNight"`

	// Month Calendar month, YYYY-MM.
	//
	// Example: 2026-07
	Month        string `json:"month"`
	NightMinutes int    `json:"nightMinutes"`
	PicMinutes   int    `json:"picMinutes"`
	SicMinutes   int    `json:"sicMinutes"`
	SoloMinutes  int    `json:"soloMinutes"`
	TotalMinutes int    `json:"totalMinutes"`
}

AnalyticsMonthPoint defines model for AnalyticsMonthPoint.

type AnalyticsPersonRow added in v1.3.1

type AnalyticsPersonRow struct {
	Flights        int     `json:"flights"`
	LastFlightDate *string `json:"lastFlightDate,omitempty"`

	// Name Example: J. Smith
	Name string `json:"name"`

	// Role Crew role, for byCrew rows only.
	//
	// Example: PIC
	Role         *string `json:"role,omitempty"`
	TotalMinutes int     `json:"totalMinutes"`
}

AnalyticsPersonRow defines model for AnalyticsPersonRow.

type AnalyticsRange added in v1.3.1

type AnalyticsRange struct {
	// AllTime True when the payload covers the entire logbook.
	AllTime bool `json:"allTime"`

	// From First date included in the timeframe. Null when allTime is true.
	//
	// Example: 2025-08-01
	From *string `json:"from,omitempty"`

	// Months Requested timeframe in months. 0 means all time.
	//
	// Example: 12
	Months int `json:"months"`

	// To Last date included in the timeframe (the current date).
	//
	// Example: 2026-07-27
	To *string `json:"to,omitempty"`
}

AnalyticsRange defines model for AnalyticsRange.

type AnalyticsRecords added in v1.3.1

type AnalyticsRecords struct {
	// ActiveMonths Number of calendar months in the timeframe with at least one flight.
	ActiveMonths int `json:"activeMonths"`

	// BusiestDay Date with the most flights logged.
	//
	// Example: 2026-05-17
	BusiestDay        *string `json:"busiestDay,omitempty"`
	BusiestDayFlights int     `json:"busiestDayFlights"`

	// BusiestMonth Calendar month with the most block time.
	//
	// Example: 2026-05
	BusiestMonth        *string `json:"busiestMonth,omitempty"`
	BusiestMonthMinutes *int    `json:"busiestMonthMinutes,omitempty"`

	// BusiestYear Example: 2026
	BusiestYear        *int `json:"busiestYear,omitempty"`
	BusiestYearMinutes *int `json:"busiestYearMinutes,omitempty"`

	// CurrentStreakMonths Consecutive months with at least one flight ending at the current month.
	CurrentStreakMonths int `json:"currentStreakMonths"`

	// DaysSinceLastFlight Null when the logbook is empty.
	DaysSinceLastFlight *int                 `json:"daysSinceLastFlight,omitempty"`
	FarthestAirport     *AnalyticsAirportRow `json:"farthestAirport,omitempty"`

	// FarthestAirportNm Great-circle distance from the home base to the farthest visited airport.
	FarthestAirportNm *float64 `json:"farthestAirportNm,omitempty"`

	// HomeBase Most-visited airport, used as the reference point for farthestAirport.
	//
	// Example: EDNY
	HomeBase              *string             `json:"homeBase,omitempty"`
	LongestDistanceFlight *AnalyticsFlightRef `json:"longestDistanceFlight,omitempty"`
	LongestFlight         *AnalyticsFlightRef `json:"longestFlight,omitempty"`

	// LongestStreakMonths Longest run of consecutive calendar months with at least one flight, within the timeframe.
	LongestStreakMonths int `json:"longestStreakMonths"`
}

AnalyticsRecords defines model for AnalyticsRecords.

type AnalyticsRouteRow added in v1.3.1

type AnalyticsRouteRow struct {
	// ArrivalIcao Example: LSZH
	ArrivalIcao string `json:"arrivalIcao"`

	// DepartureIcao Example: EDNY
	DepartureIcao string `json:"departureIcao"`

	// DistanceNm Great-circle distance of a single leg on this route.
	DistanceNm   float64 `json:"distanceNm"`
	Flights      int     `json:"flights"`
	TotalMinutes int     `json:"totalMinutes"`
}

AnalyticsRouteRow defines model for AnalyticsRouteRow.

type AnalyticsTotals added in v1.3.1

type AnalyticsTotals struct {
	ActualInstrumentMinutes int `json:"actualInstrumentMinutes"`
	Approaches              int `json:"approaches"`
	CrossCountryMinutes     int `json:"crossCountryMinutes"`

	// DistanceNm Great-circle distance summed over all flights with known departure and arrival airports.
	//
	// Example: 18422.5
	DistanceNm float64 `json:"distanceNm"`

	// DistinctAirports Unique airports visited as either departure or arrival.
	DistinctAirports int `json:"distinctAirports"`

	// DistinctCountries Unique countries of the visited airports that resolve against the airport database.
	DistinctCountries     int `json:"distinctCountries"`
	DistinctRegistrations int `json:"distinctRegistrations"`
	DistinctTypes         int `json:"distinctTypes"`

	// DualGivenMinutes Instruction given as an instructor.
	DualGivenMinutes int `json:"dualGivenMinutes"`

	// DualMinutes Dual instruction received.
	DualMinutes int `json:"dualMinutes"`

	// FirstFlightDate Example: 2024-03-02
	FirstFlightDate *string `json:"firstFlightDate,omitempty"`

	// GroundTrainingMinutes Ground instruction. Not included in totalMinutes.
	GroundTrainingMinutes int `json:"groundTrainingMinutes"`
	Holds                 int `json:"holds"`
	IfrMinutes            int `json:"ifrMinutes"`
	LandingsDay           int `json:"landingsDay"`
	LandingsNight         int `json:"landingsNight"`

	// LastFlightDate Example: 2026-07-14
	LastFlightDate *string `json:"lastFlightDate,omitempty"`

	// MultiPilotMinutes EASA AMC1 FCL.050 column 10.
	MultiPilotMinutes int `json:"multiPilotMinutes"`
	NightMinutes      int `json:"nightMinutes"`
	PicMinutes        int `json:"picMinutes"`
	SicMinutes        int `json:"sicMinutes"`

	// SimulatedFlightMinutes FSTD/simulator time. Not included in totalMinutes.
	SimulatedFlightMinutes int `json:"simulatedFlightMinutes"`

	// SimulatedInstrumentMinutes Hood/simulated instrument time in an aircraft.
	SimulatedInstrumentMinutes int `json:"simulatedInstrumentMinutes"`
	SoloMinutes                int `json:"soloMinutes"`
	TakeoffsDay                int `json:"takeoffsDay"`
	TakeoffsNight              int `json:"takeoffsNight"`

	// TotalFlights Example: 214
	TotalFlights int `json:"totalFlights"`

	// TotalMinutes Total block time.
	//
	// Example: 23480
	TotalMinutes int `json:"totalMinutes"`
}

AnalyticsTotals Aggregated totals for the timeframe. When the user has an initial-hours snapshot that the timeframe reaches back to, its carried-forward totals are included here and reported separately in `FlightAnalytics.baseline`.

type AnalyticsYearPoint added in v1.3.1

type AnalyticsYearPoint struct {
	DistanceNm   float64 `json:"distanceNm"`
	DualMinutes  int     `json:"dualMinutes"`
	Flights      int     `json:"flights"`
	IfrMinutes   int     `json:"ifrMinutes"`
	Landings     int     `json:"landings"`
	NightMinutes int     `json:"nightMinutes"`
	PicMinutes   int     `json:"picMinutes"`
	TotalMinutes int     `json:"totalMinutes"`

	// Year Example: 2026
	Year int `json:"year"`
}

AnalyticsYearPoint defines model for AnalyticsYearPoint.

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 Example: Scheduled maintenance on Tuesday 8pm-10pm UTC
	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.

func (AnnouncementSeverity) Valid added in v1.1.0

func (e AnnouncementSeverity) Valid() bool

Valid indicates whether the value is a known member of the AnnouncementSeverity enum.

type ApproachEntry

type ApproachEntry struct {
	// Airport ICAO code of the airport where the approach was performed
	//
	// Example: EDDF
	Airport *string `json:"airport,omitempty"`

	// Runway Runway designation for the approach
	//
	// Example: 09L
	Runway *string `json:"runway,omitempty"`

	// 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,omitempty"`

	// Runway Runway designation
	Runway *string `json:"runway,omitempty"`

	// 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.

func (ApproachType) Valid added in v1.1.0

func (e ApproachType) Valid() bool

Valid indicates whether the value is a known member of the ApproachType enum.

type AuthProviders added in v1.3.2

type AuthProviders struct {
	// Mode The active authentication mode
	Mode AuthProvidersMode `json:"mode"`
	Oidc struct {
		// AuthorizeUrl Where to send the browser to start the login. A redirect endpoint, not a JSON API — navigate to it, do not fetch it.
		//
		// Example: /api/v1/auth/oidc/authorize
		AuthorizeUrl *string `json:"authorizeUrl,omitempty"`

		// Enabled Whether OIDC single sign-on is configured
		Enabled bool `json:"enabled"`

		// Name Display name for the sign-in button, from OIDC_PROVIDER_NAME
		//
		// Example: Authentik
		Name *string `json:"name,omitempty"`
	} `json:"oidc"`

	// PasswordLoginEnabled Whether email/password sign-in is accepted
	PasswordLoginEnabled bool `json:"passwordLoginEnabled"`

	// RegistrationEnabled Whether self-service registration is accepted
	RegistrationEnabled bool `json:"registrationEnabled"`

	// TwoFactorEnabled Whether users can set up TOTP two-factor authentication
	TwoFactorEnabled bool `json:"twoFactorEnabled"`

	// WebauthnEnabled Whether passkey registration and login are available
	WebauthnEnabled bool `json:"webauthnEnabled"`
}

AuthProviders The sign-in methods this server offers. Exactly one authentication mode is active; the flags below are all derived from it and from what the operator has configured.

type AuthProvidersMode added in v1.3.2

type AuthProvidersMode string

AuthProvidersMode The active authentication mode

const (
	AuthProvidersModeLocal AuthProvidersMode = "local"
	AuthProvidersModeOidc  AuthProvidersMode = "oidc"
)

Defines values for AuthProvidersMode.

func (AuthProvidersMode) Valid added in v1.3.2

func (e AuthProvidersMode) Valid() bool

Valid indicates whether the value is a known member of the AuthProvidersMode enum.

type AuthResponse

type AuthResponse struct {
	// AccessToken JWT access token (15 minutes validity)
	//
	// Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
	AccessToken string `json:"accessToken"`

	// ExpiresIn Access token expiry in seconds
	//
	// Example: 900
	ExpiresIn int `json:"expiresIn"`

	// RefreshToken JWT refresh token (7 days validity)
	//
	// Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
	RefreshToken string `json:"refreshToken"`
	User         User   `json:"user"`
}

AuthResponse defines model for AuthResponse.

type BackupDestination added in v1.2.4

type BackupDestination struct {
	// Config Provider-specific non-secret configuration (e.g. bucket, region, prefix).
	Config              map[string]interface{} `json:"config"`
	ConsecutiveFailures *int                   `json:"consecutiveFailures,omitempty"`
	CreatedAt           time.Time              `json:"createdAt"`

	// CredentialHint Non-sensitive hint about the stored credential (e.g. last 4 of access key).
	CredentialHint *string            `json:"credentialHint,omitempty"`
	DisplayName    string             `json:"displayName"`
	Enabled        bool               `json:"enabled"`
	Id             openapi_types.UUID `json:"id"`
	LastError      *string            `json:"lastError,omitempty"`
	LastRunAt      *time.Time         `json:"lastRunAt,omitempty"`
	LastSuccessAt  *time.Time         `json:"lastSuccessAt,omitempty"`

	// Provider Example: s3
	Provider string `json:"provider"`

	// RetentionCount Number of historical backups to retain. 0 means keep all.
	RetentionCount int `json:"retentionCount"`

	// Schedule Cadence at which scheduled runs fire (UTC). 'manual' disables scheduling.
	Schedule BackupSchedule `json:"schedule"`

	// ScheduleDayOfMonth Day of month for monthly schedule. Capped at 28 to avoid month-end edge cases.
	ScheduleDayOfMonth *int `json:"scheduleDayOfMonth,omitempty"`

	// ScheduleDayOfWeek 0=Sunday, 6=Saturday. Required when schedule=weekly.
	ScheduleDayOfWeek *int `json:"scheduleDayOfWeek,omitempty"`
	ScheduleHourUtc   *int `json:"scheduleHourUtc,omitempty"`

	// Status Operational status of a destination. 'error' is set automatically after 3 consecutive run failures.
	Status    BackupStatus       `json:"status"`
	UpdatedAt time.Time          `json:"updatedAt"`
	UserId    openapi_types.UUID `json:"userId"`
}

BackupDestination defines model for BackupDestination.

type BackupDestinationCreate added in v1.2.4

type BackupDestinationCreate struct {
	Config map[string]interface{} `json:"config"`

	// Credentials Secret fields. Stored encrypted at rest (AES-256-GCM) and never returned in any response.
	Credentials map[string]interface{} `json:"credentials"`
	DisplayName string                 `json:"displayName"`
	Enabled     *bool                  `json:"enabled,omitempty"`

	// Provider Example: s3
	Provider       string `json:"provider"`
	RetentionCount *int   `json:"retentionCount,omitempty"`

	// Schedule Cadence at which scheduled runs fire (UTC). 'manual' disables scheduling.
	Schedule           BackupSchedule `json:"schedule"`
	ScheduleDayOfMonth *int           `json:"scheduleDayOfMonth,omitempty"`
	ScheduleDayOfWeek  *int           `json:"scheduleDayOfWeek,omitempty"`
	ScheduleHourUtc    *int           `json:"scheduleHourUtc,omitempty"`
}

BackupDestinationCreate defines model for BackupDestinationCreate.

type BackupDestinationId added in v1.2.4

type BackupDestinationId = openapi_types.UUID

BackupDestinationId defines model for BackupDestinationId.

type BackupDestinationUpdate added in v1.2.4

type BackupDestinationUpdate struct {
	DisplayName    *string `json:"displayName,omitempty"`
	Enabled        *bool   `json:"enabled,omitempty"`
	RetentionCount *int    `json:"retentionCount,omitempty"`

	// Schedule Cadence at which scheduled runs fire (UTC). 'manual' disables scheduling.
	Schedule           *BackupSchedule `json:"schedule,omitempty"`
	ScheduleDayOfMonth *int            `json:"scheduleDayOfMonth,omitempty"`
	ScheduleDayOfWeek  *int            `json:"scheduleDayOfWeek,omitempty"`
	ScheduleHourUtc    *int            `json:"scheduleHourUtc,omitempty"`
}

BackupDestinationUpdate Partial update — only supplied fields are modified.

type BackupField added in v1.2.4

type BackupField struct {
	Description *string `json:"description,omitempty"`

	// Label Human-readable label.
	Label string `json:"label"`

	// Name Stable field key sent back as part of the config or credentials map.
	Name        string  `json:"name"`
	Placeholder *string `json:"placeholder,omitempty"`
	Required    bool    `json:"required"`

	// Type Hint for rendering provider config/credential form fields.
	Type BackupFieldType `json:"type"`
}

BackupField defines model for BackupField.

type BackupFieldSchema added in v1.2.4

type BackupFieldSchema struct {
	Fields []BackupField `json:"fields"`
}

BackupFieldSchema defines model for BackupFieldSchema.

type BackupFieldType added in v1.2.4

type BackupFieldType string

BackupFieldType Hint for rendering provider config/credential form fields.

const (
	Bool     BackupFieldType = "bool"
	Password BackupFieldType = "password"
	Region   BackupFieldType = "region"
	String   BackupFieldType = "string"
	Url      BackupFieldType = "url"
)

Defines values for BackupFieldType.

func (BackupFieldType) Valid added in v1.2.4

func (e BackupFieldType) Valid() bool

Valid indicates whether the value is a known member of the BackupFieldType enum.

type BackupProvider added in v1.2.4

type BackupProvider struct {
	ConfigSchema     BackupFieldSchema `json:"configSchema"`
	CredentialSchema BackupFieldSchema `json:"credentialSchema"`
	Description      *string           `json:"description,omitempty"`

	// DisplayName Example: Amazon S3 (and compatible)
	DisplayName string `json:"displayName"`

	// Name Example: s3
	Name string `json:"name"`
}

BackupProvider defines model for BackupProvider.

type BackupRun added in v1.2.4

type BackupRun struct {
	AircraftCount   *int               `json:"aircraftCount,omitempty"`
	CompletedAt     *time.Time         `json:"completedAt,omitempty"`
	CreatedAt       time.Time          `json:"createdAt"`
	CredentialCount *int               `json:"credentialCount,omitempty"`
	DestinationId   openapi_types.UUID `json:"destinationId"`
	DurationMs      *int               `json:"durationMs,omitempty"`
	ErrorMessage    *string            `json:"errorMessage,omitempty"`
	FlightCount     *int               `json:"flightCount,omitempty"`
	Id              openapi_types.UUID `json:"id"`
	LicenseCount    *int               `json:"licenseCount,omitempty"`
	RemotePath      *string            `json:"remotePath,omitempty"`
	Sha256          *string            `json:"sha256,omitempty"`
	SizeBytes       *int64             `json:"sizeBytes,omitempty"`
	StartedAt       time.Time          `json:"startedAt"`
	Status          BackupRunStatus    `json:"status"`
	Trigger         *BackupRunTrigger  `json:"trigger,omitempty"`
	UserId          openapi_types.UUID `json:"userId"`
}

BackupRun defines model for BackupRun.

type BackupRunStatus added in v1.2.4

type BackupRunStatus string

BackupRunStatus defines model for BackupRunStatus.

const (
	BackupRunStatusFailed  BackupRunStatus = "failed"
	BackupRunStatusSkipped BackupRunStatus = "skipped"
	BackupRunStatusSuccess BackupRunStatus = "success"
)

Defines values for BackupRunStatus.

func (BackupRunStatus) Valid added in v1.2.4

func (e BackupRunStatus) Valid() bool

Valid indicates whether the value is a known member of the BackupRunStatus enum.

type BackupRunTrigger added in v1.2.4

type BackupRunTrigger string

BackupRunTrigger defines model for BackupRunTrigger.

const (
	BackupRunTriggerManual    BackupRunTrigger = "manual"
	BackupRunTriggerScheduled BackupRunTrigger = "scheduled"
)

Defines values for BackupRunTrigger.

func (BackupRunTrigger) Valid added in v1.2.4

func (e BackupRunTrigger) Valid() bool

Valid indicates whether the value is a known member of the BackupRunTrigger enum.

type BackupSchedule added in v1.2.4

type BackupSchedule string

BackupSchedule Cadence at which scheduled runs fire (UTC). 'manual' disables scheduling.

const (
	BackupScheduleDaily   BackupSchedule = "daily"
	BackupScheduleManual  BackupSchedule = "manual"
	BackupScheduleMonthly BackupSchedule = "monthly"
	BackupScheduleWeekly  BackupSchedule = "weekly"
)

Defines values for BackupSchedule.

func (BackupSchedule) Valid added in v1.2.4

func (e BackupSchedule) Valid() bool

Valid indicates whether the value is a known member of the BackupSchedule enum.

type BackupStatus added in v1.2.4

type BackupStatus string

BackupStatus Operational status of a destination. 'error' is set automatically after 3 consecutive run failures.

const (
	BackupStatusActive BackupStatus = "active"
	BackupStatusError  BackupStatus = "error"
	BackupStatusPaused BackupStatus = "paused"
)

Defines values for BackupStatus.

func (BackupStatus) Valid added in v1.2.4

func (e BackupStatus) Valid() bool

Valid indicates whether the value is a known member of the BackupStatus enum.

type BackupTestResult added in v1.2.4

type BackupTestResult struct {
	Message *string `json:"message,omitempty"`
	Success bool    `json:"success"`
}

BackupTestResult defines model for BackupTestResult.

type BadRequest

type BadRequest = Error

BadRequest defines model for BadRequest.

type ChangePasswordJSONBody

type ChangePasswordJSONBody struct {
	// CurrentPassword The user's current password
	CurrentPassword string `json:"currentPassword"`

	// NewPassword The new password. 12–72 characters, containing at least one lowercase letter, one uppercase letter, one digit and one special character.
	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)
	//
	// Example: 2026-03-15
	ExpiryDate *openapi_types.Date `json:"expiryDate,omitempty"`
	Id         openapi_types.UUID  `json:"id"`

	// IssueDate Example: 2024-03-15
	IssueDate openapi_types.Date `json:"issueDate"`
	LicenseId openapi_types.UUID `json:"licenseId"`

	// Notes Optional notes about this rating
	Notes     *string   `json:"notes,omitempty"`
	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,omitempty"`
	IssueDate  openapi_types.Date  `json:"issueDate"`
	Notes      *string             `json:"notes,omitempty"`
}

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,omitempty"`

	// 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"`

	// WindowOpen Only meaningful when `windowOpensAt` is set. True if the
	// revalidation experience window is currently open
	// (now >= windowOpensAt). When false, flight experience accrued
	// today does not yet count toward this rating's revalidation, so
	// `requirements` is omitted and `status` stays `current` until the
	// window opens.
	WindowOpen *bool `json:"windowOpen,omitempty"`

	// WindowOpensAt For ratings whose experience window is anchored to expiry (EASA
	// FCL.740.A SEP/TMG/MEP/SET and FCL.625.A IR), the date on which
	// the 12-month experience-counting window opens (expiry − 12
	// months). Omitted for rolling-window rules (LAPL FCL.140.A,
	// SPL FCL.140.S) and for expiry-only ratings.
	WindowOpensAt *openapi_types.Date `json:"windowOpensAt,omitempty"`
}

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.

func (ClassRatingCurrencyStatus) Valid added in v1.1.0

func (e ClassRatingCurrencyStatus) Valid() bool

Valid indicates whether the value is a known member of the ClassRatingCurrencyStatus enum.

type ClassRatingUpdate

type ClassRatingUpdate struct {
	ExpiryDate nullable.Nullable[openapi_types.Date] `json:"expiryDate,omitempty"`
	IssueDate  *openapi_types.Date                   `json:"issueDate,omitempty"`
	Notes      nullable.Nullable[string]             `json:"notes,omitempty"`
}

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.

func (ClassType) Valid added in v1.1.0

func (e ClassType) Valid() bool

Valid indicates whether the value is a known member of the ClassType enum.

type CompletePublicSignatureJSONRequestBody added in v1.2.9

type CompletePublicSignatureJSONRequestBody = CompleteSignatureRequest

CompletePublicSignatureJSONRequestBody defines body for CompletePublicSignature for application/json ContentType.

type CompleteSignatureRequest added in v1.2.9

type CompleteSignatureRequest struct {
	CredentialNumber *string `json:"credentialNumber,omitempty"`

	// SignatureImage PNG-encoded signature image, base64. Max 500KB decoded.
	SignatureImage []byte `json:"signatureImage"`
	SignerName     string `json:"signerName"`
}

CompleteSignatureRequest defines model for CompleteSignatureRequest.

type ConfirmImportJSONRequestBody

type ConfirmImportJSONRequestBody = ImportConfirmRequest

ConfirmImportJSONRequestBody defines body for ConfirmImport for application/json ContentType.

type Conflict added in v1.3.3

type Conflict = Error

Conflict defines model for Conflict.

type Contact

type Contact struct {
	CreatedAt time.Time            `json:"createdAt"`
	Email     *openapi_types.Email `json:"email,omitempty"`
	Id        openapi_types.UUID   `json:"id"`

	// Name Example: John Smith
	Name      string             `json:"name"`
	Notes     *string            `json:"notes,omitempty"`
	Phone     *string            `json:"phone,omitempty"`
	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,omitempty"`

	// Name Example: John Smith
	Name  string  `json:"name"`
	Notes *string `json:"notes,omitempty"`
	Phone *string `json:"phone,omitempty"`
}

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 Example: Scheduled maintenance on Tuesday 8pm-10pm UTC
	Message string `json:"message"`

	// Severity Example: warning
	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.

func (CreateAnnouncementJSONBodySeverity) Valid added in v1.1.0

Valid indicates whether the value is a known member of the CreateAnnouncementJSONBodySeverity enum.

type CreateAnnouncementJSONRequestBody

type CreateAnnouncementJSONRequestBody CreateAnnouncementJSONBody

CreateAnnouncementJSONRequestBody defines body for CreateAnnouncement for application/json ContentType.

type CreateBackupDestinationJSONRequestBody added in v1.2.4

type CreateBackupDestinationJSONRequestBody = BackupDestinationCreate

CreateBackupDestinationJSONRequestBody defines body for CreateBackupDestination 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 CreateLiveSignatureRequest added in v1.2.9

type CreateLiveSignatureRequest struct {
	// CredentialNumber e.g. CFI certificate number
	CredentialNumber *string `json:"credentialNumber,omitempty"`

	// SignatureImage PNG-encoded signature image, base64. Max 500KB decoded.
	SignatureImage []byte `json:"signatureImage"`

	// SignerName Example: Jane Instructor
	SignerName string `json:"signerName"`
}

CreateLiveSignatureRequest defines model for CreateLiveSignatureRequest.

type CreateSignatureRequestJSONRequestBody added in v1.2.9

type CreateSignatureRequestJSONRequestBody = CreateSignatureRequestRequest

CreateSignatureRequestJSONRequestBody defines body for CreateSignatureRequest for application/json ContentType.

type CreateSignatureRequestRequest added in v1.2.9

type CreateSignatureRequestRequest struct {
	// ExpiresInHours Clamped server-side to [1, 720] hours (30 days max). Defaults to 168 (7 days).
	ExpiresInHours *int `json:"expiresInHours,omitempty"`

	// InstructorEmail If supplied, the request email is sent immediately. Omit to create a pending-and-unsent request.
	InstructorEmail *openapi_types.Email `json:"instructorEmail,omitempty"`
}

CreateSignatureRequestRequest defines model for CreateSignatureRequestRequest.

type Credential

type Credential struct {
	CreatedAt time.Time `json:"createdAt"`

	// CredentialNumber Official credential number/reference
	//
	// Example: MED-2026-001
	CredentialNumber *string `json:"credentialNumber,omitempty"`

	// 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)
	// - RADIO_BZF2: Beschränktes Sprechfunkzeugnis II (Germany, VFR, German only)
	// - RADIO_BZF1: Beschränktes Sprechfunkzeugnis I (Germany, VFR, German and English)
	// - RADIO_AZF: Allgemeines Sprechfunkzeugnis (Germany, VFR and IFR)
	// - OTHER: Other credential
	CredentialType CredentialType `json:"credentialType"`

	// ExpiryDate Null if credential doesn't expire
	//
	// Example: 2027-01-15
	ExpiryDate *openapi_types.Date `json:"expiryDate,omitempty"`
	Id         openapi_types.UUID  `json:"id"`

	// IssueDate Example: 2026-01-15
	IssueDate openapi_types.Date `json:"issueDate"`

	// IssuingAuthority Authority or examiner that issued the credential
	//
	// Example: EASA AME
	IssuingAuthority string `json:"issuingAuthority"`

	// Notes Example: Annual renewal required
	Notes     *string            `json:"notes,omitempty"`
	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,omitempty"`

	// 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)
	// - RADIO_BZF2: Beschränktes Sprechfunkzeugnis II (Germany, VFR, German only)
	// - RADIO_BZF1: Beschränktes Sprechfunkzeugnis I (Germany, VFR, German and English)
	// - RADIO_AZF: Allgemeines Sprechfunkzeugnis (Germany, VFR and IFR)
	// - OTHER: Other credential
	CredentialType CredentialType `json:"credentialType"`

	// ExpiryDate Must be after issueDate when provided
	ExpiryDate       *openapi_types.Date `json:"expiryDate,omitempty"`
	IssueDate        openapi_types.Date  `json:"issueDate"`
	IssuingAuthority string              `json:"issuingAuthority"`
	Notes            *string             `json:"notes,omitempty"`
}

CredentialCreate defines model for CredentialCreate.

type CredentialId

type CredentialId = openapi_types.UUID

CredentialId Example: 880e8400-e29b-41d4-a716-446655440003

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) - RADIO_BZF2: Beschränktes Sprechfunkzeugnis II (Germany, VFR, German only) - RADIO_BZF1: Beschränktes Sprechfunkzeugnis I (Germany, VFR, German and English) - RADIO_AZF: Allgemeines Sprechfunkzeugnis (Germany, VFR and IFR) - 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"
	CredentialTypeRADIOAZF          CredentialType = "RADIO_AZF"
	CredentialTypeRADIOBZF1         CredentialType = "RADIO_BZF1"
	CredentialTypeRADIOBZF2         CredentialType = "RADIO_BZF2"
	CredentialTypeSECCLEARANCEZUBB  CredentialType = "SEC_CLEARANCE_ZUBB"
	CredentialTypeSECCLEARANCEZUP   CredentialType = "SEC_CLEARANCE_ZUP"
)

Defines values for CredentialType.

func (CredentialType) Valid added in v1.1.0

func (e CredentialType) Valid() bool

Valid indicates whether the value is a known member of the CredentialType enum.

type CredentialUpdate

type CredentialUpdate struct {
	CredentialNumber nullable.Nullable[string] `json:"credentialNumber,omitempty"`

	// 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)
	// - RADIO_BZF2: Beschränktes Sprechfunkzeugnis II (Germany, VFR, German only)
	// - RADIO_BZF1: Beschränktes Sprechfunkzeugnis I (Germany, VFR, German and English)
	// - RADIO_AZF: Allgemeines Sprechfunkzeugnis (Germany, VFR and IFR)
	// - OTHER: Other credential
	CredentialType *CredentialType `json:"credentialType,omitempty"`

	// ExpiryDate Must be after issueDate when provided
	ExpiryDate       nullable.Nullable[openapi_types.Date] `json:"expiryDate,omitempty"`
	IssueDate        *openapi_types.Date                   `json:"issueDate,omitempty"`
	IssuingAuthority *string                               `json:"issuingAuthority,omitempty"`
	Notes            nullable.Nullable[string]             `json:"notes,omitempty"`
}

CredentialUpdate defines model for CredentialUpdate.

type CrewRole

type CrewRole string

CrewRole Role of a person on board a flight

const (
	Examiner    CrewRole = "Examiner"
	Instructor  CrewRole = "Instructor"
	PIC         CrewRole = "PIC"
	Passenger   CrewRole = "Passenger"
	SIC         CrewRole = "SIC"
	SafetyPilot CrewRole = "SafetyPilot"
	Student     CrewRole = "Student"
)

Defines values for CrewRole.

func (CrewRole) Valid added in v1.1.0

func (e CrewRole) Valid() bool

Valid indicates whether the value is a known member of the CrewRole enum.

type Currency

type Currency struct {
	// DaysCurrent Day currency status
	//
	// Example: true
	DaysCurrent bool `json:"daysCurrent"`

	// ExpiryDate License expiry date if applicable
	//
	// Example: 2025-01-15
	ExpiryDate *openapi_types.Date `json:"expiryDate,omitempty"`

	// IsCurrent Overall currency status
	//
	// Example: true
	IsCurrent  bool `json:"isCurrent"`
	Last90Days struct {
		// DayLandings Day landings in last 90 days
		//
		// Example: 12
		DayLandings int `json:"dayLandings"`

		// Flights Number of flights in last 90 days
		//
		// Example: 8
		Flights int `json:"flights"`

		// NightLandings Night landings in last 90 days
		//
		// Example: 3
		NightLandings int `json:"nightLandings"`

		// TotalLandings Total landings in last 90 days
		//
		// Example: 15
		TotalLandings int `json:"totalLandings"`
	} `json:"last90Days"`

	// LicenseId Example: 660e8400-e29b-41d4-a716-446655440001
	LicenseId openapi_types.UUID `json:"licenseId"`

	// NightsCurrent Night currency status (FAA requires separate tracking)
	//
	// Example: false
	NightsCurrent    bool `json:"nightsCurrent"`
	RequiredLandings *struct {
		// Day Required day landings for currency
		//
		// Example: 3
		Day int `json:"day"`

		// Night Required night landings for night currency
		//
		// Example: 3
		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 {
	// ConfirmEmail The account's own email address, typed as confirmation. Required in OIDC mode, where no local password exists.
	ConfirmEmail *openapi_types.Email `json:"confirmEmail,omitempty"`

	// Password Current password for confirmation (local mode)
	Password *string `json:"password,omitempty"`
}

DeleteCurrentUserJSONBody defines parameters for DeleteCurrentUser.

type DeleteCurrentUserJSONRequestBody

type DeleteCurrentUserJSONRequestBody DeleteCurrentUserJSONBody

DeleteCurrentUserJSONRequestBody defines body for DeleteCurrentUser for application/json ContentType.

type Deletion added in v1.3.2

type Deletion struct {
	// DeletedAt When the record was deleted
	//
	// Example: 2026-08-05T11:12:13.456789Z
	DeletedAt time.Time `json:"deletedAt"`

	// Entity Which collection the deleted record belonged to
	//
	// Example: flight
	Entity DeletionEntity `json:"entity"`

	// Id Id of the deleted record, as it was reported by the list endpoints
	//
	// Example: 660e8400-e29b-41d4-a716-446655440001
	Id openapi_types.UUID `json:"id"`
}

Deletion defines model for Deletion.

type DeletionEntity added in v1.3.2

type DeletionEntity string

DeletionEntity Which collection the deleted record belonged to

Example: flight

const (
	DeletionEntityAircraft   DeletionEntity = "aircraft"
	DeletionEntityContact    DeletionEntity = "contact"
	DeletionEntityCredential DeletionEntity = "credential"
	DeletionEntityFlight     DeletionEntity = "flight"
	DeletionEntityLicense    DeletionEntity = "license"
)

Defines values for DeletionEntity.

func (DeletionEntity) Valid added in v1.3.2

func (e DeletionEntity) Valid() bool

Valid indicates whether the value is a known member of the DeletionEntity enum.

type DeletionFeed added in v1.3.2

type DeletionFeed struct {
	// Data Deletions after the watermark, oldest first
	Data       []Deletion `json:"data"`
	Pagination struct {
		// Page Current page (1-indexed)
		//
		// Example: 1
		Page int `json:"page"`

		// PageSize Items per page
		//
		// Example: 100
		PageSize int `json:"pageSize"`

		// Total Total number of deletions after the watermark
		//
		// Example: 3
		Total int `json:"total"`

		// TotalPages Total number of pages
		//
		// Example: 1
		TotalPages int `json:"totalPages"`
	} `json:"pagination"`

	// RetentionDays How long a tombstone is kept before it is swept
	//
	// Example: 90
	RetentionDays int `json:"retentionDays"`

	// WatermarkExpired True when `since` predates the retention horizon. Tombstones older than that may already have been swept, so this page is not a complete account of what was deleted and the client must fall back to a full ID-set reconciliation.
	//
	// Example: false
	WatermarkExpired bool `json:"watermarkExpired"`
}

DeletionFeed defines model for DeletionFeed.

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 DocumentFile added in v1.3.2

type DocumentFile struct {
	// ByteSize Size of the stored image in bytes
	//
	// Example: 1843200
	ByteSize int `json:"byteSize"`

	// Caption Example: Front page
	Caption *string `json:"caption,omitempty"`

	// ContentType Determined from the stored bytes, not from what the uploader declared
	ContentType DocumentFileContentType `json:"contentType"`
	CreatedAt   time.Time               `json:"createdAt"`

	// CredentialId Set when the image belongs to a credential; null otherwise
	CredentialId *openapi_types.UUID `json:"credentialId,omitempty"`

	// Filename Original filename, sanitized to a basename. Display only.
	//
	// Example: licence-front.jpg
	Filename *string `json:"filename,omitempty"`

	// Height Pixel height; null for formats without intrinsic dimensions, such as PDF
	//
	// Example: 1536
	Height *int               `json:"height,omitempty"`
	Id     openapi_types.UUID `json:"id"`

	// LicenseId Set when the image belongs to a licence; null otherwise
	LicenseId *openapi_types.UUID `json:"licenseId,omitempty"`
	UpdatedAt time.Time           `json:"updatedAt"`

	// Width Pixel width; null for formats without intrinsic dimensions, such as PDF
	//
	// Example: 2048
	Width *int `json:"width,omitempty"`
}

DocumentFile Metadata for one reference photo attached to a licence or credential. The bytes themselves are never inlined — fetch them from the image's own authenticated URL.

type DocumentFileContentType added in v1.3.2

type DocumentFileContentType string

DocumentFileContentType Determined from the stored bytes, not from what the uploader declared

const (
	Applicationpdf DocumentFileContentType = "application/pdf"
	Imagejpeg      DocumentFileContentType = "image/jpeg"
	Imagepng       DocumentFileContentType = "image/png"
)

Defines values for DocumentFileContentType.

func (DocumentFileContentType) Valid added in v1.3.2

func (e DocumentFileContentType) Valid() bool

Valid indicates whether the value is a known member of the DocumentFileContentType enum.

type DocumentFileId added in v1.3.2

type DocumentFileId = openapi_types.UUID

DocumentFileId Example: aa0e8400-e29b-41d4-a716-446655440009

type DocumentFileLimitReached added in v1.3.2

type DocumentFileLimitReached = Error

DocumentFileLimitReached defines model for DocumentFileLimitReached.

type DocumentFileUpload added in v1.3.2

type DocumentFileUpload struct {
	// Caption Optional short label shown with the image
	Caption *string `json:"caption,omitempty"`

	// File JPEG, PNG or PDF, at most 5 MB
	File openapi_types.File `json:"file"`
}

DocumentFileUpload defines model for DocumentFileUpload.

type DocumentFilesDisabled added in v1.3.2

type DocumentFilesDisabled = Error

DocumentFilesDisabled defines model for DocumentFilesDisabled.

type EmailDeliveryEvent added in v1.3.2

type EmailDeliveryEvent struct {
	CreatedAt time.Time `json:"createdAt"`

	// Detail Server reply text or internal reason, for operators.
	Detail *string `json:"detail,omitempty"`

	// EmailType What the message was for, e.g. verify_email, verification_reminder.
	EmailType string              `json:"emailType"`
	Id        openapi_types.UUID  `json:"id"`
	Recipient openapi_types.Email `json:"recipient"`

	// SmtpCode SMTP reply code, absent when there was no conversation.
	SmtpCode *int `json:"smtpCode,omitempty"`

	// Status What the SMTP conversation said. `delivered` means the receiving
	// server accepted the message — not that it reached an inbox, which an
	// SMTP client cannot observe. `hard_bounce` is a permanent refusal of
	// the recipient itself and is the only status that suppresses an
	// address; `rejected` and `server_error` blame the message or our own
	// mail setup and never do.
	Status EmailDeliveryEventStatus `json:"status"`

	// UserId Account the address belonged to when sent, if any.
	UserId *openapi_types.UUID `json:"userId,omitempty"`
}

EmailDeliveryEvent defines model for EmailDeliveryEvent.

type EmailDeliveryEventStatus added in v1.3.2

type EmailDeliveryEventStatus string

EmailDeliveryEventStatus What the SMTP conversation said. `delivered` means the receiving server accepted the message — not that it reached an inbox, which an SMTP client cannot observe. `hard_bounce` is a permanent refusal of the recipient itself and is the only status that suppresses an address; `rejected` and `server_error` blame the message or our own mail setup and never do.

const (
	Delivered      EmailDeliveryEventStatus = "delivered"
	DryRun         EmailDeliveryEventStatus = "dry_run"
	HardBounce     EmailDeliveryEventStatus = "hard_bounce"
	InvalidAddress EmailDeliveryEventStatus = "invalid_address"
	Rejected       EmailDeliveryEventStatus = "rejected"
	ServerError    EmailDeliveryEventStatus = "server_error"
	SoftBounce     EmailDeliveryEventStatus = "soft_bounce"
	Suppressed     EmailDeliveryEventStatus = "suppressed"
)

Defines values for EmailDeliveryEventStatus.

func (EmailDeliveryEventStatus) Valid added in v1.3.2

func (e EmailDeliveryEventStatus) Valid() bool

Valid indicates whether the value is a known member of the EmailDeliveryEventStatus enum.

type EmailSuppression added in v1.3.2

type EmailSuppression struct {
	BounceCount    int                 `json:"bounceCount"`
	Detail         *string             `json:"detail,omitempty"`
	Email          openapi_types.Email `json:"email"`
	FirstBouncedAt time.Time           `json:"firstBouncedAt"`
	LastBouncedAt  time.Time           `json:"lastBouncedAt"`

	// Reason Delivery status that caused the suppression.
	Reason   string `json:"reason"`
	SmtpCode *int   `json:"smtpCode,omitempty"`
}

EmailSuppression defines model for EmailSuppression.

type Error

type Error struct {
	// Code Optional machine-readable error code, used by clients to distinguish
	// between conditions that share an HTTP status (e.g. `email_not_verified`
	// vs `account_disabled` for 403 on /auth/login).
	//
	//
	// Example: email_not_verified
	Code *string `json:"code,omitempty"`

	// Details Detailed validation errors
	Details *[]struct {
		// Field Example: totalTime
		Field *string `json:"field,omitempty"`

		// Message Example: Must be greater than 0
		Message *string `json:"message,omitempty"`
	} `json:"details,omitempty"`

	// Error Error message
	//
	// Example: Validation failed
	Error string `json:"error"`
}

Error defines model for Error.

type ExchangeOidcCodeJSONBody added in v1.3.2

type ExchangeOidcCodeJSONBody struct {
	// Code The single-use code from the `oidc_code` query parameter
	Code string `json:"code"`
}

ExchangeOidcCodeJSONBody defines parameters for ExchangeOidcCode.

type ExchangeOidcCodeJSONRequestBody added in v1.3.2

type ExchangeOidcCodeJSONRequestBody ExchangeOidcCodeJSONBody

ExchangeOidcCodeJSONRequestBody defines body for ExchangeOidcCode for application/json ContentType.

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.

func (ExportFlightsCSVParamsFormat) Valid added in v1.1.0

Valid indicates whether the value is a known member of the ExportFlightsCSVParamsFormat enum.

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 columns), faa (14 CFR § 61.51 / ASA-Jeppesen columns), 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.
	PageSize *ExportFlightsPDFParamsPageSize `form:"page_size,omitempty" json:"page_size,omitempty"`

	// Layout Page layout. `spread` (default) lays the logbook out as a book-style two-page spread (left + right facing pages) intended for double-sided printing, in any page size; intentionally-blank filler pages (one at the start, one before the totals summary) keep each spread on facing pages when printed duplex. `single` renders all columns on one landscape page per batch of flights — designed for single-page A4 landscape printing. Ignored for the summary format.
	Layout *ExportFlightsPDFParamsLayout `form:"layout,omitempty" json:"layout,omitempty"`

	// RowsPerPage Number of flight rows per logbook page. When set, the row height — and, for dense layouts, the body font — scales dynamically so the rows fill the page: fewer rows give an airier, larger-print logbook, more rows a denser one. Values are clamped to what stays legible on the chosen page size; omitted, the row count is derived from the page size's default row height. Ignored for the summary format.
	RowsPerPage *int `form:"rows_per_page,omitempty" json:"rows_per_page,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.

func (ExportFlightsPDFParamsFormat) Valid added in v1.1.0

Valid indicates whether the value is a known member of the ExportFlightsPDFParamsFormat enum.

type ExportFlightsPDFParamsLayout added in v1.3.3

type ExportFlightsPDFParamsLayout string

ExportFlightsPDFParamsLayout defines parameters for ExportFlightsPDF.

const (
	Single ExportFlightsPDFParamsLayout = "single"
	Spread ExportFlightsPDFParamsLayout = "spread"
)

Defines values for ExportFlightsPDFParamsLayout.

func (ExportFlightsPDFParamsLayout) Valid added in v1.3.3

Valid indicates whether the value is a known member of the ExportFlightsPDFParamsLayout enum.

type ExportFlightsPDFParamsPageSize added in v1.2.1

type ExportFlightsPDFParamsPageSize string

ExportFlightsPDFParamsPageSize defines parameters for ExportFlightsPDF.

Defines values for ExportFlightsPDFParamsPageSize.

func (ExportFlightsPDFParamsPageSize) Valid added in v1.2.1

Valid indicates whether the value is a known member of the ExportFlightsPDFParamsPageSize enum.

type Features added in v1.3.2

type Features struct {
	DocumentFiles struct {
		// AllowedContentTypes Example: ["image/jpeg","image/png","application/pdf"]
		AllowedContentTypes []string `json:"allowedContentTypes"`

		// Enabled When false, every /files endpoint answers 403 — uploads and downloads alike
		Enabled bool `json:"enabled"`

		// MaxBytes Maximum size of a single image in bytes
		//
		// Example: 5242880
		MaxBytes int `json:"maxBytes"`

		// MaxPerDocument Maximum number of files per licence or credential
		//
		// Example: 5
		MaxPerDocument int `json:"maxPerDocument"`
	} `json:"documentFiles"`
}

Features Optional features an operator can switch off at deploy time, with the limits a client needs in order to validate before uploading.

type Flight

type Flight struct {
	// ActualInstrumentTime Actual instrument flight time in minutes (under IMC or simulated IMC with view-limiting device)
	//
	// Example: 30
	ActualInstrumentTime *int `json:"actualInstrumentTime,omitempty"`

	// AircraftReg Aircraft registration
	//
	// Example: D-EFGH
	AircraftReg string `json:"aircraftReg"`

	// AircraftType Aircraft type
	//
	// Example: C172
	AircraftType string `json:"aircraftType"`

	// AllLandings Total landings (day + night). Auto-calculated by the server.
	//
	// Example: 4
	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
	//
	// Example: 2
	ApproachesCount *int `json:"approachesCount,omitempty"`

	// ArrivalAirportName Airport name resolved live from the airport database for display. Not stored with the flight. Null when arrivalIcao does not resolve against the airport database (e.g. a free-text off-airport site).
	//
	// Example: Hamburg Airport
	ArrivalAirportName *string `json:"arrivalAirportName,omitempty"`

	// ArrivalIcao Arrival location — an ICAO code (resolved to coordinates for maps/distance) or a free-text place name for off-airport sites
	//
	// Example: EDDH
	ArrivalIcao *string `json:"arrivalIcao,omitempty"`

	// ArrivalTime Landing time in UTC. Marks the end of airborne/flight time.
	//
	// Example: 16:45:00
	ArrivalTime *string `json:"arrivalTime,omitempty"`

	// CreatedAt Example: 2026-01-30T16:00:00Z
	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.
	//
	// Example: 150
	CrossCountryTime int `json:"crossCountryTime"`

	// Date Example: 2026-01-30
	Date openapi_types.Date `json:"date"`

	// DepartureAirportName Airport name resolved live from the airport database for display. Not stored with the flight. Null when departureIcao does not resolve against the airport database (e.g. a free-text off-airport site).
	//
	// Example: Frankfurt am Main Airport
	DepartureAirportName *string `json:"departureAirportName,omitempty"`

	// DepartureIcao Departure location — an ICAO code (resolved to coordinates for maps/distance) or a free-text place name for off-airport sites
	//
	// Example: EDDF
	DepartureIcao *string `json:"departureIcao,omitempty"`

	// DepartureTime Takeoff time in UTC. Marks the beginning of airborne/flight time.
	//
	// Example: 14:30:00
	DepartureTime *string `json:"departureTime,omitempty"`

	// Distance Distance in nautical miles. Auto-calculated from airport coordinates.
	//
	// Example: 185.3
	Distance float32 `json:"distance"`

	// DualGivenTime Dual instruction given time in minutes. Auto-calculated when user acts as instructor.
	//
	// Example: 0
	DualGivenTime *int `json:"dualGivenTime,omitempty"`

	// DualTime Dual instruction block time in minutes (computed from isDual and totalTime)
	//
	// Example: 0
	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.
	//
	// Example: Skill test passed
	Endorsements *string `json:"endorsements,omitempty"`

	// 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).
	//
	// Example: FNPT II
	FstdType *string `json:"fstdType,omitempty"`

	// GroundTrainingTime Ground training time in minutes
	//
	// Example: 0
	GroundTrainingTime *int `json:"groundTrainingTime,omitempty"`

	// Holds Number of holding procedures performed
	//
	// Example: 1
	Holds *int `json:"holds,omitempty"`

	// Id Example: 770e8400-e29b-41d4-a716-446655440002
	Id openapi_types.UUID `json:"id"`

	// IfrTime Instrument block time in minutes
	//
	// Example: 60
	IfrTime int `json:"ifrTime"`

	// InstructorComments Instructor comments about the flight
	InstructorComments *string `json:"instructorComments,omitempty"`

	// InstructorName Name of the instructor for this flight
	InstructorName *string `json:"instructorName,omitempty"`

	// IsDual Whether this flight was logged as dual instruction received. Mutually exclusive with isPic.
	//
	// Example: false
	IsDual bool `json:"isDual"`

	// IsFlightReview Whether this flight was a Flight Review (FAA 61.56) or equivalent
	//
	// Example: false
	IsFlightReview *bool `json:"isFlightReview,omitempty"`

	// IsIpc Whether this flight included an Instrument Proficiency Check (IPC)
	//
	// Example: false
	IsIpc *bool `json:"isIpc,omitempty"`

	// IsPic Whether this flight was logged as pilot-in-command. Mutually exclusive with isDual.
	//
	// Example: true
	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)
	//
	// Example: false
	IsProficiencyCheck *bool `json:"isProficiencyCheck,omitempty"`

	// LandingsDay Number of day landings. Auto-calculated from sunset/sunrise at arrival airport.
	//
	// Example: 3
	LandingsDay int `json:"landingsDay"`

	// LandingsNight Number of night landings. Auto-calculated from sunset/sunrise at arrival airport.
	//
	// Example: 1
	LandingsNight int `json:"landingsNight"`

	// LaunchMethod Launch method for glider/SPL flights (winch, aerotow, or self-launch)
	//
	// Example: winch
	LaunchMethod *FlightLaunchMethod `json:"launchMethod,omitempty"`

	// MultiPilotTime Multi-pilot time in minutes (EASA AMC1 FCL.050 Col 10). Time operated on multi-pilot aircraft.
	//
	// Example: 0
	MultiPilotTime *int `json:"multiPilotTime,omitempty"`

	// NightTime Night block time in minutes. Auto-calculated from departure/arrival times and airport sunset/sunrise data.
	//
	// Example: 30
	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.
	//
	// Example: 14:15:00
	OffBlockTime *string `json:"offBlockTime,omitempty"`

	// 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.
	//
	// Example: 16:55:00
	OnBlockTime *string `json:"onBlockTime,omitempty"`

	// 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.
	//
	// Example: Self
	PicName *string `json:"picName,omitempty"`

	// PicTime Pilot-in-command block time in minutes (computed from isPic and totalTime)
	//
	// Example: 150
	PicTime int `json:"picTime"`

	// Remarks Free text notes
	//
	// Example: Training flight - touch and go practice
	Remarks *string `json:"remarks,omitempty"`

	// Route Route waypoints as comma-separated ICAO codes for VFR/IFR flight plans
	//
	// Example: EDDF,EDDS,EDDM
	Route *string `json:"route,omitempty"`

	// SicTime Second-in-command time in minutes. Auto-calculated when SIC crew role assigned.
	//
	// Example: 0
	SicTime *int `json:"sicTime,omitempty"`

	// SignatureId Present iff the flight is locked by a completed, non-voided
	// instructor signature. Void the signature (see
	// /flights/{flightId}/signatures/{signatureId}/void) to unlock it
	// for editing.
	SignatureId *openapi_types.UUID `json:"signatureId,omitempty"`

	// SimulatedFlightTime Simulated flight time in minutes (FTD/FSTD)
	//
	// Example: 0
	SimulatedFlightTime *int `json:"simulatedFlightTime,omitempty"`

	// SimulatedInstrumentTime Simulated instrument time in minutes (FSTD/FTD/ATD)
	//
	// Example: 18
	SimulatedInstrumentTime *int `json:"simulatedInstrumentTime,omitempty"`

	// SoloTime Solo time in minutes. Auto-calculated when no crew and not dual instruction.
	//
	// Example: 90
	SoloTime int `json:"soloTime"`

	// TakeoffsDay Number of day takeoffs. Auto-calculated from sunset/sunrise at departure airport unless overridden.
	//
	// Example: 3
	TakeoffsDay int `json:"takeoffsDay"`

	// TakeoffsNight Number of night takeoffs. Auto-calculated from sunset/sunrise at departure airport unless overridden.
	//
	// Example: 1
	TakeoffsNight int `json:"takeoffsNight"`

	// TotalTime Total block time in minutes (off-block to on-block)
	//
	// Example: 150
	TotalTime int `json:"totalTime"`

	// UpdatedAt Example: 2026-01-30T16:00:00Z
	UpdatedAt time.Time `json:"updatedAt"`

	// UserId Example: 550e8400-e29b-41d4-a716-446655440000
	UserId openapi_types.UUID `json:"userId"`
}

Flight defines model for Flight.

type FlightAnalytics added in v1.3.1

type FlightAnalytics struct {
	// ApproachTypes Instrument approaches flown, grouped by approach type.
	ApproachTypes []AnalyticsApproachTypeRow `json:"approachTypes"`

	// Baseline Present when the user's initial-hours snapshot was added to `totals`.
	// The snapshot is applied whenever the timeframe reaches back to the
	// baseline date (always for all time), so the Reports totals match the
	// dashboard statistics. It contributes to `totals` only — per-month,
	// per-aircraft and per-airport breakdowns cannot attribute it.
	Baseline       *StatisticsBaselineContribution `json:"baseline,omitempty"`
	ByAircraftType []AnalyticsAircraftRow          `json:"byAircraftType"`
	ByAirport      []AnalyticsAirportRow           `json:"byAirport"`

	// ByCategory Aircraft categories (tailwheel, complex, high performance). A flight can appear in more than one category.
	ByCategory []AnalyticsGroupRow   `json:"byCategory"`
	ByClass    []AnalyticsGroupRow   `json:"byClass"`
	ByCountry  []AnalyticsCountryRow `json:"byCountry"`

	// ByCrew Time flown alongside each logged crew member.
	ByCrew []AnalyticsPersonRow `json:"byCrew"`

	// ByInstructor Dual received, grouped by the instructor named on the flight.
	ByInstructor   []AnalyticsPersonRow   `json:"byInstructor"`
	ByRegistration []AnalyticsAircraftRow `json:"byRegistration"`
	ByRoute        []AnalyticsRouteRow    `json:"byRoute"`

	// DayOfWeek Always seven entries, Monday (1) through Sunday (7), including days with no flights.
	DayOfWeek []AnalyticsBucketRow `json:"dayOfWeek"`

	// DurationBuckets Flight-length histogram. Buckets are fixed - under 30m, 30–60m, 1–2h, 2–3h, 3–5h, over 5h.
	DurationBuckets []AnalyticsBucketRow `json:"durationBuckets"`

	// HourOfDay Always 24 entries, 00–23 UTC, keyed by off-block time (falling back to take-off time). Flights with neither time recorded are omitted.
	HourOfDay []AnalyticsBucketRow `json:"hourOfDay"`

	// MonthOfYear Always twelve entries, January (1) through December (12), including months with no flights.
	MonthOfYear []AnalyticsBucketRow `json:"monthOfYear"`

	// Monthly One entry per calendar month in the timeframe that has at least one flight, oldest first.
	Monthly []AnalyticsMonthPoint `json:"monthly"`
	Range   AnalyticsRange        `json:"range"`
	Records AnalyticsRecords      `json:"records"`

	// Totals Aggregated totals for the timeframe. When the user has an initial-hours
	// snapshot that the timeframe reaches back to, its carried-forward totals
	// are included here and reported separately in `FlightAnalytics.baseline`.
	Totals AnalyticsTotals `json:"totals"`

	// Yearly One entry per calendar year in the timeframe that has at least one flight, oldest first.
	Yearly []AnalyticsYearPoint `json:"yearly"`
}

FlightAnalytics defines model for FlightAnalytics.

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,omitempty"`
	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,omitempty"`
	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 Example: D-EFGH
	AircraftReg string `json:"aircraftReg"`

	// AircraftType Example: C172
	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 location — an ICAO code (resolved to coordinates for maps/distance) or a free-text place name for off-airport sites
	//
	// Example: EDDH
	ArrivalIcao string `json:"arrivalIcao"`

	// ArrivalTime Landing time in UTC
	//
	// Example: 16:45:00
	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 Example: 2026-01-30
	Date openapi_types.Date `json:"date"`

	// DepartureIcao Departure location — an ICAO code (resolved to coordinates for maps/distance) or a free-text place name for off-airport sites
	//
	// Example: EDDF
	DepartureIcao string `json:"departureIcao"`

	// DepartureTime Takeoff time in UTC
	//
	// Example: 14:30:00
	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.
	//
	// Example: 0
	DualTime *int `json:"dualTime,omitempty"`

	// Endorsements Instructor endorsements, skill test references
	Endorsements *string `json:"endorsements,omitempty"`

	// FstdType FSTD type designation (e.g., "FNPT II", "FFS A320")
	FstdType           *string `json:"fstdType,omitempty"`
	GroundTrainingTime *int    `json:"groundTrainingTime,omitempty"`
	Holds              *int    `json:"holds,omitempty"`

	// IfrTime Example: 60
	IfrTime            *int    `json:"ifrTime,omitempty"`
	InstructorComments *string `json:"instructorComments,omitempty"`
	InstructorName     *string `json:"instructorName,omitempty"`
	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.
	//
	// Example: 3
	Landings     int                       `json:"landings"`
	LaunchMethod *FlightCreateLaunchMethod `json:"launchMethod,omitempty"`

	// 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
	//
	// Example: 14:15:00
	OffBlockTime string `json:"offBlockTime"`

	// OnBlockTime On-block time (chocks on / engine shutdown) in UTC
	//
	// Example: 16:55:00
	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,omitempty"`

	// PicTime Pilot-in-command time in minutes. Computed by server — equals totalTime when isPic is true, 0 otherwise.
	//
	// Example: 150
	PicTime *int `json:"picTime,omitempty"`

	// Remarks Example: Training flight - touch and go practice
	Remarks *string `json:"remarks,omitempty"`

	// Route Route waypoints as comma-separated ICAO codes
	//
	// Example: EDDF,EDDS,EDDM
	Route                   *string `json:"route,omitempty"`
	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.
	//
	// Example: 3
	TakeoffsDay *int `json:"takeoffsDay,omitempty"`

	// TakeoffsNight Number of night takeoffs. Provide to override auto-calculation.
	//
	// Example: 0
	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.
	//
	// Example: 150
	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.

func (FlightCreateLaunchMethod) Valid added in v1.1.0

func (e FlightCreateLaunchMethod) Valid() bool

Valid indicates whether the value is a known member of the FlightCreateLaunchMethod enum.

type FlightCrewMember

type FlightCrewMember struct {
	// ContactId Reference to a saved contact for autocomplete reuse
	ContactId *openapi_types.UUID `json:"contactId,omitempty"`
	FlightId  openapi_types.UUID  `json:"flightId"`
	Id        openapi_types.UUID  `json:"id"`

	// Name Example: John Smith
	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,omitempty"`

	// Name Example: John Smith
	Name string `json:"name"`

	// Role Role of a person on board a flight
	Role CrewRole `json:"role"`
}

FlightCrewMemberInput defines model for FlightCrewMemberInput.

type FlightId

type FlightId = openapi_types.UUID

FlightId Example: 660e8400-e29b-41d4-a716-446655440001

type FlightLaunchMethod

type FlightLaunchMethod string

FlightLaunchMethod Launch method for glider/SPL flights (winch, aerotow, or self-launch)

Example: winch

const (
	FlightLaunchMethodAerotow    FlightLaunchMethod = "aerotow"
	FlightLaunchMethodSelfLaunch FlightLaunchMethod = "self-launch"
	FlightLaunchMethodWinch      FlightLaunchMethod = "winch"
)

Defines values for FlightLaunchMethod.

func (FlightLaunchMethod) Valid added in v1.1.0

func (e FlightLaunchMethod) Valid() bool

Valid indicates whether the value is a known member of the FlightLaunchMethod enum.

type FlightListColumn added in v1.3.2

type FlightListColumn string

FlightListColumn An optional column of the flights list. Date, route, aircraft and total time are the identity of a logbook row and are always shown, so they are not part of this enum. The order below is the display order, and for the time columns also the priority order in which they survive as the list gets narrower.

Example: picTime

const (
	FlightListColumnCrossCountryTime    FlightListColumn = "crossCountryTime"
	FlightListColumnDualGivenTime       FlightListColumn = "dualGivenTime"
	FlightListColumnDualTime            FlightListColumn = "dualTime"
	FlightListColumnFunction            FlightListColumn = "function"
	FlightListColumnIfrTime             FlightListColumn = "ifrTime"
	FlightListColumnLandings            FlightListColumn = "landings"
	FlightListColumnMultiPilotTime      FlightListColumn = "multiPilotTime"
	FlightListColumnNightTime           FlightListColumn = "nightTime"
	FlightListColumnOffOnBlock          FlightListColumn = "offOnBlock"
	FlightListColumnPicTime             FlightListColumn = "picTime"
	FlightListColumnRemarks             FlightListColumn = "remarks"
	FlightListColumnSicTime             FlightListColumn = "sicTime"
	FlightListColumnSimulatedFlightTime FlightListColumn = "simulatedFlightTime"
	FlightListColumnSoloTime            FlightListColumn = "soloTime"
)

Defines values for FlightListColumn.

func (FlightListColumn) Valid added in v1.3.2

func (e FlightListColumn) Valid() bool

Valid indicates whether the value is a known member of the FlightListColumn enum.

type FlightReviewStatus

type FlightReviewStatus struct {
	// ExpiresOn Last date the flight review remains valid — the final day of the 24th calendar month after it was completed (inclusive)
	ExpiresOn *openapi_types.Date `json:"expiresOn,omitempty"`

	// LastCompleted Date of most recent flight review
	LastCompleted *openapi_types.Date `json:"lastCompleted,omitempty"`

	// 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.

func (FlightReviewStatusStatus) Valid added in v1.1.0

func (e FlightReviewStatusStatus) Valid() bool

Valid indicates whether the value is a known member of the FlightReviewStatusStatus enum.

type FlightRoute

type FlightRoute struct {
	ArrivalCoords struct {
		Lat float64 `json:"lat"`
		Lng float64 `json:"lng"`
	} `json:"arrivalCoords"`

	// ArrivalIcao Example: EDDH
	ArrivalIcao     string `json:"arrivalIcao"`
	DepartureCoords struct {
		Lat float64 `json:"lat"`
		Lng float64 `json:"lng"`
	} `json:"departureCoords"`

	// DepartureIcao Example: EDDF
	DepartureIcao string `json:"departureIcao"`

	// FlightCount Number of flights on this route
	//
	// Example: 5
	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 FlightSession added in v1.2.8

type FlightSession struct {
	// AircraftReg Aircraft registration; required by the time the session goes on blocks
	//
	// Example: D-EFGH
	AircraftReg *string `json:"aircraftReg,omitempty"`

	// ArrivalIcao Arrival airport, provided explicitly or resolved from GPS coordinates
	//
	// Example: EDDH
	ArrivalIcao *string   `json:"arrivalIcao,omitempty"`
	CreatedAt   time.Time `json:"createdAt"`

	// DepartureIcao Departure airport, provided explicitly or resolved from GPS coordinates
	//
	// Example: EDDF
	DepartureIcao *string `json:"departureIcao,omitempty"`

	// FlightId ID of the flight log entry created when the session was completed
	FlightId *openapi_types.UUID `json:"flightId,omitempty"`
	Id       openapi_types.UUID  `json:"id"`

	// LandingAt Landing instant in UTC
	LandingAt *time.Time `json:"landingAt,omitempty"`

	// OffBlockAt Off-block instant (chocks off / engine start) in UTC
	OffBlockAt *time.Time `json:"offBlockAt,omitempty"`

	// OnBlockAt On-block instant (chocks on / engine shutdown) in UTC
	OnBlockAt *time.Time `json:"onBlockAt,omitempty"`

	// Status Session lifecycle state. `onblock` events complete the session.
	Status FlightSessionStatus `json:"status"`

	// TakeoffAt Takeoff instant in UTC
	TakeoffAt *time.Time         `json:"takeoffAt,omitempty"`
	UpdatedAt time.Time          `json:"updatedAt"`
	UserId    openapi_types.UUID `json:"userId"`
}

FlightSession defines model for FlightSession.

type FlightSessionEvent added in v1.2.8

type FlightSessionEvent struct {
	// AircraftReg Aircraft registration. Can be sent with any event; required by the time the session goes on blocks.
	//
	// Example: D-EFGH
	AircraftReg *string `json:"aircraftReg,omitempty"`

	// Icao Explicit airport for this event (departure for offblock/takeoff, arrival for landing/onblock). Takes precedence over lat/lon.
	//
	// Example: EDDF
	Icao *string `json:"icao,omitempty"`

	// Lat GPS latitude used to resolve the nearest airport
	Lat *float64 `json:"lat,omitempty"`

	// Lon GPS longitude used to resolve the nearest airport
	Lon *float64 `json:"lon,omitempty"`

	// OccurredAt When the event actually happened (UTC). Defaults to the server clock; send this when the tap was queued offline.
	OccurredAt *time.Time `json:"occurredAt,omitempty"`

	// Type Which block/flight time instant this event records
	Type FlightSessionEventType `json:"type"`
}

FlightSessionEvent defines model for FlightSessionEvent.

type FlightSessionEventType added in v1.2.8

type FlightSessionEventType string

FlightSessionEventType Which block/flight time instant this event records

const (
	Landing  FlightSessionEventType = "landing"
	Offblock FlightSessionEventType = "offblock"
	Onblock  FlightSessionEventType = "onblock"
	Takeoff  FlightSessionEventType = "takeoff"
)

Defines values for FlightSessionEventType.

func (FlightSessionEventType) Valid added in v1.2.8

func (e FlightSessionEventType) Valid() bool

Valid indicates whether the value is a known member of the FlightSessionEventType enum.

type FlightSessionStatus added in v1.2.8

type FlightSessionStatus string

FlightSessionStatus Session lifecycle state. `onblock` events complete the session.

const (
	FlightSessionStatusCompleted FlightSessionStatus = "completed"
	FlightSessionStatusDiscarded FlightSessionStatus = "discarded"
	FlightSessionStatusOpen      FlightSessionStatus = "open"
)

Defines values for FlightSessionStatus.

func (FlightSessionStatus) Valid added in v1.2.8

func (e FlightSessionStatus) Valid() bool

Valid indicates whether the value is a known member of the FlightSessionStatus enum.

type FlightSignature added in v1.2.9

type FlightSignature struct {
	CreatedAt                  time.Time            `json:"createdAt"`
	EmailSendCount             int                  `json:"emailSendCount"`
	EmailSentAt                *time.Time           `json:"emailSentAt,omitempty"`
	FlightId                   openapi_types.UUID   `json:"flightId"`
	Id                         openapi_types.UUID   `json:"id"`
	InstructorCredentialNumber *string              `json:"instructorCredentialNumber,omitempty"`
	InstructorEmail            *openapi_types.Email `json:"instructorEmail,omitempty"`
	InstructorName             *string              `json:"instructorName,omitempty"`

	// Method live = captured in person with no token; deferred = token-based, delivered by email and/or a shareable link/QR
	Method         FlightSignatureMethod `json:"method"`
	SignedAt       *time.Time            `json:"signedAt,omitempty"`
	Status         FlightSignatureStatus `json:"status"`
	TokenExpiresAt *time.Time            `json:"tokenExpiresAt,omitempty"`
	UpdatedAt      time.Time             `json:"updatedAt"`
	VoidedAt       *time.Time            `json:"voidedAt,omitempty"`
	VoidedReason   *string               `json:"voidedReason,omitempty"`
}

FlightSignature defines model for FlightSignature.

type FlightSignatureMethod added in v1.2.9

type FlightSignatureMethod string

FlightSignatureMethod live = captured in person with no token; deferred = token-based, delivered by email and/or a shareable link/QR

const (
	FlightSignatureMethodDeferred FlightSignatureMethod = "deferred"
	FlightSignatureMethodLive     FlightSignatureMethod = "live"
)

Defines values for FlightSignatureMethod.

func (FlightSignatureMethod) Valid added in v1.2.9

func (e FlightSignatureMethod) Valid() bool

Valid indicates whether the value is a known member of the FlightSignatureMethod enum.

type FlightSignatureStatus added in v1.2.9

type FlightSignatureStatus string

FlightSignatureStatus defines model for FlightSignature.Status.

const (
	FlightSignatureStatusCompleted FlightSignatureStatus = "completed"
	FlightSignatureStatusExpired   FlightSignatureStatus = "expired"
	FlightSignatureStatusPending   FlightSignatureStatus = "pending"
	FlightSignatureStatusRevoked   FlightSignatureStatus = "revoked"
	FlightSignatureStatusVoided    FlightSignatureStatus = "voided"
)

Defines values for FlightSignatureStatus.

func (FlightSignatureStatus) Valid added in v1.2.9

func (e FlightSignatureStatus) Valid() bool

Valid indicates whether the value is a known member of the FlightSignatureStatus enum.

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          nullable.Nullable[string] `json:"arrivalIcao,omitempty"`

	// ArrivalTime Landing time in UTC
	ArrivalTime nullable.Nullable[string] `json:"arrivalTime,omitempty"`

	// CrewMembers People on board this flight
	CrewMembers   *[]FlightCrewMemberInput  `json:"crewMembers,omitempty"`
	Date          *openapi_types.Date       `json:"date,omitempty"`
	DepartureIcao nullable.Nullable[string] `json:"departureIcao,omitempty"`

	// DepartureTime Takeoff time in UTC
	DepartureTime nullable.Nullable[string] `json:"departureTime,omitempty"`
	DualGivenTime *int                      `json:"dualGivenTime,omitempty"`

	// Endorsements Instructor endorsements, skill test references
	Endorsements nullable.Nullable[string] `json:"endorsements,omitempty"`

	// FstdType FSTD type designation
	FstdType           nullable.Nullable[string] `json:"fstdType,omitempty"`
	GroundTrainingTime *int                      `json:"groundTrainingTime,omitempty"`
	Holds              *int                      `json:"holds,omitempty"`
	IfrTime            *int                      `json:"ifrTime,omitempty"`
	InstructorComments nullable.Nullable[string] `json:"instructorComments,omitempty"`
	InstructorName     nullable.Nullable[string] `json:"instructorName,omitempty"`
	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 nullable.Nullable[string] `json:"launchMethod,omitempty"`

	// MultiPilotTime Multi-pilot time in minutes
	MultiPilotTime *int `json:"multiPilotTime,omitempty"`

	// OffBlockTime Off-block time (chocks off / engine start) in UTC
	OffBlockTime nullable.Nullable[string] `json:"offBlockTime,omitempty"`

	// OnBlockTime On-block time (chocks on / engine shutdown) in UTC
	OnBlockTime nullable.Nullable[string] `json:"onBlockTime,omitempty"`

	// PicName Name of the PIC
	PicName nullable.Nullable[string] `json:"picName,omitempty"`
	Remarks nullable.Nullable[string] `json:"remarks,omitempty"`

	// Route Route waypoints as comma-separated ICAO codes
	Route                   nullable.Nullable[string] `json:"route,omitempty"`
	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 Forbidden

type Forbidden = Error

Forbidden defines model for Forbidden.

type GetFlightAnalyticsParams added in v1.3.1

type GetFlightAnalyticsParams struct {
	// Months Number of months to include, counted from the start of the month `months` months ago. 0 means all time.
	Months *int `form:"months,omitempty" json:"months,omitempty"`

	// Limit Maximum number of rows returned per ranked breakdown (aircraft, airports, routes, instructors, crew).
	Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
}

GetFlightAnalyticsParams defines parameters for GetFlightAnalytics.

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`.
	//
	// Example: 2006-01-02
	DateFormat *string `json:"dateFormat,omitempty"`

	// SourceColumn Column header name from the uploaded file
	//
	// Example: Date
	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.
	//
	// Example: 15:04
	TimeFormat *string `json:"timeFormat,omitempty"`

	// TrueValue String value that maps to boolean `true` (e.g. "Yes", "X", "1"). Only relevant for isPic / isDual.
	//
	// Example: X
	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.
	//
	//
	// Example: [1,2,3,5,7,8]
	SelectedRows *[]int `json:"selectedRows,omitempty"`

	// UploadToken Upload token from the preview response
	//
	// Example: imp_01HXYZ1234567890ABCDEF
	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 Example: NinerLog JSON Backup
	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.

func (ImportField) Valid added in v1.1.0

func (e ImportField) Valid() bool

Valid indicates whether the value is a known member of the ImportField enum.

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.

func (ImportFormat) Valid added in v1.1.0

func (e ImportFormat) Valid() bool

Valid indicates whether the value is a known member of the ImportFormat enum.

type ImportId

type ImportId = openapi_types.UUID

ImportId Example: 990e8400-e29b-41d4-a716-446655440004

type ImportJSONResult added in v1.2.3

type ImportJSONResult struct {
	// AircraftImported Number of aircraft created from the backup
	//
	// Example: 3
	AircraftImported int `json:"aircraftImported"`

	// AircraftSkipped Aircraft skipped because the registration already exists for the user
	//
	// Example: 1
	AircraftSkipped int `json:"aircraftSkipped"`

	// ClassRatingsImported Example: 4
	ClassRatingsImported int `json:"classRatingsImported"`

	// ContactsCreated Contacts created because a crew name in the backup matched none of this account's contacts. Contacts are not carried in the backup format, so a restore into an empty account creates one per distinct crew name.
	//
	// Example: 5
	ContactsCreated int `json:"contactsCreated"`

	// CredentialsImported Example: 2
	CredentialsImported int `json:"credentialsImported"`

	// CrewMembersImported Example: 11
	CrewMembersImported int `json:"crewMembersImported"`

	// FlightsImported Example: 27
	FlightsImported int `json:"flightsImported"`

	// LicensesImported Example: 2
	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 Example: totalTime
		Field *string `json:"field,omitempty"`

		// Message Example: Must be greater than 0
		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,omitempty"`
	Flight           FlightCreate        `json:"flight"`

	// RowIndex 1-based row number in the original file
	//
	// Example: 2
	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.

func (ImportPreviewFlightStatus) Valid added in v1.1.0

func (e ImportPreviewFlightStatus) Valid() bool

Valid indicates whether the value is a known member of the ImportPreviewFlightStatus enum.

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
	//
	// Example: imp_01HXYZ1234567890ABCDEF
	UploadToken string `json:"uploadToken"`
}

ImportPreviewRequest defines model for ImportPreviewRequest.

type ImportPreviewResponse

type ImportPreviewResponse struct {
	// DuplicateCount Rows matching existing flights
	//
	// Example: 3
	DuplicateCount int `json:"duplicateCount"`

	// ErrorCount Rows with validation errors
	//
	// Example: 1
	ErrorCount int `json:"errorCount"`

	// Flights All rows with their validation status, sorted by rowIndex
	Flights []ImportPreviewFlight `json:"flights"`

	// TotalRows Total rows processed
	//
	// Example: 42
	TotalRows int `json:"totalRows"`

	// UploadToken Upload token to use in the confirm request
	//
	// Example: imp_01HXYZ1234567890ABCDEF
	UploadToken string `json:"uploadToken"`

	// ValidCount Rows ready to import
	//
	// Example: 38
	ValidCount int `json:"validCount"`
}

ImportPreviewResponse defines model for ImportPreviewResponse.

type ImportResult

type ImportResult struct {
	// AircraftCreated Number of aircraft auto-created from the imported rows. Any registration that appears in the file but not yet in the user's fleet is added, so imported flights are backed by a fleet entry.
	//
	// Example: 4
	AircraftCreated *int `json:"aircraftCreated,omitempty"`

	// ContactsCreated Number of new contacts auto-created from person data during import
	//
	// Example: 2
	ContactsCreated *int `json:"contactsCreated,omitempty"`

	// CreatedAt Example: 2026-02-13T18:00:00Z
	CreatedAt time.Time `json:"createdAt"`

	// DuplicateCount Number of rows detected as duplicates
	//
	// Example: 3
	DuplicateCount int `json:"duplicateCount"`

	// ErrorCount Number of rows that failed validation
	//
	// Example: 1
	ErrorCount int `json:"errorCount"`

	// Errors Per-row errors for rows that were not imported
	Errors *[]struct {
		// Field Example: totalTime
		Field string `json:"field"`

		// Message Example: Must be greater than 0
		Message string `json:"message"`

		// RawValue The original value from the file that caused the error
		//
		// Example: -1.5
		RawValue *string `json:"rawValue,omitempty"`

		// RowIndex 1-based row number that caused the error
		//
		// Example: 15
		RowIndex int `json:"rowIndex"`
	} `json:"errors,omitempty"`

	// FileName Example: foreflight_logbook_2025.csv
	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 Example: 990e8400-e29b-41d4-a716-446655440004
	Id openapi_types.UUID `json:"id"`

	// ImportedCount Number of flights successfully created
	//
	// Example: 38
	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)
	//
	// Example: 3
	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
	//
	// Example: 42
	TotalRows int `json:"totalRows"`

	// UserId Example: 550e8400-e29b-41d4-a716-446655440000
	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 (
	ImportStatusCompleted ImportStatus = "completed"
	ImportStatusFailed    ImportStatus = "failed"
	ImportStatusPartial   ImportStatus = "partial"
)

Defines values for ImportStatus.

func (ImportStatus) Valid added in v1.1.0

func (e ImportStatus) Valid() bool

Valid indicates whether the value is a known member of the ImportStatus enum.

type ImportUploadResponse

type ImportUploadResponse struct {
	// Columns Column headers found in the file
	//
	// Example: ["Date","AircraftID","From","To","Route","TimeOut","TimeIn","TotalTime","PIC","Landings"]
	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)
	//
	// Example: [{"AircraftID":"D-EFGH","Date":"2025-12-01","From":"EDDF","Landings":"1","PIC":"1.5","To":"EDDH","TotalTime":"1.5"}]
	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)
	//
	// Example: 42
	TotalRows int `json:"totalRows"`

	// UploadToken Opaque token identifying this upload session. Valid for 1 hour.
	//
	// Example: imp_01HXYZ1234567890ABCDEF
	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)
	//
	// Example: winch
	Method string `json:"method"`

	// Required Required number of launches (typically 5)
	//
	// Example: 5
	Required int `json:"required"`
}

LaunchMethodCurrency defines model for LaunchMethodCurrency.

type License

type License struct {
	// CreatedAt Example: 2020-01-15T10:00:00Z
	CreatedAt time.Time `json:"createdAt"`

	// Id Example: 550e8400-e29b-41d4-a716-446655440000
	Id openapi_types.UUID `json:"id"`

	// IssueDate Example: 2020-01-15
	IssueDate openapi_types.Date `json:"issueDate"`

	// IssuingAuthority e.g., EASA, FAA, CAA UK
	//
	// Example: EASA
	IssuingAuthority string `json:"issuingAuthority"`

	// LicenseNumber Example: PPL-123456
	LicenseNumber string `json:"licenseNumber"`

	// LicenseType License type (e.g., PPL, CPL, ATPL, SPL, LAPL, UL)
	//
	// Example: PPL
	LicenseType string `json:"licenseType"`

	// RegulatoryAuthority Regulatory authority (e.g., EASA, FAA, CAA UK, Transport Canada)
	//
	// Example: EASA
	RegulatoryAuthority string `json:"regulatoryAuthority"`

	// RequiresSeparateLogbook Whether this license requires a separate logbook (e.g., SPL, Ultralight)
	RequiresSeparateLogbook *bool `json:"requiresSeparateLogbook,omitempty"`

	// UpdatedAt Example: 2026-01-20T12:00:00Z
	UpdatedAt time.Time `json:"updatedAt"`

	// UserId Example: 660e8400-e29b-41d4-a716-446655440001
	UserId openapi_types.UUID `json:"userId"`
}

License defines model for License.

type LicenseCreate

type LicenseCreate struct {
	// IssueDate Example: 2020-01-15
	IssueDate openapi_types.Date `json:"issueDate"`

	// IssuingAuthority Example: EASA
	IssuingAuthority string `json:"issuingAuthority"`

	// LicenseNumber Example: PPL-123456
	LicenseNumber string `json:"licenseNumber"`

	// LicenseType Example: PPL
	LicenseType string `json:"licenseType"`

	// RegulatoryAuthority Example: EASA
	RegulatoryAuthority     string `json:"regulatoryAuthority"`
	RequiresSeparateLogbook *bool  `json:"requiresSeparateLogbook,omitempty"`
}

LicenseCreate defines model for LicenseCreate.

type LicenseId

type LicenseId = openapi_types.UUID

LicenseId Example: 550e8400-e29b-41d4-a716-446655440000

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"`

	// UpdatedSince Delta sync: return only records whose `updatedAt` is **strictly after** this instant. The value is an RFC 3339 date-time and is compared with full timestamp precision, so a client can pass back the highest `updatedAt` it has seen and receive exactly what changed since. Combines with the endpoint's other filters (ANDed) and pages as usual; on paginated endpoints `pagination.total` counts the delta.
	// A bare `YYYY-MM-DD` is also accepted and read as midnight UTC on that date. An empty value is treated as if the parameter were omitted. Anything else returns 400.
	// Deletions are not reported: a removed record simply stops appearing.
	UpdatedSince *UpdatedSince `form:"updatedSince,omitempty" json:"updatedSince,omitempty"`
}

ListAircraftParams defines parameters for ListAircraft.

type ListBackupRunsParams added in v1.2.4

type ListBackupRunsParams struct {
	Page     *int `form:"page,omitempty" json:"page,omitempty"`
	PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`
}

ListBackupRunsParams defines parameters for ListBackupRuns.

type ListContactsParams added in v1.3.2

type ListContactsParams struct {
	// UpdatedSince Delta sync: return only records whose `updatedAt` is **strictly after** this instant. The value is an RFC 3339 date-time and is compared with full timestamp precision, so a client can pass back the highest `updatedAt` it has seen and receive exactly what changed since. Combines with the endpoint's other filters (ANDed) and pages as usual; on paginated endpoints `pagination.total` counts the delta.
	// A bare `YYYY-MM-DD` is also accepted and read as midnight UTC on that date. An empty value is treated as if the parameter were omitted. Anything else returns 400.
	// Deletions are not reported: a removed record simply stops appearing.
	UpdatedSince *UpdatedSince `form:"updatedSince,omitempty" json:"updatedSince,omitempty"`
}

ListContactsParams defines parameters for ListContacts.

type ListCredentialsParams added in v1.3.2

type ListCredentialsParams struct {
	// UpdatedSince Delta sync: return only records whose `updatedAt` is **strictly after** this instant. The value is an RFC 3339 date-time and is compared with full timestamp precision, so a client can pass back the highest `updatedAt` it has seen and receive exactly what changed since. Combines with the endpoint's other filters (ANDed) and pages as usual; on paginated endpoints `pagination.total` counts the delta.
	// A bare `YYYY-MM-DD` is also accepted and read as midnight UTC on that date. An empty value is treated as if the parameter were omitted. Anything else returns 400.
	// Deletions are not reported: a removed record simply stops appearing.
	UpdatedSince *UpdatedSince `form:"updatedSince,omitempty" json:"updatedSince,omitempty"`
}

ListCredentialsParams defines parameters for ListCredentials.

type ListDeletionsParams added in v1.3.2

type ListDeletionsParams struct {
	// Since Return deletions that happened strictly after this instant (RFC 3339 date-time). Use the same watermark passed to `updatedSince`.
	Since time.Time `form:"since" json:"since"`

	// Entity Restrict the feed to a single entity type.
	Entity *ListDeletionsParamsEntity `form:"entity,omitempty" json:"entity,omitempty"`

	// 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"`
}

ListDeletionsParams defines parameters for ListDeletions.

type ListDeletionsParamsEntity added in v1.3.2

type ListDeletionsParamsEntity string

ListDeletionsParamsEntity defines parameters for ListDeletions.

const (
	ListDeletionsParamsEntityAircraft   ListDeletionsParamsEntity = "aircraft"
	ListDeletionsParamsEntityContact    ListDeletionsParamsEntity = "contact"
	ListDeletionsParamsEntityCredential ListDeletionsParamsEntity = "credential"
	ListDeletionsParamsEntityFlight     ListDeletionsParamsEntity = "flight"
	ListDeletionsParamsEntityLicense    ListDeletionsParamsEntity = "license"
)

Defines values for ListDeletionsParamsEntity.

func (ListDeletionsParamsEntity) Valid added in v1.3.2

func (e ListDeletionsParamsEntity) Valid() bool

Valid indicates whether the value is a known member of the ListDeletionsParamsEntity enum.

type ListEmailDeliveriesParams added in v1.3.2

type ListEmailDeliveriesParams struct {
	// Recipient Narrow the log to one address.
	Recipient *openapi_types.Email `form:"recipient,omitempty" json:"recipient,omitempty"`

	// Limit Maximum events to return.
	Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
}

ListEmailDeliveriesParams defines parameters for ListEmailDeliveries.

type ListEmailSuppressionsParams added in v1.3.2

type ListEmailSuppressionsParams struct {
	Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
}

ListEmailSuppressionsParams defines parameters for ListEmailSuppressions.

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 location (ICAO code or free-text place name)
	DepartureIcao *string `form:"departureIcao,omitempty" json:"departureIcao,omitempty"`

	// ArrivalIcao Filter by arrival location (ICAO code or free-text place name)
	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"`

	// Q Advanced search query. Combines free-text terms and field tags with
	// boolean logic; all conditions are evaluated in the database and can
	// be combined with the other filter parameters (which are ANDed).
	//
	// **Syntax**
	// - Bare terms match across registration, type, ICAO codes, route,
	//   remarks, instructor, PIC name, and crew names: `EDDF checkride`.
	//   At most 5 bare terms per query, each at least 3 characters; use
	//   tagged fields (below) for additional or shorter conditions.
	// - Tags: `field:value` (contains for text, equals otherwise),
	//   `field=value` (exact), `field!=value`, and `>`, `>=`, `<`, `<=`
	//   for numeric, duration, date, and time-of-day fields.
	// - Boolean operators `AND`, `OR`, `NOT` (case-insensitive) and
	//   parentheses. Adjacent terms are implicitly ANDed; `-term` negates.
	// - Quote values containing spaces: `crew:"John Doe"`.
	// - `*` is a wildcard in text values: `reg:D-E*`.
	// - Durations accept minutes (`90`), `H:MM` (`1:30`), or hours
	//   (`1.5h`). Dates accept `YYYY`, `YYYY-MM`, or `YYYY-MM-DD`
	//   (partial dates match the whole period). Times of day are `HH:MM`
	//   UTC. Booleans are `true`/`false`.
	//
	// **Tags** (aliases in parentheses): date; aircraftReg (reg,
	// registration, aircraft); aircraftType (type, model); departureIcao
	// (departure, from, dep); arrivalIcao (arrival, to, arr); route;
	// remarks (comments); offBlockTime (offBlock); onBlockTime (onBlock);
	// departureTime (takeoffTime); arrivalTime (landingTime); totalTime
	// (total); picTime; dualTime; nightTime (night); ifrTime (ifr);
	// soloTime (solo); crossCountryTime (xc, crossCountry); sicTime;
	// dualGivenTime (dualGiven); simulatedFlightTime (simTime);
	// groundTrainingTime; actualInstrumentTime; simulatedInstrumentTime
	// (hoodTime); multiPilotTime; landings; landingsDay; landingsNight;
	// takeoffsDay; takeoffsNight; holds; approaches; approachType;
	// distance; isPic; isDual; isIpc (ipc); isFlightReview (flightReview,
	// bfr); isProficiencyCheck (proficiencyCheck); signed; instructorName
	// (instructor); instructorComments; picName; crew; fstdType (fstd);
	// endorsements; launchMethod (launch); createdAt; updatedAt.
	//
	// Example: `q=(departure:EDDF OR arrival:EDDF) AND nightTime>0 NOT remarks:cancelled`
	//
	// An invalid query returns 400 with a description of the problem.
	Q *string `form:"q,omitempty" json:"q,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"`

	// UpdatedSince Delta sync: return only records whose `updatedAt` is **strictly after** this instant. The value is an RFC 3339 date-time and is compared with full timestamp precision, so a client can pass back the highest `updatedAt` it has seen and receive exactly what changed since. Combines with the endpoint's other filters (ANDed) and pages as usual; on paginated endpoints `pagination.total` counts the delta.
	// A bare `YYYY-MM-DD` is also accepted and read as midnight UTC on that date. An empty value is treated as if the parameter were omitted. Anything else returns 400.
	// Deletions are not reported: a removed record simply stops appearing.
	UpdatedSince *UpdatedSince `form:"updatedSince,omitempty" json:"updatedSince,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.

func (ListFlightsParamsSortBy) Valid added in v1.1.0

func (e ListFlightsParamsSortBy) Valid() bool

Valid indicates whether the value is a known member of the ListFlightsParamsSortBy enum.

type ListFlightsParamsSortOrder

type ListFlightsParamsSortOrder string

ListFlightsParamsSortOrder defines parameters for ListFlights.

const (
	Asc  ListFlightsParamsSortOrder = "asc"
	Desc ListFlightsParamsSortOrder = "desc"
)

Defines values for ListFlightsParamsSortOrder.

func (ListFlightsParamsSortOrder) Valid added in v1.1.0

func (e ListFlightsParamsSortOrder) Valid() bool

Valid indicates whether the value is a known member of the ListFlightsParamsSortOrder enum.

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 ListLicensesParams added in v1.3.2

type ListLicensesParams struct {
	// UpdatedSince Delta sync: return only records whose `updatedAt` is **strictly after** this instant. The value is an RFC 3339 date-time and is compared with full timestamp precision, so a client can pass back the highest `updatedAt` it has seen and receive exactly what changed since. Combines with the endpoint's other filters (ANDed) and pages as usual; on paginated endpoints `pagination.total` counts the delta.
	// A bare `YYYY-MM-DD` is also accepted and read as midnight UTC on that date. An empty value is treated as if the parameter were omitted. Anything else returns 400.
	// Deletions are not reported: a removed record simply stops appearing.
	UpdatedSince *UpdatedSince `form:"updatedSince,omitempty" json:"updatedSince,omitempty"`
}

ListLicensesParams defines parameters for ListLicenses.

type LocalAuthDisabled added in v1.3.2

type LocalAuthDisabled = Error

LocalAuthDisabled defines model for LocalAuthDisabled.

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 LoginUser200JSONResponseBody added in v1.3.2

type LoginUser200JSONResponseBody struct {
	// contains filtered or unexported fields
}

LoginUser200JSONResponseBody defines parameters for LoginUser.

func (LoginUser200JSONResponseBody) AsAuthResponse added in v1.3.2

func (t LoginUser200JSONResponseBody) AsAuthResponse() (AuthResponse, error)

AsAuthResponse returns the union data inside the LoginUser200JSONResponseBody as a AuthResponse

func (LoginUser200JSONResponseBody) AsTwoFactorLoginRequired added in v1.3.2

func (t LoginUser200JSONResponseBody) AsTwoFactorLoginRequired() (TwoFactorLoginRequired, error)

AsTwoFactorLoginRequired returns the union data inside the LoginUser200JSONResponseBody as a TwoFactorLoginRequired

func (*LoginUser200JSONResponseBody) FromAuthResponse added in v1.3.2

func (t *LoginUser200JSONResponseBody) FromAuthResponse(v AuthResponse) error

FromAuthResponse overwrites any union data inside the LoginUser200JSONResponseBody as the provided AuthResponse

func (*LoginUser200JSONResponseBody) FromTwoFactorLoginRequired added in v1.3.2

func (t *LoginUser200JSONResponseBody) FromTwoFactorLoginRequired(v TwoFactorLoginRequired) error

FromTwoFactorLoginRequired overwrites any union data inside the LoginUser200JSONResponseBody as the provided TwoFactorLoginRequired

func (LoginUser200JSONResponseBody) MarshalJSON added in v1.3.2

func (t LoginUser200JSONResponseBody) MarshalJSON() ([]byte, error)

func (*LoginUser200JSONResponseBody) MergeAuthResponse added in v1.3.2

func (t *LoginUser200JSONResponseBody) MergeAuthResponse(v AuthResponse) error

MergeAuthResponse performs a merge with any union data inside the LoginUser200JSONResponseBody, using the provided AuthResponse

func (*LoginUser200JSONResponseBody) MergeTwoFactorLoginRequired added in v1.3.2

func (t *LoginUser200JSONResponseBody) MergeTwoFactorLoginRequired(v TwoFactorLoginRequired) error

MergeTwoFactorLoginRequired performs a merge with any union data inside the LoginUser200JSONResponseBody, using the provided TwoFactorLoginRequired

func (*LoginUser200JSONResponseBody) UnmarshalJSON added in v1.3.2

func (t *LoginUser200JSONResponseBody) UnmarshalJSON(b []byte) error

type LoginUserJSONBody

type LoginUserJSONBody struct {
	// Email Example: pilot@example.com
	Email openapi_types.Email `json:"email"`

	// Password Example: SecurePass123!
	Password string `json:"password"`
}

LoginUserJSONBody defines parameters for LoginUser.

type LoginUserJSONRequestBody

type LoginUserJSONRequestBody LoginUserJSONBody

LoginUserJSONRequestBody defines body for LoginUser for application/json ContentType.

type LogoutUserJSONBody added in v1.3.1

type LogoutUserJSONBody struct {
	RefreshToken string `json:"refreshToken"`
}

LogoutUserJSONBody defines parameters for LogoutUser.

type LogoutUserJSONRequestBody added in v1.3.1

type LogoutUserJSONRequestBody LogoutUserJSONBody

LogoutUserJSONRequestBody defines body for LogoutUser for application/json ContentType.

type MiddlewareFunc

type MiddlewareFunc func(c *gin.Context)

type NotFound

type NotFound = Error

NotFound defines model for NotFound.

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.

func (NotificationCategory) Valid added in v1.1.0

func (e NotificationCategory) Valid() bool

Valid indicates whether the value is a known member of the NotificationCategory enum.

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,omitempty"`
	Id               openapi_types.UUID `json:"id"`

	// ReferenceDescription Human-readable description of the reference item
	ReferenceDescription *string `json:"referenceDescription,omitempty"`

	// ReferenceType Type of item that triggered the notification (e.g., credential, rating)
	ReferenceType *string `json:"referenceType,omitempty"`

	// 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)
	//
	// Example: 8
	CheckHour int `json:"checkHour"`

	// EmailEnabled Master switch for all email notifications
	//
	// Example: true
	EmailEnabled bool `json:"emailEnabled"`

	// EnabledCategories List of enabled notification categories
	//
	// Example: ["credential_medical","credential_language","credential_security","credential_other","rating_expiry","currency_passenger","currency_night","currency_instrument","currency_flight_review","currency_revalidation"]
	EnabledCategories []NotificationCategory `json:"enabledCategories"`

	// WarningDays Days before expiry to send warnings
	//
	// Example: [30,14,7]
	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)
		//
		// Example: 1
		Page int `json:"page"`

		// PageSize Items per page
		//
		// Example: 20
		PageSize int `json:"pageSize"`

		// Total Total number of items
		//
		// Example: 25
		Total int `json:"total"`

		// TotalPages Total number of pages
		//
		// Example: 2
		TotalPages int `json:"totalPages"`
	} `json:"pagination"`
}

PaginatedAircraft defines model for PaginatedAircraft.

type PaginatedBackupRuns added in v1.2.4

type PaginatedBackupRuns struct {
	Data       []BackupRun `json:"data"`
	Pagination struct {
		Page       int `json:"page"`
		PageSize   int `json:"pageSize"`
		Total      int `json:"total"`
		TotalPages int `json:"totalPages"`
	} `json:"pagination"`
}

PaginatedBackupRuns defines model for PaginatedBackupRuns.

type PaginatedFlights

type PaginatedFlights struct {
	Data       []Flight `json:"data"`
	Pagination struct {
		// Page Current page (1-indexed)
		//
		// Example: 1
		Page int `json:"page"`

		// PageSize Items per page
		//
		// Example: 20
		PageSize int `json:"pageSize"`

		// Total Total number of items
		//
		// Example: 150
		Total int `json:"total"`

		// TotalPages Total number of pages
		//
		// Example: 8
		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)
		//
		// Example: 1
		Page int `json:"page"`

		// PageSize Items per page
		//
		// Example: 20
		PageSize int `json:"pageSize"`

		// Total Total number of imports
		//
		// Example: 5
		Total int `json:"total"`

		// TotalPages Total number of pages
		//
		// Example: 1
		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)
	//
	// Example: 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.
	//
	// Example: true
	NightPrivilege *bool `json:"nightPrivilege,omitempty"`

	// NightRequired Required night landings for night passenger currency (typically 3, 0 if night not applicable)
	//
	// Example: 3
	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
		//
		// Example: Eligible to carry passengers (10h PIC completed)
		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
	//
	// Example: 3 takeoffs & landings in same type/class within preceding 90 days to carry passengers (EASA FCL.060(b))
	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.

func (PassengerCurrencyDayStatus) Valid added in v1.1.0

func (e PassengerCurrencyDayStatus) Valid() bool

Valid indicates whether the value is a known member of the PassengerCurrencyDayStatus enum.

type PassengerCurrencyNightStatus

type PassengerCurrencyNightStatus string

PassengerCurrencyNightStatus Night passenger currency status

const (
	PassengerCurrencyNightStatusCurrent  PassengerCurrencyNightStatus = "current"
	PassengerCurrencyNightStatusExpired  PassengerCurrencyNightStatus = "expired"
	PassengerCurrencyNightStatusExpiring PassengerCurrencyNightStatus = "expiring"
	PassengerCurrencyNightStatusUnknown  PassengerCurrencyNightStatus = "unknown"
)

Defines values for PassengerCurrencyNightStatus.

func (PassengerCurrencyNightStatus) Valid added in v1.1.0

Valid indicates whether the value is a known member of the PassengerCurrencyNightStatus enum.

type PayloadTooLarge added in v1.3.2

type PayloadTooLarge = Error

PayloadTooLarge defines model for PayloadTooLarge.

type PreviewImportJSONRequestBody

type PreviewImportJSONRequestBody = ImportPreviewRequest

PreviewImportJSONRequestBody defines body for PreviewImport for application/json ContentType.

type PublicSignatureInfo added in v1.2.9

type PublicSignatureInfo struct {
	AircraftReg  string             `json:"aircraftReg"`
	AircraftType string             `json:"aircraftType"`
	DualTime     *int               `json:"dualTime,omitempty"`
	ExpiresAt    time.Time          `json:"expiresAt"`
	FlightDate   openapi_types.Date `json:"flightDate"`

	// InstructorName Prefill, if the owner supplied one when creating the request.
	InstructorName *string `json:"instructorName,omitempty"`
	Route          *string `json:"route,omitempty"`

	// Status Always "pending" on a 200 response; any other state is reported via 404/410 instead.
	Status PublicSignatureInfoStatus `json:"status"`

	// TotalTime Total block time in minutes
	TotalTime int `json:"totalTime"`
}

PublicSignatureInfo Deliberately minimal — no owner PII beyond the flight's own logged details.

type PublicSignatureInfoStatus added in v1.2.9

type PublicSignatureInfoStatus string

PublicSignatureInfoStatus Always "pending" on a 200 response; any other state is reported via 404/410 instead.

const (
	PublicSignatureInfoStatusPending PublicSignatureInfoStatus = "pending"
)

Defines values for PublicSignatureInfoStatus.

func (PublicSignatureInfoStatus) Valid added in v1.2.9

func (e PublicSignatureInfoStatus) Valid() bool

Valid indicates whether the value is a known member of the PublicSignatureInfoStatus enum.

type PutMyBaselineJSONRequestBody added in v1.2.3

type PutMyBaselineJSONRequestBody = FlightBaselineInput

PutMyBaselineJSONRequestBody defines body for PutMyBaseline for application/json ContentType.

type RecordFlightSessionEventJSONRequestBody added in v1.2.8

type RecordFlightSessionEventJSONRequestBody = FlightSessionEvent

RecordFlightSessionEventJSONRequestBody defines body for RecordFlightSessionEvent for application/json ContentType.

type RefreshTokenJSONBody

type RefreshTokenJSONBody struct {
	// RefreshToken Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
	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 Example: pilot@example.com
	Email openapi_types.Email `json:"email"`

	// Name Example: John Doe
	Name string `json:"name"`

	// Password 12–72 characters, containing at least one lowercase letter, one uppercase letter, one digit and one special character.
	//
	// Example: SecurePass123!
	Password string `json:"password"`

	// PreferredLocale Preferred language for the interface. Defaults to `en` when omitted.
	//
	// Example: en
	PreferredLocale *RegisterUserJSONBodyPreferredLocale `json:"preferredLocale,omitempty"`
}

RegisterUserJSONBody defines parameters for RegisterUser.

type RegisterUserJSONBodyPreferredLocale added in v1.2.6

type RegisterUserJSONBodyPreferredLocale string

RegisterUserJSONBodyPreferredLocale defines parameters for RegisterUser.

const (
	RegisterUserJSONBodyPreferredLocaleDe RegisterUserJSONBodyPreferredLocale = "de"
	RegisterUserJSONBodyPreferredLocaleEn RegisterUserJSONBodyPreferredLocale = "en"
)

Defines values for RegisterUserJSONBodyPreferredLocale.

func (RegisterUserJSONBodyPreferredLocale) Valid added in v1.2.6

Valid indicates whether the value is a known member of the RegisterUserJSONBodyPreferredLocale enum.

type RegisterUserJSONRequestBody

type RegisterUserJSONRequestBody RegisterUserJSONBody

RegisterUserJSONRequestBody defines body for RegisterUser for application/json ContentType.

type RegistrationResponse added in v1.2.5

type RegistrationResponse struct {
	// Email Registered account email address
	//
	// Example: pilot@example.com
	Email openapi_types.Email `json:"email"`

	// Message Example: A verification email has been sent. Please check your inbox to complete registration.
	Message string `json:"message"`

	// VerificationRequired True when SMTP is configured and the user must verify via email; false when the backend auto-verifies because SMTP is not configured.
	//
	// Example: true
	VerificationRequired bool `json:"verificationRequired"`
}

RegistrationResponse defines model for RegistrationResponse.

type RequestPasswordResetJSONBody added in v1.1.0

type RequestPasswordResetJSONBody struct {
	// Email Example: pilot@example.com
	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 ResendSignatureRequestJSONRequestBody added in v1.2.9

type ResendSignatureRequestJSONRequestBody = ResendSignatureRequestRequest

ResendSignatureRequestJSONRequestBody defines body for ResendSignatureRequest for application/json ContentType.

type ResendSignatureRequestRequest added in v1.2.9

type ResendSignatureRequestRequest struct {
	// InstructorEmail If supplied, updates the delivery address and sends the request email. Omit to just rotate the token/link without emailing anyone.
	InstructorEmail *openapi_types.Email `json:"instructorEmail,omitempty"`
}

ResendSignatureRequestRequest defines model for ResendSignatureRequestRequest.

type ResendVerificationEmailJSONBody added in v1.2.5

type ResendVerificationEmailJSONBody struct {
	// Email Example: pilot@example.com
	Email openapi_types.Email `json:"email"`
}

ResendVerificationEmailJSONBody defines parameters for ResendVerificationEmail.

type ResendVerificationEmailJSONRequestBody added in v1.2.5

type ResendVerificationEmailJSONRequestBody ResendVerificationEmailJSONBody

ResendVerificationEmailJSONRequestBody defines body for ResendVerificationEmail for application/json ContentType.

type ResetPasswordJSONBody added in v1.1.0

type ResetPasswordJSONBody struct {
	// NewPassword The new password. 12–72 characters, containing at least one lowercase letter, one uppercase letter, one digit and one special character.
	NewPassword string `json:"newPassword"`

	// Token Password reset token from email
	Token string `json:"token"`

	// TwoFactorCode TOTP code or recovery code. Required when the account has 2FA enabled,
	// ignored otherwise.
	//
	//
	// Example: 123456
	TwoFactorCode *string `json:"twoFactorCode,omitempty"`
}

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 {
	// CreateAnnouncement Create a system announcement
	// (POST /admin/announcements)
	CreateAnnouncement(c *gin.Context)
	// DeleteAnnouncement Delete an announcement
	// (DELETE /admin/announcements/{announcementId})
	DeleteAnnouncement(c *gin.Context, announcementId openapi_types.UUID)
	// ListAdminAuditLog List admin audit log
	// (GET /admin/audit-log)
	ListAdminAuditLog(c *gin.Context, params ListAdminAuditLogParams)
	// GetAdminConfig Runtime configuration (non-secret)
	// (GET /admin/config)
	GetAdminConfig(c *gin.Context)
	// ListEmailDeliveries Recent email delivery events
	// (GET /admin/email/deliveries)
	ListEmailDeliveries(c *gin.Context, params ListEmailDeliveriesParams)
	// ListEmailSuppressions List suppressed email addresses
	// (GET /admin/email/suppressions)
	ListEmailSuppressions(c *gin.Context, params ListEmailSuppressionsParams)
	// DeleteEmailSuppression Lift an email suppression
	// (DELETE /admin/email/suppressions/{email})
	DeleteEmailSuppression(c *gin.Context, email openapi_types.Email)
	// CleanupTokens Clean up expired tokens
	// (POST /admin/maintenance/cleanup-tokens)
	CleanupTokens(c *gin.Context)
	// CleanupUnverifiedAccounts Sweep unverified accounts now
	// (POST /admin/maintenance/cleanup-unverified)
	CleanupUnverifiedAccounts(c *gin.Context)
	// SmtpTest Send SMTP test email
	// (POST /admin/maintenance/smtp-test)
	SmtpTest(c *gin.Context)
	// TriggerNotifications Trigger notification check
	// (POST /admin/maintenance/trigger-notifications)
	TriggerNotifications(c *gin.Context)
	// GetAdminStats System-wide aggregate statistics
	// (GET /admin/stats)
	GetAdminStats(c *gin.Context)
	// ListAdminUsers List all users (privacy-preserving)
	// (GET /admin/users)
	ListAdminUsers(c *gin.Context, params ListAdminUsersParams)
	// DeleteUser Permanently delete a user account
	// (DELETE /admin/users/{userId})
	DeleteUser(c *gin.Context, userId openapi_types.UUID)
	// DisableUser Disable a user account
	// (POST /admin/users/{userId}/disable)
	DisableUser(c *gin.Context, userId openapi_types.UUID)
	// EnableUser Re-enable a user account
	// (POST /admin/users/{userId}/enable)
	EnableUser(c *gin.Context, userId openapi_types.UUID)
	// ResetUser2fa Reset 2FA for a user
	// (POST /admin/users/{userId}/reset-2fa)
	ResetUser2fa(c *gin.Context, userId openapi_types.UUID)
	// UnlockUser Unlock a locked user account
	// (POST /admin/users/{userId}/unlock)
	UnlockUser(c *gin.Context, userId openapi_types.UUID)
	// ListAircraft List aircraft
	// (GET /aircraft)
	ListAircraft(c *gin.Context, params ListAircraftParams)
	// CreateAircraft Add aircraft
	// (POST /aircraft)
	CreateAircraft(c *gin.Context)
	// GetAircraftStats Get per-aircraft flight statistics
	// (GET /aircraft/stats)
	GetAircraftStats(c *gin.Context)
	// DeleteAircraft Delete aircraft
	// (DELETE /aircraft/{aircraftId})
	DeleteAircraft(c *gin.Context, aircraftId AircraftId)
	// GetAircraft Get aircraft details
	// (GET /aircraft/{aircraftId})
	GetAircraft(c *gin.Context, aircraftId AircraftId)
	// UpdateAircraft Update aircraft
	// (PATCH /aircraft/{aircraftId})
	UpdateAircraft(c *gin.Context, aircraftId AircraftId)
	// SearchAirports Search airports
	// (GET /airports/search)
	SearchAirports(c *gin.Context, params SearchAirportsParams)
	// GetAirport Get airport coordinates
	// (GET /airports/{icaoCode})
	GetAirport(c *gin.Context, icaoCode string)
	// GetAnnouncements Get active announcements and user hints
	// (GET /announcements)
	GetAnnouncements(c *gin.Context)
	// Disable2FA Disable 2FA
	// (POST /auth/2fa/disable)
	Disable2FA(c *gin.Context)
	// Login2FA Complete login with 2FA code
	// (POST /auth/2fa/login)
	Login2FA(c *gin.Context)
	// Setup2FA Start 2FA setup
	// (POST /auth/2fa/setup)
	Setup2FA(c *gin.Context)
	// Verify2FA Verify and enable 2FA
	// (POST /auth/2fa/verify)
	Verify2FA(c *gin.Context)
	// ChangePassword Change password
	// (POST /auth/change-password)
	ChangePassword(c *gin.Context)
	// LoginUser Login
	// (POST /auth/login)
	LoginUser(c *gin.Context)
	// LogoutUser Log out
	// (POST /auth/logout)
	LogoutUser(c *gin.Context)
	// ExchangeOidcCode Exchange an OIDC handoff code for tokens
	// (POST /auth/oidc/exchange)
	ExchangeOidcCode(c *gin.Context)
	// ResetPassword Reset password with token
	// (POST /auth/password-reset)
	ResetPassword(c *gin.Context)
	// RequestPasswordReset Request password reset
	// (POST /auth/password-reset-request)
	RequestPasswordReset(c *gin.Context)
	// GetAuthProviders Which sign-in methods this server offers
	// (GET /auth/providers)
	GetAuthProviders(c *gin.Context)
	// RefreshToken Refresh access token
	// (POST /auth/refresh)
	RefreshToken(c *gin.Context)
	// RegisterUser Register a new user
	// (POST /auth/register)
	RegisterUser(c *gin.Context)
	// VerifyEmail Verify email address
	// (POST /auth/verify-email)
	VerifyEmail(c *gin.Context)
	// ResendVerificationEmail Resend the email-verification message
	// (POST /auth/verify-email/resend)
	ResendVerificationEmail(c *gin.Context)
	// ListWebauthnCredentials List the current user's passkeys
	// (GET /auth/webauthn/credentials)
	ListWebauthnCredentials(c *gin.Context)
	// DeleteWebauthnCredential Revoke a passkey
	// (DELETE /auth/webauthn/credentials/{credentialId})
	DeleteWebauthnCredential(c *gin.Context, credentialId openapi_types.UUID)
	// WebauthnLoginOptions Begin passkey login
	// (POST /auth/webauthn/login/options)
	WebauthnLoginOptions(c *gin.Context)
	// WebauthnLoginVerify Verify passkey assertion and sign in
	// (POST /auth/webauthn/login/verify)
	WebauthnLoginVerify(c *gin.Context)
	// WebauthnRegisterOptions Begin passkey registration
	// (POST /auth/webauthn/register/options)
	WebauthnRegisterOptions(c *gin.Context)
	// WebauthnRegisterVerify Verify passkey registration attestation
	// (POST /auth/webauthn/register/verify)
	WebauthnRegisterVerify(c *gin.Context)
	// ListBackupDestinations List the user's backup destinations
	// (GET /backups/destinations)
	ListBackupDestinations(c *gin.Context)
	// CreateBackupDestination Create a backup destination
	// (POST /backups/destinations)
	CreateBackupDestination(c *gin.Context)
	// DeleteBackupDestination Delete a backup destination
	// (DELETE /backups/destinations/{destinationId})
	DeleteBackupDestination(c *gin.Context, destinationId BackupDestinationId)
	// GetBackupDestination Get a backup destination
	// (GET /backups/destinations/{destinationId})
	GetBackupDestination(c *gin.Context, destinationId BackupDestinationId)
	// UpdateBackupDestination Update a backup destination
	// (PATCH /backups/destinations/{destinationId})
	UpdateBackupDestination(c *gin.Context, destinationId BackupDestinationId)
	// RunBackupNow Trigger an immediate backup run
	// (POST /backups/destinations/{destinationId}/run)
	RunBackupNow(c *gin.Context, destinationId BackupDestinationId)
	// ListBackupRuns List backup runs for a destination
	// (GET /backups/destinations/{destinationId}/runs)
	ListBackupRuns(c *gin.Context, destinationId BackupDestinationId, params ListBackupRunsParams)
	// TestBackupDestination Test a backup destination's connectivity
	// (POST /backups/destinations/{destinationId}/test)
	TestBackupDestination(c *gin.Context, destinationId BackupDestinationId)
	// ListBackupProviders List available backup providers
	// (GET /backups/providers)
	ListBackupProviders(c *gin.Context)
	// GetBackupRun Get a single backup run by ID
	// (GET /backups/runs/{runId})
	GetBackupRun(c *gin.Context, runId openapi_types.UUID)
	// ListContacts List all contacts
	// (GET /contacts)
	ListContacts(c *gin.Context, params ListContactsParams)
	// CreateContact Create a contact
	// (POST /contacts)
	CreateContact(c *gin.Context)
	// SearchContacts Search contacts
	// (GET /contacts/search)
	SearchContacts(c *gin.Context, params SearchContactsParams)
	// DeleteContact Delete a contact
	// (DELETE /contacts/{contactId})
	DeleteContact(c *gin.Context, contactId openapi_types.UUID)
	// GetContact Get a contact
	// (GET /contacts/{contactId})
	GetContact(c *gin.Context, contactId openapi_types.UUID)
	// UpdateContact Update a contact
	// (PUT /contacts/{contactId})
	UpdateContact(c *gin.Context, contactId openapi_types.UUID)
	// ListCredentials List credentials
	// (GET /credentials)
	ListCredentials(c *gin.Context, params ListCredentialsParams)
	// CreateCredential Add credential
	// (POST /credentials)
	CreateCredential(c *gin.Context)
	// DeleteCredential Delete credential
	// (DELETE /credentials/{credentialId})
	DeleteCredential(c *gin.Context, credentialId CredentialId)
	// GetCredential Get credential details
	// (GET /credentials/{credentialId})
	GetCredential(c *gin.Context, credentialId CredentialId)
	// UpdateCredential Update credential
	// (PATCH /credentials/{credentialId})
	UpdateCredential(c *gin.Context, credentialId CredentialId)
	// ListCredentialFiles List a credential's reference files
	// (GET /credentials/{credentialId}/files)
	ListCredentialFiles(c *gin.Context, credentialId CredentialId)
	// UploadCredentialFile Upload a reference file for a credential
	// (POST /credentials/{credentialId}/files)
	UploadCredentialFile(c *gin.Context, credentialId CredentialId)
	// DeleteCredentialFile Delete a credential reference image
	// (DELETE /credentials/{credentialId}/files/{fileId})
	DeleteCredentialFile(c *gin.Context, credentialId CredentialId, fileId DocumentFileId)
	// GetCredentialFile Download a credential reference image
	// (GET /credentials/{credentialId}/files/{fileId})
	GetCredentialFile(c *gin.Context, credentialId CredentialId, fileId DocumentFileId)
	// GetAllCurrencyStatus Get currency status for all class ratings
	// (GET /currency)
	GetAllCurrencyStatus(c *gin.Context)
	// ExportFlightsCSV Export flights as CSV
	// (GET /exports/csv)
	ExportFlightsCSV(c *gin.Context, params ExportFlightsCSVParams)
	// ExportDataJSON Export full data backup as JSON
	// (GET /exports/json)
	ExportDataJSON(c *gin.Context)
	// ExportFlightsPDF Export flights as PDF logbook
	// (GET /exports/pdf)
	ExportFlightsPDF(c *gin.Context, params ExportFlightsPDFParams)
	// ExportContactsVCard Export contacts as vCard
	// (GET /exports/vcard)
	ExportContactsVCard(c *gin.Context)
	// GetFeatures Which optional features this server has switched on
	// (GET /features)
	GetFeatures(c *gin.Context)
	// DiscardCurrentFlightSession Discard current flight session
	// (DELETE /flight-sessions/current)
	DiscardCurrentFlightSession(c *gin.Context)
	// GetCurrentFlightSession Get current flight session
	// (GET /flight-sessions/current)
	GetCurrentFlightSession(c *gin.Context)
	// RecordFlightSessionEvent Record a flight session event
	// (POST /flight-sessions/current/events)
	RecordFlightSessionEvent(c *gin.Context)
	// ListFlights List flights
	// (GET /flights)
	ListFlights(c *gin.Context, params ListFlightsParams)
	// CreateFlight Create flight log
	// (POST /flights)
	CreateFlight(c *gin.Context)
	// DeleteAllFlights Delete all flights
	// (DELETE /flights/delete-all)
	DeleteAllFlights(c *gin.Context)
	// RecalculateFlights Recalculate all flights
	// (POST /flights/recalculate)
	RecalculateFlights(c *gin.Context)
	// DeleteFlight Delete flight
	// (DELETE /flights/{flightId})
	DeleteFlight(c *gin.Context, flightId FlightId)
	// GetFlight Get flight details
	// (GET /flights/{flightId})
	GetFlight(c *gin.Context, flightId FlightId)
	// UpdateFlight Update flight
	// (PUT /flights/{flightId})
	UpdateFlight(c *gin.Context, flightId FlightId)
	// ListFlightSignatures List signature history for a flight
	// (GET /flights/{flightId}/signatures)
	ListFlightSignatures(c *gin.Context, flightId FlightId)
	// CreateSignatureRequest Create a deferred signature request
	// (POST /flights/{flightId}/signatures)
	CreateSignatureRequest(c *gin.Context, flightId FlightId)
	// SignFlightLive Record a live (in-person) signature
	// (POST /flights/{flightId}/signatures/live)
	SignFlightLive(c *gin.Context, flightId FlightId)
	// GetFlightSignature Get a single signature
	// (GET /flights/{flightId}/signatures/{signatureId})
	GetFlightSignature(c *gin.Context, flightId FlightId, signatureId SignatureId)
	// GetFlightSignatureImage Get the signature image
	// (GET /flights/{flightId}/signatures/{signatureId}/image)
	GetFlightSignatureImage(c *gin.Context, flightId FlightId, signatureId SignatureId)
	// ResendSignatureRequest Resend or regenerate a pending signature request
	// (POST /flights/{flightId}/signatures/{signatureId}/resend)
	ResendSignatureRequest(c *gin.Context, flightId FlightId, signatureId SignatureId)
	// RevokeSignatureRequest Revoke a pending signature request
	// (POST /flights/{flightId}/signatures/{signatureId}/revoke)
	RevokeSignatureRequest(c *gin.Context, flightId FlightId, signatureId SignatureId)
	// VoidFlightSignature Void a completed signature
	// (POST /flights/{flightId}/signatures/{signatureId}/void)
	VoidFlightSignature(c *gin.Context, flightId FlightId, signatureId SignatureId)
	// ListImports List import history
	// (GET /imports)
	ListImports(c *gin.Context, params ListImportsParams)
	// ConfirmImport Confirm and execute import
	// (POST /imports/confirm)
	ConfirmImport(c *gin.Context)
	// ImportDataJSON Restore a NinerLog JSON backup
	// (POST /imports/json)
	ImportDataJSON(c *gin.Context)
	// PreviewImport Preview mapped flights
	// (POST /imports/preview)
	PreviewImport(c *gin.Context)
	// UploadImportFile Upload file for import
	// (POST /imports/upload)
	UploadImportFile(c *gin.Context)
	// GetImport Get import details
	// (GET /imports/{importId})
	GetImport(c *gin.Context, importId ImportId)
	// ListLicenses List user's licenses
	// (GET /licenses)
	ListLicenses(c *gin.Context, params ListLicensesParams)
	// CreateLicense Create a new license
	// (POST /licenses)
	CreateLicense(c *gin.Context)
	// DeleteLicense Delete license
	// (DELETE /licenses/{licenseId})
	DeleteLicense(c *gin.Context, licenseId LicenseId)
	// GetLicense Get license details
	// (GET /licenses/{licenseId})
	GetLicense(c *gin.Context, licenseId LicenseId)
	// UpdateLicense Update license
	// (PATCH /licenses/{licenseId})
	UpdateLicense(c *gin.Context, licenseId LicenseId)
	// GetLicenseCurrency Check currency status
	// (GET /licenses/{licenseId}/currency)
	GetLicenseCurrency(c *gin.Context, licenseId LicenseId)
	// ListLicenseFiles List a licence's reference files
	// (GET /licenses/{licenseId}/files)
	ListLicenseFiles(c *gin.Context, licenseId LicenseId)
	// UploadLicenseFile Upload a reference file for a licence
	// (POST /licenses/{licenseId}/files)
	UploadLicenseFile(c *gin.Context, licenseId LicenseId)
	// DeleteLicenseFile Delete a licence reference image
	// (DELETE /licenses/{licenseId}/files/{fileId})
	DeleteLicenseFile(c *gin.Context, licenseId LicenseId, fileId DocumentFileId)
	// GetLicenseFile Download a licence reference image
	// (GET /licenses/{licenseId}/files/{fileId})
	GetLicenseFile(c *gin.Context, licenseId LicenseId, fileId DocumentFileId)
	// ListClassRatings List class ratings for a license
	// (GET /licenses/{licenseId}/ratings)
	ListClassRatings(c *gin.Context, licenseId LicenseId)
	// CreateClassRating Add class rating to license
	// (POST /licenses/{licenseId}/ratings)
	CreateClassRating(c *gin.Context, licenseId LicenseId)
	// DeleteClassRating Delete class rating
	// (DELETE /licenses/{licenseId}/ratings/{ratingId})
	DeleteClassRating(c *gin.Context, licenseId LicenseId, ratingId openapi_types.UUID)
	// UpdateClassRating Update class rating
	// (PATCH /licenses/{licenseId}/ratings/{ratingId})
	UpdateClassRating(c *gin.Context, licenseId LicenseId, ratingId openapi_types.UUID)
	// GetLicenseStatistics Get license statistics
	// (GET /licenses/{licenseId}/statistics)
	GetLicenseStatistics(c *gin.Context, licenseId LicenseId, params GetLicenseStatisticsParams)
	// GetAirportStats Get airport statistics
	// (GET /reports/airport-stats)
	GetAirportStats(c *gin.Context)
	// GetFlightAnalytics Get full logbook analytics
	// (GET /reports/analytics)
	GetFlightAnalytics(c *gin.Context, params GetFlightAnalyticsParams)
	// GetFlightRoutes Get flight routes for map
	// (GET /reports/routes)
	GetFlightRoutes(c *gin.Context)
	// GetStatsByClass Get statistics by aircraft class and category
	// (GET /reports/stats-by-class)
	GetStatsByClass(c *gin.Context, params GetStatsByClassParams)
	// GetFlightTrends Get monthly flight trends
	// (GET /reports/trends)
	GetFlightTrends(c *gin.Context, params GetFlightTrendsParams)
	// GetPublicSignatureInfo Get public signing info for a token
	// (GET /sign/{token})
	GetPublicSignatureInfo(c *gin.Context, token SignatureToken)
	// CompletePublicSignature Complete a signature via a public link
	// (POST /sign/{token})
	CompletePublicSignature(c *gin.Context, token SignatureToken)
	// ListDeletions List deletions since a watermark
	// (GET /sync/deletions)
	ListDeletions(c *gin.Context, params ListDeletionsParams)
	// DeleteCurrentUser Delete current user account
	// (DELETE /users/me)
	DeleteCurrentUser(c *gin.Context)
	// GetCurrentUser Get current user profile
	// (GET /users/me)
	GetCurrentUser(c *gin.Context)
	// UpdateCurrentUser Update current user profile
	// (PATCH /users/me)
	UpdateCurrentUser(c *gin.Context)
	// DeleteMyBaseline Remove the user's initial hours snapshot
	// (DELETE /users/me/baseline)
	DeleteMyBaseline(c *gin.Context)
	// GetMyBaseline Get the user's initial hours snapshot (baseline)
	// (GET /users/me/baseline)
	GetMyBaseline(c *gin.Context)
	// PutMyBaseline Create or replace the user's initial hours snapshot
	// (PUT /users/me/baseline)
	PutMyBaseline(c *gin.Context)
	// DeleteAllUserData Delete all user data
	// (DELETE /users/me/data)
	DeleteAllUserData(c *gin.Context)
	// GetNotificationPreferences Get notification preferences
	// (GET /users/me/notifications)
	GetNotificationPreferences(c *gin.Context)
	// UpdateNotificationPreferences Update notification preferences
	// (PATCH /users/me/notifications)
	UpdateNotificationPreferences(c *gin.Context)
	// GetNotificationHistory Get notification history
	// (GET /users/me/notifications/history)
	GetNotificationHistory(c *gin.Context, params GetNotificationHistoryParams)
	// GetMyStatistics 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) CleanupUnverifiedAccounts added in v1.3.2

func (siw *ServerInterfaceWrapper) CleanupUnverifiedAccounts(c *gin.Context)

CleanupUnverifiedAccounts operation middleware

func (*ServerInterfaceWrapper) CompletePublicSignature added in v1.2.9

func (siw *ServerInterfaceWrapper) CompletePublicSignature(c *gin.Context)

CompletePublicSignature 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) CreateBackupDestination added in v1.2.4

func (siw *ServerInterfaceWrapper) CreateBackupDestination(c *gin.Context)

CreateBackupDestination 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) CreateSignatureRequest added in v1.2.9

func (siw *ServerInterfaceWrapper) CreateSignatureRequest(c *gin.Context)

CreateSignatureRequest 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) DeleteBackupDestination added in v1.2.4

func (siw *ServerInterfaceWrapper) DeleteBackupDestination(c *gin.Context)

DeleteBackupDestination 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) DeleteCredentialFile added in v1.3.2

func (siw *ServerInterfaceWrapper) DeleteCredentialFile(c *gin.Context)

DeleteCredentialFile operation middleware

func (*ServerInterfaceWrapper) DeleteCurrentUser

func (siw *ServerInterfaceWrapper) DeleteCurrentUser(c *gin.Context)

DeleteCurrentUser operation middleware

func (*ServerInterfaceWrapper) DeleteEmailSuppression added in v1.3.2

func (siw *ServerInterfaceWrapper) DeleteEmailSuppression(c *gin.Context)

DeleteEmailSuppression 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) DeleteLicenseFile added in v1.3.2

func (siw *ServerInterfaceWrapper) DeleteLicenseFile(c *gin.Context)

DeleteLicenseFile 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) DiscardCurrentFlightSession added in v1.2.8

func (siw *ServerInterfaceWrapper) DiscardCurrentFlightSession(c *gin.Context)

DiscardCurrentFlightSession operation middleware

func (*ServerInterfaceWrapper) EnableUser

func (siw *ServerInterfaceWrapper) EnableUser(c *gin.Context)

EnableUser operation middleware

func (*ServerInterfaceWrapper) ExchangeOidcCode added in v1.3.2

func (siw *ServerInterfaceWrapper) ExchangeOidcCode(c *gin.Context)

ExchangeOidcCode operation middleware

func (*ServerInterfaceWrapper) ExportContactsVCard added in v1.3.3

func (siw *ServerInterfaceWrapper) ExportContactsVCard(c *gin.Context)

ExportContactsVCard 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) GetAircraftStats added in v1.3.1

func (siw *ServerInterfaceWrapper) GetAircraftStats(c *gin.Context)

GetAircraftStats 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) GetAuthProviders added in v1.3.2

func (siw *ServerInterfaceWrapper) GetAuthProviders(c *gin.Context)

GetAuthProviders operation middleware

func (*ServerInterfaceWrapper) GetBackupDestination added in v1.2.4

func (siw *ServerInterfaceWrapper) GetBackupDestination(c *gin.Context)

GetBackupDestination operation middleware

func (*ServerInterfaceWrapper) GetBackupRun added in v1.2.4

func (siw *ServerInterfaceWrapper) GetBackupRun(c *gin.Context)

GetBackupRun 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) GetCredentialFile added in v1.3.2

func (siw *ServerInterfaceWrapper) GetCredentialFile(c *gin.Context)

GetCredentialFile operation middleware

func (*ServerInterfaceWrapper) GetCurrentFlightSession added in v1.2.8

func (siw *ServerInterfaceWrapper) GetCurrentFlightSession(c *gin.Context)

GetCurrentFlightSession operation middleware

func (*ServerInterfaceWrapper) GetCurrentUser

func (siw *ServerInterfaceWrapper) GetCurrentUser(c *gin.Context)

GetCurrentUser operation middleware

func (*ServerInterfaceWrapper) GetFeatures added in v1.3.2

func (siw *ServerInterfaceWrapper) GetFeatures(c *gin.Context)

GetFeatures operation middleware

func (*ServerInterfaceWrapper) GetFlight

func (siw *ServerInterfaceWrapper) GetFlight(c *gin.Context)

GetFlight operation middleware

func (*ServerInterfaceWrapper) GetFlightAnalytics added in v1.3.1

func (siw *ServerInterfaceWrapper) GetFlightAnalytics(c *gin.Context)

GetFlightAnalytics operation middleware

func (*ServerInterfaceWrapper) GetFlightRoutes

func (siw *ServerInterfaceWrapper) GetFlightRoutes(c *gin.Context)

GetFlightRoutes operation middleware

func (*ServerInterfaceWrapper) GetFlightSignature added in v1.2.9

func (siw *ServerInterfaceWrapper) GetFlightSignature(c *gin.Context)

GetFlightSignature operation middleware

func (*ServerInterfaceWrapper) GetFlightSignatureImage added in v1.2.9

func (siw *ServerInterfaceWrapper) GetFlightSignatureImage(c *gin.Context)

GetFlightSignatureImage 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) GetLicenseFile added in v1.3.2

func (siw *ServerInterfaceWrapper) GetLicenseFile(c *gin.Context)

GetLicenseFile 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) GetPublicSignatureInfo added in v1.2.9

func (siw *ServerInterfaceWrapper) GetPublicSignatureInfo(c *gin.Context)

GetPublicSignatureInfo 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) ListBackupDestinations added in v1.2.4

func (siw *ServerInterfaceWrapper) ListBackupDestinations(c *gin.Context)

ListBackupDestinations operation middleware

func (*ServerInterfaceWrapper) ListBackupProviders added in v1.2.4

func (siw *ServerInterfaceWrapper) ListBackupProviders(c *gin.Context)

ListBackupProviders operation middleware

func (*ServerInterfaceWrapper) ListBackupRuns added in v1.2.4

func (siw *ServerInterfaceWrapper) ListBackupRuns(c *gin.Context)

ListBackupRuns 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) ListCredentialFiles added in v1.3.2

func (siw *ServerInterfaceWrapper) ListCredentialFiles(c *gin.Context)

ListCredentialFiles operation middleware

func (*ServerInterfaceWrapper) ListCredentials

func (siw *ServerInterfaceWrapper) ListCredentials(c *gin.Context)

ListCredentials operation middleware

func (*ServerInterfaceWrapper) ListDeletions added in v1.3.2

func (siw *ServerInterfaceWrapper) ListDeletions(c *gin.Context)

ListDeletions operation middleware

func (*ServerInterfaceWrapper) ListEmailDeliveries added in v1.3.2

func (siw *ServerInterfaceWrapper) ListEmailDeliveries(c *gin.Context)

ListEmailDeliveries operation middleware

func (*ServerInterfaceWrapper) ListEmailSuppressions added in v1.3.2

func (siw *ServerInterfaceWrapper) ListEmailSuppressions(c *gin.Context)

ListEmailSuppressions operation middleware

func (*ServerInterfaceWrapper) ListFlightSignatures added in v1.2.9

func (siw *ServerInterfaceWrapper) ListFlightSignatures(c *gin.Context)

ListFlightSignatures 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) ListLicenseFiles added in v1.3.2

func (siw *ServerInterfaceWrapper) ListLicenseFiles(c *gin.Context)

ListLicenseFiles 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) LogoutUser added in v1.3.1

func (siw *ServerInterfaceWrapper) LogoutUser(c *gin.Context)

LogoutUser 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) RecordFlightSessionEvent added in v1.2.8

func (siw *ServerInterfaceWrapper) RecordFlightSessionEvent(c *gin.Context)

RecordFlightSessionEvent 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) ResendSignatureRequest added in v1.2.9

func (siw *ServerInterfaceWrapper) ResendSignatureRequest(c *gin.Context)

ResendSignatureRequest operation middleware

func (*ServerInterfaceWrapper) ResendVerificationEmail added in v1.2.5

func (siw *ServerInterfaceWrapper) ResendVerificationEmail(c *gin.Context)

ResendVerificationEmail 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) RevokeSignatureRequest added in v1.2.9

func (siw *ServerInterfaceWrapper) RevokeSignatureRequest(c *gin.Context)

RevokeSignatureRequest operation middleware

func (*ServerInterfaceWrapper) RunBackupNow added in v1.2.4

func (siw *ServerInterfaceWrapper) RunBackupNow(c *gin.Context)

RunBackupNow 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) SignFlightLive added in v1.2.9

func (siw *ServerInterfaceWrapper) SignFlightLive(c *gin.Context)

SignFlightLive operation middleware

func (*ServerInterfaceWrapper) SmtpTest

func (siw *ServerInterfaceWrapper) SmtpTest(c *gin.Context)

SmtpTest operation middleware

func (*ServerInterfaceWrapper) TestBackupDestination added in v1.2.4

func (siw *ServerInterfaceWrapper) TestBackupDestination(c *gin.Context)

TestBackupDestination 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) UpdateBackupDestination added in v1.2.4

func (siw *ServerInterfaceWrapper) UpdateBackupDestination(c *gin.Context)

UpdateBackupDestination 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) UploadCredentialFile added in v1.3.2

func (siw *ServerInterfaceWrapper) UploadCredentialFile(c *gin.Context)

UploadCredentialFile operation middleware

func (*ServerInterfaceWrapper) UploadImportFile

func (siw *ServerInterfaceWrapper) UploadImportFile(c *gin.Context)

UploadImportFile operation middleware

func (*ServerInterfaceWrapper) UploadLicenseFile added in v1.3.2

func (siw *ServerInterfaceWrapper) UploadLicenseFile(c *gin.Context)

UploadLicenseFile operation middleware

func (*ServerInterfaceWrapper) Verify2FA

func (siw *ServerInterfaceWrapper) Verify2FA(c *gin.Context)

Verify2FA operation middleware

func (*ServerInterfaceWrapper) VerifyEmail added in v1.2.5

func (siw *ServerInterfaceWrapper) VerifyEmail(c *gin.Context)

VerifyEmail operation middleware

func (*ServerInterfaceWrapper) VoidFlightSignature added in v1.2.9

func (siw *ServerInterfaceWrapper) VoidFlightSignature(c *gin.Context)

VoidFlightSignature 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 SignFlightLiveJSONRequestBody added in v1.2.9

type SignFlightLiveJSONRequestBody = CreateLiveSignatureRequest

SignFlightLiveJSONRequestBody defines body for SignFlightLive for application/json ContentType.

type SignatureId added in v1.2.9

type SignatureId = openapi_types.UUID

SignatureId Example: 880e8400-e29b-41d4-a716-446655440003

type SignatureRequestCreated added in v1.2.9

type SignatureRequestCreated struct {
	CreatedAt                  time.Time            `json:"createdAt"`
	EmailSendCount             int                  `json:"emailSendCount"`
	EmailSentAt                *time.Time           `json:"emailSentAt,omitempty"`
	FlightId                   openapi_types.UUID   `json:"flightId"`
	Id                         openapi_types.UUID   `json:"id"`
	InstructorCredentialNumber *string              `json:"instructorCredentialNumber,omitempty"`
	InstructorEmail            *openapi_types.Email `json:"instructorEmail,omitempty"`
	InstructorName             *string              `json:"instructorName,omitempty"`

	// Method live = captured in person with no token; deferred = token-based, delivered by email and/or a shareable link/QR
	Method SignatureRequestCreatedMethod `json:"method"`

	// SignUrl Example: https://app.ninerlog.com/sign?token=3q2-7w15QSf9jZ0mF8x1uQhz6cQd8k2r9m5b0nJH8k4
	SignUrl        string                        `json:"signUrl"`
	SignedAt       *time.Time                    `json:"signedAt,omitempty"`
	Status         SignatureRequestCreatedStatus `json:"status"`
	TokenExpiresAt *time.Time                    `json:"tokenExpiresAt,omitempty"`
	UpdatedAt      time.Time                     `json:"updatedAt"`
	VoidedAt       *time.Time                    `json:"voidedAt,omitempty"`
	VoidedReason   *string                       `json:"voidedReason,omitempty"`
}

SignatureRequestCreated A FlightSignature plus the one-time signing URL. The URL is only ever returned from the create/resend calls that generated it — it is not retrievable again afterwards, so the owner must copy/share it (or its QR code) immediately, or resend to get a fresh one.

type SignatureRequestCreatedMethod added in v1.2.9

type SignatureRequestCreatedMethod string

SignatureRequestCreatedMethod live = captured in person with no token; deferred = token-based, delivered by email and/or a shareable link/QR

const (
	SignatureRequestCreatedMethodDeferred SignatureRequestCreatedMethod = "deferred"
	SignatureRequestCreatedMethodLive     SignatureRequestCreatedMethod = "live"
)

Defines values for SignatureRequestCreatedMethod.

func (SignatureRequestCreatedMethod) Valid added in v1.2.9

Valid indicates whether the value is a known member of the SignatureRequestCreatedMethod enum.

type SignatureRequestCreatedStatus added in v1.2.9

type SignatureRequestCreatedStatus string

SignatureRequestCreatedStatus defines model for SignatureRequestCreated.Status.

const (
	SignatureRequestCreatedStatusCompleted SignatureRequestCreatedStatus = "completed"
	SignatureRequestCreatedStatusExpired   SignatureRequestCreatedStatus = "expired"
	SignatureRequestCreatedStatusPending   SignatureRequestCreatedStatus = "pending"
	SignatureRequestCreatedStatusRevoked   SignatureRequestCreatedStatus = "revoked"
	SignatureRequestCreatedStatusVoided    SignatureRequestCreatedStatus = "voided"
)

Defines values for SignatureRequestCreatedStatus.

func (SignatureRequestCreatedStatus) Valid added in v1.2.9

Valid indicates whether the value is a known member of the SignatureRequestCreatedStatus enum.

type SignatureToken added in v1.2.9

type SignatureToken = string

SignatureToken Example: 3q2-7w15QSf9jZ0mF8x1uQhz6cQd8k2r9m5b0nJH8k4

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
	//
	// Example: 12000
	CrossCountryMinutes *int `json:"crossCountryMinutes,omitempty"`

	// DualMinutes Total dual instruction block time in minutes
	//
	// Example: 2730
	DualMinutes int `json:"dualMinutes"`

	// IfrMinutes Total IFR block time in minutes
	//
	// Example: 1800
	IfrMinutes int `json:"ifrMinutes"`

	// LandingsDay Total day landings
	//
	// Example: 450
	LandingsDay int `json:"landingsDay"`

	// LandingsNight Total night landings
	//
	// Example: 35
	LandingsNight int `json:"landingsNight"`

	// LicenseId Example: 660e8400-e29b-41d4-a716-446655440001
	LicenseId *openapi_types.UUID `json:"licenseId,omitempty"`

	// NightMinutes Total night block time in minutes
	//
	// Example: 930
	NightMinutes int `json:"nightMinutes"`

	// PicMinutes Total PIC block time in minutes
	//
	// Example: 19200
	PicMinutes int `json:"picMinutes"`

	// SoloMinutes Total solo time in minutes
	//
	// Example: 7200
	SoloMinutes *int `json:"soloMinutes,omitempty"`

	// TotalFlights Total number of flights
	//
	// Example: 150
	TotalFlights int `json:"totalFlights"`

	// TotalMinutes Total block time in minutes
	//
	// Example: 23130
	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
	//
	// Example: ["abc12-def34","ghi56-jkl78","mno90-pqr12"]
	RecoveryCodes []string `json:"recoveryCodes"`
}

TwoFactorEnabled defines model for TwoFactorEnabled.

type TwoFactorLoginRequired added in v1.3.2

type TwoFactorLoginRequired struct {
	// RequiresTwoFactor Always `true`. Present only on this shape, so clients can use it to
	// tell a challenge from a completed `AuthResponse`.
	//
	//
	// Example: true
	RequiresTwoFactor bool `json:"requiresTwoFactor"`

	// TwoFactorToken Temporary token to use with /auth/2fa/login
	TwoFactorToken string `json:"twoFactorToken"`
}

TwoFactorLoginRequired Returned by `/auth/login` with status 200 when the account has two-factor authentication enabled. No session exists yet: the credentials were accepted, but the second factor is still outstanding.

type TwoFactorSetup

type TwoFactorSetup struct {
	// QrUri otpauth:// URI for QR code generation
	//
	// Example: otpauth://totp/NinerLog:pilot@example.com?secret=JBSWY3DPEHPK3PXP&issuer=NinerLog
	QrUri string `json:"qrUri"`

	// Secret Base32-encoded TOTP secret for manual entry
	//
	// Example: JBSWY3DPEHPK3PXP
	Secret string `json:"secret"`
}

TwoFactorSetup defines model for TwoFactorSetup.

type Unauthorized

type Unauthorized = Error

Unauthorized defines model for Unauthorized.

type UpdateAircraftJSONRequestBody

type UpdateAircraftJSONRequestBody = AircraftUpdate

UpdateAircraftJSONRequestBody defines body for UpdateAircraft for application/json ContentType.

type UpdateBackupDestinationJSONRequestBody added in v1.2.4

type UpdateBackupDestinationJSONRequestBody = BackupDestinationUpdate

UpdateBackupDestinationJSONRequestBody defines body for UpdateBackupDestination 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 {
	// CurrentPassword Current password. Required when changing the email address. The new address is marked unverified and a verification link is sent to it before it is trusted again.
	CurrentPassword *string `json:"currentPassword,omitempty"`

	// 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"`

	// FlightListColumnMode Whether the flights list picks its optional columns from the data ("auto") or uses flightListColumns ("custom")
	FlightListColumnMode *UpdateCurrentUserJSONBodyFlightListColumnMode `json:"flightListColumnMode,omitempty"`

	// FlightListColumns The optional flights-list columns to show in "custom" mode. Replaces the stored list; an empty array is valid and means no optional columns. Unknown values are ignored.
	FlightListColumns *[]FlightListColumn `json:"flightListColumns,omitempty"`
	Name              *string             `json:"name,omitempty"`

	// PreferredLocale Preferred language for the interface
	PreferredLocale *UpdateCurrentUserJSONBodyPreferredLocale `json:"preferredLocale,omitempty"`

	// RecencyPerModel Show informational 90-day landing recency per aircraft model/type
	RecencyPerModel *bool `json:"recencyPerModel,omitempty"`

	// RecencyPerRegistration Show informational 90-day landing recency per individual aircraft registration
	RecencyPerRegistration *bool `json:"recencyPerRegistration,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.

func (UpdateCurrentUserJSONBodyDateFormat) Valid added in v1.1.0

Valid indicates whether the value is a known member of the UpdateCurrentUserJSONBodyDateFormat enum.

type UpdateCurrentUserJSONBodyDecimalSeparator

type UpdateCurrentUserJSONBodyDecimalSeparator string

UpdateCurrentUserJSONBodyDecimalSeparator defines parameters for UpdateCurrentUser.

const (
	UpdateCurrentUserJSONBodyDecimalSeparatorComma UpdateCurrentUserJSONBodyDecimalSeparator = "comma"
	UpdateCurrentUserJSONBodyDecimalSeparatorDot   UpdateCurrentUserJSONBodyDecimalSeparator = "dot"
)

Defines values for UpdateCurrentUserJSONBodyDecimalSeparator.

func (UpdateCurrentUserJSONBodyDecimalSeparator) Valid added in v1.1.0

Valid indicates whether the value is a known member of the UpdateCurrentUserJSONBodyDecimalSeparator enum.

type UpdateCurrentUserJSONBodyFlightListColumnMode added in v1.3.2

type UpdateCurrentUserJSONBodyFlightListColumnMode string

UpdateCurrentUserJSONBodyFlightListColumnMode defines parameters for UpdateCurrentUser.

const (
	UpdateCurrentUserJSONBodyFlightListColumnModeAuto   UpdateCurrentUserJSONBodyFlightListColumnMode = "auto"
	UpdateCurrentUserJSONBodyFlightListColumnModeCustom UpdateCurrentUserJSONBodyFlightListColumnMode = "custom"
)

Defines values for UpdateCurrentUserJSONBodyFlightListColumnMode.

func (UpdateCurrentUserJSONBodyFlightListColumnMode) Valid added in v1.3.2

Valid indicates whether the value is a known member of the UpdateCurrentUserJSONBodyFlightListColumnMode enum.

type UpdateCurrentUserJSONBodyPreferredLocale

type UpdateCurrentUserJSONBodyPreferredLocale string

UpdateCurrentUserJSONBodyPreferredLocale defines parameters for UpdateCurrentUser.

const (
	UpdateCurrentUserJSONBodyPreferredLocaleDe UpdateCurrentUserJSONBodyPreferredLocale = "de"
	UpdateCurrentUserJSONBodyPreferredLocaleEn UpdateCurrentUserJSONBodyPreferredLocale = "en"
)

Defines values for UpdateCurrentUserJSONBodyPreferredLocale.

func (UpdateCurrentUserJSONBodyPreferredLocale) Valid added in v1.1.0

Valid indicates whether the value is a known member of the UpdateCurrentUserJSONBodyPreferredLocale enum.

type UpdateCurrentUserJSONBodyTimeDisplayFormat

type UpdateCurrentUserJSONBodyTimeDisplayFormat string

UpdateCurrentUserJSONBodyTimeDisplayFormat defines parameters for UpdateCurrentUser.

const (
	UpdateCurrentUserJSONBodyTimeDisplayFormatDecimal UpdateCurrentUserJSONBodyTimeDisplayFormat = "decimal"
	UpdateCurrentUserJSONBodyTimeDisplayFormatHm      UpdateCurrentUserJSONBodyTimeDisplayFormat = "hm"
)

Defines values for UpdateCurrentUserJSONBodyTimeDisplayFormat.

func (UpdateCurrentUserJSONBodyTimeDisplayFormat) Valid added in v1.1.0

Valid indicates whether the value is a known member of the UpdateCurrentUserJSONBodyTimeDisplayFormat enum.

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 UpdatedSince added in v1.3.2

type UpdatedSince = time.Time

UpdatedSince Example: 2026-08-05T10:08:45.123456Z

type UploadCredentialFileMultipartRequestBody added in v1.3.2

type UploadCredentialFileMultipartRequestBody = DocumentFileUpload

UploadCredentialFileMultipartRequestBody defines body for UploadCredentialFile for multipart/form-data 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 UploadLicenseFileMultipartRequestBody added in v1.3.2

type UploadLicenseFileMultipartRequestBody = DocumentFileUpload

UploadLicenseFileMultipartRequestBody defines body for UploadLicenseFile for multipart/form-data ContentType.

type User

type User struct {
	// CreatedAt Example: 2026-01-15T10:30:00Z
	CreatedAt time.Time `json:"createdAt"`

	// DateFormat User's preferred date display format.
	//
	// Example: DD.MM.YYYY
	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).
	//
	// Example: comma
	DecimalSeparator *UserDecimalSeparator `json:"decimalSeparator,omitempty"`

	// Email Example: pilot@example.com
	Email openapi_types.Email `json:"email"`

	// EmailVerified Whether the user has confirmed their email address.
	//
	// Example: true
	EmailVerified *bool `json:"emailVerified,omitempty"`

	// FlightListColumnMode How the optional columns of the flights list are chosen. "auto" lets the client pick them from the flights on the page, so an unused column (IFR time for a VFR-only pilot) never takes up width. "custom" means flightListColumns is the user's own choice.
	//
	// Example: auto
	FlightListColumnMode *UserFlightListColumnMode `json:"flightListColumnMode,omitempty"`

	// FlightListColumns The optional flights-list columns the user picked. Only meaningful when flightListColumnMode is "custom", where an empty array means "none of the optional columns". Stored deduplicated and in the canonical display order; unknown values are dropped.
	//
	// Example: ["picTime","nightTime","landings"]
	FlightListColumns *[]FlightListColumn `json:"flightListColumns,omitempty"`

	// Id Example: 550e8400-e29b-41d4-a716-446655440000
	Id openapi_types.UUID `json:"id"`

	// IsAdmin Whether this user is the platform admin (computed from ADMIN_EMAIL env var, not stored in DB)
	//
	// Example: false
	IsAdmin *bool `json:"isAdmin,omitempty"`

	// Name Example: John Doe
	Name string `json:"name"`

	// PreferredLocale User's preferred language for the interface.
	//
	// Example: en
	PreferredLocale *UserPreferredLocale `json:"preferredLocale,omitempty"`

	// RecencyPerModel Show informational 90-day landing recency (styled after EASA FCL.060(b)) per aircraft model/type.
	//
	// Example: true
	RecencyPerModel *bool `json:"recencyPerModel,omitempty"`

	// RecencyPerRegistration Show informational 90-day landing recency per individual aircraft registration. Off by default — FCL.060(b) recency is defined per type/class, so per-registration tracking is purely a familiarity aid.
	//
	// Example: false
	RecencyPerRegistration *bool `json:"recencyPerRegistration,omitempty"`

	// TimeDisplayFormat User's preferred time display format. "hm" for hours and minutes (1h 30m), "decimal" for decimal hours (1.5h).
	//
	// Example: hm
	TimeDisplayFormat *UserTimeDisplayFormat `json:"timeDisplayFormat,omitempty"`

	// TwoFactorEnabled Whether 2FA is enabled for this account
	//
	// Example: false
	TwoFactorEnabled *bool `json:"twoFactorEnabled,omitempty"`

	// UpdatedAt Example: 2026-01-20T14:45:00Z
	UpdatedAt time.Time `json:"updatedAt"`
}

User defines model for User.

type UserDateFormat

type UserDateFormat string

UserDateFormat User's preferred date display format.

Example: DD.MM.YYYY

const (
	UserDateFormatDDMMYYYY UserDateFormat = "DD.MM.YYYY"
	UserDateFormatMMDDYYYY UserDateFormat = "MM/DD/YYYY"
	UserDateFormatYYYYMMDD UserDateFormat = "YYYY-MM-DD"
)

Defines values for UserDateFormat.

func (UserDateFormat) Valid added in v1.1.0

func (e UserDateFormat) Valid() bool

Valid indicates whether the value is a known member of the UserDateFormat enum.

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).

Example: comma

const (
	UserDecimalSeparatorComma UserDecimalSeparator = "comma"
	UserDecimalSeparatorDot   UserDecimalSeparator = "dot"
)

Defines values for UserDecimalSeparator.

func (UserDecimalSeparator) Valid added in v1.1.0

func (e UserDecimalSeparator) Valid() bool

Valid indicates whether the value is a known member of the UserDecimalSeparator enum.

type UserFlightListColumnMode added in v1.3.2

type UserFlightListColumnMode string

UserFlightListColumnMode How the optional columns of the flights list are chosen. "auto" lets the client pick them from the flights on the page, so an unused column (IFR time for a VFR-only pilot) never takes up width. "custom" means flightListColumns is the user's own choice.

Example: auto

const (
	UserFlightListColumnModeAuto   UserFlightListColumnMode = "auto"
	UserFlightListColumnModeCustom UserFlightListColumnMode = "custom"
)

Defines values for UserFlightListColumnMode.

func (UserFlightListColumnMode) Valid added in v1.3.2

func (e UserFlightListColumnMode) Valid() bool

Valid indicates whether the value is a known member of the UserFlightListColumnMode enum.

type UserPreferredLocale

type UserPreferredLocale string

UserPreferredLocale User's preferred language for the interface.

Example: en

const (
	UserPreferredLocaleDe UserPreferredLocale = "de"
	UserPreferredLocaleEn UserPreferredLocale = "en"
)

Defines values for UserPreferredLocale.

func (UserPreferredLocale) Valid added in v1.1.0

func (e UserPreferredLocale) Valid() bool

Valid indicates whether the value is a known member of the UserPreferredLocale enum.

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).

Example: hm

const (
	UserTimeDisplayFormatDecimal UserTimeDisplayFormat = "decimal"
	UserTimeDisplayFormatHm      UserTimeDisplayFormat = "hm"
)

Defines values for UserTimeDisplayFormat.

func (UserTimeDisplayFormat) Valid added in v1.1.0

func (e UserTimeDisplayFormat) Valid() bool

Valid indicates whether the value is a known member of the UserTimeDisplayFormat enum.

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 VerifyEmailJSONBody added in v1.2.5

type VerifyEmailJSONBody struct {
	// Token Verification token from the email link
	Token string `json:"token"`
}

VerifyEmailJSONBody defines parameters for VerifyEmail.

type VerifyEmailJSONRequestBody added in v1.2.5

type VerifyEmailJSONRequestBody VerifyEmailJSONBody

VerifyEmailJSONRequestBody defines body for VerifyEmail for application/json ContentType.

type VoidFlightSignatureJSONRequestBody added in v1.2.9

type VoidFlightSignatureJSONRequestBody = VoidSignatureRequest

VoidFlightSignatureJSONRequestBody defines body for VoidFlightSignature for application/json ContentType.

type VoidSignatureRequest added in v1.2.9

type VoidSignatureRequest struct {
	// Reason Example: Entered wrong dual time, correcting before re-signing
	Reason string `json:"reason"`
}

VoidSignatureRequest defines model for VoidSignatureRequest.

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,omitempty"`
	LastUsedAt *time.Time `json:"lastUsedAt,omitempty"`

	// 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 single-use ceremony handle to send back with the verify request. Hold it in memory for the duration of the ceremony; it must not be persisted.
	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 single-use ceremony handle to send back with the verify request. Hold it in memory for the duration of the ceremony; it must not be persisted.
	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 Single-use ceremony handle returned from `/auth/webauthn/login/options`. Rejected if it has expired or has already been used.
	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 Single-use ceremony handle returned from `/auth/webauthn/register/options`. Rejected if it has expired, has already been used, or was issued for a different user.
	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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL