diff --git a/src/index.ts b/src/index.ts index 7981a590..5cedbc48 100644 --- a/src/index.ts +++ b/src/index.ts @@ -209,10 +209,10 @@ class SocketSdk { } } - async getOrgFullScan ( + async streamOrgFullScan ( orgSlug: string, fullScanId: string, - file?: string + file?: string | false // When `false`, just .get rather than .stream ): Promise> { const orgSlugParam = encodeURIComponent(orgSlug) const fullScanIdParam = encodeURIComponent(fullScanId) @@ -223,7 +223,7 @@ class SocketSdk { this.#getClient().stream(`orgs/${orgSlugParam}/full-scans/${fullScanIdParam}`), createWriteStream(file) ) - } else { + } else if (file !== false) { readStream = this.#getClient().stream(`orgs/${orgSlugParam}/full-scans/${fullScanIdParam}`).pipe(process.stdout) } return this.#handleApiSuccess<'getOrgFullScan'>(readStream) @@ -232,6 +232,31 @@ class SocketSdk { } } + /** @deprecated in favor of streamOrgFullScan */ + async getOrgFullScan ( + orgSlug: string, + fullScanId: string, + file?: string + ) { return this.streamOrgFullScan(orgSlug, fullScanId, file) } + + /** + * Name is "buffered" because getOrgFullScan was a previous api that streamed + * the contents and I don't want to risk version collisions. + */ + async getOrgFullScanBuffered ( + orgSlug: string, + fullScanId: string + ): Promise> { + const orgSlugParam = encodeURIComponent(orgSlug) + const fullScanIdParam = encodeURIComponent(fullScanId) + try { + const data = this.#getClient().get(`orgs/${orgSlugParam}/full-scans/${fullScanIdParam}`).json() + return this.#handleApiSuccess<'getOrgFullScan'>(data) + } catch (err) { + return this.#handleApiError<'getOrgFullScan'>(err) + } + } + async getOrgFullScanMetadata ( orgSlug: string, fullScanId: string