Support replace feature; close #188; multiple bug fixes on upload

Former-commit-id: 30b18e418111df00903965a7e4135441cd1767a1 [formerly 60393b5e1a291d1aab2313e7dd8cd2e1e203c03b] [formerly c372bc1355db36d2d7b0bc602977616ae52a141c [formerly 6ee846ef0eab0f3b91ff3557877cd2eb63acb505]]
Former-commit-id: c6c5aa9646c78fe86af74aac00cc1c7c307ad678 [formerly 6d3accd032458203105a474b0f8204d8206c2440]
Former-commit-id: ab35a8effb0b01406bef44328ef3c45f5ea1cbfd
This commit is contained in:
Henrique Dias
2017-08-07 14:44:32 +01:00
parent 2f60562143
commit d6ca579519
10 changed files with 118 additions and 25 deletions

View File

@@ -4,9 +4,11 @@ const ssl = (window.location.protocol === 'https:')
export function removePrefix (url) {
if (url.startsWith('/files')) {
return url.slice(6)
url = url.slice(6)
}
if (url === '') url = '/'
if (url[0] !== '/') url = '/' + url
return url
}
@@ -54,7 +56,7 @@ export function rm (url) {
})
}
export function post (url, content = '') {
export function post (url, content = '', overwrite = false) {
url = removePrefix(url)
return new Promise((resolve, reject) => {
@@ -62,15 +64,23 @@ export function post (url, content = '') {
request.open('POST', `${store.state.baseURL}/api/resource${url}`, true)
request.setRequestHeader('Authorization', `Bearer ${store.state.jwt}`)
if (overwrite) {
request.setRequestHeader('Action', `override`)
}
request.onload = () => {
if (request.status === 200) {
resolve(request.responseText)
} else if (request.status === 409) {
reject(request.status)
} else {
reject(request.responseText)
}
}
request.onerror = (error) => reject(error)
request.onerror = (error) => {
reject(error)
}
request.send(content)
})
}