UNPKG

architect-sdk

Version:

Essentialz Architect SDK

57 lines (56 loc) 2.44 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ResourceService = void 0; var qs_1 = __importDefault(require("qs")); var const_1 = require("../../const"); var ResourceService = /** @class */ (function () { function ResourceService(resourceName, httpClient, tokenManager) { this.resourceName = resourceName; this.httpClient = httpClient; this.tokenManager = tokenManager; } ResourceService.prototype.getAll = function (options) { return this.httpClient.get(this.getResourceUrl(), this.getInit(options)); }; ResourceService.prototype.search = function (query, options) { var params = typeof query === 'string' ? query : qs_1.default.stringify(query); var url = this.getResourceUrl() + "?" + params; return this.httpClient.get(url, this.getInit(options)); }; ResourceService.prototype.get = function (id) { return this.httpClient.get(this.getResourceUrl(id)); }; ResourceService.prototype.create = function (body) { return this.httpClient.post(this.getResourceUrl(), body); }; ResourceService.prototype.update = function (id, body) { return this.httpClient.put(this.getResourceUrl(id), body); }; ResourceService.prototype.delete = function (id) { return this.httpClient.delete(this.getResourceUrl(id)); }; ResourceService.prototype.getResourceUrl = function (id) { var resource = id ? this.resourceName + "/" + id : this.resourceName; return "api/" + resource; }; // This should be extracted to http request builder ResourceService.prototype.getInit = function (options) { var headers = {}; var token = this.tokenManager.getToken(); if (token) { headers.Authorization = "Bearer " + token; } if (options === null || options === void 0 ? void 0 : options.perPage) { headers[const_1.HEADER_KEYS.PAGINATION_PER_PAGE] = options.perPage; } if (options === null || options === void 0 ? void 0 : options.page) { headers[const_1.HEADER_KEYS.PAGINATION_PAGE] = options.page; } return { headers: headers }; }; return ResourceService; }()); exports.ResourceService = ResourceService;