@panyam/tsutils
Version:
Some basic TS utils for personal use
104 lines • 4.73 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ResourceEvApi = exports.ResourceApiEvent = void 0;
const events_1 = require("../comms/events");
const axios = require("axios").default;
var ResourceApiEvent;
(function (ResourceApiEvent) {
ResourceApiEvent["LIST_STARTED"] = "LIST_STARTED";
ResourceApiEvent["LIST_FINISHED"] = "LIST_FINISHED";
ResourceApiEvent["LIST_FAILED"] = "LIST_FAILED";
ResourceApiEvent["CREATE_STARTED"] = "CREATE_STARTED";
ResourceApiEvent["CREATE_FINISHED"] = "CREATE_FINISHED";
ResourceApiEvent["CREATE_FAILED"] = "CREATE_FAILED";
ResourceApiEvent["BATCH_GET_STARTED"] = "BATCH_GET_STARTED";
ResourceApiEvent["BATCH_GET_FINISHED"] = "BATCH_GET_FINISHED";
ResourceApiEvent["BATCH_GET_FAILED"] = "BATCH_GET_FAILED";
ResourceApiEvent["GET_STARTED"] = "GET_STARTED";
ResourceApiEvent["GET_FINISHED"] = "GET_FINISHED";
ResourceApiEvent["GET_FAILED"] = "GET_FAILED";
ResourceApiEvent["DELETE_STARTED"] = "DELETE_STARTED";
ResourceApiEvent["DELETE_FINISHED"] = "DELETE_FINISHED";
ResourceApiEvent["DELETE_FAILED"] = "DELETE_FAILED";
ResourceApiEvent["UPDATE_STARTED"] = "UPDATE_STARTED";
ResourceApiEvent["UPDATE_FINISHED"] = "UPDATE_FINISHED";
ResourceApiEvent["UPDATE_FAILED"] = "UPDATE_FAILED";
})(ResourceApiEvent || (exports.ResourceApiEvent = ResourceApiEvent = {}));
class ResourceEvApi extends events_1.EventHub {
create(params) {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.CREATE_STARTED, this));
const url = this.urlForCreate(params);
axios
.post(url, this.processCreateParams(params))
.then((response) => {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.CREATE_FINISHED, this, this.processListResponse(response)));
})
.error((err) => {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.CREATE_FAILED, this, err));
});
}
batchGet(...resIds) {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.BATCH_GET_STARTED, this));
const url = this.urlForBatchGet(resIds);
axios
.get(url)
.then((response) => {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.BATCH_GET_FINISHED, this, this.processGetResponse(response)));
})
.error((err) => {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.BATCH_GET_FAILED, this, err));
});
}
get(resId, params) {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.GET_STARTED, this));
const url = this.urlForGet(resId, params);
axios
.get(url)
.then((response) => {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.GET_FINISHED, this, this.processGetResponse(response)));
})
.error((err) => {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.GET_FAILED, this, err));
});
}
list(params) {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.LIST_STARTED, this));
const url = this.urlForList(params);
axios
.get(url)
.then((response) => {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.LIST_FINISHED, this, this.processListResponse(response)));
})
.error((err) => {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.LIST_FAILED, this, err));
});
}
update(resId, params) {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.UPDATE_STARTED, this));
const url = this.urlForUpdate(resId, params);
axios
.post(url, this.processUpdateParams(params))
.then((response) => {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.UPDATE_FINISHED, this, this.processListResponse(response)));
})
.error((err) => {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.UPDATE_FAILED, this, err));
});
}
delete(resId, params) {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.DELETE_STARTED, this));
const url = this.urlForDelete(resId, params);
axios({
method: "delete",
url: url,
})
.then((response) => {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.DELETE_FINISHED, this, this.processListResponse(response)));
})
.error((err) => {
this.dispatchEvent(new events_1.TEvent(ResourceApiEvent.DELETE_FAILED, this, err));
});
}
}
exports.ResourceEvApi = ResourceEvApi;
//# sourceMappingURL=evapis.js.map