1
//native
2
type Xero = {
3
token: string
4
}
5
/**
6
* Retrieve reports for 1099
7
*
8
*/
9
export async function main(auth: Xero, reportYear: string | undefined, xero_tenant_id: string) {
10
const url = new URL(`https://api.xero.com/api.xro/2.0/Reports/TenNinetyNine`)
11
for (const [k, v] of [['reportYear', reportYear]]) {
12
if (v !== undefined && v !== '' && k !== undefined) {
13
url.searchParams.append(k, v)
14
15
16
const response = await fetch(url, {
17
method: 'GET',
18
headers: {
19
Accept: 'application/json',
20
'xero-tenant-id': xero_tenant_id,
21
Authorization: 'Bearer ' + auth.token
22
},
23
body: undefined
24
})
25
if (!response.ok) {
26
const text = await response.text()
27
throw new Error(`${response.status} ${text}`)
28
29
return await response.json()
30
31