Dagemark-Webapp/lib/api/helpers/users.ts
Hannah dagemark f13c32671e Admin page work
2026-10-12 19:03:05 +02:00

50 lines
1.3 KiB
TypeScript

import { getSessionToken } from "@/lib/server_functions/userAuth";
import { cmFetch, cmFetchRaw } from "../cmFetch";
import { Token, User } from "../types";
export async function getUsers() {
return cmFetch<User[]>(`/api/users`);
}
export async function getCurrentUser() {
return cmFetchRaw(
`/api/users/user`,
{ headers: { Authorization: `Bearer ${await getSessionToken()}` } },
[401],
);
}
export async function getUser(id: number) {
return cmFetch<User>(`/api/users/${id}`);
}
export async function loginUser(user: FormData) {
const body = {
username: user.get("username"),
password: user.get("password"),
};
// logger.log("debug", `Recieved login user request for form: ${body}`); // debug login form submission, ISSUE, THIS IS A CLIENT HELPER!
return cmFetch<Token>(`/api/users/login`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(body),
});
}
export async function createUser(user: FormData) {
const body = {
username: user.get("username"),
password: user.get("password"),
authority: 0,
};
return cmFetch<Token>(`/api/users`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(body),
});
}