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)); } }