Skip to content
Snippets Groups Projects
getvaluefromEDDI.js 1.54 KiB
Newer Older
Søren Madsen's avatar
Søren Madsen committed
console.time("Process");
var request = require("request");
var mongo = require("mongodb").MongoClient;
var ObjectID = require("mongodb").ObjectID;

var mongoUrl = "mongodb://localhost:3001/meteor";
Søren Madsen's avatar
Søren Madsen committed

var params = ["programme", "period", "year", "ects", "location", "department","faculty", "instructionLanguage", "courseType"];
Søren Madsen's avatar
Søren Madsen committed
var lang = ["da", "en"];

Søren Madsen's avatar
Søren Madsen committed
var sortCounter = 0;

Søren Madsen's avatar
Søren Madsen committed
var getData = function (lang, param, sortCounter) {
Daniel Svane's avatar
Daniel Svane committed

    var url = "https://eddiprod.au.dk/EDDI/webservices/CourseCatalogService2.cfc?method=getValueList&list=" + param + "&lang=" + lang;
    request({url: url,json: true}, function (e, res, json) {
Søren Madsen's avatar
Søren Madsen committed
        var obj = {};
        var arr = [];
Daniel Svane's avatar
Daniel Svane committed

Søren Madsen's avatar
Søren Madsen committed

        json.listItems.forEach(function (item) {
            arr.push({id: item.id, name: item[json.listName]});
        });
Søren Madsen's avatar
Søren Madsen committed
        if (param == "courseLanguage") {
            json.listName = "instructionLanguage"
        }
Søren Madsen's avatar
Søren Madsen committed
        obj["name"] = json.listName;
        obj["lang"] = lang;
        obj["list"] = arr;
        obj["sorting"] = sortCounter;

        if(json.listName == "year") obj["default"] = [2016, 2017];
Søren Madsen's avatar
Søren Madsen committed
        else obj["default"] = [];
        mongo.connect(mongoUrl, function (err, db) {
            db.collection("filters").updateOne({name: obj.name, lang: obj.lang}, obj, {upsert: true}, function(err, res){
Søren Madsen's avatar
Søren Madsen committed
                db.close();
Søren Madsen's avatar
Søren Madsen committed
            });
        });
    });
Søren Madsen's avatar
Søren Madsen committed
};

lang.forEach(function (lang) {
    params.forEach(function (param) {
        getData(lang, param, sortCounter);
        sortCounter = sortCounter + 10;
    });
Søren Madsen's avatar
Søren Madsen committed
});