@epilot/document-client 0.13.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  API Client for epilot Document API.
4
4
 
5
- Uses [`openapi-client-axios`](https://github.com/anttiviljami/openapi-client-axios)
5
+ Uses [`openapi-client-axios`](https://github.com/openapistack/openapi-client-axios)
6
6
 
7
7
  ## Getting Started
8
8
 
@@ -1,8 +1 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var openapi_json_1 = __importDefault(require("./openapi.json"));
7
- exports.default = openapi_json_1.default;
8
- //# sourceMappingURL=definition.js.map
1
+ (()=>{"use strict";var e={914:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var n=o(r(534));t.default=n.default},534:e=>{e.exports=JSON.parse('{"openapi":"3.0.2","info":{"title":"Document API","version":"1.0.0","description":"A document generation API that allows you to generate documents from templates with variables.\\n\\n[Feature Documentation](https://docs.epilot.io/docs/files/document-generation)\\n"},"tags":[{"name":"Documents","description":"Document Generation"}],"security":[{"EpilotAuth":[]}],"paths":{"/v2/documents:generate":{"post":{"operationId":"generateDocumentV2","summary":"generateDocumentV2","description":"Builds document generated from input document with variables.\\n\\nSupported input document types:\\n- .docx\\n\\nSupported output document types:\\n- .pdf\\n- .docx but limited to only text based variables\\n\\nUses [Template Variables API](https://docs.epilot.io/api/template-variables) to replace variables in the document.\\n","parameters":[{"in":"query","name":"job_id","description":"Job ID for tracking the status of document generation action","schema":{"type":"string"}},{"in":"query","name":"mode","description":"Type of mode used for document generation flow:\\n- partial_generation will have a intermediate step for users to validate and replace the variable values before generating the final document.\\n- full_generation, goes through all the steps for the full generation of final document\\n","schema":{"type":"string","enum":["partial_generation","full_generation"],"default":"full_generation"}}],"tags":["Documents"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentGenerationV2Request"}}}},"responses":{"200":{"description":"Generated document output","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentGenerationV2Response"}}}}}}},"/v2/documents:convert":{"post":{"operationId":"convertDocument","summary":"convertDocument","description":"Converts a document to a different format.\\n\\nSupported input document types:\\n- .docx\\n\\nSupported output document types:\\n- .pdf\\n","tags":["Documents"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertDocumentRequest"}}}},"responses":{"200":{"description":"Conversion job output","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertDocumentResponse"}}}}}}}},"components":{"securitySchemes":{"EpilotAuth":{"type":"http","scheme":"bearer","description":"Authorization header with epilot OAuth2 bearer token","bearerFormat":"JWT"}},"schemas":{"S3Reference":{"type":"object","properties":{"bucket":{"type":"string","example":"document-api-prod"},"key":{"type":"string","example":"uploads/my-template.pdf"}},"required":["bucket","key"]},"ErrorOutput":{"type":"object","properties":{"error_message":{"description":"Error message","type":"string"},"error_code":{"$ref":"#/components/schemas/ErrorCode"},"error_details":{"anyOf":[{"$ref":"#/components/schemas/InvalidCustomVariableErrorDetails"},{"$ref":"#/components/schemas/InternalErrorDetails"},{"$ref":"#/components/schemas/DocxTemplaterErrorDetails"}]}}},"InvalidCustomVariableErrorDetails":{"description":"Error details for invalid custom variables. This error will appear under \'PARSE_ERROR\' error code.","type":"array","items":{"$ref":"#/components/schemas/InvalidCustomVariableErrorDetail"}},"InvalidCustomVariableErrorDetail":{"type":"object","additionalProperties":true,"properties":{"explanation":{"description":"Explanation for the error","type":"string"},"context":{"description":"Context for the error","type":"object","properties":{"invalid_variables":{"description":"List of invalid variables","type":"array","items":{"type":"object","description":"Invalid variable","properties":{"variable":{"description":"Variable name","type":"string"},"error":{"description":"Explanation for the error","type":"string"}}}}}}}},"InternalErrorDetails":{"description":"Error details for internal error. This error will appear under \'INTERNAL_ERROR\' error code.","type":"array","items":{"type":"object","properties":{"items":{"$ref":"#/components/schemas/InternalErrorDetail"}}}},"InternalErrorDetail":{"type":"object","description":"Internal error detail","properties":{"name":{"description":"Name of the error","type":"string"},"message":{"description":"Error message","type":"string"},"stack":{"description":"Stack trace","type":"string"},"cause":{"description":"Cause of the error","type":"string"}}},"DocxTemplaterErrorDetails":{"description":"Error details for DocxTemplater error. This error will appear under \'PARSE_ERROR\' error code.\\nSee https://docxtemplater.com/docs/errors/#error-schema for more details.\\n","type":"array","items":{"$ref":"#/components/schemas/DocxTemplaterErrorDetail"}},"DocxTemplaterErrorDetail":{"type":"object","description":"DocxTemplater error detail","properties":{"id":{"description":"Id of the error","type":"string"},"context":{"description":"Context of the error","type":"string"},"explanation":{"description":"Explanation of the error","type":"string"}}},"ErrorCode":{"description":"Error codes for document generation:\\n- PARSE_ERROR - Error while parsing the document. Normally related with a bad template using the wrong DocxTemplater syntax.\\n- DOC_TO_PDF_CONVERT_ERROR - Error while converting the document to PDF. Normally related with a ConvertAPI failure.\\n- INTERNAL_ERROR - Internal error. Please contact support.\\n- INVALID_TEMPLATE_FORMAT - Invalid template format (only .docx is supported). This can happen due to a bad word file or an unsupported file extension.\\n","type":"string","enum":["PARSE_ERROR","DOC_TO_PDF_CONVERT_ERROR","INTERNAL_ERROR","INVALID_TEMPLATE_FORMAT"]},"TemplateSettings":{"type":"object","description":"Template Settings for document generation","properties":{"custom_margins":{"description":"Custom margins for the document","type":"object","properties":{"top":{"description":"Top margin in cm","type":"number","example":2.54},"bottom":{"description":"Bottom margin in cm","type":"number","example":2.54}}},"suggested_margins":{"description":"Suggested margins for the document","type":"object","properties":{"top":{"description":"Top margin in cm","type":"number","example":2.54},"bottom":{"description":"Bottom margin in cm","type":"number","example":2.54}}},"display_margin_guidelines":{"description":"Display margin guidelines (applicable to partial generation only)","type":"boolean","example":true},"enable_data_table_margin_autofix":{"description":"Enable data table margin autofix","type":"boolean","example":false},"template_with_datatable":{"description":"A flag that indicates whether the template has 1 or more data tables in it","type":"boolean","example":false},"enabled_template_settings_persistence":{"description":"Enables the persistance of template settings","type":"boolean","example":false},"misconfigured_margins":{"description":"An indication that the page margins are misconfigured","type":"boolean","example":false},"file_entity_id":{"description":"The file entity id, used when persisting a new template version with updated settings","type":"string","format":"uuid","example":"1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p"}}},"DocumentGenerationV2Request":{"type":"object","properties":{"template_document":{"description":"Input template document","type":"object","properties":{"filename":{"type":"string","description":"Document original filename","example":"my-template-{{order.order_number}}.docx"},"s3ref":{"$ref":"#/components/schemas/S3Reference"}}},"context_entity_id":{"type":"string","format":"uuid","description":"Entity to use for variable context","example":"bcd0aab9-b544-42b0-8bfb-6d449d02eacc"},"user_id":{"type":"string","description":"User Id for variable context","example":100321},"language":{"type":"string","description":"Language","example":"en"},"variable_payload":{"description":"Custom values for variables in the template. Takes the higher precedence than others.","type":"object","properties":{"additionalProperties":{"type":"string"}}},"context_data":{"description":"Custom values for variables in the template. Takes the higher precedence than others.","type":"object","properties":{"additionalProperties":{"type":"string"}}},"template_settings":{"$ref":"#/components/schemas/TemplateSettings"}},"required":["template_document"]},"DocumentGenerationV2Response":{"type":"object","properties":{"job_id":{"type":"string","format":"uuid"},"job_status":{"description":"Status of the job","type":"string","enum":["STARTED","PROCESSING","SUCCESS","FAILED"]},"message":{"description":"A message explaining the progress","type":"string"},"pdf_output":{"type":"object","properties":{"preview_url":{"description":"Pre-signed S3 GET URL for PDF preview","type":"string","example":"https://document-api-prod.s3.eu-central-1.amazonaws.com/preview/my-template-OR-001.pdf"},"output_document":{"type":"object","properties":{"filename":{"description":"Generated document filename for PDF","type":"string","example":"my-template-OR-001.pdf"},"s3ref":{"$ref":"#/components/schemas/S3Reference"}},"example":{"s3ref":{"bucket":"document-api-preview-prod","key":"preview/my-template.pdf"}}}}},"docx_output":{"type":"object","properties":{"preview_url":{"description":"Pre-signed S3 GET URL for DOCX preview","type":"string","example":"https://document-api-prod.s3.eu-central-1.amazonaws.com/preview/my-template-OR-001.docx"},"output_document":{"type":"object","properties":{"filename":{"description":"Generated document filename for DOCX","type":"string","example":"my-template-OR-001.docx"},"s3ref":{"$ref":"#/components/schemas/S3Reference"}},"example":{"s3ref":{"bucket":"document-api-preview-prod","key":"preview/my-template.docx"}}}}},"error_output":{"$ref":"#/components/schemas/ErrorOutput"},"variable_payload":{"description":"List of variables and its corresponding replaced values from the document template","type":"object","properties":{"additionalProperties":{"type":"string"}}},"template_settings":{"$ref":"#/components/schemas/TemplateSettings"}}},"ConvertDocumentRequest":{"type":"object","properties":{"input_document":{"description":"Input document","type":"object","properties":{"s3ref":{"$ref":"#/components/schemas/S3Reference"}},"required":["s3ref"]},"output_format":{"description":"Output format of the document","type":"string","enum":["pdf"]},"output_filename":{"description":"Filename of the output document (optional)","type":"string","example":"converted.pdf"}},"required":["input_document","output_format"]},"ConvertDocumentResponse":{"type":"object","properties":{"output_document":{"type":"object","properties":{"preview_url":{"description":"Pre-signed URL for the converted document","type":"string","example":"https://document-api-prod.s3.eu-central-1.amazonaws.com/preview/converted.pdf"},"s3ref":{"$ref":"#/components/schemas/S3Reference"}}}}}}},"servers":[{"url":"https://document.sls.epilot.io"},{"url":"https://document.sls.epilot.io"}]}')}},t={},r=function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,r),i.exports}(914),o=exports;for(var n in r)o[n]=r[n];r.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})})();
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export * from './client';
2
- export * from './openapi';
2
+ export type { Client, Components, Paths, PathsDictionary, OperationMethods } from './openapi';
3
3
  export type { OpenAPIClient, OpenAPIClientAxios, Document } from 'openapi-client-axios';
