mirror of
https://github.com/Sea-Haven-Industries/seahaven-ap.git
synced 2026-10-05 20:01:57 +00:00
* feat(api): stand up Hono Drizzle foundation with auth and Redocly * fix(api): bump drizzle-orm and hono node-server past audit highs * fix(api): harden auth upsert and Cognito token verification
32 lines
779 B
TypeScript
32 lines
779 B
TypeScript
import { serve } from "@hono/node-server";
|
|
import { createApp } from "./app.js";
|
|
import { closeDb, createDb } from "./db/client.js";
|
|
import { loadEnv } from "./env.js";
|
|
|
|
async function main(): Promise<void> {
|
|
const env = loadEnv();
|
|
const handle = createDb(env);
|
|
const app = createApp(env, handle);
|
|
|
|
const server = serve({ fetch: app.fetch, port: env.port }, (info) => {
|
|
console.log(`@seahaven-ap/api listening on http://127.0.0.1:${info.port}`);
|
|
});
|
|
|
|
const shutdown = async () => {
|
|
server.close();
|
|
await closeDb(handle);
|
|
process.exit(0);
|
|
};
|
|
|
|
process.on("SIGINT", () => {
|
|
void shutdown();
|
|
});
|
|
process.on("SIGTERM", () => {
|
|
void shutdown();
|
|
});
|
|
}
|
|
|
|
main().catch((error: unknown) => {
|
|
console.error(error);
|
|
process.exitCode = 1;
|
|
});
|