Skip to content

Commit 6c70c14

Browse files
fix(methods): define methods with parameters and binary body correctly
1 parent cc7f07f commit 6c70c14

File tree

5 files changed

+21
-1
lines changed

5 files changed

+21
-1
lines changed

src/resources/browsers/browsers.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import {
2323
FMoveParams,
2424
FReadFileParams,
2525
FSetFilePermissionsParams,
26+
FWriteFileParams,
2627
Fs,
2728
} from './fs/fs';
2829
import { APIPromise } from '../../core/api-promise';
@@ -260,5 +261,6 @@ export declare namespace Browsers {
260261
type FMoveParams as FMoveParams,
261262
type FReadFileParams as FReadFileParams,
262263
type FSetFilePermissionsParams as FSetFilePermissionsParams,
264+
type FWriteFileParams as FWriteFileParams,
263265
};
264266
}

src/resources/browsers/fs/fs.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,11 +177,13 @@ export class Fs extends APIResource {
177177
writeFile(
178178
id: string,
179179
contents: string | ArrayBuffer | ArrayBufferView | Blob | DataView,
180+
params: FWriteFileParams,
180181
options?: RequestOptions,
181182
): APIPromise<void> {
182-
const { path, mode } = params;
183+
const { path: path_, mode } = params;
183184
return this._client.put(path`/browsers/${id}/fs/write_file`, {
184185
body: contents,
186+
query: { path: path_, mode },
185187
...options,
186188
headers: buildHeaders([
187189
{ 'Content-Type': 'application/octet-stream', Accept: '*/*' },
@@ -343,6 +345,18 @@ export interface FSetFilePermissionsParams {
343345
owner?: string;
344346
}
345347

348+
export interface FWriteFileParams {
349+
/**
350+
* Query param: Destination absolute file path.
351+
*/
352+
path: string;
353+
354+
/**
355+
* Query param: Optional file mode (octal string, e.g. 644). Defaults to 644.
356+
*/
357+
mode?: string;
358+
}
359+
346360
Fs.Watch = Watch;
347361

348362
export declare namespace Fs {
@@ -357,6 +371,7 @@ export declare namespace Fs {
357371
type FMoveParams as FMoveParams,
358372
type FReadFileParams as FReadFileParams,
359373
type FSetFilePermissionsParams as FSetFilePermissionsParams,
374+
type FWriteFileParams as FWriteFileParams,
360375
};
361376

362377
export {

src/resources/browsers/fs/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export {
1212
type FMoveParams,
1313
type FReadFileParams,
1414
type FSetFilePermissionsParams,
15+
type FWriteFileParams,
1516
} from './fs';
1617
export {
1718
Watch,

src/resources/browsers/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export {
2121
type FMoveParams,
2222
type FReadFileParams,
2323
type FSetFilePermissionsParams,
24+
type FWriteFileParams,
2425
} from './fs/index';
2526
export {
2627
Replays,

tests/api-resources/browsers/fs/fs.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ describe('resource fs', () => {
142142
const responsePromise = client.browsers.fs.writeFile(
143143
'id',
144144
await toFile(Buffer.from('# my file contents'), 'README.md'),
145+
{ path: '/J!' },
145146
);
146147
const rawResponse = await responsePromise.asResponse();
147148
expect(rawResponse).toBeInstanceOf(Response);

0 commit comments

Comments
 (0)