glitch-javascript-sdk 2.5.0 → 2.5.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.
package/dist/index.d.ts CHANGED
@@ -6963,92 +6963,98 @@ declare class TwitchReporting {
6963
6963
 
6964
6964
  declare class Raffles {
6965
6965
  /**
6966
- * List all raffles.
6967
- * @param params Filter by title_id, community_id, or status.
6966
+ * List all raffles with optional filters.
6968
6967
  */
6969
6968
  static list<T>(params?: Record<string, any>): AxiosPromise<Response<T>>;
6970
6969
  /**
6971
- * Create a new raffle for a specific title.
6970
+ * Create a new raffle (Game Owner).
6972
6971
  */
6973
6972
  static create<T>(data: object): AxiosPromise<Response<T>>;
6974
6973
  /**
6975
- * Get full details of a raffle.
6974
+ * Retrieve details for a specific raffle.
6976
6975
  */
6977
- static view<T>(raffle_id: string): AxiosPromise<Response<T>>;
6976
+ static view<T>(id: string): AxiosPromise<Response<T>>;
6978
6977
  /**
6979
- * Update raffle settings (Draft/Active status, dates, etc).
6978
+ * Enter a raffle (User/Player). Requires Steam ID.
6980
6979
  */
6981
- static update<T>(raffle_id: string, data: object): AxiosPromise<Response<T>>;
6980
+ static enter<T>(id: string, data: {
6981
+ referral_code?: string;
6982
+ device_fingerprint?: string;
6983
+ opt_in_playtesting?: boolean;
6984
+ }): AxiosPromise<Response<T>>;
6982
6985
  /**
6983
- * Delete a raffle.
6986
+ * Get the authenticated user's entry status for a specific raffle.
6984
6987
  */
6985
- static delete<T>(raffle_id: string): AxiosPromise<Response<T>>;
6988
+ static me<T>(id: string): AxiosPromise<Response<T>>;
6986
6989
  /**
6987
- * Enter the authenticated user into the raffle.
6988
- * @param data { referral_code?, device_fingerprint? }
6990
+ * Record a viral action (e.g., Steam Wishlist, Social Share).
6989
6991
  */
6990
- static enter<T>(raffle_id: string, data?: object): AxiosPromise<Response<T>>;
6992
+ static performAction<T>(id: string, data: {
6993
+ action_type: string;
6994
+ platform?: string;
6995
+ reference_id?: string;
6996
+ }): AxiosPromise<Response<T>>;
6991
6997
  /**
6992
- * Record a viral action (Steam Wishlist, Social Share) to earn more tickets.
6993
- * @param data { action_type: 'steam_wishlist'|'social_share', platform?, reference_id? }
6998
+ * Post raffle content to social media via Glitch API.
6994
6999
  */
6995
- static performAction<T>(raffle_id: string, data: object): AxiosPromise<Response<T>>;
7000
+ static shareSocially<T>(id: string, data: {
7001
+ platform: string;
7002
+ content: string;
7003
+ }): AxiosPromise<Response<T>>;
6996
7004
  /**
6997
- * Get the authenticated user's specific entry status for this raffle.
7005
+ * Send an invitation email to a friend.
6998
7006
  */
6999
- static me<T>(raffle_id: string): AxiosPromise<Response<T>>;
7007
+ static inviteFriend<T>(id: string, data: {
7008
+ email: string;
7009
+ }): AxiosPromise<Response<T>>;
7000
7010
  /**
7001
- * Submit shipping address for a winning entry.
7002
- * @param entry_id The UUID of the RaffleEntry.
7011
+ * Add a prize tier to a raffle (Game Owner).
7003
7012
  */
7004
- static updateAddress<T>(entry_id: string, data: object): AxiosPromise<Response<T>>;
7013
+ static addPrize<T>(id: string, data: object): AxiosPromise<Response<T>>;
7005
7014
  /**
7006
- * Invite a friend via email to join the raffle.
7015
+ * Trigger the automated drawing process (Game Owner).
7007
7016
  */
7008
- static inviteFriend<T>(raffle_id: string, data: {
7009
- email: string;
7010
- }): AxiosPromise<Response<T>>;
7017
+ static drawWinners<T>(id: string): AxiosPromise<Response<T>>;
7011
7018
  /**
7012
- * Get the public list of winners (only available if raffle is completed).
7019
+ * Manually select a winner for a specific prize (Live Event Mode).
7013
7020
  */
7014
- static winners<T>(raffle_id: string): AxiosPromise<Response<T>>;
7021
+ static pickWinner<T>(id: string, data: {
7022
+ entry_id: string;
7023
+ prize_id: string;
7024
+ }): AxiosPromise<Response<T>>;
7015
7025
  /**
7016
- * Add a prize tier (quantity, value, description) to the raffle.
7026
+ * Get the public list of winners for a completed raffle.
7017
7027
  */
7018
- static addPrize<T>(raffle_id: string, data: object): AxiosPromise<Response<T>>;
7028
+ static winners<T>(id: string): AxiosPromise<Response<T>>;
7019
7029
  /**
7020
- * Randomly draw winners for all prize tiers based on ticket weights.
7030
+ * List all participants/entries for a raffle (Game Owner).
7021
7031
  */
7022
- static drawWinners<T>(raffle_id: string): AxiosPromise<Response<T>>;
7032
+ static participants<T>(id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
7023
7033
  /**
7024
- * Manually assign a specific user to a specific prize (Live Event Mode).
7025
- * @param data { entry_id, prize_id }
7034
+ * Update shipping/tracking info for a prize (Game Owner).
7026
7035
  */
7027
- static pickWinner<T>(raffle_id: string, data: object): AxiosPromise<Response<T>>;
7036
+ static fulfillPrize<T>(entry_id: string, data: {
7037
+ tracking_number: string;
7038
+ shipping_carrier: string;
7039
+ }): AxiosPromise<Response<T>>;
7028
7040
  /**
7029
- * Provide shipping/tracking info for a prize fulfillment.
7030
- * @param entry_id The UUID of the RaffleEntry.
7041
+ * Submit shipping address for a won prize (User/Winner).
7031
7042
  */
7032
- static fulfillPrize<T>(entry_id: string, data: object): AxiosPromise<Response<T>>;
7043
+ static updateAddress<T>(entry_id: string, data: object): AxiosPromise<Response<T>>;
7033
7044
  /**
7034
- * Disqualify an entry for fraud or rule violations.
7045
+ * Disqualify a specific entry (Game Owner).
7035
7046
  */
7036
- static disqualify<T>(raffle_id: string, entry_id: string, data: {
7047
+ static disqualify<T>(id: string, entry_id: string, data: {
7037
7048
  reason: string;
7038
7049
  }): AxiosPromise<Response<T>>;
7039
- /**
7040
- * List all participants/entries for management.
7041
- * @param params { opt_in_playtesting?, page?, per_page? }
7042
- */
7043
- static listParticipants<T>(raffle_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
7044
7050
  /**
7045
7051
  * Check if the raffle is fully funded in the community ledger.
7046
7052
  */
7047
- static escrowStatus<T>(raffle_id: string): AxiosPromise<Response<T>>;
7053
+ static escrowStatus<T>(id: string): AxiosPromise<Response<T>>;
7048
7054
  /**
7049
- * Get viral loop analytics (K-factor, Cost Per Entry).
7055
+ * Get viral loop analytics (K-Factor, Cost Per Entry).
7050
7056
  */
7051
- static analytics<T>(raffle_id: string): AxiosPromise<Response<T>>;
7057
+ static analytics<T>(id: string): AxiosPromise<Response<T>>;
7052
7058
  }
7053
7059
 
7054
7060
  interface Route {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glitch-javascript-sdk",
3
- "version": "2.5.0",
3
+ "version": "2.5.1",
4
4
  "description": "Javascript SDK for Glitch",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -4,145 +4,130 @@ import Response from "../util/Response";
4
4
  import { AxiosPromise } from "axios";
5
5
 
6
6
  class Raffles {
7
-
8
7
  /**
9
- * List all raffles.
10
- * @param params Filter by title_id, community_id, or status.
8
+ * List all raffles with optional filters.
11
9
  */
12
10
  public static list<T>(params?: Record<string, any>): AxiosPromise<Response<T>> {
13
11
  return Requests.processRoute(RafflesRoute.routes.list, undefined, undefined, params);
14
12
  }
15
13
 
16
14
  /**
17
- * Create a new raffle for a specific title.
15
+ * Create a new raffle (Game Owner).
18
16
  */
19
17
  public static create<T>(data: object): AxiosPromise<Response<T>> {
20
18
  return Requests.processRoute(RafflesRoute.routes.create, data);
21
19
  }
22
20
 
23
21
  /**
24
- * Get full details of a raffle.
22
+ * Retrieve details for a specific raffle.
25
23
  */
26
- public static view<T>(raffle_id: string): AxiosPromise<Response<T>> {
27
- return Requests.processRoute(RafflesRoute.routes.view, {}, { raffle_id });
24
+ public static view<T>(id: string): AxiosPromise<Response<T>> {
25
+ return Requests.processRoute(RafflesRoute.routes.view, {}, { id });
28
26
  }
29
27
 
30
28
  /**
31
- * Update raffle settings (Draft/Active status, dates, etc).
29
+ * Enter a raffle (User/Player). Requires Steam ID.
32
30
  */
33
- public static update<T>(raffle_id: string, data: object): AxiosPromise<Response<T>> {
34
- return Requests.processRoute(RafflesRoute.routes.update, data, { raffle_id });
31
+ public static enter<T>(id: string, data: { referral_code?: string, device_fingerprint?: string, opt_in_playtesting?: boolean }): AxiosPromise<Response<T>> {
32
+ return Requests.processRoute(RafflesRoute.routes.enter, data, { id });
35
33
  }
36
34
 
37
35
  /**
38
- * Delete a raffle.
36
+ * Get the authenticated user's entry status for a specific raffle.
39
37
  */
40
- public static delete<T>(raffle_id: string): AxiosPromise<Response<T>> {
41
- return Requests.processRoute(RafflesRoute.routes.delete, {}, { raffle_id });
38
+ public static me<T>(id: string): AxiosPromise<Response<T>> {
39
+ return Requests.processRoute(RafflesRoute.routes.me, {}, { id });
42
40
  }
43
41
 
44
42
  /**
45
- * Enter the authenticated user into the raffle.
46
- * @param data { referral_code?, device_fingerprint? }
43
+ * Record a viral action (e.g., Steam Wishlist, Social Share).
47
44
  */
48
- public static enter<T>(raffle_id: string, data?: object): AxiosPromise<Response<T>> {
49
- return Requests.processRoute(RafflesRoute.routes.enter, data, { raffle_id });
45
+ public static performAction<T>(id: string, data: { action_type: string, platform?: string, reference_id?: string }): AxiosPromise<Response<T>> {
46
+ return Requests.processRoute(RafflesRoute.routes.performAction, data, { id });
50
47
  }
51
48
 
52
49
  /**
53
- * Record a viral action (Steam Wishlist, Social Share) to earn more tickets.
54
- * @param data { action_type: 'steam_wishlist'|'social_share', platform?, reference_id? }
50
+ * Post raffle content to social media via Glitch API.
55
51
  */
56
- public static performAction<T>(raffle_id: string, data: object): AxiosPromise<Response<T>> {
57
- return Requests.processRoute(RafflesRoute.routes.performAction, data, { raffle_id });
52
+ public static shareSocially<T>(id: string, data: { platform: string, content: string }): AxiosPromise<Response<T>> {
53
+ return Requests.processRoute(RafflesRoute.routes.shareSocially, data, { id });
58
54
  }
59
55
 
60
56
  /**
61
- * Get the authenticated user's specific entry status for this raffle.
57
+ * Send an invitation email to a friend.
62
58
  */
63
- public static me<T>(raffle_id: string): AxiosPromise<Response<T>> {
64
- return Requests.processRoute(RafflesRoute.routes.me, {}, { raffle_id });
59
+ public static inviteFriend<T>(id: string, data: { email: string }): AxiosPromise<Response<T>> {
60
+ return Requests.processRoute(RafflesRoute.routes.inviteFriend, data, { id });
65
61
  }
66
62
 
67
63
  /**
68
- * Submit shipping address for a winning entry.
69
- * @param entry_id The UUID of the RaffleEntry.
64
+ * Add a prize tier to a raffle (Game Owner).
70
65
  */
71
- public static updateAddress<T>(entry_id: string, data: object): AxiosPromise<Response<T>> {
72
- return Requests.processRoute(RafflesRoute.routes.updateAddress, data, { entry_id });
66
+ public static addPrize<T>(id: string, data: object): AxiosPromise<Response<T>> {
67
+ return Requests.processRoute(RafflesRoute.routes.addPrize, data, { id });
73
68
  }
74
69
 
75
70
  /**
76
- * Invite a friend via email to join the raffle.
71
+ * Trigger the automated drawing process (Game Owner).
77
72
  */
78
- public static inviteFriend<T>(raffle_id: string, data: { email: string }): AxiosPromise<Response<T>> {
79
- return Requests.processRoute(RafflesRoute.routes.inviteFriend, data, { raffle_id });
73
+ public static drawWinners<T>(id: string): AxiosPromise<Response<T>> {
74
+ return Requests.processRoute(RafflesRoute.routes.drawWinners, {}, { id });
80
75
  }
81
76
 
82
77
  /**
83
- * Get the public list of winners (only available if raffle is completed).
78
+ * Manually select a winner for a specific prize (Live Event Mode).
84
79
  */
85
- public static winners<T>(raffle_id: string): AxiosPromise<Response<T>> {
86
- return Requests.processRoute(RafflesRoute.routes.winners, {}, { raffle_id });
80
+ public static pickWinner<T>(id: string, data: { entry_id: string, prize_id: string }): AxiosPromise<Response<T>> {
81
+ return Requests.processRoute(RafflesRoute.routes.pickWinner, data, { id });
87
82
  }
88
83
 
89
84
  /**
90
- * Add a prize tier (quantity, value, description) to the raffle.
85
+ * Get the public list of winners for a completed raffle.
91
86
  */
92
- public static addPrize<T>(raffle_id: string, data: object): AxiosPromise<Response<T>> {
93
- return Requests.processRoute(RafflesRoute.routes.addPrize, data, { raffle_id });
87
+ public static winners<T>(id: string): AxiosPromise<Response<T>> {
88
+ return Requests.processRoute(RafflesRoute.routes.winners, {}, { id });
94
89
  }
95
90
 
96
91
  /**
97
- * Randomly draw winners for all prize tiers based on ticket weights.
92
+ * List all participants/entries for a raffle (Game Owner).
98
93
  */
99
- public static drawWinners<T>(raffle_id: string): AxiosPromise<Response<T>> {
100
- return Requests.processRoute(RafflesRoute.routes.drawWinners, {}, { raffle_id });
94
+ public static participants<T>(id: string, params?: Record<string, any>): AxiosPromise<Response<T>> {
95
+ return Requests.processRoute(RafflesRoute.routes.participants, {}, { id }, params);
101
96
  }
102
97
 
103
98
  /**
104
- * Manually assign a specific user to a specific prize (Live Event Mode).
105
- * @param data { entry_id, prize_id }
99
+ * Update shipping/tracking info for a prize (Game Owner).
106
100
  */
107
- public static pickWinner<T>(raffle_id: string, data: object): AxiosPromise<Response<T>> {
108
- return Requests.processRoute(RafflesRoute.routes.pickWinner, data, { raffle_id });
109
- }
110
-
111
- /**
112
- * Provide shipping/tracking info for a prize fulfillment.
113
- * @param entry_id The UUID of the RaffleEntry.
114
- */
115
- public static fulfillPrize<T>(entry_id: string, data: object): AxiosPromise<Response<T>> {
101
+ public static fulfillPrize<T>(entry_id: string, data: { tracking_number: string, shipping_carrier: string }): AxiosPromise<Response<T>> {
116
102
  return Requests.processRoute(RafflesRoute.routes.fulfillPrize, data, { entry_id });
117
103
  }
118
104
 
119
105
  /**
120
- * Disqualify an entry for fraud or rule violations.
106
+ * Submit shipping address for a won prize (User/Winner).
121
107
  */
122
- public static disqualify<T>(raffle_id: string, entry_id: string, data: { reason: string }): AxiosPromise<Response<T>> {
123
- return Requests.processRoute(RafflesRoute.routes.disqualify, data, { raffle_id, entry_id });
108
+ public static updateAddress<T>(entry_id: string, data: object): AxiosPromise<Response<T>> {
109
+ return Requests.processRoute(RafflesRoute.routes.updateAddress, data, { entry_id });
124
110
  }
125
111
 
126
112
  /**
127
- * List all participants/entries for management.
128
- * @param params { opt_in_playtesting?, page?, per_page? }
113
+ * Disqualify a specific entry (Game Owner).
129
114
  */
130
- public static listParticipants<T>(raffle_id: string, params?: Record<string, any>): AxiosPromise<Response<T>> {
131
- return Requests.processRoute(RafflesRoute.routes.participants, {}, { raffle_id }, params);
115
+ public static disqualify<T>(id: string, entry_id: string, data: { reason: string }): AxiosPromise<Response<T>> {
116
+ return Requests.processRoute(RafflesRoute.routes.disqualify, data, { id, entry_id });
132
117
  }
133
118
 
134
119
  /**
135
120
  * Check if the raffle is fully funded in the community ledger.
136
121
  */
137
- public static escrowStatus<T>(raffle_id: string): AxiosPromise<Response<T>> {
138
- return Requests.processRoute(RafflesRoute.routes.escrowStatus, {}, { raffle_id });
122
+ public static escrowStatus<T>(id: string): AxiosPromise<Response<T>> {
123
+ return Requests.processRoute(RafflesRoute.routes.escrowStatus, {}, { id });
139
124
  }
140
125
 
141
126
  /**
142
- * Get viral loop analytics (K-factor, Cost Per Entry).
127
+ * Get viral loop analytics (K-Factor, Cost Per Entry).
143
128
  */
144
- public static analytics<T>(raffle_id: string): AxiosPromise<Response<T>> {
145
- return Requests.processRoute(RafflesRoute.routes.analytics, {}, { raffle_id });
129
+ public static analytics<T>(id: string): AxiosPromise<Response<T>> {
130
+ return Requests.processRoute(RafflesRoute.routes.analytics, {}, { id });
146
131
  }
147
132
  }
148
133
 
@@ -2,34 +2,34 @@ import Route from "./interface";
2
2
  import HTTP_METHODS from "../constants/HttpMethods";
3
3
 
4
4
  class RafflesRoute {
5
-
6
- public static routes: { [key: string]: Route } = {
7
- // CRUD
8
- list: { url: '/raffles', method: HTTP_METHODS.GET },
9
- create: { url: '/raffles', method: HTTP_METHODS.POST },
10
- view: { url: '/raffles/{raffle_id}', method: HTTP_METHODS.GET },
11
- update: { url: '/raffles/{raffle_id}', method: HTTP_METHODS.PUT },
12
- delete: { url: '/raffles/{raffle_id}', method: HTTP_METHODS.DELETE },
13
-
14
- // User/Player Actions
15
- enter: { url: '/raffles/{raffle_id}/enter', method: HTTP_METHODS.POST },
16
- performAction: { url: '/raffles/{raffle_id}/actions', method: HTTP_METHODS.POST },
17
- me: { url: '/raffles/{raffle_id}/me', method: HTTP_METHODS.GET },
18
- updateAddress: { url: '/raffles/entries/{entry_id}/address', method: HTTP_METHODS.PUT },
19
- inviteFriend: { url: '/raffles/{raffle_id}/invite-friend', method: HTTP_METHODS.POST },
20
- winners: { url: '/raffles/{raffle_id}/winners', method: HTTP_METHODS.GET },
21
-
22
- // Admin/Developer Actions
23
- addPrize: { url: '/raffles/{raffle_id}/prizes', method: HTTP_METHODS.POST },
24
- drawWinners: { url: '/raffles/{raffle_id}/draw', method: HTTP_METHODS.POST },
25
- pickWinner: { url: '/raffles/{raffle_id}/pick-winner', method: HTTP_METHODS.POST },
26
- fulfillPrize: { url: '/raffles/entries/{entry_id}/fulfill', method: HTTP_METHODS.PUT },
27
- disqualify: { url: '/raffles/{raffle_id}/disqualify/{entry_id}', method: HTTP_METHODS.POST },
28
- participants: { url: '/raffles/{raffle_id}/participants', method: HTTP_METHODS.GET },
29
- escrowStatus: { url: '/raffles/{raffle_id}/escrow', method: HTTP_METHODS.GET },
30
- analytics: { url: '/raffles/{raffle_id}/analytics', method: HTTP_METHODS.GET },
31
- };
32
-
5
+ public static routes: { [key: string]: Route } = {
6
+ list: { url: '/raffles', method: HTTP_METHODS.GET },
7
+ create: { url: '/raffles', method: HTTP_METHODS.POST },
8
+ view: { url: '/raffles/{id}', method: HTTP_METHODS.GET },
9
+ enter: { url: '/raffles/{id}/enter', method: HTTP_METHODS.POST },
10
+ me: { url: '/raffles/{id}/me', method: HTTP_METHODS.GET },
11
+ performAction: { url: '/raffles/{id}/actions', method: HTTP_METHODS.POST },
12
+ shareSocially: { url: '/raffles/{id}/share', method: HTTP_METHODS.POST },
13
+ inviteFriend: { url: '/raffles/{id}/invite-friend', method: HTTP_METHODS.POST },
14
+
15
+ // Prize Management
16
+ addPrize: { url: '/raffles/{id}/prizes', method: HTTP_METHODS.POST },
17
+
18
+ // Drawing & Winners
19
+ drawWinners: { url: '/raffles/{id}/draw', method: HTTP_METHODS.POST },
20
+ pickWinner: { url: '/raffles/{id}/pick-winner', method: HTTP_METHODS.POST },
21
+ winners: { url: '/raffles/{id}/winners', method: HTTP_METHODS.GET },
22
+
23
+ // Participant & Fulfillment Management
24
+ participants: { url: '/raffles/{id}/participants', method: HTTP_METHODS.GET },
25
+ fulfillPrize: { url: '/raffles/entries/{entry_id}/fulfill', method: HTTP_METHODS.PUT },
26
+ updateAddress: { url: '/raffles/entries/{entry_id}/address', method: HTTP_METHODS.PUT },
27
+ disqualify: { url: '/raffles/{id}/disqualify/{entry_id}', method: HTTP_METHODS.POST },
28
+
29
+ // Analytics & Finance
30
+ escrowStatus: { url: '/raffles/{id}/escrow', method: HTTP_METHODS.GET },
31
+ analytics: { url: '/raffles/{id}/analytics', method: HTTP_METHODS.GET },
32
+ };
33
33
  }
34
34
 
35
35
  export default RafflesRoute;