Author: Adam <git@apiote.xyz>
add structs with v2 responses
api/structs_gen.go | 99 +++++++++++++++++++++++++++++++++++------------
diff --git a/api/structs_gen.go b/api/structs_gen.go index 622631161336d902a5888003da90270d2d73e90a..66e546b0bf55c30718aeaad52aa08abc145f03d6 100644 --- a/api/structs_gen.go +++ b/api/structs_gen.go @@ -7,27 +7,27 @@ "errors" "git.sr.ht/~sircmpwn/go-bare" ) -type LineResponseV1 struct { +type LineResponseDev struct { Line LineV1 `bare:"line"` } -func (t *LineResponseV1) Decode(data []byte) error { +func (t *LineResponseDev) Decode(data []byte) error { return bare.Unmarshal(data, t) } -func (t *LineResponseV1) Encode() ([]byte, error) { +func (t *LineResponseDev) Encode() ([]byte, error) { return bare.Marshal(t) } -type LineResponseDev struct { +type LineResponseV1 struct { Line LineV1 `bare:"line"` } -func (t *LineResponseDev) Decode(data []byte) error { +func (t *LineResponseV1) Decode(data []byte) error { return bare.Unmarshal(data, t) } -func (t *LineResponseDev) Encode() ([]byte, error) { +func (t *LineResponseV1) Encode() ([]byte, error) { return bare.Marshal(t) } @@ -92,6 +92,18 @@ return bare.Unmarshal(data, t) } func (t *QueryablesResponseV1) Encode() ([]byte, error) { + return bare.Marshal(t) +} + +type QueryablesResponseV2 struct { + Queryables []QueryableV2 `bare:"queryables"` +} + +func (t *QueryablesResponseV2) Decode(data []byte) error { + return bare.Unmarshal(data, t) +} + +func (t *QueryablesResponseV2) Encode() ([]byte, error) { return bare.Marshal(t) } @@ -225,6 +237,18 @@ func (t *LocatablesResponseV1) Encode() ([]byte, error) { return bare.Marshal(t) } +type LocatablesResponseV2 struct { + Locatables []LocatableV2 `bare:"locatables"` +} + +func (t *LocatablesResponseV2) Decode(data []byte) error { + return bare.Unmarshal(data, t) +} + +func (t *LocatablesResponseV2) Encode() ([]byte, error) { + return bare.Marshal(t) +} + type VehicleV1 struct { Id string `bare:"id"` Position PositionV1 `bare:"position"` @@ -330,6 +354,20 @@ return bare.Unmarshal(data, t) } func (t *DeparturesResponseV1) Encode() ([]byte, error) { + return bare.Marshal(t) +} + +type DeparturesResponseV2 struct { + Alerts []AlertV1 `bare:"alerts"` + Departures []DepartureV2 `bare:"departures"` + Stop StopV2 `bare:"stop"` +} + +func (t *DeparturesResponseV2) Decode(data []byte) error { + return bare.Unmarshal(data, t) +} + +func (t *DeparturesResponseV2) Encode() ([]byte, error) { return bare.Marshal(t) } @@ -686,6 +724,14 @@ func (_ QueryablesResponseDev) IsUnion() {} func (_ QueryablesResponseV1) IsUnion() {} +func (_ QueryablesResponseV2) IsUnion() {} + +type QueryableV1 interface { + bare.Union +} + +func (_ StopV1) IsUnion() {} + type QueryableV2 interface { bare.Union } @@ -694,12 +740,6 @@ func (_ StopV2) IsUnion() {} func (_ LineV1) IsUnion() {} -type QueryableV1 interface { - bare.Union -} - -func (_ StopV1) IsUnion() {} - type LocatablesResponse interface { bare.Union } @@ -708,19 +748,21 @@ func (_ LocatablesResponseDev) IsUnion() {} func (_ LocatablesResponseV1) IsUnion() {} -type LocatableV2 interface { +func (_ LocatablesResponseV2) IsUnion() {} + +type LocatableV1 interface { bare.Union } -func (_ VehicleV2) IsUnion() {} +func (_ VehicleV1) IsUnion() {} -type LocatableV1 interface { +type LocatableV2 interface { bare.Union } -func (_ VehicleV1) IsUnion() {} +func (_ VehicleV2) IsUnion() {} type DeparturesResponse interface { bare.Union @@ -730,6 +772,8 @@ func (_ DeparturesResponseDev) IsUnion() {} func (_ DeparturesResponseV1) IsUnion() {} +func (_ DeparturesResponseV2) IsUnion() {} + func init() { bare.RegisterUnion((*LineResponse)(nil)). Member(*new(LineResponseDev), 0). @@ -741,29 +785,32 @@ Member(*new(FeedsResponseV1), 1) bare.RegisterUnion((*QueryablesResponse)(nil)). Member(*new(QueryablesResponseDev), 0). - Member(*new(QueryablesResponseV1), 1) + Member(*new(QueryablesResponseV1), 1). + Member(*new(QueryablesResponseV2), 2) + + bare.RegisterUnion((*QueryableV1)(nil)). + Member(*new(StopV1), 0) bare.RegisterUnion((*QueryableV2)(nil)). Member(*new(StopV2), 0). Member(*new(LineV1), 1) - bare.RegisterUnion((*QueryableV1)(nil)). - Member(*new(StopV1), 0) - bare.RegisterUnion((*LocatablesResponse)(nil)). Member(*new(LocatablesResponseDev), 0). - Member(*new(LocatablesResponseV1), 1) - - bare.RegisterUnion((*LocatableV2)(nil)). - Member(*new(StopV2), 0). - Member(*new(VehicleV2), 1) + Member(*new(LocatablesResponseV1), 1). + Member(*new(LocatablesResponseV2), 2) bare.RegisterUnion((*LocatableV1)(nil)). Member(*new(StopV1), 0). Member(*new(VehicleV1), 1) + bare.RegisterUnion((*LocatableV2)(nil)). + Member(*new(StopV2), 0). + Member(*new(VehicleV2), 1) + bare.RegisterUnion((*DeparturesResponse)(nil)). Member(*new(DeparturesResponseDev), 0). - Member(*new(DeparturesResponseV1), 1) + Member(*new(DeparturesResponseV1), 1). + Member(*new(DeparturesResponseV2), 2) }