Documentation
¶
Index ¶
- Constants
- type ADIFBand
- type ADIFDate
- type ADIFFreq
- type ADIFTime
- type AppConfig
- type ContactedStation
- type Country
- type DatastoreConfig
- type Logbook
- type LogbookList
- type LoggingConfig
- type LoggingStation
- type Qso
- type QsoDetails
- type RegisterLogbookRequest
- type RegisterLogbookResponse
- type RequiredConfigs
Constants ¶
View Source
const ( ConfigServiceName = "configservice" DatabaseServiceName = "databaseservice" LoggingServiceName = "loggingservice" SubSystemServiceName = "subsysservice" )
View Source
const ( PostgresServiceName = "postgres" SqliteServiceName = "sqlite" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppConfig ¶
type AppConfig struct {
DatastoreConfig DatastoreConfig `json:"datastore_config"`
LoggingConfig LoggingConfig `json:"logging_config"`
RequiredConfigs RequiredConfigs `json:"required_configs"`
}
type ContactedStation ¶ added in v0.0.6
type ContactedStation struct {
Address string `json:"address"`
Age string `json:"age"`
Altitude string `json:"altitude"`
Call string `json:"call"`
Cont string `json:"cont"` // the contacted station's Continent
ContactedOp string `json:"contacted_op"`
Country string `json:"country"`
CQZ string `json:"cqz"`
DXCC string `json:"dxcc"`
Email string `json:"email"`
EqCall string `json:"eq_call"` // the contacted station's owner's callsign
Gridsquare string `json:"gridsquare"`
Iota string `json:"iota"`
IotaIslandId string `json:"iota_island_id"`
ITUZ string `json:"ituz"`
Lat string `json:"lat"`
Lon string `json:"lon"`
Name string `json:"name"`
QTH string `json:"qth"`
Rig string `json:"rig"`
Web string `json:"web"`
WwffRef string `json:"wwff_ref"`
}
ContactedStation represents details of the station contacted during a QSO, and is compatible with the ADI format.
type Country ¶ added in v0.0.6
type Country struct {
Name string `json:"name" hamnut:"countryName"`
Prefix string `json:"prefix" hamnut:"prefix"`
Ccode string `json:"ccode" hamnut:"countryCode"`
Continent string `json:"continent" hamnut:"continent"`
CQZone string `json:"cq_zone" hamnut:"cqZone"`
ITUZone string `json:"itu_zone" hamnut:"ituZone"`
DXCC string `json:"dxcc" hamnut:"primaryDXCCPrefix"`
TimeOffset string `json:"time_offset" hamnut:"timeOffset"`
ShortPathDistance string `json:"short_path_distance"`
LongPathDistance string `json:"long_path_distance"`
ShortPathBearing string `json:"short_path_bearing"`
LongPathBearing string `json:"long_path_bearing"`
IsNewEntity bool `json:"is_new_entity"` // Indicates if this QSO is a new country for the logging station
RequiresUpdate bool `json:"requires_update"`
}
type DatastoreConfig ¶
type DatastoreConfig struct {
Driver string `json:"driver" validate:"oneof=postgres sqlite"`
Path string `json:"path" validate:"required_if=Driver sqlite,omitempty"` // Used for sqlite only
Options map[string]string `json:"options" validate:"required_if=Driver sqlite,omitempty"` // Used for sqlite only
Host string `json:"host" validate:"required_if=Driver postgres,omitempty,hostname|ip"`
Port int `json:"port" validate:"required_if=Driver postgres,omitempty,min=1,max=65535"`
User string `json:"user" validate:"required_if=Driver postgres,omitempty,min=1,max=63,alphanum|contains=_|contains=-"`
Password string `json:"pass" validate:"required_if=Driver postgres,omitempty,min=1"`
Database string `json:"database" validate:"required_if=Driver postgres,omitempty,min=1,max=63,alphanum|contains=_|contains=-"`
SSLMode string `json:"ssl_mode" validate:"required_if=Driver postgres,omitempty,oneof=disable require verify-ca verify-full"`
MaxOpenConns int `json:"max_open_conns" validate:"min=1"`
MaxIdleConns int `json:"max_idle_conns" validate:"min=1"`
ConnMaxLifetime int `json:"conn_max_lifetime" validate:"min=0"` // Number of minutes
ConnMaxIdleTime int `json:"conn_max_idle_time" validate:"min=0"` // Number of minutes
ContextTimeout int `json:"context_timeout" validate:"min=5"` // Seconds
TransactionContextTimeout int `json:"transaction_context_timeout" validate:"min=5"` // Seconds
Debug bool // Enable SQLBoiler query logging
Params map[string]string `json:"params" validate:"omitempty"`
}
type LogbookList ¶ added in v0.0.7
type LogbookList []Logbook
type LoggingConfig ¶ added in v0.0.2
type LoggingConfig struct {
Level string `json:"level" validate:"oneof=trace debug info warn error fatal panic"`
SkipFrameCount int `json:"skip_frame_count" validate:"min=0"`
WithTimestamp bool `json:"with_timestamp"`
ConsoleLogging bool `json:"console_logging"`
FileLogging bool `json:"file_logging"`
RelLogFileDir string `json:"rel_log_file_dir" validate:"required"`
LogFileMaxBackups int `json:"log_file_max_backups" validate:"min=0"`
LogFileMaxAgeDays int `json:"log_file_max_age_days" validate:"min=0"`
LogFileMaxSizeMB int `json:"log_file_max_size_mb" validate:"min=1"`
ShutdownTimeoutMS int `json:"shutdown_timeout_ms" validate:"omitempty,min=10,max=10000"` // Timeout for graceful shutdown (10ms-10s, 0=use default)
ShutdownTimeoutWarning bool `json:"shutdown_timeout_warning"` // Log warning if the shutdown timeout is exceeded
// Optional polish fields
ConsoleNoColor bool `json:"console_no_color"`
ConsoleTimeFormat string `json:"console_time_format"`
LogFileCompress bool `json:"log_file_compress"`
}
type LoggingStation ¶ added in v0.0.6
type LoggingStation struct {
AntennaAzimuth string `json:"ant_az"` // the bearing from the logging station to the contacted station
MyAltitude string `json:"my_altitude"`
MyAntenna string `json:"my_antenna"`
MyCity string `json:"my_city"`
MyCountry string `json:"my_country"`
MyCqZone string `json:"my_cq_zone"`
MyDXCC string `json:"my_dxcc"`
MyGridsquare string `json:"my_gridsquare"`
MyIota string `json:"my_iota"`
MyIotaIslandID string `json:"my_iota_island_id"`
MyITUZone string `json:"my_itu_zone"`
MyLat string `json:"my_lat"`
MyLon string `json:"my_lon"`
MyMorseKeyInfo string `json:"my_morse_key_info"`
MyMorseKeyType string `json:"my_morse_key_type"`
MyName string `json:"my_name"`
MyPostalCode string `json:"my_postal_code"`
MyRig string `json:"my_rig"`
MyStreet string `json:"my_street"`
MyWwffRef string `json:"my_wwff_ref"`
Operator string `json:"operator"` // the logging operator's callsign if STATION_CALLSIGN is absent, OPERATOR shall be treated as both the logging station's callsign and the logging operator's callsign
OwnerCallsign string `json:"owner_callsign"`
StationCallsign string `json:"station_callsign"`
}
LoggingStation represents the details of the station logging the QSO, including location, equipment, and operator info. It is compatible with the ADI format.
type Qso ¶ added in v0.0.6
type Qso struct {
ID int64 `json:"id"`
// LogbookID represents the foreign key to the logbook associated with a QSO entry.
// Every QSO entry MUST have a logbook associated with it.
LogbookID int64 `json:"logbook_id"`
/*
All the below fields are compatible with the ADI format and are populated by the adapter.
The only exception to this is the ID field, which is required by database functions.
*/
QsoDetails
ContactedStation
LoggingStation
}
type QsoDetails ¶ added in v0.0.6
type QsoDetails struct {
AIndex string `json:"a_index"`
AntPath string `json:"ant_path"` // ADIF, section II.B.1 - currently, we only use S and L
Band string `json:"band"`
BandRx string `json:"band_rx"` //in a split frequency QSO, the logging station's receiving band
Comment string `json:"comment"`
ContestId string `json:"contest_id"`
Distance string `json:"distance"` // km
Freq string `json:"freq"`
FreqRx string `json:"freq_rx"`
Mode string `json:"mode"`
Submode string `json:"submode"`
MySig string `json:"my_sig"`
MySigInfo string `json:"my_sig_info"`
Notes string `json:"notes"` // information of interest to the logging station's operator
QsoDate string `json:"qso_date"`
QsoDateOff string `json:"qso_date_off"`
QsoRandom string `json:"qso_random"`
QsoComplete string `json:"qso_complete"`
RstRcvd string `json:"rst_rcvd"`
RstSent string `json:"rst_sent"`
RxPwr string `json:"rx_pwr"` // the contacted station's transmitter power in Watts with a value greater than or equal to 0
Sig string `json:"sig"` // the name of the contacted station's special activity or interest group
SigInfo string `json:"sig_info"` // information associated with the contacted station's activity or interest group
SRX string `json:"srx"` // contest QSO received serial number with a value greater than or equal to 0
STX string `json:"stx"` // contest QSO transmitted serial number with a value greater than or equal to 0
TimeOff string `json:"time_off"`
TimeOn string `json:"time_on"`
TxPwr string `json:"tx_pwr"` // the logging station's power in Watts with a value greater than or equal to 0
}
QsoDetails represents the details of a QSO, and is compatible with the ADI format.
type RegisterLogbookRequest ¶ added in v0.0.10
type RegisterLogbookRequest struct {
Logbook
}
type RegisterLogbookResponse ¶ added in v0.0.10
type RequiredConfigs ¶ added in v0.0.4
type RequiredConfigs struct {
}
Click to show internal directories.
Click to hide internal directories.