import type { UserInfo, UserToken } from '#/entity' import Request from '../request' export interface SignInReq { username: string password: string } export interface SignUpReq extends SignInReq { email: string } export type SignInRes = UserToken & { user: UserInfo } export enum UserApi { SignIn = '/auth/signin', SignUp = '/auth/signup', Logout = '/auth/logout', Refresh = '/auth/refresh', User = '/user' } const signin = (data: SignInReq) => Request.post({ url: UserApi.SignIn, data }) const signup = (data: SignUpReq) => Request.post({ url: UserApi.SignUp, data }) const logout = () => Request.get({ url: UserApi.Logout }) const homepageData = () => Request.get({ url: '/homepage' }) const findById = (id: string) => Request.get({ url: `${UserApi.User}/${id}` }) export default { signin, signup, findById, logout, homepageData }