0
Get urls aggs
One script reply has been approved by the moderators Verified

Query aggregator. It accepts multiple queries and dispatches them.

Created by hugo697 70 days ago Viewed 2332 times
0
Submitted by hugo697 Bun
Verified 70 days ago
1
//native
2
type Botify = {
3
	token: string
4
}
5
/**
6
 * Get urls aggs
7
 * Query aggregator. It accepts multiple queries and dispatches them.
8
 */
9
export async function main(
10
	auth: Botify,
11
	username: string,
12
	project_slug: string,
13
	analysis_slug: string,
14
	area: string | undefined,
15
	previous_crawl: string | undefined
16
) {
17
	const url = new URL(
18
		`https://api.botify.com/analyses/${username}/${project_slug}/${analysis_slug}/urls/aggs`
19
	)
20
	for (const [k, v] of [
21
		['area', area],
22
		['previous_crawl', previous_crawl]
23
	]) {
24
		if (v !== undefined && v !== '' && k !== undefined) {
25
			url.searchParams.append(k, v)
26
		}
27
	}
28
	const response = await fetch(url, {
29
		method: 'POST',
30
		headers: {
31
			Authorization: 'Token ' + auth.token
32
		},
33
		body: undefined
34
	})
35
	if (!response.ok) {
36
		const text = await response.text()
37
		throw new Error(`${response.status} ${text}`)
38
	}
39
	return await response.text()
40
}
41