mirror of
https://github.com/ReCloudStudio/WebHooker.git
synced 2026-09-22 16:11:29 +00:00
Add a super-admin-only Groups tab to create, edit and delete groups (name, admin ids, owner scope). Routes now require a group via a select in the editor, group names are shown on route cards, and the new useMe/useGroups composables back the UI.
30 lines
740 B
TypeScript
30 lines
740 B
TypeScript
import type { Me } from "~/types";
|
|
|
|
export function useMeApi() {
|
|
const me = ref<Me | null>(null);
|
|
const loading = ref(false);
|
|
const needLogin = ref(false);
|
|
|
|
async function load(): Promise<void> {
|
|
loading.value = true;
|
|
needLogin.value = false;
|
|
try {
|
|
const res = await fetch("/admin/api/me", {
|
|
headers: { accept: "application/json" },
|
|
credentials: "same-origin",
|
|
});
|
|
if (res.status === 401) {
|
|
needLogin.value = true;
|
|
return;
|
|
}
|
|
if (!res.ok) throw new Error(`HTTP ${res.status}`);
|
|
me.value = (await res.json()) as Me;
|
|
} catch {
|
|
me.value = null;
|
|
} finally {
|
|
loading.value = false;
|
|
}
|
|
}
|
|
|
|
return { me, loading, needLogin, load };
|
|
}
|