exports.show = function(req, res) { //winston.log("info",req) var id = req.params.object; dri.getObject(id, function(arr) { switch (req.format) { case 'json': res.json(arr); break; case 'dc': res.setHeader('Content-Type', 'text/xml'); var dc = dri.convertToDC(arr) res.send(dc); break; case 'mods': res.setHeader('Content-Type', 'text/xml'); var mods = dri.convertToMODS(arr) res.send(mods); break; default: res.json(arr) } }, function(err) { res.json(err); }); }
exports.unapprove = function(req, res) { res.setHeader('Access-Control-Allow-Origin', '*'); var data = req.body; var id = req.params.object; winston.log("info", "Unapprove") winston.log("info", id) dri.getObject(id, function(data) { dri.fedora.deleteObject(data.fedoraId, function(date) { //winston.log("info","Item created: " + pid) data.status = "open" data.fedoraId = null data = JSON.parse(JSON.stringify(data)) // Mongo ID must be removed or Mongo throws error when updating var mongoId = data._id delete data._id dri.updateObject(mongoId, data, function(result) { winston.log("info", "result") winston.log("info", result) res.json("{deletedOn:" + date + "}") }, function(err) { winston.log("error",err) }) //res.send(data); }, function(err) { winston.log("error",err) res.send(err) }) }, function(err) { winston.log("error",err) onError(err) }) }
exports.approve = function(req, res) { res.setHeader('Access-Control-Allow-Origin', '*'); var data = req.body; var id = req.params.object; dri.getObject(id, function(data) { dri.approveItem(data, config.fedoraNamespace, function(pid) { //winston.log("info","Item created: " + pid) data.status = "approved" data.fedoraId = pid data = JSON.parse(JSON.stringify(data)) // Mongo ID must be removed or Mongo throws error when updating var mongoId = data._id delete data._id dri.updateObject(mongoId, data, function(result) { winston.log("info", "result") res.send(pid) }, function(e) { winston.log("info", "e") winston.log("info", e) }) res.send(data); }, function(err) { winston.log("error",err) res.send(err) }) }, function(err) { winston.log("error",err) onError(err) }) }
exports.compare = function(req, res) { var id = req.params.object; winston.log("info", "comparing " + id) dri.getObject(id, function(arr) { var json = {}; json.mongo = arr if(json.mongo.fedoraId) { dri.fedora.getFedoraObject(json.mongo.fedoraId, function(data) { json.fedora = data res.json(json) }, function(err) { winston.log("error",err) res.end(err); }) } else { json.fedora = "This object hasn't been pushed to Fedora" res.json(json) } }, function(err) { winston.log("error",err) res.json(err); }); }