77ffb8d86d
* qa-core-ci-fixes * global setup and teardown wip * Updates to logs and setup * Remove date and console mocking * Update CI to spin up minimal dev env * Update readme * Fix scopeBackend.sh * Ensure docker services are initialised before starting worker * Lint * Fix admin user being created on startup (#10219) * use regular bootstrap and build * Lint * Temp: re-use global setup to get around app limit in QA
40 lines
978 B
TypeScript
40 lines
978 B
TypeScript
import { Response } from "node-fetch"
|
|
import BudibaseInternalAPIClient from "../BudibaseInternalAPIClient"
|
|
import { APIRequestOpts, State } from "../../../types"
|
|
|
|
export default class AuthAPI {
|
|
state: State
|
|
client: BudibaseInternalAPIClient
|
|
|
|
constructor(client: BudibaseInternalAPIClient, state: State) {
|
|
this.client = client
|
|
this.state = state
|
|
}
|
|
|
|
async login(
|
|
tenantId: string,
|
|
email: String,
|
|
password: String,
|
|
opts: APIRequestOpts = { doExpect: true }
|
|
): Promise<[Response, string]> {
|
|
const [response, json] = await this.client.post(
|
|
`/global/auth/${tenantId}/login`,
|
|
{
|
|
body: {
|
|
username: email,
|
|
password: password,
|
|
},
|
|
}
|
|
)
|
|
if (opts.doExpect) {
|
|
expect(response).toHaveStatusCode(200)
|
|
}
|
|
const cookie = response.headers.get("set-cookie")
|
|
return [response, cookie!]
|
|
}
|
|
|
|
async logout(): Promise<any> {
|
|
return this.client.post(`/global/auth/logout`)
|
|
}
|
|
}
|