Exemple #1
0
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);
	});

}
Exemple #2
0
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)
	})
}
Exemple #3
0
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)
	})
}
Exemple #4
0
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);
	});
}