package com.perforce.hws.plugin.perforce.routes;
import com.perforce.hws.core.p4base.P4Methods;
import com.perforce.hws.core.p4base.ResultMap;
import com.perforce.hws.core.p4base.ResultMapMethods;
import com.perforce.hws.core.sessions.SessionData;
import com.perforce.hws.utils.HWSSettings;
import com.perforce.hws.utils.ModelConversion;
import com.perforce.hws.utils.UsesServerHandles;
/**
* GET /p4/:api/branches/:branch
*/
public class PerforceGetDepotRoute implements
spark.Route,
P4Methods,
ModelConversion,
ResultMapMethods,
UsesServerHandles {
@Override
public Object handle(spark.Request request, spark.Response response) throws Exception {
SessionData sessionData = request.attribute("sessionData");
HWSSettings settings = request.attribute("settings");
String server = request.params("server");
String depot = request.params("depot");
return withServerHandle(server, sessionData, settings, serverHandle -> {
java.util.List<ResultMap> results = exec(serverHandle, "depot", "-o", depot);
ResultMap resultMap = firstResultOrFail(results);
return toDepotCommand(resultMap);
});
}
}