glitch-javascript-sdk 1.4.0 → 1.4.2

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.
@@ -1,5 +1,5 @@
1
1
  import Response from "../util/Response";
2
- import { AxiosPromise } from "axios";
2
+ import { AxiosProgressEvent, AxiosPromise } from "axios";
3
3
  declare class Media {
4
4
  /**
5
5
  * Upload media content using a File object.
@@ -11,7 +11,7 @@ declare class Media {
11
11
  *
12
12
  * @returns promise
13
13
  */
14
- static uploadFile<T>(file: File, data?: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
14
+ static uploadFile<T>(file: File, data?: object, params?: Record<string, any>, onUploadProgress?: (progressEvent: AxiosProgressEvent) => void): AxiosPromise<Response<T>>;
15
15
  /**
16
16
  * Upload media content using a Blob.
17
17
  *
@@ -22,7 +22,7 @@ declare class Media {
22
22
  *
23
23
  * @returns promise
24
24
  */
25
- static uploadBlob<T>(blob: Blob, data?: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
25
+ static uploadBlob<T>(blob: Blob, data?: object, params?: Record<string, any>, onUploadProgress?: (progressEvent: AxiosProgressEvent) => void): AxiosPromise<Response<T>>;
26
26
  /**
27
27
  * Get media details.
28
28
  *
@@ -50,6 +50,17 @@ declare class Scheduler {
50
50
  * @returns promise
51
51
  */
52
52
  static deleteSchedule<T>(scheduler_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
53
+ /**
54
+ * Test the tone of the scheduler.
55
+ *
56
+ * @see https://api.glitch.fun/api/documentation#/Scheduler/updateTitlePromotionSchedule
57
+ *
58
+ * @param scheduler_id The ID of the promotion schedule.
59
+ * @param data The data to update.
60
+ *
61
+ * @returns promise
62
+ */
63
+ static testTone<T>(scheduler_id: string, data: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
53
64
  /**
54
65
  * Get social media posts related to a promotion schedule.
55
66
  *
@@ -133,5 +133,13 @@ declare class Titles {
133
133
  * @returns promise
134
134
  */
135
135
  static uploadBannerImageBlob<T>(title_id: string, blob: Blob, data?: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
136
+ /**
137
+ * Add media to a title.
138
+ */
139
+ static addMedia<T>(title_id: string, data?: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
140
+ /**
141
+ * Remove media from a title.
142
+ */
143
+ static removeMedia<T>(title_id: string, media_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
136
144
  }
137
145
  export default Titles;
package/dist/esm/index.js CHANGED
@@ -5410,7 +5410,8 @@ var Requests = /** @class */ (function () {
5410
5410
  }
5411
5411
  return Requests.request('DELETE', url);
5412
5412
  };
5413
- Requests.uploadFile = function (url, filename, file, data, params) {
5413
+ Requests.uploadFile = function (url, filename, file, data, params, onUploadProgress) {
5414
+ // Process URL and params
5414
5415
  if (params && Object.keys(params).length > 0) {
5415
5416
  var queryString = Object.entries(params)
5416
5417
  .map(function (_a) {
@@ -5420,6 +5421,7 @@ var Requests = /** @class */ (function () {
5420
5421
  .join('&');
5421
5422
  url = "".concat(url, "?").concat(queryString);
5422
5423
  }
5424
+ // Prepare FormData
5423
5425
  var formData = new FormData();
5424
5426
  formData.append(filename, file);
5425
5427
  if (Requests.community_id) {
@@ -5428,9 +5430,27 @@ var Requests = /** @class */ (function () {
5428
5430
  for (var key in data) {
5429
5431
  formData.append(key, data[key]);
5430
5432
  }
5431
- return Requests.request('POST', url, data, formData);
5433
+ // Prepare headers
5434
+ var headers = {
5435
+ 'Content-Type': 'multipart/form-data',
5436
+ };
5437
+ if (Requests.authToken) {
5438
+ headers['Authorization'] = "Bearer ".concat(Requests.authToken);
5439
+ }
5440
+ // Format URL
5441
+ url = url.replace(/\/\//g, '/');
5442
+ var uri = "".concat(Requests.baseUrl).concat(url).replace(/\/\//g, '/');
5443
+ // Make the request
5444
+ return axios$1({
5445
+ method: 'POST',
5446
+ url: uri,
5447
+ data: formData,
5448
+ headers: headers,
5449
+ onUploadProgress: onUploadProgress,
5450
+ });
5432
5451
  };
5433
- Requests.uploadBlob = function (url, filename, blob, data, params) {
5452
+ Requests.uploadBlob = function (url, filename, blob, data, params, onUploadProgress) {
5453
+ // Process URL and params
5434
5454
  if (params && Object.keys(params).length > 0) {
5435
5455
  var queryString = Object.entries(params)
5436
5456
  .map(function (_a) {
@@ -5440,6 +5460,7 @@ var Requests = /** @class */ (function () {
5440
5460
  .join('&');
5441
5461
  url = "".concat(url, "?").concat(queryString);
5442
5462
  }
5463
+ // Prepare FormData
5443
5464
  var formData = new FormData();
5444
5465
  formData.append(filename, blob);
5445
5466
  if (Requests.community_id) {
@@ -5448,7 +5469,24 @@ var Requests = /** @class */ (function () {
5448
5469
  for (var key in data) {
5449
5470
  formData.append(key, data[key]);
5450
5471
  }
5451
- return Requests.request('POST', url, data, formData);
5472
+ // Prepare headers
5473
+ var headers = {
5474
+ 'Content-Type': 'multipart/form-data',
5475
+ };
5476
+ if (Requests.authToken) {
5477
+ headers['Authorization'] = "Bearer ".concat(Requests.authToken);
5478
+ }
5479
+ // Format URL
5480
+ url = url.replace(/\/\//g, '/');
5481
+ var uri = "".concat(Requests.baseUrl).concat(url).replace(/\/\//g, '/');
5482
+ // Make the request
5483
+ return axios$1({
5484
+ method: 'POST',
5485
+ url: uri,
5486
+ data: formData,
5487
+ headers: headers,
5488
+ onUploadProgress: onUploadProgress,
5489
+ });
5452
5490
  };
5453
5491
  // Method adapted for browser environments
5454
5492
  Requests.uploadFileInChunks = function (file, uploadUrl, onProgress, data, chunkSize) {
@@ -9426,6 +9464,8 @@ var TitlesRoute = /** @class */ (function () {
9426
9464
  uploadBannerImage: { url: '/titles/{title_id}/uploadBannerImage', method: HTTP_METHODS.POST },
9427
9465
  addAdministrator: { url: '/titles/{title_id}/addAdministrator', method: HTTP_METHODS.POST },
9428
9466
  removeAdministrator: { url: '/titles/{title_id}/removeAdministrator/{user_id}', method: HTTP_METHODS.DELETE },
9467
+ addMedia: { url: '/titles/{title_id}/addMedia', method: HTTP_METHODS.POST },
9468
+ removeMedia: { url: '/titles/{title_id}/removeMedia/{media_id}', method: HTTP_METHODS.DELETE },
9429
9469
  };
9430
9470
  return TitlesRoute;
9431
9471
  }());
@@ -9595,6 +9635,18 @@ var Titles = /** @class */ (function () {
9595
9635
  var url = TitlesRoute.routes.uploadBannerImage.url.replace('{title_id}', title_id);
9596
9636
  return Requests.uploadBlob(url, 'image', blob, data);
9597
9637
  };
9638
+ /**
9639
+ * Add media to a title.
9640
+ */
9641
+ Titles.addMedia = function (title_id, data, params) {
9642
+ return Requests.processRoute(TitlesRoute.routes.addMedia, data, { title_id: title_id }, params);
9643
+ };
9644
+ /**
9645
+ * Remove media from a title.
9646
+ */
9647
+ Titles.removeMedia = function (title_id, media_id, params) {
9648
+ return Requests.processRoute(TitlesRoute.routes.removeMedia, {}, { title_id: title_id, media_id: media_id }, params);
9649
+ };
9598
9650
  return Titles;
9599
9651
  }());
9600
9652
 
@@ -11195,8 +11247,8 @@ var Media = /** @class */ (function () {
11195
11247
  *
11196
11248
  * @returns promise
11197
11249
  */
11198
- Media.uploadFile = function (file, data, params) {
11199
- return Requests.uploadFile(MediaRoute.routes.upload.url, 'media', file, data, params);
11250
+ Media.uploadFile = function (file, data, params, onUploadProgress) {
11251
+ return Requests.uploadFile(MediaRoute.routes.upload.url, 'media', file, data, params, onUploadProgress);
11200
11252
  };
11201
11253
  /**
11202
11254
  * Upload media content using a Blob.
@@ -11208,8 +11260,8 @@ var Media = /** @class */ (function () {
11208
11260
  *
11209
11261
  * @returns promise
11210
11262
  */
11211
- Media.uploadBlob = function (blob, data, params) {
11212
- return Requests.uploadBlob(MediaRoute.routes.upload.url, 'media', blob, data, params);
11263
+ Media.uploadBlob = function (blob, data, params, onUploadProgress) {
11264
+ return Requests.uploadBlob(MediaRoute.routes.upload.url, 'media', blob, data, params, onUploadProgress);
11213
11265
  };
11214
11266
  /**
11215
11267
  * Get media details.
@@ -11243,6 +11295,7 @@ var SchedulerRoute = /** @class */ (function () {
11243
11295
  getUpdate: { url: '/schedulers/{scheduler_id}/updates/{update_id}', method: HTTP_METHODS.GET },
11244
11296
  updateUpdate: { url: '/schedulers/{scheduler_id}/updates/{update_id}', method: HTTP_METHODS.PUT },
11245
11297
  deleteUpdate: { url: '/schedulers/{scheduler_id}/updates/{update_id}', method: HTTP_METHODS.DELETE },
11298
+ testTone: { url: '/schedulers/{scheduler_id}/tone', method: HTTP_METHODS.POST },
11246
11299
  // Clear OAuth Routes
11247
11300
  clearTwitterAuth: { url: '/schedulers/{scheduler_id}/clearTwitterAuth', method: HTTP_METHODS.DELETE },
11248
11301
  clearFacebookAuth: { url: '/schedulers/{scheduler_id}/clearFacebookAuth', method: HTTP_METHODS.DELETE },
@@ -11330,6 +11383,19 @@ var Scheduler = /** @class */ (function () {
11330
11383
  Scheduler.deleteSchedule = function (scheduler_id, params) {
11331
11384
  return Requests.processRoute(SchedulerRoute.routes.deleteSchedule, {}, { scheduler_id: scheduler_id }, params);
11332
11385
  };
11386
+ /**
11387
+ * Test the tone of the scheduler.
11388
+ *
11389
+ * @see https://api.glitch.fun/api/documentation#/Scheduler/updateTitlePromotionSchedule
11390
+ *
11391
+ * @param scheduler_id The ID of the promotion schedule.
11392
+ * @param data The data to update.
11393
+ *
11394
+ * @returns promise
11395
+ */
11396
+ Scheduler.testTone = function (scheduler_id, data, params) {
11397
+ return Requests.processRoute(SchedulerRoute.routes.testTone, data, { scheduler_id: scheduler_id }, params);
11398
+ };
11333
11399
  /**
11334
11400
  * Get social media posts related to a promotion schedule.
11335
11401
  *