refactor: Update AFTN message parsing logic

This commit is contained in:
windyboy
2024-07-21 00:25:16 +08:00
parent e8be157bd3
commit 607518b677
3 changed files with 12 additions and 12 deletions
+5 -5
View File
@@ -67,10 +67,10 @@ func extractData(match []string, re *regexp.Regexp) map[string]string {
// createBodyData creates the appropriate domain object based on the type of message.
func createBodyData(data map[string]string) (interface{}, error) {
switch data["type"] {
switch data["category"] {
case "ARR":
return &domain.ARR{
Category: data["type"],
Category: data["category"],
AircraftID: data["number"],
SSRModeAndCode: data["ssr"],
DepartureAirport: data["departure"],
@@ -78,7 +78,7 @@ func createBodyData(data map[string]string) (interface{}, error) {
}, nil
case "DEP":
return &domain.DEP{
Category: data["type"],
Category: data["category"],
AircraftID: data["number"],
SSRModeAndCode: data["ssr"],
DepartureAirport: data["departure"],
@@ -87,7 +87,7 @@ func createBodyData(data map[string]string) (interface{}, error) {
}, nil
case "FPL":
return &domain.FPL{
Category: data["type"],
Category: data["category"],
FlightNumber: data["number"],
ReferenceData: data["reference_data"],
AircraftID: data["aircraft"],
@@ -112,7 +112,7 @@ func createBodyData(data map[string]string) (interface{}, error) {
Remarks: data["remark"],
}, nil
default:
return nil, fmt.Errorf("invalid message type: %s", data["type"])
return nil, fmt.Errorf("invalid message type: %s", data["category"])
}
}
+1 -1
View File
@@ -27,7 +27,7 @@ var _ = Describe("Pattern Parser", func() {
message := "(ARR-AB123-SSR1234-KJFK-KLAX)"
parsedData := ParseBody(message)
Expect(parsedData).NotTo(BeNil())
Expect(parsedData["type"]).To(Equal("ARR"))
Expect(parsedData["category"]).To(Equal("ARR"))
Expect(parsedData["number"]).To(Equal("AB123"))
Expect(parsedData["ssr"]).To(Equal("SSR1234"))
Expect(parsedData["departure"]).To(Equal("KJFK"))