Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 1x 1x 1x 1x 1x 1x 1x 1x 3x 3x 3x 3x 3x 3x 1x 1x 1x 3x 3x 3x 1x 1x 1x 1x 1x 1x 3x 3x 1x 1x | import { NextFunction, Request, Response } from 'express';
import { TicketData } from '../../types/ITicketData.js';
import { ServiceFactory, ClassName, RequestService } from '../../service/serviceFactory.js';
import { TicketNumber } from './output.schema.js';
import { HttpError } from '../../utils/errors/httpError.js';
import { CODES } from '../../utils/errors/codes.js';
const output = async (req: Request, res: Response, next: NextFunction) => {
try {
const { ticket } = req.params as unknown as TicketNumber;
const requestService = await ServiceFactory.getInstanceOfClass<RequestService>(ClassName.RequestService);
const reqData = await requestService.getRequest(ticket);
if (!reqData) {
next(new HttpError(`Not found data for ticket: ${ticket}`, CODES.NOT_FOUND, 404));
return;
}
const { result, inputNumber } = JSON.parse(reqData) as TicketData;
if (!result) {
next(new HttpError(`Not found result for ticket: ${ticket}`, CODES.NOT_FOUND, 404));
return;
}
res.status(200).json({ ticket, inputNumber, fibonacci: result });
return;
} catch (err) {
next(err);
return;
}
};
export default output;
|