Get write subtenants

Script adhook Verified

by hugo697 ยท 12/20/2024

The script

Submitted by hugo697 Bun
Verified 519 days ago
1
//native
2
type Adhook = {
3
	token: string
4
}
5

6
export async function main(
7
	auth: Adhook,
8
	mode:
9
		| 'CAMPAIGN'
10
		| 'POST'
11
		| 'CAMPAIGN_GENERATION'
12
		| 'POST_GENERATION'
13
		| 'POST_TEMPLATE'
14
		| 'AD_TEMPLATE'
15
		| 'MANAGE'
16
		| 'REVIEW'
17
		| 'MODERATION'
18
		| 'DEFAULT'
19
		| undefined,
20
	statusFilter: 'ALL' | 'ACTIVE' | 'INACTIVE' | undefined,
21
	languageFilter:
22
		| 'ALL'
23
		| 'DE'
24
		| 'FR'
25
		| 'EN'
26
		| 'IT'
27
		| 'ES'
28
		| 'PT'
29
		| 'NL'
30
		| 'SV'
31
		| 'RO'
32
		| 'CS'
33
		| 'EL'
34
		| 'TR'
35
		| 'PL'
36
		| 'DA'
37
		| 'EU'
38
		| 'CY'
39
		| 'CA'
40
		| 'HU'
41
		| 'SK'
42
		| 'SL'
43
		| 'SQ'
44
		| 'HY'
45
		| 'BS'
46
		| 'BG'
47
		| 'HR'
48
		| 'UK'
49
		| 'NO'
50
		| 'FI'
51
		| undefined,
52
	q: string | undefined,
53
	skip: string | undefined,
54
	limit: string | undefined,
55
	adhookToken: string
56
) {
57
	const url = new URL(`https://app.adhook.io/v1/subtenants/write`)
58

59
	for (const [k, v] of [
60
		['mode', mode],
61
		['statusFilter', statusFilter],
62
		['languageFilter', languageFilter],
63
		['q', q],
64
		['skip', skip],
65
		['limit', limit]
66
	]) {
67
		if (v !== undefined && v !== '' && k !== undefined) {
68
			url.searchParams.append(k, v)
69
		}
70
	}
71

72
	const response = await fetch(url, {
73
		method: 'GET',
74
		headers: {
75
			adhookToken: adhookToken,
76
			Authorization: `Bearer ${auth.token}`
77
		},
78
		body: undefined
79
	})
80

81
	if (!response.ok) {
82
		const text = await response.text()
83
		throw new Error(`${response.status} ${text}`)
84
	}
85

86
	return await response.json()
87
}
88