glitch-javascript-sdk 3.7.0 → 3.8.1

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.
@@ -202,6 +202,32 @@ declare class GameShows {
202
202
  * List notification signups for a game show. Requires organizer permissions.
203
203
  */
204
204
  static listWishlist<T>(show_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
205
+ /** List the anonymous, published festival award/prize/swag catalog. */
206
+ static listPublicRewards<T>(show_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
207
+ /** Retrieve one SSR-ready public festival reward. */
208
+ static getPublicReward<T>(show_id: string, reward_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
209
+ /** Retrieve a privacy-safe public game leaderboard for one reward. */
210
+ static getPublicRewardLeaderboard<T>(show_id: string, reward_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
211
+ /** List drafts, sponsor items, inventory, recipients, and fulfillment for organizers. */
212
+ static manageRewards<T>(show_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
213
+ /** Claim an eligible attendee, entrant, points, or previously awarded festival reward. */
214
+ static claimReward<T>(show_id: string, reward_id: string, data?: {
215
+ title_id?: string;
216
+ }, params?: Record<string, any>): AxiosPromise<Response<T>>;
217
+ /** Create an organizer-controlled festival award, prize, swag item, or reward. */
218
+ static createReward<T>(show_id: string, data: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
219
+ /** Update publication, eligibility, metrics, inventory, or rich content. */
220
+ static updateReward<T>(show_id: string, reward_id: string, data: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
221
+ /** Soft-delete one festival reward. */
222
+ static deleteReward<T>(show_id: string, reward_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
223
+ /** Preview the organizer-only game or attendee performance leaderboard. */
224
+ static rewardLeaderboard<T>(show_id: string, reward_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
225
+ /** Snapshot current metric leaders as reward recipients. */
226
+ static autoAwardReward<T>(show_id: string, reward_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
227
+ /** Add a manual nominee, winner, honoree, claimant, or fulfillment record. */
228
+ static addRewardRecipient<T>(show_id: string, reward_id: string, data: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
229
+ /** Update judging, claim, revocation, rank, or fulfillment state. */
230
+ static updateRewardRecipient<T>(show_id: string, reward_id: string, recipient_id: string, data: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
205
231
  /**
206
232
  * List public game shows that include a title. Useful for game-page festival banners.
207
233
  */
@@ -253,5 +279,13 @@ declare class GameShows {
253
279
  static paySponsorInvitation<T>(token: string, data: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
254
280
  /** Synchronize the same intent after Stripe.js completes required 3DS. */
255
281
  static confirmSponsorInvitationPayment<T>(token: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
282
+ /** List awards, prizes, and swag owned by a sponsor invitation. */
283
+ static sponsorInvitationRewards<T>(token: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
284
+ /** Create a draft sponsor-owned award, prize, or swag item. */
285
+ static createSponsorInvitationReward<T>(token: string, data: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
286
+ /** Update sponsor-owned reward content and eligibility. */
287
+ static updateSponsorInvitationReward<T>(token: string, reward_id: string, data: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
288
+ /** Remove a sponsor-owned draft reward. */
289
+ static deleteSponsorInvitationReward<T>(token: string, reward_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
256
290
  }
257
291
  export default GameShows;
@@ -1,5 +1,94 @@
1
1
  import Response from "../util/Response";
2
2
  import { AxiosPromise } from "axios";
3
+ export type DiscordMediaType = 'all' | 'image' | 'video' | 'gif';
4
+ export type DiscordMediaAuthorType = 'all' | 'user' | 'bot' | 'webhook';
5
+ export interface DiscordMediaSearchParams {
6
+ cursor?: string;
7
+ channel_id?: string;
8
+ search?: string;
9
+ search_scope?: 'content' | 'filename';
10
+ media_type?: DiscordMediaType;
11
+ author_type?: DiscordMediaAuthorType;
12
+ date_from?: string;
13
+ date_to?: string;
14
+ sort_order?: 'asc' | 'desc';
15
+ include_imported?: boolean;
16
+ include_unsupported?: boolean;
17
+ include_nsfw?: boolean;
18
+ }
19
+ export interface DiscordMediaAttachment {
20
+ id: string;
21
+ filename: string;
22
+ title?: string | null;
23
+ description?: string | null;
24
+ mime_type: string;
25
+ media_type: 'image' | 'video';
26
+ size: number;
27
+ url?: string | null;
28
+ proxy_url?: string | null;
29
+ width?: number | null;
30
+ height?: number | null;
31
+ duration_secs?: number | null;
32
+ supported: boolean;
33
+ unsupported_reason?: string | null;
34
+ already_imported: boolean;
35
+ imported_title_update_id?: string | null;
36
+ imported_media_id?: string | null;
37
+ duplicate_import: boolean;
38
+ }
39
+ export interface DiscordMediaMessage {
40
+ id: string;
41
+ channel_id: string;
42
+ content: string;
43
+ timestamp?: string | null;
44
+ edited_timestamp?: string | null;
45
+ jump_url: string;
46
+ author: {
47
+ id?: string | null;
48
+ username: string;
49
+ avatar?: string | null;
50
+ bot: boolean;
51
+ };
52
+ webhook_id?: string | null;
53
+ attachments: DiscordMediaAttachment[];
54
+ }
55
+ export interface DiscordMediaSearchResponse {
56
+ items: DiscordMediaMessage[];
57
+ total_results: number;
58
+ next_cursor?: string | null;
59
+ indexing: boolean;
60
+ retry_after?: number | null;
61
+ }
62
+ export interface DiscordMediaImportGroup {
63
+ channel_id: string;
64
+ message_id: string;
65
+ attachment_ids: string[];
66
+ }
67
+ export interface DiscordMediaImportRequest {
68
+ groups: DiscordMediaImportGroup[];
69
+ }
70
+ export interface DiscordMediaImportAttachmentResult {
71
+ status: 'imported' | 'duplicate' | 'failed';
72
+ channel_id: string;
73
+ message_id: string;
74
+ attachment_id: string;
75
+ media_id?: string;
76
+ title_update_id?: string;
77
+ reason?: string;
78
+ }
79
+ export interface DiscordMediaImportResponse {
80
+ imported_count: number;
81
+ duplicate_count: number;
82
+ failed_count: number;
83
+ updates: Array<{
84
+ id: string;
85
+ title?: string | null;
86
+ scheduled_status: 'pending';
87
+ schedule_for_social: false;
88
+ media_count: number;
89
+ }>;
90
+ attachments: DiscordMediaImportAttachmentResult[];
91
+ }
3
92
  declare class Scheduler {
4
93
  /**
5
94
  * List promotion schedules.
@@ -310,6 +399,17 @@ declare class Scheduler {
310
399
  * @returns promise
311
400
  */
312
401
  static getDiscordChannels<T>(scheduler_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
402
+ /**
403
+ * Search image and video attachments in the connected Discord server.
404
+ * This call only returns remote candidates; it does not copy files into the
405
+ * Library and does not create or schedule social posts.
406
+ */
407
+ static searchDiscordMedia<T = DiscordMediaSearchResponse>(scheduler_id: string, params?: DiscordMediaSearchParams): AxiosPromise<Response<T>>;
408
+ /**
409
+ * Import explicitly selected Discord attachments as pending, unscheduled
410
+ * Library updates. Attachments selected from one message stay grouped.
411
+ */
412
+ static importDiscordMedia<T = DiscordMediaImportResponse>(scheduler_id: string, data: DiscordMediaImportRequest, params?: Record<string, any>): AxiosPromise<Response<T>>;
313
413
  /**
314
414
  * Clear Google Ads OAuth credentials from a promotion schedule.
315
415
  *
package/dist/esm/index.js CHANGED
@@ -15059,6 +15059,19 @@ var GameShowsRoute = /** @class */ (function () {
15059
15059
  joinWishlist: { url: '/gameshows/{show_id}/wishlist', method: HTTP_METHODS.POST },
15060
15060
  confirmWishlist: { url: '/gameshows/wishlist/confirm/{token}', method: HTTP_METHODS.GET },
15061
15061
  listWishlist: { url: '/gameshows/{show_id}/wishlist', method: HTTP_METHODS.GET },
15062
+ // Festival awards, prizes, swag, metric leaderboards, and recipients.
15063
+ listPublicRewards: { url: '/gameshows/{show_id}/rewards', method: HTTP_METHODS.GET },
15064
+ getPublicReward: { url: '/gameshows/{show_id}/rewards/{reward_id}', method: HTTP_METHODS.GET },
15065
+ getPublicRewardLeaderboard: { url: '/gameshows/{show_id}/rewards/{reward_id}/leaderboard/public', method: HTTP_METHODS.GET },
15066
+ manageRewards: { url: '/gameshows/{show_id}/rewards/manage', method: HTTP_METHODS.GET },
15067
+ claimReward: { url: '/gameshows/{show_id}/rewards/{reward_id}/claim', method: HTTP_METHODS.POST },
15068
+ createReward: { url: '/gameshows/{show_id}/rewards', method: HTTP_METHODS.POST },
15069
+ updateReward: { url: '/gameshows/{show_id}/rewards/{reward_id}', method: HTTP_METHODS.PUT },
15070
+ deleteReward: { url: '/gameshows/{show_id}/rewards/{reward_id}', method: HTTP_METHODS.DELETE },
15071
+ rewardLeaderboard: { url: '/gameshows/{show_id}/rewards/{reward_id}/leaderboard', method: HTTP_METHODS.GET },
15072
+ autoAwardReward: { url: '/gameshows/{show_id}/rewards/{reward_id}/auto-award', method: HTTP_METHODS.POST },
15073
+ addRewardRecipient: { url: '/gameshows/{show_id}/rewards/{reward_id}/recipients', method: HTTP_METHODS.POST },
15074
+ updateRewardRecipient: { url: '/gameshows/{show_id}/rewards/{reward_id}/recipients/{recipient_id}', method: HTTP_METHODS.PUT },
15062
15075
  listForTitle: { url: '/titles/{title_id}/gameshows', method: HTTP_METHODS.GET },
15063
15076
  // Organizer sponsor lifecycle and placement administration.
15064
15077
  listSponsors: { url: '/gameshows/{show_id}/sponsors', method: HTTP_METHODS.GET },
@@ -15078,6 +15091,10 @@ var GameShowsRoute = /** @class */ (function () {
15078
15091
  sponsorInvitationSubmit: { url: '/gameshow-sponsor-invitations/{token}/submit', method: HTTP_METHODS.POST },
15079
15092
  sponsorInvitationPayment: { url: '/gameshow-sponsor-invitations/{token}/payment', method: HTTP_METHODS.POST },
15080
15093
  sponsorInvitationConfirmPayment: { url: '/gameshow-sponsor-invitations/{token}/payment/confirm', method: HTTP_METHODS.POST },
15094
+ sponsorInvitationRewards: { url: '/gameshow-sponsor-invitations/{token}/rewards', method: HTTP_METHODS.GET },
15095
+ sponsorInvitationCreateReward: { url: '/gameshow-sponsor-invitations/{token}/rewards', method: HTTP_METHODS.POST },
15096
+ sponsorInvitationUpdateReward: { url: '/gameshow-sponsor-invitations/{token}/rewards/{reward_id}', method: HTTP_METHODS.PUT },
15097
+ sponsorInvitationDeleteReward: { url: '/gameshow-sponsor-invitations/{token}/rewards/{reward_id}', method: HTTP_METHODS.DELETE },
15081
15098
  };
15082
15099
  return GameShowsRoute;
15083
15100
  }());
@@ -15375,6 +15392,55 @@ var GameShows = /** @class */ (function () {
15375
15392
  GameShows.listWishlist = function (show_id, params) {
15376
15393
  return Requests.processRoute(GameShowsRoute.routes.listWishlist, {}, { show_id: show_id }, params);
15377
15394
  };
15395
+ /** List the anonymous, published festival award/prize/swag catalog. */
15396
+ GameShows.listPublicRewards = function (show_id, params) {
15397
+ return Requests.processRoute(GameShowsRoute.routes.listPublicRewards, {}, { show_id: show_id }, params);
15398
+ };
15399
+ /** Retrieve one SSR-ready public festival reward. */
15400
+ GameShows.getPublicReward = function (show_id, reward_id, params) {
15401
+ return Requests.processRoute(GameShowsRoute.routes.getPublicReward, {}, { show_id: show_id, reward_id: reward_id }, params);
15402
+ };
15403
+ /** Retrieve a privacy-safe public game leaderboard for one reward. */
15404
+ GameShows.getPublicRewardLeaderboard = function (show_id, reward_id, params) {
15405
+ return Requests.processRoute(GameShowsRoute.routes.getPublicRewardLeaderboard, {}, { show_id: show_id, reward_id: reward_id }, params);
15406
+ };
15407
+ /** List drafts, sponsor items, inventory, recipients, and fulfillment for organizers. */
15408
+ GameShows.manageRewards = function (show_id, params) {
15409
+ return Requests.processRoute(GameShowsRoute.routes.manageRewards, {}, { show_id: show_id }, params);
15410
+ };
15411
+ /** Claim an eligible attendee, entrant, points, or previously awarded festival reward. */
15412
+ GameShows.claimReward = function (show_id, reward_id, data, params) {
15413
+ if (data === void 0) { data = {}; }
15414
+ return Requests.processRoute(GameShowsRoute.routes.claimReward, data, { show_id: show_id, reward_id: reward_id }, params);
15415
+ };
15416
+ /** Create an organizer-controlled festival award, prize, swag item, or reward. */
15417
+ GameShows.createReward = function (show_id, data, params) {
15418
+ return Requests.processRoute(GameShowsRoute.routes.createReward, data, { show_id: show_id }, params);
15419
+ };
15420
+ /** Update publication, eligibility, metrics, inventory, or rich content. */
15421
+ GameShows.updateReward = function (show_id, reward_id, data, params) {
15422
+ return Requests.processRoute(GameShowsRoute.routes.updateReward, data, { show_id: show_id, reward_id: reward_id }, params);
15423
+ };
15424
+ /** Soft-delete one festival reward. */
15425
+ GameShows.deleteReward = function (show_id, reward_id, params) {
15426
+ return Requests.processRoute(GameShowsRoute.routes.deleteReward, {}, { show_id: show_id, reward_id: reward_id }, params);
15427
+ };
15428
+ /** Preview the organizer-only game or attendee performance leaderboard. */
15429
+ GameShows.rewardLeaderboard = function (show_id, reward_id, params) {
15430
+ return Requests.processRoute(GameShowsRoute.routes.rewardLeaderboard, {}, { show_id: show_id, reward_id: reward_id }, params);
15431
+ };
15432
+ /** Snapshot current metric leaders as reward recipients. */
15433
+ GameShows.autoAwardReward = function (show_id, reward_id, params) {
15434
+ return Requests.processRoute(GameShowsRoute.routes.autoAwardReward, {}, { show_id: show_id, reward_id: reward_id }, params);
15435
+ };
15436
+ /** Add a manual nominee, winner, honoree, claimant, or fulfillment record. */
15437
+ GameShows.addRewardRecipient = function (show_id, reward_id, data, params) {
15438
+ return Requests.processRoute(GameShowsRoute.routes.addRewardRecipient, data, { show_id: show_id, reward_id: reward_id }, params);
15439
+ };
15440
+ /** Update judging, claim, revocation, rank, or fulfillment state. */
15441
+ GameShows.updateRewardRecipient = function (show_id, reward_id, recipient_id, data, params) {
15442
+ return Requests.processRoute(GameShowsRoute.routes.updateRewardRecipient, data, { show_id: show_id, reward_id: reward_id, recipient_id: recipient_id }, params);
15443
+ };
15378
15444
  /**
15379
15445
  * List public game shows that include a title. Useful for game-page festival banners.
15380
15446
  */
@@ -15463,6 +15529,22 @@ var GameShows = /** @class */ (function () {
15463
15529
  GameShows.confirmSponsorInvitationPayment = function (token, params) {
15464
15530
  return Requests.processRoute(GameShowsRoute.routes.sponsorInvitationConfirmPayment, {}, { token: token }, params);
15465
15531
  };
15532
+ /** List awards, prizes, and swag owned by a sponsor invitation. */
15533
+ GameShows.sponsorInvitationRewards = function (token, params) {
15534
+ return Requests.processRoute(GameShowsRoute.routes.sponsorInvitationRewards, {}, { token: token }, params);
15535
+ };
15536
+ /** Create a draft sponsor-owned award, prize, or swag item. */
15537
+ GameShows.createSponsorInvitationReward = function (token, data, params) {
15538
+ return Requests.processRoute(GameShowsRoute.routes.sponsorInvitationCreateReward, data, { token: token }, params);
15539
+ };
15540
+ /** Update sponsor-owned reward content and eligibility. */
15541
+ GameShows.updateSponsorInvitationReward = function (token, reward_id, data, params) {
15542
+ return Requests.processRoute(GameShowsRoute.routes.sponsorInvitationUpdateReward, data, { token: token, reward_id: reward_id }, params);
15543
+ };
15544
+ /** Remove a sponsor-owned draft reward. */
15545
+ GameShows.deleteSponsorInvitationReward = function (token, reward_id, params) {
15546
+ return Requests.processRoute(GameShowsRoute.routes.sponsorInvitationDeleteReward, {}, { token: token, reward_id: reward_id }, params);
15547
+ };
15466
15548
  return GameShows;
15467
15549
  }());
15468
15550
 
@@ -16175,6 +16257,8 @@ var SchedulerRoute = /** @class */ (function () {
16175
16257
  getRedditSubredditFlairs: { url: '/schedulers/{scheduler_id}/reddit/subreddits/{subreddit}/flairs', method: HTTP_METHODS.GET },
16176
16258
  getRedditSubredditRules: { url: '/schedulers/{scheduler_id}/reddit/subreddits/{subreddit}/rules', method: HTTP_METHODS.GET },
16177
16259
  getDiscordChannels: { url: '/schedulers/{scheduler_id}/discord/channels', method: HTTP_METHODS.GET },
16260
+ searchDiscordMedia: { url: '/schedulers/{scheduler_id}/discord/media', method: HTTP_METHODS.GET },
16261
+ importDiscordMedia: { url: '/schedulers/{scheduler_id}/discord/media/import', method: HTTP_METHODS.POST },
16178
16262
  crossPromoteListRelationships: {
16179
16263
  url: '/schedulers/{scheduler_id}/crosspromote/relationships',
16180
16264
  method: HTTP_METHODS.GET
@@ -16671,6 +16755,21 @@ var Scheduler = /** @class */ (function () {
16671
16755
  Scheduler.getDiscordChannels = function (scheduler_id, params) {
16672
16756
  return Requests.processRoute(SchedulerRoute.routes.getDiscordChannels, {}, { scheduler_id: scheduler_id }, params);
16673
16757
  };
16758
+ /**
16759
+ * Search image and video attachments in the connected Discord server.
16760
+ * This call only returns remote candidates; it does not copy files into the
16761
+ * Library and does not create or schedule social posts.
16762
+ */
16763
+ Scheduler.searchDiscordMedia = function (scheduler_id, params) {
16764
+ return Requests.processRoute(SchedulerRoute.routes.searchDiscordMedia, {}, { scheduler_id: scheduler_id }, params);
16765
+ };
16766
+ /**
16767
+ * Import explicitly selected Discord attachments as pending, unscheduled
16768
+ * Library updates. Attachments selected from one message stay grouped.
16769
+ */
16770
+ Scheduler.importDiscordMedia = function (scheduler_id, data, params) {
16771
+ return Requests.processRoute(SchedulerRoute.routes.importDiscordMedia, data, { scheduler_id: scheduler_id }, params);
16772
+ };
16674
16773
  /**
16675
16774
  * Clear Google Ads OAuth credentials from a promotion schedule.
16676
16775
  *