1 | |
2 | type Xero = { |
3 | token: string; |
4 | }; |
5 | |
6 | * Create a new currency for a Xero organisation |
7 | * |
8 | */ |
9 | export async function main( |
10 | auth: Xero, |
11 | xero_tenant_id: string, |
12 | Idempotency_Key: string, |
13 | body: { |
14 | Code?: |
15 | | "AED" |
16 | | "AFN" |
17 | | "ALL" |
18 | | "AMD" |
19 | | "ANG" |
20 | | "AOA" |
21 | | "ARS" |
22 | | "AUD" |
23 | | "AWG" |
24 | | "AZN" |
25 | | "BAM" |
26 | | "BBD" |
27 | | "BDT" |
28 | | "BGN" |
29 | | "BHD" |
30 | | "BIF" |
31 | | "BMD" |
32 | | "BND" |
33 | | "BOB" |
34 | | "BRL" |
35 | | "BSD" |
36 | | "BTN" |
37 | | "BWP" |
38 | | "BYN" |
39 | | "BYR" |
40 | | "BZD" |
41 | | "CAD" |
42 | | "CDF" |
43 | | "CHF" |
44 | | "CLF" |
45 | | "CLP" |
46 | | "CNY" |
47 | | "COP" |
48 | | "CRC" |
49 | | "CUC" |
50 | | "CUP" |
51 | | "CVE" |
52 | | "CZK" |
53 | | "DJF" |
54 | | "DKK" |
55 | | "DOP" |
56 | | "DZD" |
57 | | "EEK" |
58 | | "EGP" |
59 | | "ERN" |
60 | | "ETB" |
61 | | "EUR" |
62 | | "FJD" |
63 | | "FKP" |
64 | | "GBP" |
65 | | "GEL" |
66 | | "GHS" |
67 | | "GIP" |
68 | | "GMD" |
69 | | "GNF" |
70 | | "GTQ" |
71 | | "GYD" |
72 | | "HKD" |
73 | | "HNL" |
74 | | "HRK" |
75 | | "HTG" |
76 | | "HUF" |
77 | | "IDR" |
78 | | "ILS" |
79 | | "INR" |
80 | | "IQD" |
81 | | "IRR" |
82 | | "ISK" |
83 | | "JMD" |
84 | | "JOD" |
85 | | "JPY" |
86 | | "KES" |
87 | | "KGS" |
88 | | "KHR" |
89 | | "KMF" |
90 | | "KPW" |
91 | | "KRW" |
92 | | "KWD" |
93 | | "KYD" |
94 | | "KZT" |
95 | | "LAK" |
96 | | "LBP" |
97 | | "LKR" |
98 | | "LRD" |
99 | | "LSL" |
100 | | "LTL" |
101 | | "LVL" |
102 | | "LYD" |
103 | | "MAD" |
104 | | "MDL" |
105 | | "MGA" |
106 | | "MKD" |
107 | | "MMK" |
108 | | "MNT" |
109 | | "MOP" |
110 | | "MRO" |
111 | | "MRU" |
112 | | "MUR" |
113 | | "MVR" |
114 | | "MWK" |
115 | | "MXN" |
116 | | "MXV" |
117 | | "MYR" |
118 | | "MZN" |
119 | | "NAD" |
120 | | "NGN" |
121 | | "NIO" |
122 | | "NOK" |
123 | | "NPR" |
124 | | "NZD" |
125 | | "OMR" |
126 | | "PAB" |
127 | | "PEN" |
128 | | "PGK" |
129 | | "PHP" |
130 | | "PKR" |
131 | | "PLN" |
132 | | "PYG" |
133 | | "QAR" |
134 | | "RON" |
135 | | "RSD" |
136 | | "RUB" |
137 | | "RWF" |
138 | | "SAR" |
139 | | "SBD" |
140 | | "SCR" |
141 | | "SDG" |
142 | | "SEK" |
143 | | "SGD" |
144 | | "SHP" |
145 | | "SKK" |
146 | | "SLE" |
147 | | "SLL" |
148 | | "SOS" |
149 | | "SRD" |
150 | | "STD" |
151 | | "STN" |
152 | | "SVC" |
153 | | "SYP" |
154 | | "SZL" |
155 | | "THB" |
156 | | "TJS" |
157 | | "TMT" |
158 | | "TND" |
159 | | "TOP" |
160 | | "TRY" |
161 | | "TTD" |
162 | | "TWD" |
163 | | "TZS" |
164 | | "UAH" |
165 | | "UGX" |
166 | | "USD" |
167 | | "UYU" |
168 | | "UZS" |
169 | | "VEF" |
170 | | "VES" |
171 | | "VND" |
172 | | "VUV" |
173 | | "WST" |
174 | | "XAF" |
175 | | "XCD" |
176 | | "XOF" |
177 | | "XPF" |
178 | | "YER" |
179 | | "ZAR" |
180 | | "ZMW" |
181 | | "ZMK" |
182 | | "ZWD"; |
183 | Description?: string; |
184 | }, |
185 | ) { |
186 | const url = new URL(`https://api.xero.com/api.xro/2.0/Currencies`); |
187 |
|
188 | const response = await fetch(url, { |
189 | method: "PUT", |
190 | headers: { |
191 | Accept: 'application/json', |
192 | "xero-tenant-id": xero_tenant_id, |
193 | "Idempotency-Key": Idempotency_Key, |
194 | "Content-Type": "application/json", |
195 | Authorization: "Bearer " + auth.token, |
196 | }, |
197 | body: JSON.stringify(body), |
198 | }); |
199 | if (!response.ok) { |
200 | const text = await response.text(); |
201 | throw new Error(`${response.status} ${text}`); |
202 | } |
203 | return await response.json(); |
204 | } |
205 |
|