@warp-works/warpjs-session-plugin
Version:
Session Management plug-in for WarpJS
40 lines (32 loc) • 1.47 kB
JavaScript
const debug = require('./debug')('delete');
const serverUtils = require('./../utils');
const ssoUtils = require('./../../lib/sso-utils');
module.exports = async (req, res) => {
const { id } = req.params;
const resource = ssoUtils.makeResource(req, {
description: `Removing company '${id}'`
});
const persistence = serverUtils.getPersistence(req);
try {
const memberEntity = await serverUtils.getMemberEntity(req);
const memberInstance = await memberEntity.getInstance(persistence, id);
debug(`memberInstance=`, memberInstance);
if (memberInstance && memberInstance.id) {
// TODO: Update parent history
// const parentMember = await memberEntity.getParentEntity(memberInstance);
// debug(`parentMember=`, parentMember);
// const parentInstance = await memberEntity.getParentInstance(persistence, memberInstance);
// debug(`parentInstance=`, parentInstance);
await memberEntity.removeDocument(persistence, memberInstance);
serverUtils.resourceMessage(resource, "Company removed");
ssoUtils.sendResource(res, 200, resource);
} else {
serverUtils.resourceErrorMessage(resource, "Company not found");
ssoUtils.sendResource(res, 404, resource);
}
} catch (err) {
ssoUtils.sendErrorResource(res, err, resource);
} finally {
persistence.close();
}
};