mirror of
https://github.com/Mueller-Patrick/Betterzon.git
synced 2025-04-19 15:29:18 +00:00
71 lines
1.9 KiB
TypeScript
71 lines
1.9 KiB
TypeScript
/**
|
|
* Required External Modules and Interfaces
|
|
*/
|
|
|
|
import express, {Request, Response} from 'express';
|
|
import * as ManufacturerService from './manufacturers.service';
|
|
import {Manufacturer} from './manufacturer.interface';
|
|
import {Manufacturers} from './manufacturers.interface';
|
|
|
|
|
|
/**
|
|
* Router Definition
|
|
*/
|
|
|
|
export const manufacturersRouter = express.Router();
|
|
|
|
|
|
/**
|
|
* Controller Definitions
|
|
*/
|
|
|
|
// GET manufacturers/
|
|
manufacturersRouter.get('/', async (req: Request, res: Response) => {
|
|
try {
|
|
const manufacturers: Manufacturers = await ManufacturerService.findAll();
|
|
|
|
res.status(200).send(manufacturers);
|
|
} catch (e) {
|
|
console.log('Error handling a request: ' + e.message);
|
|
res.status(500).send(JSON.stringify({'message': 'Internal Server Error. Try again later.'}));
|
|
}
|
|
});
|
|
|
|
// GET manufacturers/:id
|
|
manufacturersRouter.get('/:id', async (req: Request, res: Response) => {
|
|
const id: number = parseInt(req.params.id, 10);
|
|
|
|
if (!id) {
|
|
res.status(400).send('Missing parameters.');
|
|
return;
|
|
}
|
|
|
|
try {
|
|
const manufacturer: Manufacturer = await ManufacturerService.find(id);
|
|
|
|
res.status(200).send(manufacturer);
|
|
} catch (e) {
|
|
console.log('Error handling a request: ' + e.message);
|
|
res.status(500).send(JSON.stringify({'message': 'Internal Server Error. Try again later.'}));
|
|
}
|
|
});
|
|
|
|
// GET manufacturers/:term
|
|
manufacturersRouter.get('/search/:term', async (req: Request, res: Response) => {
|
|
const term: string = req.params.term;
|
|
|
|
if (!term) {
|
|
res.status(400).send('Missing parameters.');
|
|
return;
|
|
}
|
|
|
|
try {
|
|
const manufacturer: Manufacturers = await ManufacturerService.findBySearchTerm(term);
|
|
|
|
res.status(200).send(manufacturer);
|
|
} catch (e) {
|
|
console.log('Error handling a request: ' + e.message);
|
|
res.status(500).send(JSON.stringify({'message': 'Internal Server Error. Try again later.'}));
|
|
}
|
|
});
|