//native
type Botify = {
	token: string
}
/**
 * Get user projects
 * List all active projects for the user
 */
export async function main(
	auth: Botify,
	username: string,
	name: string | undefined,
	page: string | undefined,
	size: string | undefined
) {
	const url = new URL(`https://api.botify.com/projects/${username}`)
	for (const [k, v] of [
		['name', name],
		['page', page],
		['size', size]
	]) {
		if (v !== undefined && v !== '' && k !== undefined) {
			url.searchParams.append(k, v)
		}
	}
	const response = await fetch(url, {
		method: 'GET',
		headers: {
			Authorization: 'Token ' + auth.token
		},
		body: undefined
	})
	if (!response.ok) {
		const text = await response.text()
		throw new Error(`${response.status} ${text}`)
	}
	return await response.text()
}
 Submitted by hugo697 364 days ago