mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-02 08:33:36 +00:00
Add ability to select multiple backlog features and edit their configuration in bulk. Selection is limited to backlog column features in the current branch/worktree only. Changes: - Add selection mode toggle in board controls - Add checkbox selection on kanban cards (backlog only) - Disable drag and drop during selection mode - Hide action buttons during selection mode - Add floating selection action bar with Edit/Clear/Select All - Add mass edit dialog with all configuration options in single scroll view - Add server endpoint for bulk feature updates
36 lines
1.6 KiB
TypeScript
36 lines
1.6 KiB
TypeScript
/**
|
|
* Features routes - HTTP API for feature management
|
|
*/
|
|
|
|
import { Router } from 'express';
|
|
import { FeatureLoader } from '../../services/feature-loader.js';
|
|
import { validatePathParams } from '../../middleware/validate-paths.js';
|
|
import { createListHandler } from './routes/list.js';
|
|
import { createGetHandler } from './routes/get.js';
|
|
import { createCreateHandler } from './routes/create.js';
|
|
import { createUpdateHandler } from './routes/update.js';
|
|
import { createBulkUpdateHandler } from './routes/bulk-update.js';
|
|
import { createDeleteHandler } from './routes/delete.js';
|
|
import { createAgentOutputHandler, createRawOutputHandler } from './routes/agent-output.js';
|
|
import { createGenerateTitleHandler } from './routes/generate-title.js';
|
|
|
|
export function createFeaturesRoutes(featureLoader: FeatureLoader): Router {
|
|
const router = Router();
|
|
|
|
router.post('/list', validatePathParams('projectPath'), createListHandler(featureLoader));
|
|
router.post('/get', validatePathParams('projectPath'), createGetHandler(featureLoader));
|
|
router.post('/create', validatePathParams('projectPath'), createCreateHandler(featureLoader));
|
|
router.post('/update', validatePathParams('projectPath'), createUpdateHandler(featureLoader));
|
|
router.post(
|
|
'/bulk-update',
|
|
validatePathParams('projectPath'),
|
|
createBulkUpdateHandler(featureLoader)
|
|
);
|
|
router.post('/delete', validatePathParams('projectPath'), createDeleteHandler(featureLoader));
|
|
router.post('/agent-output', createAgentOutputHandler(featureLoader));
|
|
router.post('/raw-output', createRawOutputHandler(featureLoader));
|
|
router.post('/generate-title', createGenerateTitleHandler());
|
|
|
|
return router;
|
|
}
|