UNPKG

@apihawk/billia-sdk

Version:

The ApiHawk Billia SDK

84 lines (83 loc) 3.35 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const billia_sdk_service_base_1 = require("../lib/billia-sdk-service-base"); const to_rest_resource_1 = require("./common/to-rest-resource"); class BilliaSDKDocument extends billia_sdk_service_base_1.BilliaSDKServiceBase { /** * Get documents metadata with pagination. */ getDocumentsMetadata(session, query, options) { return __awaiter(this, void 0, void 0, function* () { const q = query || {}; const filterData = {}; if (q.sort_by && q.sort_order) { switch (q.sort_by) { case 'document_id': filterData.order = [{ field: 'document_id', sort: q.sort_order }]; break; case 'date': filterData.order = [{ field: 'created_at', sort: q.sort_order }]; break; } } filterData.page = q.page || 1; filterData.page_size = q.page_size || 25; if (options && options.resource) { filterData.where = [ { field: 'resource', where: 'and', type: 'equalTo', value: options.resource } ]; } if (options && options.resource_id) { filterData.where = [ ...(filterData.where || []), { field: 'identifier', where: 'and', type: 'equalTo', value: options.resource_id } ]; } const response = yield this.api.call({ url: '/document/to-resource', method: 'GET', headers: { Accept: 'application/hal+json' }, query: filterData, session }); const documents = to_rest_resource_1.toRestResource(response, 'document_to_resource'); return documents; }); } /** * Fetches a document metadata record by ID. */ getDocumentMetadataById(session, documentId) { return __awaiter(this, void 0, void 0, function* () { return this.api.call({ url: `/document/to-resource/${documentId}`, method: 'GET', headers: { Accept: 'application/hal+json' }, session }); }); } } exports.BilliaSDKDocument = BilliaSDKDocument;