auth.ts 585 Bytes
import { apiClient } from './client';

export interface LoginReq {
  username: string;
  password: string;
  companyCode: string;
}

export interface UserInfo {
  userId: number;
  username: string;
  userType: 'NORMAL' | 'SUPER_ADMIN';
  language: string;
  employeeName?: string;
  companyCode: string;
}

export interface LoginVo {
  accessToken: string;
  tokenType: 'Bearer';
  expiresInSec: number;
  userInfo: UserInfo;
}

export const authApi = {
  async login(req: LoginReq): Promise<LoginVo> {
    return (await apiClient.post<unknown, LoginVo>('/auth/login', req));
  },
};