Dagemark-Webapp/lib/api/helpers/users.ts
2026-09-15 11:22:37 +02:00

53 lines
1.2 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) {
console.log(`Recieved login user request for form: `);
for (const value of user.values()) {
console.log(value);
}
const body = {
username: user.get("username"),
password: user.get("password"),
};
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),
});
}