diff --git a/packages/backend/src/api.ts b/packages/backend/src/api.ts index 33f854ada..d6cc5b1db 100644 --- a/packages/backend/src/api.ts +++ b/packages/backend/src/api.ts @@ -1,7 +1,8 @@ import { PrismaClient, RepoIndexingJobType } from '@sourcebot/db'; +import * as Sentry from '@sentry/node'; import { hasEntitlement } from './entitlements.js'; import { createLogger, doesIdpSupportPermissionSyncing, env } from '@sourcebot/shared'; -import express, { Request, Response } from 'express'; +import express, { NextFunction, Request, Response } from 'express'; import 'express-async-errors'; import * as http from "http"; import { ConnectionManager } from './connectionManager.js'; @@ -45,6 +46,11 @@ export class Api { app.post('/api/trigger-account-permission-sync', this.triggerAccountPermissionSync.bind(this)); app.post(`/api/experimental/add-github-repo`, this.experimental_addGithubRepo.bind(this)); + app.use((error: unknown, _req: Request, _res: Response, next: NextFunction) => { + Sentry.captureException(error); + next(error); + }); + this.server = app.listen(PORT, () => { logger.debug(`API server is running on port ${PORT}`); });