@wireapp/api-client 27.75.10 → 27.76.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/lib/APIClient.js CHANGED
@@ -102,7 +102,7 @@ class APIClient extends events_1.EventEmitter {
102
102
  }
103
103
  configureApis(backendFeatures) {
104
104
  this.logger.info('configuring APIs with config', backendFeatures);
105
- const assetAPI = new asset_1.AssetAPI(this.transport.http, backendFeatures);
105
+ const assetAPI = new asset_1.AssetAPI(this.transport.http);
106
106
  // Prevents the CellsAPI from being initialized multiple times
107
107
  if (!this.cellsApi) {
108
108
  this.cellsApi = new CellsAPI_1.CellsAPI({
@@ -1,6 +1,5 @@
1
+ import { QualifiedConversationId } from '@wireapp/protocol-messaging';
1
2
  import { AssetRetentionPolicy } from './AssetRetentionPolicy';
2
- import { AssetUploadData } from './AssetUploadData';
3
- import { BackendFeatures } from '../APIClient';
4
3
  import { HttpClient, ProgressCallback, RequestCancelable } from '../http/';
5
4
  export interface CipherOptions {
6
5
  /** Set a custom algorithm for encryption */
@@ -8,11 +7,18 @@ export interface CipherOptions {
8
7
  /** Set a custom hash for encryption */
9
8
  hash?: Buffer;
10
9
  }
10
+ export interface AssetAuditData {
11
+ conversationId: QualifiedConversationId;
12
+ filename: string;
13
+ filetype: string;
14
+ }
11
15
  export interface AssetOptions extends CipherOptions {
12
16
  public?: boolean;
13
17
  retention?: AssetRetentionPolicy;
14
18
  /** If given, will upload an asset that can be shared in a federated env */
15
19
  domain?: string;
20
+ /** Used for identifying the conversation the asset belongs to */
21
+ auditData?: AssetAuditData;
16
22
  }
17
23
  export interface AssetResponse {
18
24
  buffer: ArrayBuffer;
@@ -20,20 +26,11 @@ export interface AssetResponse {
20
26
  }
21
27
  export declare class AssetAPI {
22
28
  private readonly client;
23
- private readonly backendFeatures;
24
- constructor(client: HttpClient, backendFeatures: BackendFeatures);
29
+ private readonly logger;
30
+ constructor(client: HttpClient);
25
31
  private getAssetShared;
26
32
  private postAssetShared;
27
- getAssetV1(assetId: string, conversationId: string, forceCaching?: boolean, progressCallback?: ProgressCallback): {
28
- cancel: () => void;
29
- response: Promise<AssetResponse>;
30
- };
31
- getAssetV2(assetId: string, conversationId: string, forceCaching?: boolean, progressCallback?: ProgressCallback): {
32
- cancel: () => void;
33
- response: Promise<AssetResponse>;
34
- };
35
- getAssetV3(assetId: string, token?: string | null, forceCaching?: boolean, progressCallback?: ProgressCallback): RequestCancelable<AssetResponse>;
36
- getAssetV4(assetId: string, assetDomain: string, token?: string | null, forceCaching?: boolean, progressCallback?: ProgressCallback): RequestCancelable<AssetResponse>;
33
+ getAsset(assetId: string, assetDomain: string, token?: string | null, forceCaching?: boolean, progressCallback?: ProgressCallback): RequestCancelable<AssetResponse>;
37
34
  getServiceAsset(assetId: string, token?: string | null, forceCaching?: boolean, progressCallback?: ProgressCallback): RequestCancelable<AssetResponse>;
38
35
  /**
39
36
  * Uploads an asset to the backend
@@ -42,7 +39,17 @@ export declare class AssetAPI {
42
39
  * @param options?
43
40
  * @param progressCallback? Will be called at every progress of the upload
44
41
  */
45
- postAsset(asset: Uint8Array, options?: AssetOptions, progressCallback?: ProgressCallback): RequestCancelable<AssetUploadData>;
46
- postServiceAsset(asset: Uint8Array, options?: AssetOptions, progressCallback?: ProgressCallback): RequestCancelable<AssetUploadData>;
42
+ postAsset(asset: Uint8Array, options?: AssetOptions, progressCallback?: ProgressCallback): RequestCancelable<{
43
+ key: string;
44
+ token: string;
45
+ expires: string;
46
+ domain?: string | undefined;
47
+ }>;
48
+ postServiceAsset(asset: Uint8Array, options?: AssetOptions, progressCallback?: ProgressCallback): RequestCancelable<{
49
+ key: string;
50
+ token: string;
51
+ expires: string;
52
+ domain?: string | undefined;
53
+ }>;
47
54
  }
48
55
  //# sourceMappingURL=AssetAPI.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssetAPI.d.ts","sourceRoot":"","sources":["../../src/asset/AssetAPI.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,EAGL,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,UAAU,CAAC;AAKlB,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAYD,qBAAa,QAAQ;IAEjB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBADf,MAAM,EAAE,UAAU,EAClB,eAAe,EAAE,eAAe;IAGnD,OAAO,CAAC,cAAc;IAkDtB,OAAO,CAAC,eAAe;IA4DvB,UAAU,CACR,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,YAAY,GAAE,OAAe,EAC7B,gBAAgB,CAAC,EAAE,gBAAgB;;;;IAiDrC,UAAU,CACR,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,YAAY,GAAE,OAAe,EAC7B,gBAAgB,CAAC,EAAE,gBAAgB;;;;IA+CrC,UAAU,CACR,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,YAAY,GAAE,OAAe,EAC7B,gBAAgB,CAAC,EAAE,gBAAgB;IAarC,UAAU,CACR,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,YAAY,GAAE,OAAe,EAC7B,gBAAgB,CAAC,EAAE,gBAAgB;IAgBrC,eAAe,CACb,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,YAAY,GAAE,OAAe,EAC7B,gBAAgB,CAAC,EAAE,gBAAgB;IAUrC;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE,gBAAgB;IAKxF,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE,gBAAgB;CAIhG"}
1
+ {"version":3,"file":"AssetAPI.d.ts","sourceRoot":"","sources":["../../src/asset/AssetAPI.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAC;AAGpE,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAGL,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,UAAU,CAAC;AAKlB,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,uBAAuB,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,QAAQ;IAGP,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAEX,MAAM,EAAE,UAAU;IAI/C,OAAO,CAAC,cAAc;IAkDtB,OAAO,CAAC,eAAe;IAiFvB,QAAQ,CACN,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,YAAY,GAAE,OAAe,EAC7B,gBAAgB,CAAC,EAAE,gBAAgB;IAgBrC,eAAe,CACb,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,YAAY,GAAE,OAAe,EAC7B,gBAAgB,CAAC,EAAE,gBAAgB;IAUrC;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE,gBAAgB;;;;;;IAIxF,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE,gBAAgB;;;;;;CAGhG"}
@@ -23,27 +23,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
24
  exports.AssetAPI = void 0;
25
25
  const axios_1 = __importDefault(require("axios"));
26
+ const commons_1 = require("@wireapp/commons");
27
+ const AssetAPI_schema_1 = require("./AssetAPI.schema");
26
28
  const AssetRetentionPolicy_1 = require("./AssetRetentionPolicy");
27
29
  const AssetUtil_1 = require("./AssetUtil");
28
30
  const http_1 = require("../http/");
29
31
  const buffer_1 = require("../shims/node/buffer");
30
32
  const random_1 = require("../shims/node/random");
31
33
  const user_1 = require("../user");
32
- const ASSET_URLS = {
33
- ASSET_V3_URL: '/assets/v3',
34
- ASSET_V4_URL: '/assets/v4',
35
- ASSET_SERVICE_URL: '/bot/assets',
36
- ASSET_V2_URL: '/otr/assets',
37
- ASSET_V2_CONVERSATION_URL: '/conversations',
38
- ASSET_V1_URL: '/assets',
39
- ASSETS_URL: '/assets',
40
- };
41
34
  class AssetAPI {
42
35
  client;
43
- backendFeatures;
44
- constructor(client, backendFeatures) {
36
+ logger;
37
+ constructor(client) {
45
38
  this.client = client;
46
- this.backendFeatures = backendFeatures;
39
+ this.logger = commons_1.LogFactory.getLogger('@wireapp/api-client/AssetAPI');
47
40
  }
48
41
  getAssetShared(assetUrl, token, forceCaching = false, progressCallback) {
49
42
  if (token && !(0, AssetUtil_1.isValidToken)(token)) {
@@ -87,11 +80,17 @@ class AssetAPI {
87
80
  }
88
81
  postAssetShared(assetBaseUrl, asset, options, progressCallback) {
89
82
  const BOUNDARY = `Frontier${(0, random_1.unsafeAlphanumeric)()}`;
90
- const metadata = JSON.stringify({
83
+ const metadataObject = {
91
84
  public: options?.public ?? true,
92
85
  retention: options?.retention || AssetRetentionPolicy_1.AssetRetentionPolicy.PERSISTENT,
93
86
  domain: options?.domain,
94
- });
87
+ };
88
+ if (options?.auditData) {
89
+ metadataObject.convId = options.auditData.conversationId;
90
+ metadataObject.filename = options.auditData.filename;
91
+ metadataObject.filetype = options.auditData.filetype;
92
+ }
93
+ const metadata = JSON.stringify(metadataObject);
95
94
  const body = `--${BOUNDARY}\r\n` +
96
95
  'Content-Type: application/json;charset=utf-8\r\n' +
97
96
  `Content-length: ${metadata.length}\r\n` +
@@ -118,6 +117,10 @@ class AssetAPI {
118
117
  const handleRequest = async () => {
119
118
  try {
120
119
  const response = await this.client.sendRequest(config);
120
+ const validation = AssetAPI_schema_1.PostAssetsResponseSchema.safeParse(response.data);
121
+ if (!validation.success) {
122
+ this.logger.warn('Asset upload response validation failed:', validation.error);
123
+ }
121
124
  return response.data;
122
125
  }
123
126
  catch (error) {
@@ -132,99 +135,7 @@ class AssetAPI {
132
135
  response: handleRequest(),
133
136
  };
134
137
  }
135
- getAssetV1(assetId, conversationId, forceCaching = false, progressCallback) {
136
- if (!(0, AssetUtil_1.isValidUUID)(assetId)) {
137
- throw new TypeError(`Expected asset ID "${assetId}" to only contain alphanumeric values and dashes.`);
138
- }
139
- if (!(0, AssetUtil_1.isValidUUID)(conversationId)) {
140
- throw new TypeError(`Expected conversation ID "${conversationId}" to only contain alphanumeric values and dashes.`);
141
- }
142
- const cancelSource = axios_1.default.CancelToken.source();
143
- const config = {
144
- cancelToken: cancelSource.token,
145
- method: 'get',
146
- onDownloadProgress: (0, http_1.handleProgressEvent)(progressCallback),
147
- onUploadProgress: (0, http_1.handleProgressEvent)(progressCallback),
148
- params: {
149
- conv_id: conversationId,
150
- },
151
- responseType: 'arraybuffer',
152
- url: `${ASSET_URLS.ASSET_V1_URL}/${assetId}`,
153
- };
154
- if (forceCaching) {
155
- config.params.forceCaching = forceCaching;
156
- }
157
- const handleRequest = async () => {
158
- try {
159
- const response = await this.client.sendRequest(config);
160
- return {
161
- buffer: response.data,
162
- mimeType: response.headers['content-type'],
163
- };
164
- }
165
- catch (error) {
166
- if (error.message === http_1.SyntheticErrorLabel.REQUEST_CANCELLED) {
167
- throw new user_1.RequestCancellationError('Asset download got cancelled.');
168
- }
169
- throw error;
170
- }
171
- };
172
- return {
173
- cancel: () => cancelSource.cancel(http_1.SyntheticErrorLabel.REQUEST_CANCELLED),
174
- response: handleRequest(),
175
- };
176
- }
177
- getAssetV2(assetId, conversationId, forceCaching = false, progressCallback) {
178
- if (!(0, AssetUtil_1.isValidUUID)(assetId)) {
179
- throw new TypeError(`Expected asset ID "${assetId}" to only contain alphanumeric values and dashes.`);
180
- }
181
- if (!(0, AssetUtil_1.isValidUUID)(conversationId)) {
182
- throw new TypeError(`Expected conversation ID "${conversationId}" to only contain alphanumeric values and dashes.`);
183
- }
184
- const cancelSource = axios_1.default.CancelToken.source();
185
- const config = {
186
- cancelToken: cancelSource.token,
187
- method: 'get',
188
- onDownloadProgress: (0, http_1.handleProgressEvent)(progressCallback),
189
- onUploadProgress: (0, http_1.handleProgressEvent)(progressCallback),
190
- params: {},
191
- responseType: 'arraybuffer',
192
- url: `${ASSET_URLS.ASSET_V2_CONVERSATION_URL}/${conversationId}${ASSET_URLS.ASSET_V2_URL}/${assetId}`,
193
- };
194
- if (forceCaching) {
195
- config.params.forceCaching = forceCaching;
196
- }
197
- const handleRequest = async () => {
198
- try {
199
- const response = await this.client.sendRequest(config);
200
- return {
201
- buffer: response.data,
202
- mimeType: response.headers['content-type'],
203
- };
204
- }
205
- catch (error) {
206
- if (error.message === http_1.SyntheticErrorLabel.REQUEST_CANCELLED) {
207
- throw new user_1.RequestCancellationError('Asset download got cancelled.');
208
- }
209
- throw error;
210
- }
211
- };
212
- return {
213
- cancel: () => cancelSource.cancel(http_1.SyntheticErrorLabel.REQUEST_CANCELLED),
214
- response: handleRequest(),
215
- };
216
- }
217
- getAssetV3(assetId, token, forceCaching = false, progressCallback) {
218
- const version2 = 2;
219
- if (!(0, AssetUtil_1.isValidUUID)(assetId)) {
220
- throw new TypeError(`Expected asset ID "${assetId}" to only contain alphanumeric values and dashes.`);
221
- }
222
- if (this.backendFeatures.version >= version2) {
223
- throw new TypeError('Asset v3 is not supported on backend version 2 or higher.');
224
- }
225
- return this.getAssetShared(`${ASSET_URLS.ASSET_V3_URL}/${assetId}`, token, forceCaching, progressCallback);
226
- }
227
- getAssetV4(assetId, assetDomain, token, forceCaching = false, progressCallback) {
138
+ getAsset(assetId, assetDomain, token, forceCaching = false, progressCallback) {
228
139
  if (!(0, AssetUtil_1.isValidUUID)(assetId)) {
229
140
  throw new TypeError(`Expected asset ID "${assetId}" to only contain alphanumeric values and dashes.`);
230
141
  }
@@ -232,14 +143,13 @@ class AssetAPI {
232
143
  if (!isValidDomain(assetDomain)) {
233
144
  throw new TypeError(`Invalid asset domain ${assetDomain}`);
234
145
  }
235
- const assetBaseUrl = this.backendFeatures.version >= 2 ? ASSET_URLS.ASSETS_URL : ASSET_URLS.ASSET_V4_URL;
236
- return this.getAssetShared(`${assetBaseUrl}/${assetDomain}/${assetId}`, token, forceCaching, progressCallback);
146
+ return this.getAssetShared(`/assets/${assetDomain}/${assetId}`, token, forceCaching, progressCallback);
237
147
  }
238
148
  getServiceAsset(assetId, token, forceCaching = false, progressCallback) {
239
149
  if (!(0, AssetUtil_1.isValidUUID)(assetId)) {
240
150
  throw new TypeError(`Expected asset ID "${assetId}" to only contain alphanumeric values and dashes.`);
241
151
  }
242
- const assetBaseUrl = `${ASSET_URLS.ASSET_SERVICE_URL}/${assetId}`;
152
+ const assetBaseUrl = `/bot/assets/${assetId}`;
243
153
  return this.getAssetShared(assetBaseUrl, token, forceCaching, progressCallback);
244
154
  }
245
155
  /**
@@ -250,12 +160,10 @@ class AssetAPI {
250
160
  * @param progressCallback? Will be called at every progress of the upload
251
161
  */
252
162
  postAsset(asset, options, progressCallback) {
253
- const baseUrl = this.backendFeatures.version >= 2 ? ASSET_URLS.ASSETS_URL : ASSET_URLS.ASSET_V3_URL;
254
- return this.postAssetShared(baseUrl, asset, options, progressCallback);
163
+ return this.postAssetShared('/assets', asset, options, progressCallback);
255
164
  }
256
165
  postServiceAsset(asset, options, progressCallback) {
257
- const assetBaseUrl = ASSET_URLS.ASSET_SERVICE_URL;
258
- return this.postAssetShared(assetBaseUrl, asset, options, progressCallback);
166
+ return this.postAssetShared('/bot/assets', asset, options, progressCallback);
259
167
  }
260
168
  }
261
169
  exports.AssetAPI = AssetAPI;
@@ -0,0 +1,27 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema for validating POST /assets response (201 Created)
4
+ * Based on backend API specification
5
+ */
6
+ export declare const PostAssetsResponseSchema: z.ZodObject<{
7
+ /** Asset domain (example.com) */
8
+ domain: z.ZodOptional<z.ZodString>;
9
+ /** ISO 8601 formatted expiration date */
10
+ expires: z.ZodString;
11
+ /** Asset key (e.g., "3-1-47de4580-ae51-4650-acbb-d10c028cb0ac") */
12
+ key: z.ZodString;
13
+ /** Base64 encoded token (e.g., "aGVsbG8") */
14
+ token: z.ZodString;
15
+ }, "strip", z.ZodTypeAny, {
16
+ key: string;
17
+ token: string;
18
+ expires: string;
19
+ domain?: string | undefined;
20
+ }, {
21
+ key: string;
22
+ token: string;
23
+ expires: string;
24
+ domain?: string | undefined;
25
+ }>;
26
+ export type AssetUploadData = z.infer<typeof PostAssetsResponseSchema>;
27
+ //# sourceMappingURL=AssetAPI.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetAPI.schema.d.ts","sourceRoot":"","sources":["../../src/asset/AssetAPI.schema.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB;;;GAGG;AACH,eAAO,MAAM,wBAAwB;IACnC,iCAAiC;;IAEjC,yCAAyC;;IAEzC,mEAAmE;;IAEnE,6CAA6C;;;;;;;;;;;;EAE7C,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -18,3 +18,19 @@
18
18
  *
19
19
  */
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.PostAssetsResponseSchema = void 0;
22
+ const zod_1 = require("zod");
23
+ /**
24
+ * Zod schema for validating POST /assets response (201 Created)
25
+ * Based on backend API specification
26
+ */
27
+ exports.PostAssetsResponseSchema = zod_1.z.object({
28
+ /** Asset domain (example.com) */
29
+ domain: zod_1.z.string().optional(),
30
+ /** ISO 8601 formatted expiration date */
31
+ expires: zod_1.z.string().datetime(),
32
+ /** Asset key (e.g., "3-1-47de4580-ae51-4650-acbb-d10c028cb0ac") */
33
+ key: zod_1.z.string().min(1),
34
+ /** Base64 encoded token (e.g., "aGVsbG8") */
35
+ token: zod_1.z.string().min(1),
36
+ });
@@ -1,5 +1,5 @@
1
1
  export * from './AssetAPI';
2
2
  export * from './AssetRetentionPolicy';
3
- export * from './AssetUploadData';
3
+ export { AssetUploadData } from './AssetAPI.schema';
4
4
  export * from './AssetUtil';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/asset/index.ts"],"names":[],"mappings":"AAmBA,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/asset/index.ts"],"names":[],"mappings":"AAmBA,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,cAAc,aAAa,CAAC"}
@@ -34,5 +34,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  __exportStar(require("./AssetAPI"), exports);
36
36
  __exportStar(require("./AssetRetentionPolicy"), exports);
37
- __exportStar(require("./AssetUploadData"), exports);
38
37
  __exportStar(require("./AssetUtil"), exports);
@@ -63,7 +63,12 @@ export declare class ServicesAPI {
63
63
  * Upload an asset.
64
64
  * Note that resumable uploads are not currently supported for services.
65
65
  */
66
- postAsset(asset: Uint8Array, options?: AssetOptions, progressCallback?: ProgressCallback): import("../http").RequestCancelable<import("../asset").AssetUploadData>;
66
+ postAsset(asset: Uint8Array, options?: AssetOptions, progressCallback?: ProgressCallback): import("../http").RequestCancelable<{
67
+ key: string;
68
+ token: string;
69
+ expires: string;
70
+ domain?: string | undefined;
71
+ }>;
67
72
  /**
68
73
  * Download an asset.
69
74
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ServicesAPI.d.ts","sourceRoot":"","sources":["../../src/services/ServicesAPI.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,MAAM,EACN,IAAI,EACJ,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACf,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,UAAU,CAAC;AAChD,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAErD,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,QAAQ;IAGrC,gBAAuB,GAAG;;;;;;;;;;MAUxB;IAEF;;;;OAIG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASxC;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAUzC;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAUlD;;OAEG;IACU,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAU/E;;OAEG;IACU,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAU5E;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrC;;;;;;OAMG;IACU,mBAAmB,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAW7F;;OAEG;IACU,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAalE;;OAEG;IACU,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhE;;;OAGG;IACI,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE,gBAAgB;IAI/F;;OAEG;IACI,QAAQ,CACb,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,YAAY,GAAE,OAAe,EAC7B,gBAAgB,CAAC,EAAE,gBAAgB;IAKrC;;OAEG;IACU,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD;;OAEG;IACU,WAAW,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CASrE"}
1
+ {"version":3,"file":"ServicesAPI.d.ts","sourceRoot":"","sources":["../../src/services/ServicesAPI.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,MAAM,EACN,IAAI,EACJ,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACf,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,UAAU,CAAC;AAChD,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAErD,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,QAAQ;IAGrC,gBAAuB,GAAG;;;;;;;;;;MAUxB;IAEF;;;;OAIG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASxC;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAUzC;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAUlD;;OAEG;IACU,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAU/E;;OAEG;IACU,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAU5E;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrC;;;;;;OAMG;IACU,mBAAmB,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAW7F;;OAEG;IACU,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAalE;;OAEG;IACU,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhE;;;OAGG;IACI,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE,gBAAgB;;;;;;IAI/F;;OAEG;IACI,QAAQ,CACb,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,YAAY,GAAE,OAAe,EAC7B,gBAAgB,CAAC,EAAE,gBAAgB;IAKrC;;OAEG;IACU,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD;;OAEG;IACU,WAAW,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CASrE"}
package/package.json CHANGED
@@ -70,6 +70,6 @@
70
70
  "watch": "webpack serve --config webpack.browser.js",
71
71
  "prepare": "yarn dist"
72
72
  },
73
- "version": "27.75.10",
74
- "gitHead": "5433f593c182f20b2d3aaabacd841a5b2f22e1f3"
73
+ "version": "27.76.0",
74
+ "gitHead": "50faeb13ed90b5965a0ec28ecbcbb2a20688dfa1"
75
75
  }
@@ -1,8 +0,0 @@
1
- export interface AssetUploadData {
2
- /** ISO 8601 formatted date */
3
- expires: string;
4
- key: string;
5
- domain?: string;
6
- token: string;
7
- }
8
- //# sourceMappingURL=AssetUploadData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AssetUploadData.d.ts","sourceRoot":"","sources":["../../src/asset/AssetUploadData.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf"}