baasic-sdk-javascript
Version:
JavaScript SDK provides core functionality for building web and mobile applications on [Baasic](http://www.baasic.com/).
84 lines (83 loc) • 3.39 kB
JavaScript
;
/* globals module */
/**
* @module lookupClient
* @description Lookup Client provides an easy way to consume Lookup REST API end-points. In order to obtain needed routes `lookupClient` uses `lookupRoute`.
*/
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var inversify_1 = require("inversify");
;
var common_1 = require("../../common");
var _1 = require("./");
var httpApi_1 = require("../../httpApi");
var LookupClient = /** @class */ (function () {
function LookupClient(lookupRoute, apiClient) {
this.lookupRoute = lookupRoute;
this.apiClient = apiClient;
this.utility = new common_1.Utility();
}
Object.defineProperty(LookupClient.prototype, "routeDefinition", {
get: function () {
return this.lookupRoute;
},
enumerable: true,
configurable: true
});
LookupClient.prototype.getResponseData = function (embed, data) {
var responseData = {};
if (embed) {
var embeds = embed.split(',');
}
for (var index in embeds) {
var propName = embeds[index];
if (data.hasOwnProperty(propName)) {
responseData[propName] = data[propName];
}
}
return responseData;
};
/**
* Returns a promise that is resolved once the get action has been performed. Success response returns the lookup resources.
* @method
* @param options Options object that contains comma separated list of related resources to be contained within the current representation.
* @returns A promise that is resolved once the get action has been performed.
* @example lookupClient.get()
.then(function (data) {
// perform success action here
},
function (response, status, headers, config) {
// perform error handling here
});
**/
LookupClient.prototype.get = function (options) {
var _this = this;
var embed = options.embed || 'role,accessAction,accessSection,snProvider';
var opt = this.utility.extend({}, options, { embed: embed });
var self = this;
return this.apiClient.createPromise(function (resolve, reject) {
self.apiClient.get(_this.lookupRoute.get(opt))
.then(function (data) {
data.data = self.getResponseData(embed, data.data);
resolve(data);
}, function (data) {
reject(data);
});
});
};
LookupClient = tslib_1.__decorate([
inversify_1.injectable(),
tslib_1.__param(0, inversify_1.inject(_1.TYPES.LookupRoute)),
tslib_1.__param(1, inversify_1.inject(httpApi_1.httpTYPES.ApiClient)),
tslib_1.__metadata("design:paramtypes", [_1.LookupRoute,
httpApi_1.ApiClient])
], LookupClient);
return LookupClient;
}());
exports.LookupClient = LookupClient;
/**
* @overview
***Notes:**
- Refer to the [Baasic REST API](http://dev.baasic.com/api/reference/home) for detailed information about available Baasic REST API end-points.
- All end-point objects are transformed by the associated route service.
*/