Skip to content

Commit 625996e

Browse files
feat: amdb searching
1 parent adf46b8 commit 625996e

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

packages/amdb/src/api/searchAmdb.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { Logger } from "@navigraph/app"
2+
import { isAxiosError, navigraphRequest } from "@navigraph/auth"
3+
import { getAmdbApiRoot } from "../constants"
4+
import { AmdbSearchResult } from "../types"
5+
6+
export default async function searchAmdb(query: string) {
7+
const result = await navigraphRequest
8+
.get<AmdbSearchResult[]>(`${getAmdbApiRoot()}/search`, {
9+
params: {
10+
q: query,
11+
},
12+
})
13+
.catch((e: unknown) => Logger.err("Failed to search amdb. Reason:", isAxiosError(e) ? e.message : e))
14+
15+
return result?.data || null
16+
}

packages/amdb/src/lib/getAmdbAPI.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { getApp, Logger, NotInitializedError, Scope } from "@navigraph/app"
22
import getAmdbLayer from "../api/getAmdbLayer"
33
import getAmdbLayers from "../api/getAmdbLayers"
4+
import searchAmdb from "../api/searchAmdb"
45

56
/** Grabs a reference to an object containing available Navigraph Charts API functionality */
67
export const getAmdbAPI = () => {
@@ -17,5 +18,6 @@ export const getAmdbAPI = () => {
1718
return {
1819
getAmdbLayer,
1920
getAmdbLayers,
21+
searchAmdb,
2022
}
2123
}

packages/amdb/src/types/index.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,11 @@ export enum Projection {
102102
AzimuthalEquidistant = "NAVIGRAPH:ARP_AZEQ",
103103
Epsg4326 = "EPSG:4326",
104104
}
105+
106+
export interface AmdbSearchResult {
107+
idarpt: string
108+
iata: string | null
109+
elev: number
110+
name: string
111+
coordinates: { lat: number; lon: number }
112+
}

0 commit comments

Comments
 (0)