mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-01 08:13:37 +00:00
- Updated API routes to accept an optional settings service for loading the autoLoadClaudeMd setting. - Introduced a new settings helper utility for retrieving project-specific settings. - Enhanced feature generation and spec generation processes to utilize the autoLoadClaudeMd setting. - Refactored relevant route handlers to support the new settings integration across various endpoints.
57 lines
1.9 KiB
TypeScript
57 lines
1.9 KiB
TypeScript
/**
|
|
* 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 { 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(
|
|
'/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;
|
|
}
|