Skip to content

Commit 26671e6

Browse files
preview hosts and command fix
1 parent bfb5a12 commit 26671e6

File tree

11 files changed

+479
-42
lines changed

11 files changed

+479
-42
lines changed

openapi.json

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,54 @@
602602
"title": "PreviewTokenUpdateRequest",
603603
"type": "object"
604604
},
605+
"PreviewHostListResponse": {
606+
"allOf": [
607+
{
608+
"properties": {
609+
"errors": {
610+
"items": {
611+
"oneOf": [
612+
{ "type": "string" },
613+
{ "additionalProperties": true, "type": "object" }
614+
],
615+
"title": "Error"
616+
},
617+
"type": "array"
618+
},
619+
"success": { "type": "boolean" }
620+
},
621+
"title": "Response",
622+
"type": "object"
623+
},
624+
{
625+
"properties": {
626+
"data": {
627+
"properties": {
628+
"preview_hosts": {
629+
"items": {
630+
"properties": {
631+
"host": { "type": "string" },
632+
"inserted_at": {
633+
"format": "date_time",
634+
"type": "string"
635+
}
636+
},
637+
"required": ["host", "inserted_at"],
638+
"type": "object"
639+
},
640+
"type": "array"
641+
}
642+
},
643+
"required": ["preview_hosts"],
644+
"type": "object"
645+
}
646+
},
647+
"type": "object"
648+
}
649+
],
650+
"title": "PreviewHostListResponse",
651+
"type": "object"
652+
},
605653
"VMShutdownRequest": { "properties": {}, "title": "VMShutdownRequest" },
606654
"VMUpdateSpecsRequest": {
607655
"properties": {
@@ -644,6 +692,21 @@
644692
"title": "VMCreateTagRequest",
645693
"type": "object"
646694
},
695+
"PreviewHostRequest": {
696+
"properties": {
697+
"hosts": {
698+
"items": {
699+
"description": "Trusted domains that are allowed to access sandbox previews.",
700+
"example": "https://example.com",
701+
"type": "string"
702+
},
703+
"type": "array"
704+
}
705+
},
706+
"required": ["hosts"],
707+
"title": "PreviewHostRequest",
708+
"type": "object"
709+
},
647710
"VMStartResponse": {
648711
"allOf": [
649712
{
@@ -2098,6 +2161,89 @@
20982161
"summary": "Update VM Specs",
20992162
"tags": ["vm"]
21002163
}
2164+
},
2165+
"/workspace/preview_hosts": {
2166+
"get": {
2167+
"callbacks": {},
2168+
"description": "List all trusted preview hosts for the current team\n",
2169+
"operationId": "preview_host/list",
2170+
"parameters": [],
2171+
"responses": {
2172+
"201": {
2173+
"content": {
2174+
"application/json": {
2175+
"schema": {
2176+
"$ref": "#/components/schemas/PreviewHostListResponse"
2177+
}
2178+
}
2179+
},
2180+
"description": "Preview Host List Response"
2181+
}
2182+
},
2183+
"security": [{ "authorization": ["vm:manage"] }],
2184+
"summary": "List Preview Hosts",
2185+
"tags": []
2186+
},
2187+
"post": {
2188+
"callbacks": {},
2189+
"description": "Add one or more trusted domains that are allowed to access sandbox previews for this workspace.\n",
2190+
"operationId": "preview_host/create",
2191+
"parameters": [],
2192+
"requestBody": {
2193+
"content": {
2194+
"application/json": {
2195+
"schema": { "$ref": "#/components/schemas/PreviewHostRequest" }
2196+
}
2197+
},
2198+
"description": "Preview Host Create Request",
2199+
"required": false
2200+
},
2201+
"responses": {
2202+
"201": {
2203+
"content": {
2204+
"application/json": {
2205+
"schema": {
2206+
"$ref": "#/components/schemas/PreviewHostListResponse"
2207+
}
2208+
}
2209+
},
2210+
"description": "Preview Host List Response"
2211+
}
2212+
},
2213+
"security": [{ "authorization": ["vm:manage"] }],
2214+
"summary": "Create Preview Hosts",
2215+
"tags": []
2216+
},
2217+
"put": {
2218+
"callbacks": {},
2219+
"description": "Replace the list of trusted domains that are allowed to access sandbox previews for this workspace.\n",
2220+
"operationId": "preview_host/update",
2221+
"parameters": [],
2222+
"requestBody": {
2223+
"content": {
2224+
"application/json": {
2225+
"schema": { "$ref": "#/components/schemas/PreviewHostRequest" }
2226+
}
2227+
},
2228+
"description": "Preview Host Update Request",
2229+
"required": false
2230+
},
2231+
"responses": {
2232+
"201": {
2233+
"content": {
2234+
"application/json": {
2235+
"schema": {
2236+
"$ref": "#/components/schemas/PreviewHostListResponse"
2237+
}
2238+
}
2239+
},
2240+
"description": "Preview Host List Response"
2241+
}
2242+
},
2243+
"security": [{ "authorization": ["vm:manage"] }],
2244+
"summary": "Update Preview Hosts",
2245+
"tags": []
2246+
}
21012247
}
21022248
},
21032249
"security": [],

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@codesandbox/sdk",
3-
"version": "1.0.0-beta.6",
3+
"version": "1.0.0-beta.8",
44
"description": "The CodeSandbox SDK",
55
"author": "CodeSandbox",
66
"license": "MIT",

src/SandboxClient.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,11 @@ export class SandboxClient {
4848
const session = await sandbox.connect(
4949
// We do not want users to pass gitAccessToken on global user, because it
5050
// can be read by other users
51-
opts.gitAccessToken
52-
? {
53-
id: "clone-admin",
54-
permission: "write",
55-
}
56-
: undefined
51+
{
52+
id: "clone-admin",
53+
permission: "write",
54+
gitAccessToken: opts.gitAccessToken,
55+
}
5756
);
5857

5958
await session.shells.run(

src/api-clients/client/sdk.gen.ts

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// This file is auto-generated by @hey-api/openapi-ts
22

33
import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch';
4-
import type { MetaInfoData, MetaInfoResponse, WorkspaceCreateData, WorkspaceCreateResponse2, TokenCreateData, TokenCreateResponse2, TokenUpdateData, TokenUpdateResponse2, SandboxListData, SandboxListResponse2, SandboxCreateData, SandboxCreateResponse2, SandboxGetData, SandboxGetResponse2, SandboxForkData, SandboxForkResponse2, PreviewTokenRevokeAllData, PreviewTokenRevokeAllResponse2, PreviewTokenListData, PreviewTokenListResponse2, PreviewTokenCreateData, PreviewTokenCreateResponse2, PreviewTokenUpdateData, PreviewTokenUpdateResponse2, VmListClustersData, VmListClustersResponse2, VmCreateTagData, VmCreateTagResponse2, VmHibernateData, VmHibernateResponse2, VmUpdateHibernationTimeoutData, VmUpdateHibernationTimeoutResponse2, VmCreateSessionData, VmCreateSessionResponse2, VmShutdownData, VmShutdownResponse2, VmUpdateSpecsData, VmUpdateSpecsResponse2, VmStartData, VmStartResponse2, VmUpdateSpecs2Data, VmUpdateSpecs2Response } from './types.gen';
4+
import type { MetaInfoData, MetaInfoResponse, WorkspaceCreateData, WorkspaceCreateResponse2, TokenCreateData, TokenCreateResponse2, TokenUpdateData, TokenUpdateResponse2, SandboxListData, SandboxListResponse2, SandboxCreateData, SandboxCreateResponse2, SandboxGetData, SandboxGetResponse2, SandboxForkData, SandboxForkResponse2, PreviewTokenRevokeAllData, PreviewTokenRevokeAllResponse2, PreviewTokenListData, PreviewTokenListResponse2, PreviewTokenCreateData, PreviewTokenCreateResponse2, PreviewTokenUpdateData, PreviewTokenUpdateResponse2, VmListClustersData, VmListClustersResponse2, VmCreateTagData, VmCreateTagResponse2, VmHibernateData, VmHibernateResponse2, VmUpdateHibernationTimeoutData, VmUpdateHibernationTimeoutResponse2, VmCreateSessionData, VmCreateSessionResponse2, VmShutdownData, VmShutdownResponse2, VmUpdateSpecsData, VmUpdateSpecsResponse2, VmStartData, VmStartResponse2, VmUpdateSpecs2Data, VmUpdateSpecs2Response, PreviewHostListData, PreviewHostListResponse2, PreviewHostCreateData, PreviewHostCreateResponse, PreviewHostUpdateData, PreviewHostUpdateResponse } from './types.gen';
55
import { client as _heyApiClient } from './client.gen';
66

77
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {
@@ -473,4 +473,66 @@ export const vmUpdateSpecs2 = <ThrowOnError extends boolean = false>(options: Op
473473
...options?.headers
474474
}
475475
});
476+
};
477+
478+
/**
479+
* List Preview Hosts
480+
* List all trusted preview hosts for the current team
481+
*
482+
*/
483+
export const previewHostList = <ThrowOnError extends boolean = false>(options?: Options<PreviewHostListData, ThrowOnError>) => {
484+
return (options?.client ?? _heyApiClient).get<PreviewHostListResponse2, unknown, ThrowOnError>({
485+
security: [
486+
{
487+
scheme: 'bearer',
488+
type: 'http'
489+
}
490+
],
491+
url: '/workspace/preview_hosts',
492+
...options
493+
});
494+
};
495+
496+
/**
497+
* Create Preview Hosts
498+
* Add one or more trusted domains that are allowed to access sandbox previews for this workspace.
499+
*
500+
*/
501+
export const previewHostCreate = <ThrowOnError extends boolean = false>(options?: Options<PreviewHostCreateData, ThrowOnError>) => {
502+
return (options?.client ?? _heyApiClient).post<PreviewHostCreateResponse, unknown, ThrowOnError>({
503+
security: [
504+
{
505+
scheme: 'bearer',
506+
type: 'http'
507+
}
508+
],
509+
url: '/workspace/preview_hosts',
510+
...options,
511+
headers: {
512+
'Content-Type': 'application/json',
513+
...options?.headers
514+
}
515+
});
516+
};
517+
518+
/**
519+
* Update Preview Hosts
520+
* Replace the list of trusted domains that are allowed to access sandbox previews for this workspace.
521+
*
522+
*/
523+
export const previewHostUpdate = <ThrowOnError extends boolean = false>(options?: Options<PreviewHostUpdateData, ThrowOnError>) => {
524+
return (options?.client ?? _heyApiClient).put<PreviewHostUpdateResponse, unknown, ThrowOnError>({
525+
security: [
526+
{
527+
scheme: 'bearer',
528+
type: 'http'
529+
}
530+
],
531+
url: '/workspace/preview_hosts',
532+
...options,
533+
headers: {
534+
'Content-Type': 'application/json',
535+
...options?.headers
536+
}
537+
});
476538
};

src/api-clients/client/types.gen.ts

Lines changed: 73 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,20 @@ export type PreviewTokenUpdateRequest = {
307307
expires_at?: string | null;
308308
};
309309

310+
export type PreviewHostListResponse = {
311+
errors?: Array<string | {
312+
[key: string]: unknown;
313+
}>;
314+
success?: boolean;
315+
} & {
316+
data?: {
317+
preview_hosts: Array<{
318+
host: string;
319+
inserted_at: string;
320+
}>;
321+
};
322+
};
323+
310324
export type VmShutdownRequest = {
311325
[key: string]: unknown;
312326
};
@@ -335,6 +349,10 @@ export type VmCreateTagRequest = {
335349
vm_ids: Array<string>;
336350
};
337351

352+
export type PreviewHostRequest = {
353+
hosts: Array<string>;
354+
};
355+
338356
export type VmStartResponse = {
339357
errors?: Array<string | {
340358
[key: string]: unknown;
@@ -1110,4 +1128,58 @@ export type VmUpdateSpecs2Responses = {
11101128
200: VmUpdateSpecsResponse;
11111129
};
11121130

1113-
export type VmUpdateSpecs2Response = VmUpdateSpecs2Responses[keyof VmUpdateSpecs2Responses];
1131+
export type VmUpdateSpecs2Response = VmUpdateSpecs2Responses[keyof VmUpdateSpecs2Responses];
1132+
1133+
export type PreviewHostListData = {
1134+
body?: never;
1135+
path?: never;
1136+
query?: never;
1137+
url: '/workspace/preview_hosts';
1138+
};
1139+
1140+
export type PreviewHostListResponses = {
1141+
/**
1142+
* Preview Host List Response
1143+
*/
1144+
201: PreviewHostListResponse;
1145+
};
1146+
1147+
export type PreviewHostListResponse2 = PreviewHostListResponses[keyof PreviewHostListResponses];
1148+
1149+
export type PreviewHostCreateData = {
1150+
/**
1151+
* Preview Host Create Request
1152+
*/
1153+
body?: PreviewHostRequest;
1154+
path?: never;
1155+
query?: never;
1156+
url: '/workspace/preview_hosts';
1157+
};
1158+
1159+
export type PreviewHostCreateResponses = {
1160+
/**
1161+
* Preview Host List Response
1162+
*/
1163+
201: PreviewHostListResponse;
1164+
};
1165+
1166+
export type PreviewHostCreateResponse = PreviewHostCreateResponses[keyof PreviewHostCreateResponses];
1167+
1168+
export type PreviewHostUpdateData = {
1169+
/**
1170+
* Preview Host Update Request
1171+
*/
1172+
body?: PreviewHostRequest;
1173+
path?: never;
1174+
query?: never;
1175+
url: '/workspace/preview_hosts';
1176+
};
1177+
1178+
export type PreviewHostUpdateResponses = {
1179+
/**
1180+
* Preview Host List Response
1181+
*/
1182+
201: PreviewHostListResponse;
1183+
};
1184+
1185+
export type PreviewHostUpdateResponse = PreviewHostUpdateResponses[keyof PreviewHostUpdateResponses];

0 commit comments

Comments
 (0)