Skip to content

Commit d97760e

Browse files
committed
update openapi spec and generated files
- more meaningful specification - new endpoints and schemas - authentication restrictions clarified
1 parent 63f00dc commit d97760e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+5021
-1509
lines changed

api/core/OpenAPI.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
/* istanbul ignore file */
22
/* tslint:disable */
33
/* eslint-disable */
4-
import type { ApiRequestOptions } from './ApiRequestOptions';
5-
6-
type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
4+
type Resolver<T> = () => Promise<T>;
75
type Headers = Record<string, string>;
86

97
type Config = {

api/core/request.ts

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
/* istanbul ignore file */
22
/* tslint:disable */
33
/* eslint-disable */
4+
import FormData from 'form-data';
5+
import fetch, { BodyInit, Headers, RequestInit, Response } from 'node-fetch';
6+
import { types } from 'util';
7+
48
import { ApiError } from './ApiError';
59
import type { ApiRequestOptions } from './ApiRequestOptions';
610
import type { ApiResult } from './ApiResult';
@@ -18,8 +22,11 @@ function isStringWithValue(value: any): value is string {
1822
return isString(value) && value !== '';
1923
}
2024

21-
function isBlob(value: any): value is Blob {
22-
return value instanceof Blob;
25+
function isBinary(value: any): value is Buffer | ArrayBuffer | ArrayBufferView {
26+
const isBuffer = Buffer.isBuffer(value);
27+
const isArrayBuffer = types.isArrayBuffer(value);
28+
const isArrayBufferView = types.isArrayBufferView(value);
29+
return isBuffer || isArrayBuffer || isArrayBufferView;
2330
}
2431

2532
function getQueryString(params: Record<string, any>): string {
@@ -63,39 +70,38 @@ function getFormData(params: Record<string, any>): FormData {
6370
return formData;
6471
}
6572

66-
type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
73+
type Resolver<T> = () => Promise<T>;
6774

68-
async function resolve<T>(options: ApiRequestOptions, resolver?: T | Resolver<T>): Promise<T | undefined> {
75+
async function resolve<T>(resolver?: T | Resolver<T>): Promise<T | undefined> {
6976
if (typeof resolver === 'function') {
70-
return (resolver as Resolver<T>)(options);
77+
return (resolver as Resolver<T>)();
7178
}
7279
return resolver;
7380
}
7481

7582
async function getHeaders(options: ApiRequestOptions): Promise<Headers> {
76-
const token = await resolve(options, OpenAPI.TOKEN);
77-
const username = await resolve(options, OpenAPI.USERNAME);
78-
const password = await resolve(options, OpenAPI.PASSWORD);
79-
const defaultHeaders = await resolve(options, OpenAPI.HEADERS);
80-
8183
const headers = new Headers({
8284
Accept: 'application/json',
83-
...defaultHeaders,
85+
...OpenAPI.HEADERS,
8486
...options.headers,
8587
});
8688

89+
const token = await resolve(OpenAPI.TOKEN);
90+
const username = await resolve(OpenAPI.USERNAME);
91+
const password = await resolve(OpenAPI.PASSWORD);
92+
8793
if (isStringWithValue(token)) {
8894
headers.append('Authorization', `Bearer ${token}`);
8995
}
9096

9197
if (isStringWithValue(username) && isStringWithValue(password)) {
92-
const credentials = btoa(`${username}:${password}`);
98+
const credentials = Buffer.from(`${username}:${password}`).toString('base64');
9399
headers.append('Authorization', `Basic ${credentials}`);
94100
}
95101

96102
if (options.body) {
97-
if (isBlob(options.body)) {
98-
headers.append('Content-Type', options.body.type || 'application/octet-stream');
103+
if (isBinary(options.body)) {
104+
headers.append('Content-Type', 'application/octet-stream');
99105
} else if (isString(options.body)) {
100106
headers.append('Content-Type', 'text/plain');
101107
} else {
@@ -110,7 +116,7 @@ function getRequestBody(options: ApiRequestOptions): BodyInit | undefined {
110116
return getFormData(options.formData);
111117
}
112118
if (options.body) {
113-
if (isString(options.body) || isBlob(options.body)) {
119+
if (isString(options.body) || isBinary(options.body)) {
114120
return options.body;
115121
} else {
116122
return JSON.stringify(options.body);
@@ -125,9 +131,6 @@ async function sendRequest(options: ApiRequestOptions, url: string): Promise<Res
125131
headers: await getHeaders(options),
126132
body: getRequestBody(options),
127133
};
128-
if (OpenAPI.WITH_CREDENTIALS) {
129-
request.credentials = 'include';
130-
}
131134
return await fetch(url, request);
132135
}
133136

@@ -181,7 +184,7 @@ function catchErrors(options: ApiRequestOptions, result: ApiResult): void {
181184
}
182185

183186
/**
184-
* Request using fetch client
187+
* Request using node-fetch client
185188
* @param options The request options from the the service
186189
* @returns ApiResult
187190
* @throws ApiError

api/index.ts

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,45 +5,68 @@ export { ApiError } from './core/ApiError';
55
export { OpenAPI } from './core/OpenAPI';
66

77
export type { AttachmentsConfig } from './models/AttachmentsConfig';
8+
export type { AuthToken } from './models/AuthToken';
89
export type { BannerNotification } from './models/BannerNotification';
910
export type { BannerNotificationAction } from './models/BannerNotificationAction';
10-
export { BatchProcess } from './models/BatchProcess';
11-
export { BatchProcessTask } from './models/BatchProcessTask';
11+
export { BulkGen } from './models/BulkGen';
12+
export type { BulkGenData } from './models/BulkGenData';
1213
export type { BulkGenerateMeta } from './models/BulkGenerateMeta';
14+
export type { BulkGenTask } from './models/BulkGenTask';
15+
export type { BulkGenUpload } from './models/BulkGenUpload';
16+
export type { ChangePassword } from './models/ChangePassword';
17+
export type { ChargebeeSubscription } from './models/ChargebeeSubscription';
1318
export { ChildTemplate } from './models/ChildTemplate';
14-
export { Delivery } from './models/Delivery';
19+
export type { CopyTemplate } from './models/CopyTemplate';
1520
export { DeliveryAccount } from './models/DeliveryAccount';
1621
export type { DocumentMergeLink } from './models/DocumentMergeLink';
22+
export { DocuSignDelivery } from './models/DocuSignDelivery';
23+
export { DropboxDelivery } from './models/DropboxDelivery';
24+
export type { DynamicImage } from './models/DynamicImage';
25+
export { EmailDelivery } from './models/EmailDelivery';
26+
export type { EmailDeliveryAttachment } from './models/EmailDeliveryAttachment';
27+
export { EversignDelivery } from './models/EversignDelivery';
1728
export type { File } from './models/File';
1829
export type { FileUploadMeta } from './models/FileUploadMeta';
1930
export type { FillablePdfSettings } from './models/FillablePdfSettings';
2031
export type { Folder } from './models/Folder';
32+
export type { ForbiddenError } from './models/ForbiddenError';
33+
export { GoogleDriveDelivery } from './models/GoogleDriveDelivery';
34+
export { HelloSignDelivery } from './models/HelloSignDelivery';
2135
export { MergeHistory } from './models/MergeHistory';
2236
export type { Meta } from './models/Meta';
37+
export { NewTemplate } from './models/NewTemplate';
38+
export type { NotFoundError } from './models/NotFoundError';
39+
export { OneDriveDelivery } from './models/OneDriveDelivery';
2340
export type { Organization } from './models/Organization';
24-
export type { PaginatedBatchProcessList } from './models/PaginatedBatchProcessList';
25-
export type { PaginatedDeliveryList } from './models/PaginatedDeliveryList';
26-
export type { PaginatedDocumentMergeLinkList } from './models/PaginatedDocumentMergeLinkList';
41+
export type { PaginatedBulkGenList } from './models/PaginatedBulkGenList';
2742
export type { PaginatedMergeHistoryList } from './models/PaginatedMergeHistoryList';
2843
export type { PaginatedTemplateList } from './models/PaginatedTemplateList';
44+
export type { PatchedUpdateNewTemplate } from './models/PatchedUpdateNewTemplate';
2945
export { Plan } from './models/Plan';
46+
export type { PolymorphicDelivery } from './models/PolymorphicDelivery';
47+
export { S3Delivery } from './models/S3Delivery';
48+
export { SignNowDelivery } from './models/SignNowDelivery';
3049
export type { SubscriptionMeta } from './models/SubscriptionMeta';
3150
export { Template } from './models/Template';
51+
export { TemplateDelivery } from './models/TemplateDelivery';
3252
export { TemplateSettings } from './models/TemplateSettings';
3353
export type { Timezone } from './models/Timezone';
54+
export type { UnauthenticatedError } from './models/UnauthenticatedError';
3455
export { UpdateDeliveryAccount } from './models/UpdateDeliveryAccount';
35-
export { UpdateTemplate } from './models/UpdateTemplate';
3656
export { User } from './models/User';
3757
export type { UserPersonalization } from './models/UserPersonalization';
58+
export type { ValidationError } from './models/ValidationError';
59+
export { WebhookDelivery } from './models/WebhookDelivery';
3860

39-
export { FilesService } from './services/FilesService';
61+
export { AuthTokensService } from './services/AuthTokensService';
4062
export { FoldersService } from './services/FoldersService';
4163
export { GeneralService } from './services/GeneralService';
4264
export { GenerateBulkService } from './services/GenerateBulkService';
4365
export { GenerateService } from './services/GenerateService';
4466
export { HistoryService } from './services/HistoryService';
4567
export { LinkedAccountsService } from './services/LinkedAccountsService';
4668
export { PersonalizationService } from './services/PersonalizationService';
69+
export { SubscriptionService } from './services/SubscriptionService';
4770
export { TemplateDeliveryService } from './services/TemplateDeliveryService';
4871
export { TemplatesService } from './services/TemplatesService';
4972
export { UsersService } from './services/UsersService';

api/models/AuthToken.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/* istanbul ignore file */
2+
/* tslint:disable */
3+
/* eslint-disable */
4+
5+
export type AuthToken = {
6+
readonly id: number;
7+
readonly token: string;
8+
name: string;
9+
}

api/models/BatchProcess.ts

Lines changed: 0 additions & 30 deletions
This file was deleted.

api/models/BatchProcessTask.ts

Lines changed: 0 additions & 29 deletions
This file was deleted.

api/models/BulkGen.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/* istanbul ignore file */
2+
/* tslint:disable */
3+
/* eslint-disable */
4+
5+
import type { BulkGenTask } from './BulkGenTask';
6+
7+
export type BulkGen = {
8+
readonly id: number;
9+
readonly errors: Array<BulkGenTask>;
10+
status?: BulkGen.status;
11+
start_time?: string | null;
12+
end_time?: string | null;
13+
total?: number | null;
14+
success?: number | null;
15+
}
16+
17+
export namespace BulkGen {
18+
19+
export enum status {
20+
_0 = 0,
21+
_1 = 1,
22+
_2 = 2,
23+
_3 = 3,
24+
_4 = 4,
25+
_5 = 5,
26+
}
27+
28+
29+
}

api/models/BulkGenData.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/* istanbul ignore file */
2+
/* tslint:disable */
3+
/* eslint-disable */
4+
5+
export type BulkGenData = {
6+
id: number;
7+
data: Record<string, any>;
8+
row_count: number;
9+
}

api/models/BulkGenTask.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/* istanbul ignore file */
2+
/* tslint:disable */
3+
/* eslint-disable */
4+
5+
export type BulkGenTask = {
6+
status_message?: string | null;
7+
}

api/models/BulkGenUpload.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/* istanbul ignore file */
2+
/* tslint:disable */
3+
/* eslint-disable */
4+
5+
export type BulkGenUpload = {
6+
file: string;
7+
}

0 commit comments

Comments
 (0)