package org.geogebra.common.move.ggtapi.requests; import org.geogebra.common.move.ggtapi.models.ClientInfo; import org.geogebra.common.move.ggtapi.models.Material; import org.geogebra.common.move.ggtapi.models.Request; import org.geogebra.common.move.ggtapi.models.json.JSONObject; import org.geogebra.common.util.debug.Log; public class DeleteRequest implements Request { private final static String API = "1.0.0"; private final static String TASK = "delete"; private final static String TYPE = "forum"; private Material material; /** * @param app * AppW * @param material * {@link Material} */ DeleteRequest(Material material) { this.material = material; } @Override public String toJSONString(ClientInfo client) { try { JSONObject request = new JSONObject(); JSONObject api = new JSONObject(); api.put("-api", DeleteRequest.API); // login JSONObject login = new JSONObject(); login.put("-type", DeleteRequest.TYPE); login.put("-token", client.getModel().getLoggedInUser().getLoginToken()); api.put("login", login); // task JSONObject task = new JSONObject(); task.put("-type", DeleteRequest.TASK); // ID task.put("id", Integer.toString(this.material.getId())); api.put("task", task); request.put("request", api); return request.toString(); } catch (Exception e) { Log.debug("problem building request: " + e.getMessage()); return null; } } /** * @param app * AppW * @param mat * Material * @return DeleteRequest */ public static DeleteRequest getRequestElement(Material mat) { return new DeleteRequest(mat); } }