package/dist/openapi.d.ts CHANGED
@@ -1,12 +1,11 @@
1
1
  /* eslint-disable */
2
-
3
2
  import type {
4
3
  OpenAPIClient,
5
4
  Parameters,
6
5
  UnknownParamsObject,
7
6
  OperationResponse,
8
7
  AxiosRequestConfig,
9
- } from 'openapi-client-axios';
8
+ } from 'openapi-client-axios';
10
9
 
11
10
  declare namespace Components {
12
11
  namespace Schemas {
@@ -461,18 +460,3 @@ export interface PathsDictionary {
461
460
  }
462
461
 
463
462
  export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
464
-
465
- export type ConvertDocumentRequest = Components.Schemas.ConvertDocumentRequest;
466
- export type ConvertDocumentResponse = Components.Schemas.ConvertDocumentResponse;
467
- export type DocumentGenerationV2Request = Components.Schemas.DocumentGenerationV2Request;
468
- export type DocumentGenerationV2Response = Components.Schemas.DocumentGenerationV2Response;
469
- export type DocxTemplaterErrorDetail = Components.Schemas.DocxTemplaterErrorDetail;
470
- export type DocxTemplaterErrorDetails = Components.Schemas.DocxTemplaterErrorDetails;
471
- export type ErrorCode = Components.Schemas.ErrorCode;
472
- export type ErrorOutput = Components.Schemas.ErrorOutput;
473
- export type InternalErrorDetail = Components.Schemas.InternalErrorDetail;
474
- export type InternalErrorDetails = Components.Schemas.InternalErrorDetails;
475
- export type InvalidCustomVariableErrorDetail = Components.Schemas.InvalidCustomVariableErrorDetail;
476
- export type InvalidCustomVariableErrorDetails = Components.Schemas.InvalidCustomVariableErrorDetails;
477
- export type S3Reference = Components.Schemas.S3Reference;
478
- export type TemplateSettings = Components.Schemas.TemplateSettings;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/document-client",
3
- "version": "0.13.1",
3
+ "version": "0.15.0",
4
4
  "description": "API Client for epilot document API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -9,9 +9,10 @@
9
9
  "typescript": "tsc",
10
10
  "bundle-definition": "webpack",
11
11
  "openapi": "node ../../scripts/update-openapi.js https://docs.api.epilot.io/document.yaml",
12
+ "openapi:local": "node ../../scripts/update-openapi.js ../../../document-api/lambda/ApiHandlerFunction/openapi.yml",
12
13
  "typegen": "openapi typegen src/openapi.json --client -b '/* eslint-disable */' > src/openapi.d.ts",
13
14
  "build": "tsc && npm run build:patch && npm run bundle-definition",
14
- "build:patch": "sed -i '/^__exportStar.*openapi.*$/d' dist/index.js",
15
+ "build:patch": "sed -i'' -e '/^__exportStar.*openapi.*$/d' dist/index.js",
15
16
  "build:watch": "npm run build && tsc -w",
16
17
  "release-alpha": "npm version prerelease --preid alpha",
17
18
  "lint": "../../node_modules/eslint/bin/eslint.js src"
@@ -54,6 +55,5 @@
54
55
  "typescript": "^4.1.3",
55
56
  "webpack": "^5.18.0",
56
57
  "webpack-cli": "^4.4.0"
57
- },
58
- "gitHead": "cb7e6acc938eb178e531c19834ea8bd0d6445e6f"
58
+ }
59
59
  }
