mirror of
https://github.com/jetkvm/cloud-api.git
synced 2025-09-16 08:38:15 +00:00
Update code to use Express v5 async handler
This is to update the code after v5 upgrade on commit 16d3f51
This commit is contained in:
parent
1c6b4be721
commit
75e99700d3
48
src/index.ts
48
src/index.ts
@ -80,14 +80,6 @@ app.use(
|
||||
// DO Apps doesn't send a X-Forwarded-Proto header, so we simply need to make a blanket trust
|
||||
app.set("trust proxy", true);
|
||||
|
||||
function asyncHandler(fn: any) {
|
||||
return (req: express.Request, res: express.Response, next: express.NextFunction) => {
|
||||
return Promise.resolve(fn(req, res, next)).catch(next);
|
||||
};
|
||||
}
|
||||
|
||||
const asyncAuthGuard = asyncHandler(authenticated);
|
||||
|
||||
app.get("/", (req, res) => {
|
||||
return res.status(200).send("OK");
|
||||
});
|
||||
@ -101,8 +93,8 @@ app.get("/healthz", (req, res) => {
|
||||
|
||||
app.get(
|
||||
"/me",
|
||||
asyncAuthGuard,
|
||||
asyncHandler(async (req: express.Request, res: express.Response) => {
|
||||
authenticated,
|
||||
async (req: express.Request, res: express.Response) => {
|
||||
const idToken = req.session?.id_token;
|
||||
const { sub, iss, exp, aud, iat, jti, nbf } = jose.decodeJwt(idToken);
|
||||
|
||||
@ -115,32 +107,32 @@ app.get(
|
||||
}
|
||||
|
||||
return res.json({ ...user, sub });
|
||||
}),
|
||||
},
|
||||
);
|
||||
|
||||
app.get("/releases", asyncHandler(Releases.Retrieve));
|
||||
app.get("/releases", Releases.Retrieve);
|
||||
app.get(
|
||||
"/releases/system_recovery/latest",
|
||||
asyncHandler(Releases.RetrieveLatestSystemRecovery),
|
||||
Releases.RetrieveLatestSystemRecovery,
|
||||
);
|
||||
app.get("/releases/app/latest", asyncHandler(Releases.RetrieveLatestApp));
|
||||
app.get("/releases/app/latest", Releases.RetrieveLatestApp);
|
||||
|
||||
app.get("/devices", asyncAuthGuard, asyncHandler(Devices.List));
|
||||
app.get("/devices/:id", asyncAuthGuard, asyncHandler(Devices.Retrieve));
|
||||
app.post("/devices/token", asyncHandler(Devices.Token));
|
||||
app.put("/devices/:id", asyncAuthGuard, asyncHandler(Devices.Update));
|
||||
app.delete("/devices/:id", asyncHandler(Devices.Delete));
|
||||
app.get("/devices", authenticated, Devices.List);
|
||||
app.get("/devices/:id", authenticated, Devices.Retrieve);
|
||||
app.post("/devices/token", Devices.Token);
|
||||
app.put("/devices/:id", authenticated, Devices.Update);
|
||||
app.delete("/devices/:id", Devices.Delete);
|
||||
|
||||
app.post("/webrtc/session", asyncAuthGuard, asyncHandler(Webrtc.CreateSession));
|
||||
app.post("/webrtc/ice_config", asyncAuthGuard, asyncHandler(Webrtc.CreateIceCredentials));
|
||||
app.post("/webrtc/session", authenticated, Webrtc.CreateSession);
|
||||
app.post("/webrtc/ice_config", authenticated, Webrtc.CreateIceCredentials);
|
||||
app.post(
|
||||
"/webrtc/turn_activity",
|
||||
asyncAuthGuard,
|
||||
asyncHandler(Webrtc.CreateTurnActivity),
|
||||
authenticated,
|
||||
Webrtc.CreateTurnActivity,
|
||||
);
|
||||
|
||||
app.post("/oidc/google", asyncHandler(OIDC.Google));
|
||||
app.get("/oidc/callback_o", asyncHandler(OIDC.Callback));
|
||||
app.post("/oidc/google", OIDC.Google);
|
||||
app.get("/oidc/callback_o", OIDC.Callback);
|
||||
app.get("/oidc/callback", (req, res) => {
|
||||
/*
|
||||
* We set the session cookie in the /oidc/google route as a part of 302 redirect to the OIDC login page
|
||||
@ -187,10 +179,10 @@ app.get("/oidc/callback", (req, res) => {
|
||||
|
||||
app.post(
|
||||
"/logout",
|
||||
asyncHandler((req: express.Request, res: express.Response) => {
|
||||
(req: express.Request, res: express.Response) => {
|
||||
req.session = null;
|
||||
return res.json({ message: "Logged out" });
|
||||
}),
|
||||
}
|
||||
);
|
||||
|
||||
// Error-handling middleware
|
||||
@ -200,7 +192,7 @@ app.use(
|
||||
req: express.Request,
|
||||
res: express.Response,
|
||||
next: express.NextFunction,
|
||||
) => {
|
||||
): void => {
|
||||
const isProduction = process.env.NODE_ENV === "production";
|
||||
const statusCode = err instanceof HttpError ? err.status : 500;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user