@verdocs/js-sdk 1.1.2 → 1.1.6
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/Documents/Documents.d.ts +2 -0
- package/Documents/Documents.js +16 -0
- package/HTTP/VerdocsEndpoint.d.ts +13 -2
- package/HTTP/VerdocsEndpoint.js +16 -4
- package/Users/Auth.d.ts +15 -1
- package/Users/Auth.js +52 -0
- package/package.json +1 -1
package/Documents/Documents.d.ts
CHANGED
|
@@ -148,3 +148,5 @@ export interface ISigningSessionResult {
|
|
|
148
148
|
*/
|
|
149
149
|
export declare const getSigningSession: (params: ISigningSessionRequest) => Promise<ISigningSessionResult>;
|
|
150
150
|
export declare const getDocumentRecipients: (documentId: string) => Promise<IRecipient[]>;
|
|
151
|
+
export declare const getDocument: (documentId: string) => Promise<IDocument>;
|
|
152
|
+
export declare const getDocumentFile: (documentId: string, envelopeDocumentId: string) => Promise<string>;
|
package/Documents/Documents.js
CHANGED
|
@@ -92,3 +92,19 @@ export var getDocumentRecipients = function (documentId) { return __awaiter(void
|
|
|
92
92
|
.then(function (r) { return r.data; })];
|
|
93
93
|
});
|
|
94
94
|
}); };
|
|
95
|
+
export var getDocument = function (documentId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
96
|
+
return __generator(this, function (_a) {
|
|
97
|
+
return [2 /*return*/, getEndpoint()
|
|
98
|
+
.api.get("/documents/".concat(documentId))
|
|
99
|
+
.then(function (r) { return r.data; })];
|
|
100
|
+
});
|
|
101
|
+
}); };
|
|
102
|
+
export var getDocumentFile = function (documentId, envelopeDocumentId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
103
|
+
return __generator(this, function (_a) {
|
|
104
|
+
return [2 /*return*/, getEndpoint()
|
|
105
|
+
.api.get("/documents/".concat(documentId, "/envelope_documents/").concat(envelopeDocumentId, "?file=true"), {
|
|
106
|
+
responseType: 'arraybuffer',
|
|
107
|
+
})
|
|
108
|
+
.then(function (r) { return Buffer.from(r.data, 'binary').toString('base64'); })];
|
|
109
|
+
});
|
|
110
|
+
}); };
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { AxiosInstance } from 'axios';
|
|
11
11
|
export declare class VerdocsEndpoint {
|
|
12
|
-
baseURL: string;
|
|
13
12
|
api: AxiosInstance;
|
|
14
13
|
requestLoggerId: number | null;
|
|
15
14
|
/**
|
|
@@ -21,8 +20,9 @@ export declare class VerdocsEndpoint {
|
|
|
21
20
|
* console.log('Current timeout', Transport.getEndpoint().defaults.timeout);
|
|
22
21
|
* ```
|
|
23
22
|
*/
|
|
24
|
-
constructor({ baseURL }?: {
|
|
23
|
+
constructor({ baseURL, timeout }?: {
|
|
25
24
|
baseURL?: string;
|
|
25
|
+
timeout?: number;
|
|
26
26
|
});
|
|
27
27
|
/**
|
|
28
28
|
* Set the timeout for API calls in milliseconds. 2000-4000ms is recommended for most purposes. 3000ms is the default.
|
|
@@ -57,6 +57,17 @@ export declare class VerdocsEndpoint {
|
|
|
57
57
|
* ```
|
|
58
58
|
*/
|
|
59
59
|
setAuthorization(accessToken: string | null): void;
|
|
60
|
+
/**
|
|
61
|
+
* Set the base URL for API calls. May also be set via the constructor.
|
|
62
|
+
*
|
|
63
|
+
* ```typescript
|
|
64
|
+
* import {Endpoint} from '@verdocs/js-sdk/HTTP';
|
|
65
|
+
*
|
|
66
|
+
* const endpoint = new Endpoint();
|
|
67
|
+
* endpoint.setBaseURL('https://api.verdocs.com');
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
setBaseURL(url: string): void;
|
|
60
71
|
/**
|
|
61
72
|
* Enable or disable request logging. This may expose sensitive data in the console log, so it should only be used for debugging.
|
|
62
73
|
*
|
package/HTTP/VerdocsEndpoint.js
CHANGED
|
@@ -24,12 +24,11 @@ var VerdocsEndpoint = /** @class */ (function () {
|
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
26
|
function VerdocsEndpoint(_a) {
|
|
27
|
-
var _b = _a === void 0 ? {} : _a, baseURL = _b.baseURL;
|
|
27
|
+
var _b = _a === void 0 ? {} : _a, baseURL = _b.baseURL, timeout = _b.timeout;
|
|
28
28
|
this.requestLoggerId = null;
|
|
29
|
-
this.baseURL = baseURL || 'https://api.verdocs.com/';
|
|
30
29
|
this.api = axios.create({
|
|
31
|
-
baseURL:
|
|
32
|
-
timeout: 6000,
|
|
30
|
+
baseURL: baseURL || 'https://api.verdocs.com',
|
|
31
|
+
timeout: timeout || 6000,
|
|
33
32
|
});
|
|
34
33
|
}
|
|
35
34
|
/**
|
|
@@ -76,6 +75,19 @@ var VerdocsEndpoint = /** @class */ (function () {
|
|
|
76
75
|
delete this.api.defaults.headers.Authorization;
|
|
77
76
|
}
|
|
78
77
|
};
|
|
78
|
+
/**
|
|
79
|
+
* Set the base URL for API calls. May also be set via the constructor.
|
|
80
|
+
*
|
|
81
|
+
* ```typescript
|
|
82
|
+
* import {Endpoint} from '@verdocs/js-sdk/HTTP';
|
|
83
|
+
*
|
|
84
|
+
* const endpoint = new Endpoint();
|
|
85
|
+
* endpoint.setBaseURL('https://api.verdocs.com');
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
VerdocsEndpoint.prototype.setBaseURL = function (url) {
|
|
89
|
+
this.api.defaults.baseURL = url;
|
|
90
|
+
};
|
|
79
91
|
/**
|
|
80
92
|
* Enable or disable request logging. This may expose sensitive data in the console log, so it should only be used for debugging.
|
|
81
93
|
*
|
package/Users/Auth.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { IAuthenticateAppRequest, IAuthenticateUserRequest, TokenValidationRequest, UpdateEmailRequest } from './Types';
|
|
1
|
+
import { IActiveSession, IAuthenticateAppRequest, IAuthenticateUserRequest, TokenValidationRequest, UpdateEmailRequest } from './Types';
|
|
2
2
|
import { IAuthenticateResponse, TokenValidationResponse, UpdateEmailResponse, UpdatePasswordResponse } from './Types';
|
|
3
3
|
import { UpdatePasswordRequest } from './Types';
|
|
4
|
+
import { ISigningSession } from '../Documents/Types';
|
|
4
5
|
/**
|
|
5
6
|
* Authenticate to Verdocs via user/password authentication
|
|
6
7
|
*
|
|
@@ -79,3 +80,16 @@ export declare const updatePassword: (params: UpdatePasswordRequest) => Promise<
|
|
|
79
80
|
* ```
|
|
80
81
|
*/
|
|
81
82
|
export declare const updateEmail: (params: UpdateEmailRequest) => Promise<UpdateEmailResponse>;
|
|
83
|
+
export declare type TSession = IActiveSession | ISigningSession | null;
|
|
84
|
+
/**
|
|
85
|
+
* Parses and sets the active session, optionally persisting (brower-only, persists to localStorage).
|
|
86
|
+
*/
|
|
87
|
+
export declare const setSession: (source: string, token: string | null, persist?: boolean) => TSession;
|
|
88
|
+
/**
|
|
89
|
+
* Load a session from localStorage
|
|
90
|
+
*/
|
|
91
|
+
export declare const loadSession: (source: string) => IActiveSession | ISigningSession | null;
|
|
92
|
+
/**
|
|
93
|
+
* End the active session.
|
|
94
|
+
*/
|
|
95
|
+
export declare const endSession: (source: string, persist?: boolean) => null;
|
package/Users/Auth.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getEndpoint } from '../HTTP/Transport';
|
|
2
|
+
import { decodeAccessTokenBody } from '../Utils/Token';
|
|
2
3
|
/**
|
|
3
4
|
* Authenticate to Verdocs via user/password authentication
|
|
4
5
|
*
|
|
@@ -101,3 +102,54 @@ export var updateEmail = function (params) {
|
|
|
101
102
|
.api.put('/user/update_email', params)
|
|
102
103
|
.then(function (r) { return r.data; });
|
|
103
104
|
};
|
|
105
|
+
var clearSession = function (source, persist) {
|
|
106
|
+
getEndpoint().setAuthorization(null);
|
|
107
|
+
if (persist) {
|
|
108
|
+
localStorage.removeItem(source);
|
|
109
|
+
}
|
|
110
|
+
return null;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Parses and sets the active session, optionally persisting (brower-only, persists to localStorage).
|
|
114
|
+
*/
|
|
115
|
+
export var setSession = function (source, token, persist) {
|
|
116
|
+
if (persist === void 0) { persist = false; }
|
|
117
|
+
if (token === null) {
|
|
118
|
+
return clearSession(source, persist);
|
|
119
|
+
}
|
|
120
|
+
var session = decodeAccessTokenBody(token || '');
|
|
121
|
+
if (session === null || (session.exp && session.exp * 1000 < new Date().getTime())) {
|
|
122
|
+
return clearSession(source, persist);
|
|
123
|
+
}
|
|
124
|
+
if (persist) {
|
|
125
|
+
localStorage.setItem(source, token);
|
|
126
|
+
}
|
|
127
|
+
getEndpoint().setAuthorization(token);
|
|
128
|
+
return session;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Load a session from localStorage
|
|
132
|
+
*/
|
|
133
|
+
export var loadSession = function (source) {
|
|
134
|
+
var token = localStorage.getItem(source);
|
|
135
|
+
if (!token) {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
var session = decodeAccessTokenBody(token);
|
|
139
|
+
if (!session) {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
if (session.exp && session.exp * 1000 < new Date().getTime()) {
|
|
143
|
+
localStorage.removeItem(source);
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
getEndpoint().setAuthorization(token);
|
|
147
|
+
return session;
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* End the active session.
|
|
151
|
+
*/
|
|
152
|
+
export var endSession = function (source, persist) {
|
|
153
|
+
if (persist === void 0) { persist = false; }
|
|
154
|
+
return clearSession(source, persist);
|
|
155
|
+
};
|