gameflow-deck/src/bun/api/rpc.ts
Simeon Radivoev a78e75335f
feat First implementation of plugins system
feat: Added PCSX2 integration
feat: Revamped UI a bit made it look better on light mode
2026-03-25 21:51:10 +02:00

36 lines
No EOL
1.1 KiB
TypeScript

import { cors } from "@elysiajs/cors";
import Elysia from "elysia";
import { RPC_PORT } from "@shared/constants";
import clients from "./clients";
import { settings } from "./settings/settings";
import { system } from "./system";
import { store } from "./store/store";
import { host } from "../utils/host";
import { jobs } from "./jobs/jobs";
import plugins from "./plugins/plugins";
const api = new Elysia({ serve: {} })
.use([cors(), clients, settings, system, store, jobs, plugins]);
export type RommAPIType = typeof clients;
export type SettingsAPIType = typeof settings;
export type SystemAPIType = typeof system;
export type StoreAPIType = typeof store;
export type JobsAPIType = typeof jobs;
export type PluginsAPIType = typeof plugins;
export function RunAPIServer ()
{
console.log("Launching API Server on port ", RPC_PORT);
return {
apiServer: api.listen({
port: RPC_PORT,
hostname: host,
development: process.env.NODE_ENV === 'development'
}),
async cleanup ()
{
}
};
}