package/src/openapi.d.ts CHANGED
@@ -155,6 +155,76 @@ declare namespace Components {
155
155
  };
156
156
  template_settings?: /* Template Settings for document generation */ TemplateSettings;
157
157
  }
158
+ export interface DocumentMetaRequest {
159
+ /**
160
+ * Input template document
161
+ */
162
+ template_document?: {
163
+ s3ref?: S3Reference;
164
+ };
165
+ }
166
+ export interface DocumentMetaResponse {
167
+ /**
168
+ * Page margins for the document
169
+ */
170
+ page_margins?: {
171
+ /**
172
+ * Top margin in cm
173
+ * example:
174
+ * 2.54
175
+ */
176
+ top?: number;
177
+ /**
178
+ * Bottom margin in cm
179
+ * example:
180
+ * 2.54
181
+ */
182
+ bottom?: number;
183
+ /**
184
+ * Left margin in cm
185
+ * example:
186
+ * 2.54
187
+ */
188
+ left?: number;
189
+ /**
190
+ * Right margin in cm
191
+ * example:
192
+ * 2.54
193
+ */
194
+ right?: number;
195
+ /**
196
+ * Header margin in cm
197
+ * example:
198
+ * 2.54
199
+ */
200
+ header?: number;
201
+ /**
202
+ * Footer margin in cm
203
+ * example:
204
+ * 2.54
205
+ */
206
+ footer?: number;
207
+ };
208
+ /**
209
+ * List of variables in the document
210
+ * example:
211
+ * [
212
+ * "order.billing_contact.0.salutation",
213
+ * "order.billing_contact.0.title",
214
+ * "order_table",
215
+ * "stayHardStatic",
216
+ * "opportunity[attribute_name]",
217
+ * "opportunity[\"attribute_name\"]",
218
+ * "opportunity.[attribute_name]",
219
+ * "attribute_name",
220
+ * "opportunities.0.attribute_name",
221
+ * "opportunities[0].attribute_name",
222
+ * "contact.opportunities[0].attribute_name",
223
+ * "opportunities[Primary].attribute_name"
224
+ * ]
225
+ */
226
+ variables?: string[];
227
+ }
158
228
  /**
159
229
  * DocxTemplater error detail
160
230
  */
