//native
type Supabase = {
key: string
}
/**
* Lists SQL snippets for the logged in user
*
*/
export async function main(
auth: Supabase,
project_ref: string | undefined,
cursor: string | undefined,
limit: string | undefined,
sort_by: 'name' | 'inserted_at' | undefined,
sort_order: 'asc' | 'desc' | undefined
) {
const url = new URL(`https://api.supabase.com/v1/snippets`)
for (const [k, v] of [
['project_ref', project_ref],
['cursor', cursor],
['limit', limit],
['sort_by', sort_by],
['sort_order', sort_order]
]) {
if (v !== undefined && v !== '' && k !== undefined) {
url.searchParams.append(k, v)
}
}
const response = await fetch(url, {
method: 'GET',
headers: {
Authorization: 'Bearer ' + auth.key
},
body: undefined
})
if (!response.ok) {
const text = await response.text()
throw new Error(`${response.status} ${text}`)
}
return await response.json()
}
Submitted by hugo697 151 days ago