@fontoxml/fontoxml-development-tools
Version:
Development tools for Fonto.
39 lines (31 loc) • 1.03 kB
JavaScript
import asyncRouteWithLockCleanupHandler from '../asyncRouteWithLockCleanupHandler.js';
import correlationIdRepository from './correlationIdRepository.js';
import mapProfileResult from './profiles/mapProfileResult.js';
export default function configureProfileGetPostRouteHandler() {
return asyncRouteWithLockCleanupHandler(async (_acquireLock, 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);
const profiles = await req.repositories.profile.getProfiles(
req.cms,
currentSession,
profileIds,
);
res
.status(200)
.set('content-type', 'application/json; charset=utf-8')
.json({
profiles: profiles.map(mapProfileResult),
});
});
}