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 92 days ago Viewed 4293 times
0
Submitted by hugo697 Bun
Verified 92 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