// Copyright © 2016 HSL <https://www.hsl.fi>
// This program is dual-licensed under the EUPL v1.2 and AGPLv3 licenses.
package fi.hsl.parkandride.front;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Collection;
import static java.util.Arrays.asList;
public final class UrlSchema {
private UrlSchema() {
}
public static final String GEOJSON = "application/vnd.geo+json";
public static final String API_KEY = "apiKey";
public static final String DOCS = "/docs";
public static final String API = "/api/v1";
public static final String FACILITIES = API + "/facilities";
public static final String UTILIZATIONS = API + "/utilizations";
public static final String FACILITY_ID = "facilityId";
public static final String FACILITY = FACILITIES + "/{" + FACILITY_ID + "}";
public static final String FACILITY_UTILIZATION = FACILITY + "/utilization";
public static final String FACILITY_PREDICTION = FACILITY + "/prediction";
public static final String ABSOLUTE_TIME = "at";
public static final String FACILITY_PREDICTION_ABSOLUTE = FACILITY_PREDICTION + "?" + ABSOLUTE_TIME + "={timestamp}";
public static final String RELATIVE_TIME = "after";
public static final String FACILITY_PREDICTION_RELATIVE = FACILITY_PREDICTION + "?" + RELATIVE_TIME + "={hhmm}";
public static final String CAPACITY_TYPES = API + "/capacity-types";
public static final String USAGES = API + "/usages";
public static final String DAY_TYPES = API + "/day-types";
public static final String HUBS = API + "/hubs";
public static final String HUB_ID = "hubId";
public static final String HUB = HUBS + "/{" + HUB_ID + "}";
public static final String HUB_PREDICTION = HUB + "/prediction";
public static final String HUB_PREDICTION_ABSOLUTE = HUB_PREDICTION + "?" + ABSOLUTE_TIME + "={timestamp}";;
public static final String HUB_PREDICTION_RELATIVE = HUB_PREDICTION + "?" + RELATIVE_TIME + "={hhmm}";
public static final String CONTACTS = API + "/contacts";
public static final String CONTACT_ID = "contactId";
public static final String CONTACT = CONTACTS + "/{" + CONTACT_ID + "}";
public static final String SERVICES = API + "/services";
public static final String OPERATORS = API + "/operators";
public static final String OPERATOR_ID = "operatorId";
public static final String OPERATOR = OPERATORS + "/{" + OPERATOR_ID + "}";
public static final String REGIONS = API + "/regions";
public static final String REGIONS_WITH_HUBS = API + "/regions/withHubs";
public static final String REPORTS = API + "/reports";
public static final String REPORT_ID = "reportId";
public static final String REPORT = REPORTS + "/{" + REPORT_ID + "}";
public static final String INTERNAL = "/internal";
public static final String FEATURES = INTERNAL + "/features";
public static final String LOGIN = INTERNAL + "/login";
public static final String USER_ID = "userId";
public static final String USERS = INTERNAL + "/users";
public static final String USER = USERS + "/{" + USER_ID + "}";
public static final String TOKEN = USERS + "/{" + USER_ID + "}/token";
public static final String PASSWORD = USERS + "/{" + USER_ID + "}/password";
public static final String ROLES = INTERNAL + "/roles";
public static final String PAYMENT_METHODS = API + "/payment-methods";
public static final String FACILITY_STATUSES = API + "/facility-statuses";
public static final String PRICING_METHODS = API + "/pricing-methods";
public static Collection<String> CORS_ENABLED_PATHS = asList(API + "/*", DOCS + "/*");
/**
* TESTING
*/
public static final String DEV_API = "/dev-api";
public static final String DEV_OPERATORS = DEV_API + "/operators";
public static final String DEV_USERS = DEV_API + "/users";
public static final String DEV_CONTACTS = DEV_API + "/contacts";
public static final String DEV_FACILITIES = DEV_API + "/facilities";
public static final String DEV_LOGIN = DEV_API + "/login";
public static final String DEV_HUBS = DEV_API + "/hubs";
public static final String DEV_UTILIZATION = DEV_FACILITIES + "/{" + FACILITY_ID + "}/utilization";
public static final String DEV_PREDICTION = DEV_API + "/prediction";
public static final String DEV_PREDICTION_HISTORY = DEV_FACILITIES + "/{" + FACILITY_ID + "}/prediction_history";
public static String urlEncode(String str) {
try {
return URLEncoder.encode(str, "UTF-8");
} catch (UnsupportedEncodingException e) {
throw new Error(e);
}
}
}