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