1
//native
2
type Supabase = {
3
key: string
4
}
5
/**
6
* Restores a PITR backup for a database
7
*
8
*/
9
export async function main(
10
auth: Supabase,
11
ref: string,
12
body: { recovery_time_target_unix: number }
13
) {
14
const url = new URL(`https://api.supabase.com/v1/projects/${ref}/database/backups/restore-pitr`)
15
16
const response = await fetch(url, {
17
method: 'POST',
18
headers: {
19
'Content-Type': 'application/json',
20
Authorization: 'Bearer ' + auth.key
21
},
22
body: JSON.stringify(body)
23
})
24
if (!response.ok) {
25
const text = await response.text()
26
throw new Error(`${response.status} ${text}`)
27
28
return await response.text()
29
30