mirror of
https://gitlab.com/bramw/baserow.git
synced 2025-02-07 14:19:18 +00:00
59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
import { getClient } from '../client'
|
|
import { faker } from '@faker-js/faker'
|
|
|
|
export type User = {
|
|
name: string,
|
|
email: string,
|
|
password?: string,
|
|
language: string,
|
|
accessToken: string,
|
|
refreshToken: string,
|
|
}
|
|
|
|
export async function getTokenAuth(email: String, password: String): Promise<User> {
|
|
/**
|
|
* Authenticates an existing user.
|
|
*/
|
|
const response: any = await getClient().post('user/token-auth/', {
|
|
email: email,
|
|
password: password
|
|
})
|
|
return {
|
|
name: response.data.user.first_name,
|
|
email: response.data.user.username,
|
|
language: response.data.user.language,
|
|
accessToken: response.data.access_token,
|
|
refreshToken: response.data.refresh_token,
|
|
}
|
|
}
|
|
|
|
export async function getStaffUser(): Promise<User> {
|
|
/**
|
|
* Authenticates as the 'e2e' staff user. Used in fixtures which rely
|
|
* on API endpoints that require an admin/staff user.
|
|
*/
|
|
return getTokenAuth("e2e@baserow.io", "testpassword")
|
|
}
|
|
|
|
export async function createUser(): Promise<User> {
|
|
const password = faker.internet.password()
|
|
const response: any = await getClient().post('user/', {
|
|
name: faker.name.fullName(),
|
|
email: faker.internet.email(),
|
|
password,
|
|
language: 'en',
|
|
authenticate: true,
|
|
})
|
|
return {
|
|
name: response.data.user.first_name,
|
|
email: response.data.user.username,
|
|
password,
|
|
language: response.data.user.language,
|
|
accessToken: response.data.access_token,
|
|
refreshToken: response.data.refresh_token,
|
|
}
|
|
}
|
|
|
|
export async function deleteUser(user: User): Promise<any> {
|
|
await getClient(user).post('user/schedule-account-deletion/')
|
|
}
|