From 2e2ba05e6e7ba9de44a85028a2bb8ef3ef9b92cc Mon Sep 17 00:00:00 2001 From: dsinghvi Date: Tue, 14 May 2024 13:52:34 -0400 Subject: [PATCH] (fix): update api --- fern/fern.config.json | 2 +- fern/generators.yml | 1 + openapi.yml | 221 ++++++++++++++++++++++++++++++++++++------ 3 files changed, 196 insertions(+), 28 deletions(-) diff --git a/fern/fern.config.json b/fern/fern.config.json index 26e8b50..597694a 100644 --- a/fern/fern.config.json +++ b/fern/fern.config.json @@ -1,4 +1,4 @@ { "organization": "fileforge", - "version": "0.24.0" + "version": "0.26.6" } \ No newline at end of file diff --git a/fern/generators.yml b/fern/generators.yml index d0de21d..1f90e59 100644 --- a/fern/generators.yml +++ b/fern/generators.yml @@ -1,6 +1,7 @@ api: - path: ../openapi.yml overrides: ../openapi-overrides.yml + origin: https://api.fileforge.com/documentation/yaml groups: ts-sdk: generators: diff --git a/openapi.yml b/openapi.yml index 116636d..6ea758b 100644 --- a/openapi.yml +++ b/openapi.yml @@ -31,19 +31,162 @@ components: example: BAD_REQUEST message: type: string - description: A human-readable message - example: No index.html file provided + description: >- + A human-readable message. This field may also provide additional + context to the error code. + example: Bad request title: ErrorSchema paths: /status/: get: responses: - "200": + '200': description: Default Response + /pdf/docx/: + post: + summary: Converts a DOC or DOCX document to PDF. + tags: + - PDF + description: >- + Converts a Microsoft Word document (.DOCX or .DOC) file to a PDF + document. + + + This service uses a LibreOffice headless server to perform the + conversion, and may not support all features of the original document. + + + **Known discrepancies** + + + * Some fonts may not be available in the server, and may be substituted + by a closest match. + + * Some complex formatting may not be preserved, such as background + graphics. + + + **Variables** + + + Variable replacement is supported with various methods: + + + * Templated litterals: `{{name}}` + + * Word variables, as listed in the document metadata: `{DOCVARIABLE + "name"}` + + + To enable variable replacement as Word variables for your account, + please contact the FileForge support. + requestBody: + content: + multipart/form-data: + schema: + type: object + required: + - file + - options + properties: + options: + description: >- + Conversion options. This field is required even if empty. + + + **Options** + + + * `templateLiterals`: Map of template literals to replace in + the document. Template literals should be enclosed in double + curly braces, e.g. `{{name}}`. Variables name can contain + alphanumeric characters and hyphens. All variables are + case-sensitive. The value for each variable should be a + string. If a value of undefined is passed, the variable will + not be removed from the document. If you need to remove a + variable, pass an empty string as the value. + + + **NB** variables should **not** have surrounding spaces, + e.g. `{{ name }}`. + + + **Example** + + + In the Word document: `{{name}} {{nickname}}. was born on + {{date}}.` + + + ```json + + { + "templateLiterals": { + "name": "John Doe", + "date": "2021-12-31", + "nickname": "" + } + } + + ``` + + + There will not be an error if a variable is not found in the + document, nor if variables found in the document are not in + the options. + type: object + required: [] + properties: + templateLiterals: + type: object + description: Map of template literals to replace in the document. + additionalProperties: + type: string + file: + description: >- + The Microsoft Word document (.DOCX or .DOC) file to convert + to PDF. + type: string + format: binary + encoding: + options: + contentType: application/json + required: true + security: + - apiKey: [] + responses: + '201': + description: PDF Document generated successfully + content: + application/pdf: + description: PDF Document + schema: + type: string + format: binary + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + $ref: '#/components/schemas/def-0' + '401': + description: Unauthorized + content: + application/json: + schema: + description: Unauthorized + $ref: '#/components/schemas/def-0' + '500': + description: Internal server error /pdf/generate/: post: + summary: Generates a PDF document from HTML and web technologies. tags: - PDF + description: |+ + Generates a PDF document from web assets. + requestBody: content: multipart/form-data: @@ -54,32 +197,56 @@ paths: - options properties: options: + description: Conversion options. This field is required even if empty. type: object required: [] properties: test: type: boolean - description: Generate a test document instead of a production document. The - generated document will contain a watermark. Defaults to - true. + description: >- + Generate a test document instead of a production + document. The generated document will contain a + watermark. Defaults to true. default: true host: type: boolean - description: If enabled, the document will be hosted by FileForge and a - presigned URL will be returned. + description: >- + If enabled, the document will be hosted by FileForge and + a presigned URL will be returned. default: false expiresAt: type: string format: date-time - description: If host is enabled, the expiration date of the presigned URL. - Defaults to 7 days from now. Cannot exceed 7 days from - now. + description: >- + If host is enabled, the expiration date of the presigned + URL. Defaults to 7 days from now. Cannot exceed 7 days + from now. fileName: type: string - description: The name of the generated PDF file. Defaults to document. The file - name should not contain extensions nor path traversals. + description: >- + The name of the generated PDF file. Defaults to + document. The file name should not contain extensions + nor path traversals. default: document files: + description: >- + Files to generate the PDF document from. + + + An `index.html` file is required, and will be used as the + main document. Other documents may also be attached, such as + stylesheets or images. The path in the `filename` part of + the multipart attachement will be respected during + generation. + + + **Important notice**: during generation, the `index.html` + file will be processed to include the base URL of the + document. This is required for assets to be loaded + correctly. To link your assets from the HTML file, you + should not use a leading slash in the URL. For example, use + `` instead of ``. allOf: - {} - type: array @@ -93,7 +260,7 @@ paths: security: - apiKey: [] responses: - "201": + '201': description: PDF Document generated successfully content: application/pdf: @@ -111,29 +278,29 @@ paths: type: string format: uri description: URL to the generated PDF document - "400": + '400': description: Bad request content: application/json: schema: description: Bad request - $ref: "#/components/schemas/def-0" - "401": + $ref: '#/components/schemas/def-0' + '401': description: Unauthorized content: application/json: schema: description: Unauthorized - $ref: "#/components/schemas/def-0" - "500": + $ref: '#/components/schemas/def-0' + '500': description: Internal server error - "502": + '502': description: Bad Gateway content: application/json: schema: description: Bad Gateway - $ref: "#/components/schemas/def-0" + $ref: '#/components/schemas/def-0' /pdf/merge/: post: tags: @@ -165,7 +332,7 @@ paths: security: - apiKey: [] responses: - "201": + '201': description: PDF Document generated successfully content: application/pdf: @@ -173,21 +340,21 @@ paths: schema: type: string format: binary - "400": + '400': description: Bad request content: application/json: schema: description: Bad request - $ref: "#/components/schemas/def-0" - "401": + $ref: '#/components/schemas/def-0' + '401': description: Unauthorized content: application/json: schema: description: Unauthorized - $ref: "#/components/schemas/def-0" - "500": + $ref: '#/components/schemas/def-0' + '500': description: Internal server error servers: - url: https://api.fileforge.com