add the auth api service

This commit is contained in:
thierryverse 2025-11-14 00:23:21 +02:00
parent 7221659de7
commit aa9bb15c13

View file

@ -0,0 +1,44 @@
import {
loginRequest,
LoginRequest,
loginResponse,
registerRequest,
RegisterRequest,
registerResponse,
} from "@/contracts/types/auth.types";
import { baseApiService } from "./base-api.service";
export class AuthApiService {
login = async (request: LoginRequest) => {
// Validate the request
const parsedRequest = loginRequest.safeParse(request);
if (!parsedRequest.success) {
throw new Error(`Invalid request: ${parsedRequest.error.message}`);
}
return baseApiService.post(
`/auth/jwt/login`,
parsedRequest.data,
loginResponse,
{
contentType: "application/x-www-form-urlencoded",
}
);
};
register = async (request: RegisterRequest) => {
// Validate the request
const parsedRequest = registerRequest.safeParse(request);
if (!parsedRequest.success) {
throw new Error(`Invalid request: ${parsedRequest.error.message}`);
}
return baseApiService.post(
`/auth/register`,
parsedRequest.data,
registerResponse
);
};
}