feat(lotw): name the station callsign on each downloaded confirmation

With 'All my callsigns' the report spans F4BPO, F4BPO/P and TM2Q at once, and a
list mixing them says nothing about which one a confirmation belongs to — which
is the question that option creates.

The column appears only when the rows actually carry a station: the other
services return one, and an empty column for them would be noise.
This commit is contained in:
2026-08-28 17:43:05 +02:00
parent 242a68080a
commit 3dc31697cd
4 changed files with 27 additions and 11 deletions
+13 -8
View File
@@ -11576,14 +11576,18 @@ func (a *App) runManualUpload(svc extsvc.Service, ids []int64, cfg extsvc.Extern
// with award-style NEW flags computed against the log's prior confirmations.
type ConfirmationItem struct {
Callsign string `json:"callsign"`
QSODate string `json:"qso_date"` // ISO UTC
Band string `json:"band"`
Mode string `json:"mode"`
Country string `json:"country"`
NewDXCC bool `json:"new_dxcc"`
NewBand bool `json:"new_band"`
NewMode bool `json:"new_mode"` // new mode CLASS (Phone/CW/Digital) for the entity
NewSlot bool `json:"new_slot"`
// Station is the callsign the QSO was made UNDER, which the download can now
// span ("All my callsigns"): a list mixing F4BPO, F4BPO/P and TM2Q says
// nothing useful unless each line says which of them it belongs to.
Station string `json:"station"`
QSODate string `json:"qso_date"` // ISO UTC
Band string `json:"band"`
Mode string `json:"mode"`
Country string `json:"country"`
NewDXCC bool `json:"new_dxcc"`
NewBand bool `json:"new_band"`
NewMode bool `json:"new_mode"` // new mode CLASS (Phone/CW/Digital) for the entity
NewSlot bool `json:"new_slot"`
}
// GetSlotStats returns the worked/confirmed slot + DXCC tallies for the QSL
@@ -12365,6 +12369,7 @@ func (a *App) runDownloadConfirmations(ctx context.Context, svc extsvc.Service,
}
it := ConfirmationItem{
Callsign: q.Callsign,
Station: strings.ToUpper(strings.TrimSpace(rec["station_callsign"])),
QSODate: q.QSODate.UTC().Format(time.RFC3339),
Band: q.Band,
Mode: q.Mode,