Spaces:
Paused
Paused
| /** | |
| * GitHub routes - HTTP API for GitHub integration | |
| */ | |
| import { Router } from 'express'; | |
| import type { EventEmitter } from '../../lib/events.js'; | |
| import { validatePathParams } from '../../middleware/validate-paths.js'; | |
| import { createCheckGitHubRemoteHandler } from './routes/check-github-remote.js'; | |
| import { createListIssuesHandler } from './routes/list-issues.js'; | |
| import { createListPRsHandler } from './routes/list-prs.js'; | |
| import { createListCommentsHandler } from './routes/list-comments.js'; | |
| import { createListPRReviewCommentsHandler } from './routes/list-pr-review-comments.js'; | |
| import { createResolvePRCommentHandler } from './routes/resolve-pr-comment.js'; | |
| import { createValidateIssueHandler } from './routes/validate-issue.js'; | |
| import { | |
| createValidationStatusHandler, | |
| createValidationStopHandler, | |
| createGetValidationsHandler, | |
| createDeleteValidationHandler, | |
| createMarkViewedHandler, | |
| } from './routes/validation-endpoints.js'; | |
| import type { SettingsService } from '../../services/settings-service.js'; | |
| export function createGitHubRoutes( | |
| events: EventEmitter, | |
| settingsService?: SettingsService | |
| ): Router { | |
| const router = Router(); | |
| router.post('/check-remote', validatePathParams('projectPath'), createCheckGitHubRemoteHandler()); | |
| router.post('/issues', validatePathParams('projectPath'), createListIssuesHandler()); | |
| router.post('/prs', validatePathParams('projectPath'), createListPRsHandler()); | |
| router.post('/issue-comments', validatePathParams('projectPath'), createListCommentsHandler()); | |
| router.post( | |
| '/pr-review-comments', | |
| validatePathParams('projectPath'), | |
| createListPRReviewCommentsHandler() | |
| ); | |
| router.post( | |
| '/resolve-pr-comment', | |
| validatePathParams('projectPath'), | |
| createResolvePRCommentHandler() | |
| ); | |
| router.post( | |
| '/validate-issue', | |
| validatePathParams('projectPath'), | |
| createValidateIssueHandler(events, settingsService) | |
| ); | |
| // Validation management endpoints | |
| router.post( | |
| '/validation-status', | |
| validatePathParams('projectPath'), | |
| createValidationStatusHandler() | |
| ); | |
| router.post('/validation-stop', validatePathParams('projectPath'), createValidationStopHandler()); | |
| router.post('/validations', validatePathParams('projectPath'), createGetValidationsHandler()); | |
| router.post( | |
| '/validation-delete', | |
| validatePathParams('projectPath'), | |
| createDeleteValidationHandler() | |
| ); | |
| router.post( | |
| '/validation-mark-viewed', | |
| validatePathParams('projectPath'), | |
| createMarkViewedHandler(events) | |
| ); | |
| return router; | |
| } | |