api/cron handler

This commit is contained in:
Xevion
2023-02-23 20:39:43 -06:00
parent f0c5a21ab5
commit c23fde54da

29
src/pages/api/cron.ts Normal file
View File

@@ -0,0 +1,29 @@
// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
import type { NextApiRequest, NextApiResponse } from "next";
import { getDistance } from "@/location";
import { env } from "@/env/server.mjs";
type ResponseData = {
name: string;
};
const center = { latitude: env.CENTER_LATITUDE, longitude: env.CENTER_LONGITUDE };
export default async function handler(
req: NextApiRequest,
res: NextApiResponse<ResponseData>
) {
if (req.query.key != env.API_KEY) {
// auth failed
res.status(401).json({ name: "Unauthorized" });
return;
}
const diff = await getDistance();
// auth passed
res.setHeader('Cache-Control', 'max-age=0, s-maxage=60, stale-while-revalidate');
// @ts-ignore
res.status(200).json({ diff, inRange: diff < env.MAX_DISTANCE });
}