29 lines
807 B
TypeScript
29 lines
807 B
TypeScript
|
|
import { Router, Request, Response, NextFunction } from 'express';
|
||
|
|
import * as mapService from '../services/mapService';
|
||
|
|
import { ok } from '../types/index';
|
||
|
|
|
||
|
|
export const edgesRouter = Router();
|
||
|
|
|
||
|
|
edgesRouter.put('/:id', async (req: Request, res: Response, next: NextFunction) => {
|
||
|
|
try {
|
||
|
|
const { label, edgeType, animated, metadata } = req.body as {
|
||
|
|
label?: string;
|
||
|
|
edgeType?: string;
|
||
|
|
animated?: boolean;
|
||
|
|
metadata?: string;
|
||
|
|
};
|
||
|
|
res.json(ok(await mapService.updateEdge(req.params.id, { label, edgeType, animated, metadata })));
|
||
|
|
} catch (e) {
|
||
|
|
next(e);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
edgesRouter.delete('/:id', async (req: Request, res: Response, next: NextFunction) => {
|
||
|
|
try {
|
||
|
|
await mapService.deleteEdge(req.params.id);
|
||
|
|
res.json(ok(null));
|
||
|
|
} catch (e) {
|
||
|
|
next(e);
|
||
|
|
}
|
||
|
|
});
|