Ignore:
Timestamp:
10/16/13 16:05:39 (12 years ago)
Author:
hendrikvanantwerpen
Message:

Changes for response submission & deletion.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Dev/trunk/src/server/app.js

    r477 r478  
    4848
    4949    // cookies and session
    50     app.use('/api',express.bodyParser());
    5150    app.use(express.cookieParser());
    5251    app.use(express.session({ secret: "quasi experimental design" }));
     52    app.use('/api',express.bodyParser());
    5353
    5454    // passport
     
    7777    });
    7878
     79    // data is proxied to couch
     80    app.use('/data', ensureAuthenticated);
     81    app.use('/data', proxy(settings.couchDbURL));
    7982
    8083    // post to this url to login
     
    99102        });
    100103
    101     // expose everything needed to fill in responses
    102     // FIXME : this needs more security, now you can guess ids
    103     //         and get actual survey and response data!
    104     app.get(
    105         '/live',
    106         function(req,res){
    107             res.redirect('/response.html#!/55704d6a84194c2d7ba9bec93c000e75');
    108         });
    109104    app.get(
    110105        '/api/surveyRuns/:id',
     
    155150            });
    156151        });
     152    app.delete(
     153        '/api/responses/:id',
     154        function(req,res){
     155            var id = req.params.id;
     156            var rev = req.query.rev;
     157            couch.delete(id,rev).then(function(result){
     158                res.send(200, result);
     159            }, function(error){
     160                res.send(500, error);
     161            });
     162        });
    157163   
    158     // data is proxied to couch
    159     app.use('/api/data', ensureAuthenticated);
    160     app.use('/api/data', proxy(settings.couchDbURL));
    161 
    162164    // generate CSV download of responses
    163165    app.get(
     
    224226}
    225227
    226 function writeObjectsToCSVStream(objects, stream) {
     228function writeObjectsToCSVStream(objects, stream, prelude) {
    227229    var keys = _.chain(objects)
    228230                .map(_.keys)
     
    235237    });
    236238    var writer = new CSV.CsvWriter(stream);
     239    if ( prelude ) {
     240        _.forEach(prelude, function(val,key){
     241            writer.writeRecord([key,val]);
     242        });
     243    }
    237244    writer.writeRecord(keys);
    238245    _.forEach(objects, function(obj){
Note: See TracChangeset for help on using the changeset viewer.