Files
supabase/e2e/studio/scripts/common/platform.ts
Ali Waseem 22cfd2be14 feat: Run E2E tests aganist Platform Pt.1 (#41032)
* added packages for creating projects

* updated scripts

* remove ami version

* cleaned up common

* updated tests

* refactored helpers

* updated env

* updated config

* updated to reference env

* updated global setup

* updated type logic and scripts

* added mocking of hcaptcha

* added log statements

* updated local env

* update env file

* updated env vars

* updated logging

* updated to remove check

* updated print and project names

* updated helpers

* updated url

* updated setup

* updated storage helpers to account for listing files

* updated setup and tests

* updated timeout only for setup

* updated helper to account for different api response

* added ignores for tests

* updated lock file

* updated database spec to add exact

* updated timeouts

* removed check for table grid footer

* updated test runner

* updated is_platform

* updated playwright config

* updated worker settings

* removed dotenvx

* updated README

* updated to remove comment

* Update e2e/studio/scripts/common/retriedFetch.ts

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-12-05 10:50:16 -07:00

37 lines
885 B
TypeScript

import retriedFetch from './retriedFetch.js'
export class PlatformClient {
url: string
#accessToken: string
headers: Record<string, string>
constructor({ url, accessToken }: { url: string; accessToken: string }) {
this.url = url
this.#accessToken = accessToken
this.headers = {
Authorization: `Bearer ${this.#accessToken}`,
'content-type': 'application/json',
}
}
send(
endpoint: string,
options?: Omit<RequestInit, 'body'> & { body?: Record<string, unknown> },
timeout?: number,
retries?: number,
delayBase?: number
) {
return retriedFetch(
`${this.url}${endpoint}`,
{
...(options ?? {}),
body: options?.body ? JSON.stringify(options.body) : undefined,
headers: { ...this.headers, ...(options?.headers ?? {}) },
},
timeout,
retries,
delayBase
)
}
}