@@ -364,19 +434,43 @@ declare namespace Paths {
364
434
  namespace Parameters {
365
435
  export type JobId = string;
366
436
  export type Mode = "partial_generation" | "full_generation";
437
+ export type PreviewMode = "open" | "download";
367
438
  }
368
439
  export interface QueryParameters {
369
440
  job_id?: Parameters.JobId;
370
441
  mode?: Parameters.Mode;
442
+ preview_mode?: Parameters.PreviewMode;
371
443
  }
372
444
  export type RequestBody = Components.Schemas.DocumentGenerationV2Request;
373
445
  namespace Responses {
374
446
  export type $200 = Components.Schemas.DocumentGenerationV2Response;
375
447
  }
376
448
  }
449
+ namespace GetTemplateMeta {
450
+ export type RequestBody = Components.Schemas.DocumentMetaRequest;
451
+ namespace Responses {
452
+ export type $200 = Components.Schemas.DocumentMetaResponse;
453
+ export type $400 = Components.Schemas.ErrorOutput;
454
+ export type $403 = Components.Schemas.ErrorOutput;
455
+ }
456
+ }
377
457
  }
378
458
 
379
459
  export interface OperationMethods {
460
+ /**
461
+ * getTemplateMeta - getTemplateMeta
462
+ *
463
+ * Get metadata for a document template
464
+ *
465
+ * Supported input document types:
466
+ * - .docx
467
+ *
468
+ */
469
+ 'getTemplateMeta'(
470
+ parameters?: Parameters<UnknownParamsObject> | null,
471
+ data?: Paths.GetTemplateMeta.RequestBody,
472
+ config?: AxiosRequestConfig
473
+ ): OperationResponse<Paths.GetTemplateMeta.Responses.$200>
380
474
  /**
381
475
  * generateDocumentV2 - generateDocumentV2
382
476
  *
@@ -417,6 +511,22 @@ export interface OperationMethods {
417
511
  }
418
512
 
419
513
  export interface PathsDictionary {
514
+ ['/v2/documents:meta']: {
515
+ /**
516
+ * getTemplateMeta - getTemplateMeta
517
+ *
518
+ * Get metadata for a document template
519
+ *
520
+ * Supported input document types:
521
+ * - .docx
522
+ *
523
+ */
524
+ 'post'(
525
+ parameters?: Parameters<UnknownParamsObject> | null,
526
+ data?: Paths.GetTemplateMeta.RequestBody,
527
+ config?: AxiosRequestConfig
528
+ ): OperationResponse<Paths.GetTemplateMeta.Responses.$200>
529
+ }
420
530
  ['/v2/documents:generate']: {
421
531
  /**
422
532
  * generateDocumentV2 - generateDocumentV2
@@ -466,6 +576,8 @@ export type ConvertDocumentRequest = Components.Schemas.ConvertDocumentRequest;
466
576
  export type ConvertDocumentResponse = Components.Schemas.ConvertDocumentResponse;
467
577
  export type DocumentGenerationV2Request = Components.Schemas.DocumentGenerationV2Request;
468
578
  export type DocumentGenerationV2Response = Components.Schemas.DocumentGenerationV2Response;
579
+ export type DocumentMetaRequest = Components.Schemas.DocumentMetaRequest;
580
+ export type DocumentMetaResponse = Components.Schemas.DocumentMetaResponse;
469
581
  export type DocxTemplaterErrorDetail = Components.Schemas.DocxTemplaterErrorDetail;
470
582
  export type DocxTemplaterErrorDetails = Components.Schemas.DocxTemplaterErrorDetails;
471
583
  export type ErrorCode = Components.Schemas.ErrorCode;
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2022 epilot GmbH
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.