Example #1
0
File: unit.js Project: uhop/perfjs
var Response = require("nitro/response").Response,
    users = require("google/appengine/api/users"),
    allowedUser = require("utils").allowedUser,
	decorators = require("decorators"),
    utils = require("utils");

var Unit = require("content/models").Unit,
    Form = require("google/appengine/ext/db/forms").ModelForm(Unit);

var GET = utils.standardGet(Unit);

function POST(request){
    var unit = new Unit();
    unit.userId = users.getCurrentUser().userId;
    var form = new Form(request.postParams, {instance: unit});
    try{
        form.put();
    }catch (errors){
        return {json: {errors: errors}};
    }
    return Response.created(unit.uri());
}

function PUT(request){
    var unit = Unit.get(request.pathInfo);

    if(!unit){
        return Response.notFound();
    }
    if(!allowedUser(unit.userId)){
        return Response.unauthorized();
Example #2
0
File: test.js Project: uhop/perfjs
var Response = require("nitro/response").Response,
    users = require("google/appengine/api/users"),
    allowedUser = require("utils").allowedUser,
	decorators = require("decorators"),
    utils = require("utils");

var Test = require("content/models").Test,
    Form = require("google/appengine/ext/db/forms").ModelForm(Test);

var GET = utils.standardGet(Test);

function testAndCreate(request){
    var slug = request.postParams.slug,
        dups = Test.all().filter("slug =", slug).fetch();
    if(dups.length){
        throw Error("slug is not unique");
    }
    var test = new Test(),
        user = users.getCurrentUser();
    test.userId = user.userId;
    test.userName = user.nickname;
    var form = new Form(request.postParams, {instance: test});
    form.put();
    return test;
}

function POST(request){
    try{
        var test = db.runInTransaction(testAndCreate, request);
    }catch (errors){
        return {json: {errors: errors}};