glitch-javascript-sdk 3.9.5 → 3.9.7
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/browser/hosting-runtime.js +15 -0
- package/dist/browser/hosting-runtime.js.map +1 -1
- package/dist/cjs/index.js +15 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/api/Hosting.d.ts +24 -1
- package/dist/esm/api/Titles.d.ts +28 -5
- package/dist/esm/index.js +15 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +34 -5
- package/package.json +1 -1
- package/src/api/Hosting.ts +34 -1
- package/src/api/Titles.ts +41 -4
- package/src/routes/HostingRoute.ts +3 -0
package/dist/index.d.ts
CHANGED
|
@@ -4107,6 +4107,31 @@ type GameReviewRecommendation = 'recommended' | 'not_recommended' | 'neutral';
|
|
|
4107
4107
|
type GameReviewSentiment = 'positive' | 'mixed' | 'negative';
|
|
4108
4108
|
type GameReviewVoteType = 'helpful' | 'funny' | 'detailed' | 'not_helpful';
|
|
4109
4109
|
type GameReviewReportReason = 'abuse' | 'spam' | 'off_topic' | 'manipulation' | 'hate' | 'personal_info' | 'other';
|
|
4110
|
+
type TitleTokenPurpose = 'install' | 'deploy' | 'hosting';
|
|
4111
|
+
type TitleTokenAbility = 'deployments:*' | 'deployments:create' | 'deployments:read' | 'deployments:activate' | 'hosting:*' | 'hosting:read' | 'hosting:deploy' | 'hosting:promote';
|
|
4112
|
+
interface CreateTitleTokenRequest {
|
|
4113
|
+
expires_at?: string;
|
|
4114
|
+
name?: string;
|
|
4115
|
+
purpose?: TitleTokenPurpose;
|
|
4116
|
+
abilities?: TitleTokenAbility[];
|
|
4117
|
+
}
|
|
4118
|
+
interface TitleToken {
|
|
4119
|
+
id: string;
|
|
4120
|
+
title_id: string;
|
|
4121
|
+
name?: string | null;
|
|
4122
|
+
purpose: TitleTokenPurpose;
|
|
4123
|
+
token_prefix: string;
|
|
4124
|
+
abilities: TitleTokenAbility[];
|
|
4125
|
+
expires_at?: string | null;
|
|
4126
|
+
revoked: boolean;
|
|
4127
|
+
last_used_at?: string | null;
|
|
4128
|
+
created_at?: string;
|
|
4129
|
+
}
|
|
4130
|
+
interface CreatedTitleToken {
|
|
4131
|
+
/** Full secret value. Returned once and never retrievable again. */
|
|
4132
|
+
full_token: string;
|
|
4133
|
+
token: TitleToken;
|
|
4134
|
+
}
|
|
4110
4135
|
interface GameReviewRatings {
|
|
4111
4136
|
gameplay?: GameReviewSentiment;
|
|
4112
4137
|
performance?: GameReviewSentiment;
|
|
@@ -4315,17 +4340,15 @@ declare class Titles {
|
|
|
4315
4340
|
* Create a new API token for a title.
|
|
4316
4341
|
* Returns { full_token: string, token: TitleToken }.
|
|
4317
4342
|
*/
|
|
4318
|
-
static createTitleToken<T>(title_id: string, data?:
|
|
4319
|
-
expires_at?: string;
|
|
4320
|
-
}): AxiosPromise<Response<T>>;
|
|
4343
|
+
static createTitleToken<T = CreatedTitleToken>(title_id: string, data?: CreateTitleTokenRequest): AxiosPromise<Response<T>>;
|
|
4321
4344
|
/**
|
|
4322
4345
|
* List all tokens for a title.
|
|
4323
4346
|
*/
|
|
4324
|
-
static listTitleTokens<T>(title_id: string): AxiosPromise<Response<T>>;
|
|
4347
|
+
static listTitleTokens<T = TitleToken[]>(title_id: string): AxiosPromise<Response<T>>;
|
|
4325
4348
|
/**
|
|
4326
4349
|
* Revoke a specific token by ID.
|
|
4327
4350
|
*/
|
|
4328
|
-
static revokeTitleToken<T>(title_id: string, token_id: string): AxiosPromise<Response<T>>;
|
|
4351
|
+
static revokeTitleToken<T = TitleToken>(title_id: string, token_id: string): AxiosPromise<Response<T>>;
|
|
4329
4352
|
/**
|
|
4330
4353
|
* Search for Titles using Meilisearch or fallback based on the query and filters.
|
|
4331
4354
|
*
|
|
@@ -11568,6 +11591,12 @@ declare class Hosting {
|
|
|
11568
11591
|
static activateMarketplaceSubscription<T>(subscription_id: string, community_id: string): AxiosPromise<Response<T>>;
|
|
11569
11592
|
/** Retrieve safe Microsoft Marketplace entitlement and lifecycle status. */
|
|
11570
11593
|
static marketplaceSubscription<T>(subscription_id: string): AxiosPromise<Response<T>>;
|
|
11594
|
+
/** Claim the one-time Glitch code created after AWS ResolveCustomer succeeds. */
|
|
11595
|
+
static resolveAwsMarketplacePurchase<T>(activation_code: string): AxiosPromise<Response<T>>;
|
|
11596
|
+
/** Connect a paid AWS Marketplace contract to one Glitch business account. */
|
|
11597
|
+
static activateAwsMarketplaceSubscription<T>(subscription_id: string, community_id: string): AxiosPromise<Response<T>>;
|
|
11598
|
+
/** Refresh and retrieve the safe AWS Marketplace entitlement state. */
|
|
11599
|
+
static awsMarketplaceSubscription<T>(subscription_id: string): AxiosPromise<Response<T>>;
|
|
11571
11600
|
static createSite<T>(title_id: string, data: CreateHostingSiteRequest): AxiosPromise<Response<T>>;
|
|
11572
11601
|
static updateSite<T>(title_id: string, site_id: string, data: Partial<CreateHostingSiteRequest> & Record<string, any>): AxiosPromise<Response<T>>;
|
|
11573
11602
|
static createUploadUrl<T>(title_id: string, site_id: string): AxiosPromise<Response<T>>;
|
package/package.json
CHANGED
package/src/api/Hosting.ts
CHANGED
|
@@ -9,7 +9,7 @@ export type HostingMode = 'static' | 'server';
|
|
|
9
9
|
export type HostingDatabaseEngine = 'postgresql' | 'mysql' | 'azure_sql' | 'cosmos_nosql';
|
|
10
10
|
export type HostingDatabasePlan = 'sandbox' | 'launch' | 'growth' | 'scale' | 'dedicated';
|
|
11
11
|
export type HostingDeliveryChannel = 'glitch_store' | 'glitch_hosted_subdomain' | 'glitch_hosted_custom_domain' | 'external';
|
|
12
|
-
export type HostingBillingProvider = 'direct' | 'microsoft_marketplace';
|
|
12
|
+
export type HostingBillingProvider = 'direct' | 'microsoft_marketplace' | 'aws_marketplace';
|
|
13
13
|
|
|
14
14
|
export interface HostingAccount {
|
|
15
15
|
id: string;
|
|
@@ -19,6 +19,7 @@ export interface HostingAccount {
|
|
|
19
19
|
status: string;
|
|
20
20
|
billing_provider: HostingBillingProvider;
|
|
21
21
|
microsoft_marketplace_subscription_id?: string | null;
|
|
22
|
+
aws_marketplace_subscription_id?: string | null;
|
|
22
23
|
included_bandwidth_bytes: number;
|
|
23
24
|
used_bandwidth_bytes: number;
|
|
24
25
|
remaining_bandwidth_bytes: number;
|
|
@@ -138,6 +139,23 @@ export interface HostingMarketplaceSubscription {
|
|
|
138
139
|
activated_at?: string | null;
|
|
139
140
|
}
|
|
140
141
|
|
|
142
|
+
export interface HostingAwsMarketplaceSubscription {
|
|
143
|
+
id: string;
|
|
144
|
+
customer_aws_account_id?: string | null;
|
|
145
|
+
license_arn: string;
|
|
146
|
+
product_code: string;
|
|
147
|
+
plan_dimension?: string | null;
|
|
148
|
+
plan_key?: Exclude<HostingPlanKey, 'free'> | null;
|
|
149
|
+
status: 'PendingRegistration' | 'PendingEntitlement' | 'Subscribed' | 'Unsubscribed';
|
|
150
|
+
entitlement_value: number;
|
|
151
|
+
entitlement_expires_at?: string | null;
|
|
152
|
+
community_id?: string | null;
|
|
153
|
+
hosting_account_id?: string | null;
|
|
154
|
+
activated_at?: string | null;
|
|
155
|
+
last_synced_at?: string | null;
|
|
156
|
+
manage_url: string;
|
|
157
|
+
}
|
|
158
|
+
|
|
141
159
|
/**
|
|
142
160
|
* Typed SDK for game website hosting, Azure database add-ons, domains, usage,
|
|
143
161
|
* deployment instructions, and hosted-play attribution.
|
|
@@ -180,6 +198,21 @@ class Hosting {
|
|
|
180
198
|
return Requests.processRoute(HostingRoute.routes.marketplaceSubscription, undefined, { subscription_id });
|
|
181
199
|
}
|
|
182
200
|
|
|
201
|
+
/** Claim the one-time Glitch code created after AWS ResolveCustomer succeeds. */
|
|
202
|
+
public static resolveAwsMarketplacePurchase<T>(activation_code: string): AxiosPromise<Response<T>> {
|
|
203
|
+
return Requests.processRoute(HostingRoute.routes.resolveAwsMarketplacePurchase, { activation_code });
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/** Connect a paid AWS Marketplace contract to one Glitch business account. */
|
|
207
|
+
public static activateAwsMarketplaceSubscription<T>(subscription_id: string, community_id: string): AxiosPromise<Response<T>> {
|
|
208
|
+
return Requests.processRoute(HostingRoute.routes.activateAwsMarketplaceSubscription, { community_id }, { subscription_id });
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/** Refresh and retrieve the safe AWS Marketplace entitlement state. */
|
|
212
|
+
public static awsMarketplaceSubscription<T>(subscription_id: string): AxiosPromise<Response<T>> {
|
|
213
|
+
return Requests.processRoute(HostingRoute.routes.awsMarketplaceSubscription, undefined, { subscription_id });
|
|
214
|
+
}
|
|
215
|
+
|
|
183
216
|
public static createSite<T>(title_id: string, data: CreateHostingSiteRequest): AxiosPromise<Response<T>> {
|
|
184
217
|
return Requests.processRoute(HostingRoute.routes.createSite, data, { title_id });
|
|
185
218
|
}
|
package/src/api/Titles.ts
CHANGED
|
@@ -8,6 +8,43 @@ export type GameReviewSentiment = 'positive' | 'mixed' | 'negative';
|
|
|
8
8
|
export type GameReviewVoteType = 'helpful' | 'funny' | 'detailed' | 'not_helpful';
|
|
9
9
|
export type GameReviewReportReason = 'abuse' | 'spam' | 'off_topic' | 'manipulation' | 'hate' | 'personal_info' | 'other';
|
|
10
10
|
|
|
11
|
+
export type TitleTokenPurpose = 'install' | 'deploy' | 'hosting';
|
|
12
|
+
export type TitleTokenAbility =
|
|
13
|
+
| 'deployments:*'
|
|
14
|
+
| 'deployments:create'
|
|
15
|
+
| 'deployments:read'
|
|
16
|
+
| 'deployments:activate'
|
|
17
|
+
| 'hosting:*'
|
|
18
|
+
| 'hosting:read'
|
|
19
|
+
| 'hosting:deploy'
|
|
20
|
+
| 'hosting:promote';
|
|
21
|
+
|
|
22
|
+
export interface CreateTitleTokenRequest {
|
|
23
|
+
expires_at?: string;
|
|
24
|
+
name?: string;
|
|
25
|
+
purpose?: TitleTokenPurpose;
|
|
26
|
+
abilities?: TitleTokenAbility[];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface TitleToken {
|
|
30
|
+
id: string;
|
|
31
|
+
title_id: string;
|
|
32
|
+
name?: string | null;
|
|
33
|
+
purpose: TitleTokenPurpose;
|
|
34
|
+
token_prefix: string;
|
|
35
|
+
abilities: TitleTokenAbility[];
|
|
36
|
+
expires_at?: string | null;
|
|
37
|
+
revoked: boolean;
|
|
38
|
+
last_used_at?: string | null;
|
|
39
|
+
created_at?: string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface CreatedTitleToken {
|
|
43
|
+
/** Full secret value. Returned once and never retrievable again. */
|
|
44
|
+
full_token: string;
|
|
45
|
+
token: TitleToken;
|
|
46
|
+
}
|
|
47
|
+
|
|
11
48
|
export interface GameReviewRatings {
|
|
12
49
|
gameplay?: GameReviewSentiment;
|
|
13
50
|
performance?: GameReviewSentiment;
|
|
@@ -305,9 +342,9 @@ class Titles {
|
|
|
305
342
|
* Create a new API token for a title.
|
|
306
343
|
* Returns { full_token: string, token: TitleToken }.
|
|
307
344
|
*/
|
|
308
|
-
public static createTitleToken<T>(
|
|
345
|
+
public static createTitleToken<T = CreatedTitleToken>(
|
|
309
346
|
title_id: string,
|
|
310
|
-
data?:
|
|
347
|
+
data?: CreateTitleTokenRequest
|
|
311
348
|
): AxiosPromise<Response<T>> {
|
|
312
349
|
return Requests.processRoute(
|
|
313
350
|
TitlesRoute.routes.createToken,
|
|
@@ -319,7 +356,7 @@ class Titles {
|
|
|
319
356
|
/**
|
|
320
357
|
* List all tokens for a title.
|
|
321
358
|
*/
|
|
322
|
-
public static listTitleTokens<T>(
|
|
359
|
+
public static listTitleTokens<T = TitleToken[]>(
|
|
323
360
|
title_id: string
|
|
324
361
|
): AxiosPromise<Response<T>> {
|
|
325
362
|
return Requests.processRoute(
|
|
@@ -332,7 +369,7 @@ class Titles {
|
|
|
332
369
|
/**
|
|
333
370
|
* Revoke a specific token by ID.
|
|
334
371
|
*/
|
|
335
|
-
public static revokeTitleToken<T>(
|
|
372
|
+
public static revokeTitleToken<T = TitleToken>(
|
|
336
373
|
title_id: string,
|
|
337
374
|
token_id: string
|
|
338
375
|
): AxiosPromise<Response<T>> {
|
|
@@ -12,6 +12,9 @@ class HostingRoute {
|
|
|
12
12
|
resolveMarketplacePurchase: { url: '/hosting/marketplace/resolve', method: HTTP_METHODS.POST },
|
|
13
13
|
activateMarketplaceSubscription: { url: '/hosting/marketplace/subscriptions/{subscription_id}/activate', method: HTTP_METHODS.POST },
|
|
14
14
|
marketplaceSubscription: { url: '/hosting/marketplace/subscriptions/{subscription_id}', method: HTTP_METHODS.GET },
|
|
15
|
+
resolveAwsMarketplacePurchase: { url: '/hosting/aws-marketplace/resolve', method: HTTP_METHODS.POST },
|
|
16
|
+
activateAwsMarketplaceSubscription: { url: '/hosting/aws-marketplace/subscriptions/{subscription_id}/activate', method: HTTP_METHODS.POST },
|
|
17
|
+
awsMarketplaceSubscription: { url: '/hosting/aws-marketplace/subscriptions/{subscription_id}', method: HTTP_METHODS.GET },
|
|
15
18
|
createSite: { url: '/titles/{title_id}/hosting/sites', method: HTTP_METHODS.POST },
|
|
16
19
|
updateSite: { url: '/titles/{title_id}/hosting/sites/{site_id}', method: HTTP_METHODS.PUT },
|
|
17
20
|
uploadUrl: { url: '/titles/{title_id}/hosting/sites/{site_id}/upload-url', method: HTTP_METHODS.POST },
|