77 lines
1.9 KiB
JavaScript
77 lines
1.9 KiB
JavaScript
function authHeaders() {
|
|
return window.getAuthHeaders ? window.getAuthHeaders() : { 'Content-Type': 'application/json' };
|
|
}
|
|
|
|
function json(response) {
|
|
return response.json().catch(function() { return {}; });
|
|
}
|
|
|
|
export function listActive() {
|
|
return fetch('/api/notes', { headers: authHeaders(), credentials: 'include' }).then(json);
|
|
}
|
|
|
|
export function listTrash() {
|
|
return fetch('/api/notes/trash', { headers: authHeaders(), credentials: 'include' }).then(json);
|
|
}
|
|
|
|
export function saveNote(id, payload) {
|
|
var isNew = id == null;
|
|
return fetch(isNew ? '/api/notes' : '/api/notes/' + id, {
|
|
method: isNew ? 'POST' : 'PUT',
|
|
headers: authHeaders(),
|
|
credentials: 'include',
|
|
body: JSON.stringify(payload || {})
|
|
}).then(json);
|
|
}
|
|
|
|
export function saveNoteKeepalive(id, payload) {
|
|
var isNew = id == null;
|
|
return fetch(isNew ? '/api/notes' : '/api/notes/' + id, {
|
|
method: isNew ? 'POST' : 'PUT',
|
|
keepalive: true,
|
|
credentials: 'include',
|
|
headers: authHeaders(),
|
|
body: JSON.stringify(payload || {})
|
|
});
|
|
}
|
|
|
|
export function restore(id) {
|
|
return fetch('/api/notes/' + id + '/restore', {
|
|
method: 'POST',
|
|
credentials: 'include',
|
|
headers: authHeaders()
|
|
}).then(json);
|
|
}
|
|
|
|
export function hardDelete(id) {
|
|
return fetch('/api/notes/' + id + '?hard=1', {
|
|
method: 'DELETE',
|
|
credentials: 'include',
|
|
headers: authHeaders()
|
|
}).then(json);
|
|
}
|
|
|
|
export function emptyTrash() {
|
|
return fetch('/api/notes/trash/empty', {
|
|
method: 'POST',
|
|
credentials: 'include',
|
|
headers: authHeaders()
|
|
}).then(json);
|
|
}
|
|
|
|
export function moveToTrash(id) {
|
|
return fetch('/api/notes/' + id, {
|
|
method: 'DELETE',
|
|
headers: authHeaders(),
|
|
credentials: 'include'
|
|
}).then(json);
|
|
}
|
|
|
|
export function noteFromVoice(payload) {
|
|
return fetch('/api/notes/from-voice', {
|
|
method: 'POST',
|
|
credentials: 'include',
|
|
headers: authHeaders(),
|
|
body: JSON.stringify(payload || {})
|
|
}).then(json);
|
|
}
|