Simple, single-user event aggregation platform, for use in personal websites and other related places.
event-streaming
single-user
events
event-aggregation
1import { createMiddleware } from "hono/factory";
2import { Service } from "$lib/schemas/Service";
3
4export const serviceAuth = createMiddleware<{
5 Variables: {
6 serviceId: string;
7 serviceName: string;
8 serviceDescription: string;
9 };
10}>(async (c, next) => {
11 const serviceToken = c.req.header("Authorization");
12
13 if (!serviceToken) {
14 return c.json({ error: "Unauthorized" }, 401);
15 }
16
17 const service = await Service.findOne({ token: serviceToken });
18
19 if (!service) {
20 return c.json({ error: "Unauthorized" }, 401);
21 }
22
23 c.set("serviceId", service.id);
24 c.set("serviceName", service.name);
25 c.set("serviceDescription", service.description);
26
27 await next();
28});