/** * File system routes * Provides REST API equivalents for Electron IPC file operations */ import { Router } from 'express'; import type { EventEmitter } from '../../lib/events.js'; import { createReadHandler } from './routes/read.js'; import { createWriteHandler } from './routes/write.js'; import { createMkdirHandler } from './routes/mkdir.js'; import { createReaddirHandler } from './routes/readdir.js'; import { createExistsHandler } from './routes/exists.js'; import { createStatHandler } from './routes/stat.js'; import { createDeleteHandler } from './routes/delete.js'; import { createValidatePathHandler } from './routes/validate-path.js'; import { createResolveDirectoryHandler } from './routes/resolve-directory.js'; import { createSaveImageHandler } from './routes/save-image.js'; import { createBrowseHandler } from './routes/browse.js'; import { createImageHandler } from './routes/image.js'; import { createSaveBoardBackgroundHandler } from './routes/save-board-background.js'; import { createDeleteBoardBackgroundHandler } from './routes/delete-board-background.js'; export function createFsRoutes(_events: EventEmitter): Router { const router = Router(); router.post('/read', createReadHandler()); router.post('/write', createWriteHandler()); router.post('/mkdir', createMkdirHandler()); router.post('/readdir', createReaddirHandler()); router.post('/exists', createExistsHandler()); router.post('/stat', createStatHandler()); router.post('/delete', createDeleteHandler()); router.post('/validate-path', createValidatePathHandler()); router.post('/resolve-directory', createResolveDirectoryHandler()); router.post('/save-image', createSaveImageHandler()); router.post('/browse', createBrowseHandler()); router.get('/image', createImageHandler()); router.post('/save-board-background', createSaveBoardBackgroundHandler()); router.post('/delete-board-background', createDeleteBoardBackgroundHandler()); return router; }