interface BookDetailsViewModel { | |
title: string | |
is_available: boolean | |
} | |
export function getBookById(dependencies: Dependencies) { | |
return async (req: Request, res: Response) => { | |
try { | |
const result = await dependencies | |
.bookInformation(req.params.id) | |
res.json(_mapToBookDetailsViewModel(result)) | |
} catch (e) { | |
res.status(404).json(e.toString()) | |
} | |
} | |
} | |
function _mapToBookDetailsViewModel(result: BookDetails): BookDetailsViewModel { | |
return { | |
title: result.title, | |
is_available: result.isAvailable | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment