|
- var RESLEVIS_API_BASE = "/frontend/api/reslevis";
-
- function reslevisRequest(path, options) {
- var url = RESLEVIS_API_BASE + path;
-
- var baseHeaders = {
- "Accept": "application/json"
- };
-
- var headers = baseHeaders;
- if (options && options.headers) {
- headers = {};
- var k1;
- for (k1 in baseHeaders) {
- if (Object.prototype.hasOwnProperty.call(baseHeaders, k1)) {
- headers[k1] = baseHeaders[k1];
- }
- }
- var k2;
- for (k2 in options.headers) {
- if (Object.prototype.hasOwnProperty.call(options.headers, k2)) {
- headers[k2] = options.headers[k2];
- }
- }
- }
-
- var fetchOptions = {};
- if (options) {
- var k3;
- for (k3 in options) {
- if (Object.prototype.hasOwnProperty.call(options, k3)) {
- fetchOptions[k3] = options[k3];
- }
- }
- }
- fetchOptions.headers = headers;
-
- console.log("API URL", url);
- console.log("API options", fetchOptions);
-
- return fetch(url, fetchOptions).then(function (response) {
- console.log("HTTP status", response.status, response.statusText);
-
- var hdrs = {};
- response.headers.forEach(function (value, key) {
- hdrs[key] = value;
- });
- console.log("HTTP headers", hdrs);
-
- return response.text().then(function (body) {
- console.log("RAW body", body);
-
- if (!response.ok) {
- throw new Error("HTTP " + response.status + " " + response.statusText + " - " + body);
- }
-
- if (!body) {
- return null;
- }
-
- var ct = response.headers.get("content-type") || "";
- if (ct.indexOf("application/json") === -1) {
- throw new Error("Expected JSON but got Content-Type=" + ct + " body=" + body);
- }
-
- try {
- return JSON.parse(body);
- } catch (e) {
- throw new Error("JSON parse error: " + e.message + " body=" + body);
- }
- });
- });
- }
-
- /* ===== Gateways ===== */
- function getGateways() {
- return reslevisRequest("/getGateways", { method: "GET" });
- }
-
- function postGateway(item) {
- return reslevisRequest("/postGateway", {
- method: "POST",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function updateGateway(item) {
- return reslevisRequest("/updateGateway", {
- method: "PUT",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function removeGateway(id) {
- return reslevisRequest("/removeGateway/" + encodeURIComponent(id), { method: "DELETE" });
- }
-
- /* ===== Buildings ===== */
- function getBuildings() {
- return reslevisRequest("/getBuildings", { method: "GET" });
- }
-
- function postBuilding(item) {
- return reslevisRequest("/postBuilding", {
- method: "POST",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function updateBuilding(item) {
- return reslevisRequest("/updateBuilding", {
- method: "PUT",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function removeBuilding(id) {
- return reslevisRequest("/removeBuilding/" + encodeURIComponent(id), { method: "DELETE" });
- }
-
- /* ===== Plans ===== */
- function getPlans() {
- return reslevisRequest("/getPlans", { method: "GET" });
- }
-
- function postPlan(item) {
- return reslevisRequest("/postPlan", {
- method: "POST",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function updatePlan(item) {
- return reslevisRequest("/updatePlan", {
- method: "PUT",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function removePlan(id) {
- return reslevisRequest("/removePlan/" + encodeURIComponent(id), { method: "DELETE" });
- }
-
- /* ===== Zones ===== */
- function getZones() {
- return reslevisRequest("/getZones", { method: "GET" });
- }
-
- function postZone(item) {
- return reslevisRequest("/postZone", {
- method: "POST",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function updateZone(item) {
- return reslevisRequest("/updateZone", {
- method: "PUT",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function removeZone(id) {
- return reslevisRequest("/removeZone/" + encodeURIComponent(id), { method: "DELETE" });
- }
-
- /* ===== Trackers ===== */
- function getTrackers() {
- return reslevisRequest("/getTrackers", { method: "GET" });
- }
-
- function postTracker(item) {
- return reslevisRequest("/postTracker", {
- method: "POST",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function updateTracker(item) {
- return reslevisRequest("/updateTracker", {
- method: "PUT",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function removeTracker(id) {
- return reslevisRequest("/removeTracker/" + encodeURIComponent(id), { method: "DELETE" });
- }
-
- /* ===== Operators ===== */
- function getOperators() {
- return reslevisRequest("/getOperators", { method: "GET" });
- }
-
- function postOperator(item) {
- return reslevisRequest("/postOperator", {
- method: "POST",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function updateOperator(item) {
- return reslevisRequest("/updateOperator", {
- method: "PUT",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function removeOperator(id) {
- return reslevisRequest("/removeOperator/" + encodeURIComponent(id), { method: "DELETE" });
- }
-
- /* ===== Subjects ===== */
- function getSubjects() {
- return reslevisRequest("/getSubjects", { method: "GET" });
- }
-
- function postSubject(item) {
- return reslevisRequest("/postSubject", {
- method: "POST",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function updateSubject(item) {
- return reslevisRequest("/updateSubject", {
- method: "PUT",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function removeSubject(id) {
- return reslevisRequest("/removeSubject/" + encodeURIComponent(id), { method: "DELETE" });
- }
-
- /* ===== Alarms ===== */
- function getAlarms() {
- return reslevisRequest("/getAlarms", { method: "GET" });
- }
-
- function postAlarm(item) {
- return reslevisRequest("/postAlarm", {
- method: "POST",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function updateAlarm(item) {
- return reslevisRequest("/updateAlarm", {
- method: "PUT",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function removeAlarm(id) {
- return reslevisRequest("/removeAlarm/" + encodeURIComponent(id), { method: "DELETE" });
- }
-
- /* ===== Tracks ===== */
- function getTracks() {
- return reslevisRequest("/getTracks", { method: "GET" });
- }
-
- function postTrack(item) {
- return reslevisRequest("/postTrack", {
- method: "POST",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function updateTrack(item) {
- return reslevisRequest("/updateTrack", {
- method: "PUT",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(item)
- });
- }
-
- function removeTrack(id) {
- return reslevisRequest("/removeTrack/" + encodeURIComponent(id), { method: "DELETE" });
- }
-
- /* ===== Export global ===== */
- window.getGateways = getGateways;
- window.postGateway = postGateway;
- window.updateGateway = updateGateway;
- window.removeGateway = removeGateway;
-
- window.getBuildings = getBuildings;
- window.postBuilding = postBuilding;
- window.updateBuilding = updateBuilding;
- window.removeBuilding = removeBuilding;
-
- window.getPlans = getPlans;
- window.postPlan = postPlan;
- window.updatePlan = updatePlan;
- window.removePlan = removePlan;
-
- window.getZones = getZones;
- window.postZone = postZone;
- window.updateZone = updateZone;
- window.removeZone = removeZone;
-
- window.getTrackers = getTrackers;
- window.postTracker = postTracker;
- window.updateTracker = updateTracker;
- window.removeTracker = removeTracker;
-
- window.getOperators = getOperators;
- window.postOperator = postOperator;
- window.updateOperator = updateOperator;
- window.removeOperator = removeOperator;
-
- window.getSubjects = getSubjects;
- window.postSubject = postSubject;
- window.updateSubject = updateSubject;
- window.removeSubject = removeSubject;
-
- window.getAlarms = getAlarms;
- window.postAlarm = postAlarm;
- window.updateAlarm = updateAlarm;
- window.removeAlarm = removeAlarm;
-
- window.getTracks = getTracks;
- window.postTrack = postTrack;
- window.updateTrack = updateTrack;
- window.removeTrack = removeTrack;
|