Add user login, signup, and session.

This commit is contained in:
Hannah dagemark 2026-09-02 21:39:39 +02:00
commit f5466faa70
6 changed files with 101 additions and 36 deletions

View file

@ -1,18 +1,24 @@
export async function getUsers() {
const response = await fetch("/api/users");
if (!response.ok) {
throw new Error(`Response status: ${response.status}`);
}
import { cmFetch } from "../cmFetch";
import { Token, User } from "../types";
return response.json();
export async function getUsers() {
return cmFetch<User[]>(`/api/users`);
}
export async function getUser(id: number) {
const response = await fetch(`/api/users/${id}`);
if (!response.ok) {
throw new Error(`Response status: ${response.status}`);
}
return response.json();
return cmFetch<User>(`/api/users/${id}`);
}
export async function loginUser(user: FormData) {
return cmFetch<Token>(`/api/users/login`, {
method: "POST",
body: user,
});
}
export async function createUser(user: FormData) {
return cmFetch<Token>(`/api/users`, {
method: "POST",
body: user,
});
}

View file

@ -6,6 +6,12 @@ export interface User {
authority: number;
}
export interface Token {
access_token: string;
token_type: string;
}
export interface Service {
id: number | null;