UNPKG

@softvision/webpdf-wsclient-typescript

Version:

A simplified and optimized API client library for the webPDF server

133 lines 7.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WebServiceFactory = void 0; const session_1 = require("../session"); const WebServiceType_1 = require("./WebServiceType"); const WebServiceProtocol_1 = require("./WebServiceProtocol"); const exception_1 = require("../exception"); const generated_sources_1 = require("../generated-sources"); const openapi_1 = require("../openapi"); const rest_1 = require("./rest"); class WebServiceFactory { constructor() { } static createInstance(session, webServiceType) { switch (session.getWebServiceProtocol()) { case WebServiceProtocol_1.WebServiceProtocol.REST: if (!(0, session_1.instanceOfRestSession)(session)) { throw new exception_1.ClientResultException(exception_1.WsclientErrors.INVALID_WEBSERVICE_SESSION); } return WebServiceFactory.createRestInstance(session, webServiceType, WebServiceFactory.createRestParameters(webServiceType)); default: throw new exception_1.ClientResultException(exception_1.WsclientErrors.UNKNOWN_WEBSERVICE_PROTOCOL); } } static createByParameters(session, parameter) { switch (session.getWebServiceProtocol()) { case WebServiceProtocol_1.WebServiceProtocol.REST: if (!(0, session_1.instanceOfRestSession)(session)) { throw new exception_1.ClientResultException(exception_1.WsclientErrors.INVALID_WEBSERVICE_SESSION); } let restOperationData = openapi_1.RestOperationData.fromJson(parameter); return WebServiceFactory.createRestInstance(session, this.determineWebServiceType(restOperationData), restOperationData); default: throw new exception_1.ClientResultException(exception_1.WsclientErrors.UNKNOWN_WEBSERVICE_PROTOCOL); } } static createRestParameters(webServiceType) { switch (webServiceType) { case WebServiceType_1.WebServiceTypes.CONVERTER: return openapi_1.RestOperationData.fromJson(generated_sources_1.ConverterOperation.fromJson({ converter: generated_sources_1.Converter.fromJson({}).toJson() })); case WebServiceType_1.WebServiceTypes.URLCONVERTER: return openapi_1.RestOperationData.fromJson(generated_sources_1.UrlConverterOperation.fromJson({ urlconverter: generated_sources_1.UrlConverter.fromJson({}).toJson() })); case WebServiceType_1.WebServiceTypes.PDFA: return openapi_1.RestOperationData.fromJson(generated_sources_1.PdfaOperation.fromJson({ pdfa: generated_sources_1.Pdfa.fromJson({}).toJson() })); case WebServiceType_1.WebServiceTypes.TOOLBOX: return openapi_1.RestOperationData.fromJson(generated_sources_1.ToolboxOperation.fromJson({ toolbox: [] })); case WebServiceType_1.WebServiceTypes.OCR: return openapi_1.RestOperationData.fromJson(generated_sources_1.OcrOperation.fromJson({ ocr: generated_sources_1.Ocr.fromJson({}).toJson() })); case WebServiceType_1.WebServiceTypes.SIGNATURE: return openapi_1.RestOperationData.fromJson(generated_sources_1.SignatureOperation.fromJson({ signature: generated_sources_1.Signature.fromJson({}).toJson() })); case WebServiceType_1.WebServiceTypes.BARCODE: return openapi_1.RestOperationData.fromJson(generated_sources_1.BarcodeOperation.fromJson({ barcode: generated_sources_1.Barcode.fromJson({}).toJson() })); default: throw new exception_1.ClientResultException(exception_1.WsclientErrors.UNKNOWN_WEBSERVICE_TYPE); } } static createRestInstance(session, webServiceType, operationData) { switch (webServiceType) { case WebServiceType_1.WebServiceTypes.CONVERTER: let converterWebService = new rest_1.ConverterWebService(session); converterWebService.setOperationParameters(operationData.getConverter()); return converterWebService; case WebServiceType_1.WebServiceTypes.SIGNATURE: let signatureWebService = new rest_1.SignatureWebService(session); signatureWebService.setOperationParameters(operationData.getSignature()); return signatureWebService; case WebServiceType_1.WebServiceTypes.PDFA: let pdfaWebService = new rest_1.PdfaWebService(session); pdfaWebService.setOperationParameters(operationData.getPdfa()); return pdfaWebService; case WebServiceType_1.WebServiceTypes.OCR: let ocrWebService = new rest_1.OcrWebService(session); ocrWebService.setOperationParameters(operationData.getOcr()); return ocrWebService; case WebServiceType_1.WebServiceTypes.TOOLBOX: let toolboxWebService = new rest_1.ToolboxWebService(session); toolboxWebService.setOperationParameters(operationData.getToolbox()); return toolboxWebService; case WebServiceType_1.WebServiceTypes.URLCONVERTER: let urlConverterWebService = new rest_1.UrlConverterWebService(session); urlConverterWebService.setOperationParameters(operationData.getUrlconverter()); return urlConverterWebService; case WebServiceType_1.WebServiceTypes.BARCODE: let barcodeConverterWebService = new rest_1.BarcodeWebService(session); barcodeConverterWebService.setOperationParameters(operationData.getBarcode()); return barcodeConverterWebService; default: throw new exception_1.ClientResultException(exception_1.WsclientErrors.UNKNOWN_WEBSERVICE_TYPE); } } static determineWebServiceType(operationData) { if (operationData.isSetConverter()) { return WebServiceType_1.WebServiceTypes.CONVERTER; } else if (operationData.isSetBarcode()) { return WebServiceType_1.WebServiceTypes.BARCODE; } else if (operationData.isSetOcr()) { return WebServiceType_1.WebServiceTypes.OCR; } else if (operationData.isSetPdfa()) { return WebServiceType_1.WebServiceTypes.PDFA; } else if (operationData.isSetSignature()) { return WebServiceType_1.WebServiceTypes.SIGNATURE; } else if (operationData.isSetToolbox()) { return WebServiceType_1.WebServiceTypes.TOOLBOX; } else if (operationData.isSetUrlconverter()) { return WebServiceType_1.WebServiceTypes.URLCONVERTER; } else { throw new exception_1.ClientResultException(exception_1.WsclientErrors.UNKNOWN_WEBSERVICE_TYPE); } } } exports.WebServiceFactory = WebServiceFactory; //# sourceMappingURL=WebServiceFactory.js.map