feat: add geo points endpoint

This commit is contained in:
William Valentin
2026-02-04 16:44:57 -08:00
parent 5d2054637f
commit 4b2a4808b6
3 changed files with 65 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
import { getDb } from "@tline/db";
import { shapeGeoRows } from "./shape";
export const runtime = "nodejs";
export async function GET(): Promise<Response> {
const db = getDb();
const rows = await db<
{
id: string;
gps_lat: number | null;
gps_lon: number | null;
}[]
>`
select
a.id,
a.gps_lat,
a.gps_lon
from assets a
where a.gps_lat is not null
and a.gps_lon is not null
order by a.capture_ts_utc asc nulls last, a.id asc
limit 1000
`;
return Response.json(shapeGeoRows(rows));
}

View File

@@ -0,0 +1,19 @@
type GeoRow = {
id: string;
gps_lat: number | null;
gps_lon: number | null;
};
type GeoPoint = {
id: string;
gps_lat: number | null;
gps_lon: number | null;
};
export function shapeGeoRows(rows: GeoRow[]): GeoPoint[] {
return rows.map((row) => ({
id: row.id,
gps_lat: row.gps_lat,
gps_lon: row.gps_lon,
}));
}