Track imports in DB, show history in Data section, allow deleting transactions of a specific import instead of clearing all.
37 lines
891 B
TypeScript
37 lines
891 B
TypeScript
import { Router } from 'express';
|
|
import { pool } from '../db/pool';
|
|
import { asyncHandler } from '../utils';
|
|
import * as importsService from '../services/imports';
|
|
|
|
const router = Router();
|
|
|
|
router.get(
|
|
'/',
|
|
asyncHandler(async (_req, res) => {
|
|
const imports = await importsService.getImports();
|
|
res.json(imports);
|
|
}),
|
|
);
|
|
|
|
router.delete(
|
|
'/:id',
|
|
asyncHandler(async (req, res) => {
|
|
const id = Number(req.params.id);
|
|
if (isNaN(id)) {
|
|
res.status(400).json({ error: 'BAD_REQUEST', message: 'Invalid import id' });
|
|
return;
|
|
}
|
|
|
|
const { rows } = await pool.query('SELECT 1 FROM imports WHERE id = $1', [id]);
|
|
if (rows.length === 0) {
|
|
res.status(404).json({ error: 'NOT_FOUND', message: 'Import not found' });
|
|
return;
|
|
}
|
|
|
|
const result = await importsService.deleteImport(id);
|
|
res.json(result);
|
|
}),
|
|
);
|
|
|
|
export default router;
|