refactor: Update AFTN message parsing logic
This commit is contained in:
@@ -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"])
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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"))
|
||||
|
||||
Reference in New Issue
Block a user