@fontoxml/fontoxml-development-tools
Version:
Development tools for Fonto.
39 lines (32 loc) • 962 B
JavaScript
import correlationIdRepository from './correlationIdRepository.js';
import mapProfileResult from './profiles/mapProfileResult.js';
export default function configureProfileGetPostRouteHandler(profileDatabase) {
return (req, res) => {
const editSessionToken = req.body.context
? req.body.context.editSessionToken
: correlationIdRepository.getEditSessionTokenForRequest(req);
if (!editSessionToken) {
res.status(400).end();
return;
}
const { profileIds } = req.body;
if (!profileIds || !profileIds.length) {
res.status(400).end();
return;
}
const currentSession = req.getFontoSession(editSessionToken);
profileDatabase
.getProfiles(req.cms, currentSession, profileIds)
.then((profiles) => {
res
.status(200)
.set('content-type', 'application/json; charset=utf-8')
.json({
profiles: profiles.map(mapProfileResult),
});
})
.catch((_error) => {
res.status(500).end();
});
};
}