refactor(cli): share camera clip file writer

This commit is contained in:
Peter Steinberger
2026-02-18 23:47:52 +00:00
parent e368e74a92
commit a8ebe942aa
4 changed files with 51 additions and 16 deletions

View File

@@ -140,3 +140,26 @@ export async function writeBase64ToFile(filePath: string, base64: string) {
await fs.writeFile(filePath, buf);
return { path: filePath, bytes: buf.length };
}
export async function writeCameraClipPayloadToFile(params: {
payload: CameraClipPayload;
facing: CameraFacing;
tmpDir?: string;
id?: string;
}): Promise<string> {
const filePath = cameraTempPath({
kind: "clip",
facing: params.facing,
ext: params.payload.format,
tmpDir: params.tmpDir,
id: params.id,
});
if (params.payload.url) {
await writeUrlToFile(filePath, params.payload.url);
} else if (params.payload.base64) {
await writeBase64ToFile(filePath, params.payload.base64);
} else {
throw new Error("invalid camera.clip payload");
}
return filePath;
}