Skip to content

Commit 7e3c8f4

Browse files
fix: add error handler to api router
1 parent b2e7c84 commit 7e3c8f4

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

apps/api/src/middleware/error-handler.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,15 @@ import { logger } from "@ctrlplane/logger";
66
/**
77
* Global error handler middleware
88
* Must be registered last in the middleware chain
9+
*
10+
* Note: Must have 4 parameters for Express to recognize it as an error handler
911
*/
10-
export const errorHandler = (error: Error, req: Request, res: Response) => {
12+
export const errorHandler = (
13+
error: Error,
14+
req: Request,
15+
res: Response,
16+
_next: any,
17+
) => {
1118
// Log the error
1219
logger.error("API Error", {
1320
error: error.message,

apps/api/src/routes/v1/workspaces/deployments.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,7 @@ const getDeployment: AsyncTypedHandler<
6060
);
6161

6262
if (response.error != null)
63-
throw new ApiError(
64-
`Error getting deployment: ${JSON.stringify(response.error, null, 2)}`,
65-
500,
66-
);
63+
throw new ApiError(response.error.error ?? "Unknown error", 500);
6764

6865
res.json(response.data);
6966
};

apps/api/src/server.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { dirname, join } from "path";
22
import { fileURLToPath } from "url";
33
import { requireAuth } from "@/middleware/auth.js";
4+
import { errorHandler } from "@/middleware/error-handler.js";
45
import { createV1Router } from "@/routes/index.js";
56
import * as trpcExpress from "@trpc/server/adapters/express";
67
import { toNodeHandler } from "better-auth/node";
@@ -78,6 +79,7 @@ const app = express()
7879
.use("/api/v1", requireAuth)
7980
.use("/api/v1", createV1Router())
8081
.use("/api/github", createGithubRouter())
81-
.use("/api/trpc", trpcMiddleware);
82+
.use("/api/trpc", trpcMiddleware)
83+
.use(errorHandler);
8284

8385
export { app };

0 commit comments

Comments
 (0)