package org.loklak.api.cms;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONArray;
import org.json.JSONObject;
import org.loklak.data.DAO;
import org.loklak.server.APIHandler;
import org.loklak.server.AbstractAPIHandler;
import org.loklak.server.Authorization;
import org.loklak.server.BaseUserRole;
import org.loklak.server.Query;
import org.loklak.tools.storage.JSONObjectWithDefault;
public class TopMenuService extends AbstractAPIHandler implements APIHandler {
private static final long serialVersionUID = 1839868262296635665L;
@Override
public BaseUserRole getMinimalBaseUserRole() {
return BaseUserRole.ANONYMOUS;
}
@Override
public JSONObject getDefaultPermissions(BaseUserRole baseUserRole) {
return null;
}
@Override
public String getAPIPath() {
return "/cms/topmenu.json";
}
@Override
public JSONObject serviceImpl(Query call, HttpServletResponse response, Authorization rights,
final JSONObjectWithDefault permissions) {
int limited_count = (int) DAO.getConfig("download.limited.count", (long) Integer.MAX_VALUE);
JSONObject json = new JSONObject(true);
JSONArray topmenu = new JSONArray().put(new JSONObject().put("Search", "http://loklak.net"))
.put(new JSONObject().put("Apps", "http://apps.loklak.org"))
.put(new JSONObject().put("Developers", "http://dev.loklak.org"))
.put(new JSONObject().put("API", "api.html"));
if (limited_count > 0)
topmenu.put(new JSONObject().put("Dumps", "dump.html"));
topmenu.put(new JSONObject().put("About", "about.html"));
topmenu.put(new JSONObject().put("Blog", "http://blog.loklak.net"));
json.put("items", topmenu);
// modify caching
json.put("$EXPIRES", 600);
return json;
}
}