2019-01-05 16:12:09 +00:00
|
|
|
import { fetchURL, fetchJSON, removePrefix } from './utils'
|
|
|
|
|
2020-12-24 18:02:28 +00:00
|
|
|
export async function list() {
|
|
|
|
return fetchJSON('/api/shares')
|
|
|
|
}
|
|
|
|
|
2019-01-05 16:12:09 +00:00
|
|
|
export async function get(url) {
|
|
|
|
url = removePrefix(url)
|
|
|
|
return fetchJSON(`/api/share${url}`)
|
|
|
|
}
|
|
|
|
|
|
|
|
export async function remove(hash) {
|
|
|
|
const res = await fetchURL(`/api/share/${hash}`, {
|
|
|
|
method: 'DELETE'
|
|
|
|
})
|
|
|
|
|
|
|
|
if (res.status !== 200) {
|
|
|
|
throw new Error(res.status)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-03-02 11:00:18 +00:00
|
|
|
export async function create(url, password = '', expires = '', unit = 'hours') {
|
2019-01-05 16:12:09 +00:00
|
|
|
url = removePrefix(url)
|
|
|
|
url = `/api/share${url}`
|
|
|
|
if (expires !== '') {
|
|
|
|
url += `?expires=${expires}&unit=${unit}`
|
|
|
|
}
|
2021-03-02 11:00:18 +00:00
|
|
|
let body = '{}';
|
|
|
|
if (password != '' || expires !== '' || unit !== 'hours') {
|
|
|
|
body = JSON.stringify({password: password, expires: expires, unit: unit})
|
|
|
|
}
|
2019-01-05 16:12:09 +00:00
|
|
|
return fetchJSON(url, {
|
2021-03-02 11:00:18 +00:00
|
|
|
method: 'POST',
|
|
|
|
body: body,
|
2019-01-05 16:12:09 +00:00
|
|
|
})
|
|
|
|
}
|