0

Restore a branch

by
Published Apr 8, 2025

Restores a branch to an earlier state in its own or another branch's history

Script neondb Verified

The script

Submitted by hugo697 Bun
Verified 428 days ago
1
//native
2
type Neondb = {
3
	apiKey: string
4
}
5
/**
6
 * Restore a branch
7
 * Restores a branch to an earlier state in its own or another branch's history
8
 */
9
export async function main(
10
	auth: Neondb,
11
	project_id: string,
12
	branch_id: string,
13
	body: {
14
		source_branch_id: string
15
		source_lsn?: string
16
		source_timestamp?: string
17
		preserve_under_name?: string
18
	}
19
) {
20
	const url = new URL(
21
		`https://console.neon.tech/api/v2/projects/${project_id}/branches/${branch_id}/restore`
22
	)
23

24
	const response = await fetch(url, {
25
		method: 'POST',
26
		headers: {
27
			'Content-Type': 'application/json',
28
			Authorization: 'Bearer ' + auth.apiKey
29
		},
30
		body: JSON.stringify(body)
31
	})
32
	if (!response.ok) {
33
		const text = await response.text()
34
		throw new Error(`${response.status} ${text}`)
35
	}
36
	return await response.json()
37
}
38