filebrowser/frontend/src/api/users.js

52 lines
998 B
JavaScript

import { fetchURL, fetchJSON } from "./utils";
export async function getAll() {
return fetchJSON(`/api/users`, {});
}
export async function get(id) {
return fetchJSON(`/api/users/${id}`, {});
}
export async function create(user) {
const res = await fetchURL(`/api/users`, {
method: "POST",
body: JSON.stringify({
what: "user",
which: [],
data: user,
}),
});
if (res.status === 201) {
return res.headers.get("Location");
} else {
throw new Error(res.status);
}
}
export async function update(user, which = ["all"]) {
const res = await fetchURL(`/api/users/${user.id}`, {
method: "PUT",
body: JSON.stringify({
what: "user",
which: which,
data: user,
}),
});
if (res.status !== 200) {
throw new Error(res.status);
}
}
export async function remove(id) {
const res = await fetchURL(`/api/users/${id}`, {
method: "DELETE",
});
if (res.status !== 200) {
throw new Error(res.status);
}
}