glitch-javascript-sdk 3.9.4 → 3.9.5

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 Route from './interface';
2
- /** Route catalog for Azure-backed game website hosting. */
2
+ /** Route catalog for game website hosting and its direct or Marketplace billing. */
3
3
  declare class HostingRoute {
4
4
  static routes: {
5
5
  [key: string]: Route;
package/dist/index.d.ts CHANGED
@@ -11562,6 +11562,12 @@ declare class Hosting {
11562
11562
  static billingCheckout<T>(title_id: string, plan: HostingPlanKey): AxiosPromise<Response<T>>;
11563
11563
  /** Confirm a paid Stripe Checkout session before provisioning its Azure resource. */
11564
11564
  static confirmBillingCheckout<T>(title_id: string, checkout_session_id: string): AxiosPromise<Response<T>>;
11565
+ /** Resolve the one-hour purchase token passed to Glitch by Microsoft Marketplace. */
11566
+ static resolveMarketplacePurchase<T>(token: string): AxiosPromise<Response<T>>;
11567
+ /** Link a resolved Microsoft Marketplace subscription to a billable Glitch business account. */
11568
+ static activateMarketplaceSubscription<T>(subscription_id: string, community_id: string): AxiosPromise<Response<T>>;
11569
+ /** Retrieve safe Microsoft Marketplace entitlement and lifecycle status. */
11570
+ static marketplaceSubscription<T>(subscription_id: string): AxiosPromise<Response<T>>;
11565
11571
  static createSite<T>(title_id: string, data: CreateHostingSiteRequest): AxiosPromise<Response<T>>;
11566
11572
  static updateSite<T>(title_id: string, site_id: string, data: Partial<CreateHostingSiteRequest> & Record<string, any>): AxiosPromise<Response<T>>;
11567
11573
  static createUploadUrl<T>(title_id: string, site_id: string): AxiosPromise<Response<T>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glitch-javascript-sdk",
3
- "version": "3.9.4",
3
+ "version": "3.9.5",
4
4
  "description": "Javascript SDK for Glitch",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -9,6 +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
13
 
13
14
  export interface HostingAccount {
14
15
  id: string;
@@ -16,6 +17,8 @@ export interface HostingAccount {
16
17
  plan: HostingPlanKey;
17
18
  pending_plan?: HostingPlanKey | null;
18
19
  status: string;
20
+ billing_provider: HostingBillingProvider;
21
+ microsoft_marketplace_subscription_id?: string | null;
19
22
  included_bandwidth_bytes: number;
20
23
  used_bandwidth_bytes: number;
21
24
  remaining_bandwidth_bytes: number;
@@ -69,6 +72,7 @@ export interface HostingDatabase {
69
72
  port?: number | null;
70
73
  binding_name: string;
71
74
  billing_status: 'awaiting_payment' | 'active' | 'past_due' | 'unpaid' | 'cancelled' | 'expired' | 'failed';
75
+ billing_provider: HostingBillingProvider;
72
76
  billing_active: boolean;
73
77
  last_error?: string | null;
74
78
  }
@@ -116,6 +120,24 @@ export interface CreateHostingDatabaseRequest {
116
120
  high_availability_enabled?: boolean;
117
121
  }
118
122
 
123
+ export interface HostingMarketplaceSubscription {
124
+ id: string;
125
+ marketplace_subscription_id: string;
126
+ subscription_name?: string | null;
127
+ offer_id: string;
128
+ plan_id: string;
129
+ plan_key: HostingPlanKey;
130
+ status: 'PendingFulfillmentStart' | 'Subscribed' | 'Suspended' | 'Unsubscribed';
131
+ quantity: number;
132
+ community_id?: string | null;
133
+ is_test: boolean;
134
+ is_free_trial: boolean;
135
+ auto_renew: boolean;
136
+ term_starts_at?: string | null;
137
+ term_ends_at?: string | null;
138
+ activated_at?: string | null;
139
+ }
140
+
119
141
  /**
120
142
  * Typed SDK for game website hosting, Azure database add-ons, domains, usage,
121
143
  * deployment instructions, and hosted-play attribution.
@@ -143,6 +165,21 @@ class Hosting {
143
165
  return Requests.processRoute(HostingRoute.routes.confirmBillingCheckout, { checkout_session_id }, { title_id });
144
166
  }
145
167
 
168
+ /** Resolve the one-hour purchase token passed to Glitch by Microsoft Marketplace. */
169
+ public static resolveMarketplacePurchase<T>(token: string): AxiosPromise<Response<T>> {
170
+ return Requests.processRoute(HostingRoute.routes.resolveMarketplacePurchase, { token });
171
+ }
172
+
173
+ /** Link a resolved Microsoft Marketplace subscription to a billable Glitch business account. */
174
+ public static activateMarketplaceSubscription<T>(subscription_id: string, community_id: string): AxiosPromise<Response<T>> {
175
+ return Requests.processRoute(HostingRoute.routes.activateMarketplaceSubscription, { community_id }, { subscription_id });
176
+ }
177
+
178
+ /** Retrieve safe Microsoft Marketplace entitlement and lifecycle status. */
179
+ public static marketplaceSubscription<T>(subscription_id: string): AxiosPromise<Response<T>> {
180
+ return Requests.processRoute(HostingRoute.routes.marketplaceSubscription, undefined, { subscription_id });
181
+ }
182
+
146
183
  public static createSite<T>(title_id: string, data: CreateHostingSiteRequest): AxiosPromise<Response<T>> {
147
184
  return Requests.processRoute(HostingRoute.routes.createSite, data, { title_id });
148
185
  }
@@ -1,7 +1,7 @@
1
1
  import Route from './interface';
2
2
  import HTTP_METHODS from '../constants/HttpMethods';
3
3
 
4
- /** Route catalog for Azure-backed game website hosting. */
4
+ /** Route catalog for game website hosting and its direct or Marketplace billing. */
5
5
  class HostingRoute {
6
6
  public static routes: { [key: string]: Route } = {
7
7
  catalog: { url: '/hosting/catalog', method: HTTP_METHODS.GET },
@@ -9,6 +9,9 @@ class HostingRoute {
9
9
  channelAnalytics: { url: '/titles/{title_id}/hosting/analytics/channels', method: HTTP_METHODS.GET },
10
10
  billingCheckout: { url: '/titles/{title_id}/hosting/billing/checkout', method: HTTP_METHODS.POST },
11
11
  confirmBillingCheckout: { url: '/titles/{title_id}/hosting/billing/confirm', method: HTTP_METHODS.POST },
12
+ resolveMarketplacePurchase: { url: '/hosting/marketplace/resolve', method: HTTP_METHODS.POST },
13
+ activateMarketplaceSubscription: { url: '/hosting/marketplace/subscriptions/{subscription_id}/activate', method: HTTP_METHODS.POST },
14
+ marketplaceSubscription: { url: '/hosting/marketplace/subscriptions/{subscription_id}', method: HTTP_METHODS.GET },
12
15
  createSite: { url: '/titles/{title_id}/hosting/sites', method: HTTP_METHODS.POST },
13
16
  updateSite: { url: '/titles/{title_id}/hosting/sites/{site_id}', method: HTTP_METHODS.PUT },
14
17
  uploadUrl: { url: '/titles/{title_id}/hosting/sites/{site_id}/upload-url', method: HTTP_METHODS.POST },