package controllers;
import api.v1.User;
import auth.types.RoleType;
import com.fasterxml.jackson.databind.JsonNode;
import play.mvc.Controller;
import play.mvc.Http;
import play.mvc.Result;
import static play.libs.Jsonp.jsonp;
public abstract class PoseidonController extends Controller {
public static final String USER = "user";
protected static User currentApiUser() {
User user = (User) Http.Context.current().args.get(USER);
if ( user == null){
user = new User();
user.id = null;
user.username = "ANON";
user.role = RoleType.READONLY;
}
return user;
}
protected static Result created(String callback, JsonNode jsonOutput){
if ( callback == null ) return created(jsonOutput) ;
return created(jsonp(callback,jsonOutput));
}
protected static Result ok(String callback, JsonNode jsonOutput){
if ( callback == null ) return ok(jsonOutput) ;
return ok(jsonp(callback, jsonOutput));
}
protected static Result badRequest(String callback, JsonNode jsonOutput){
if ( callback == null ) return badRequest(jsonOutput) ;
return badRequest(jsonp(callback,jsonOutput));
}
}