import { http } from "@/utils/http";

/** 飞书登录响应数据 */
export type FeishuLoginData = {
  /** 真实姓名 */
  realName: string;
  /** 手机号 */
  phone: string;
  /** token名称 */
  tokenName: string;
  /** 头像 */
  avatar: string;
  /** 用户ID */
  userId: string;
  /** 邮箱 */
  email: string;
  /** token */
  token: string;
  /** 用户名 */
  username: string;
  /** 是否管理员 */
  isAdmin?: boolean;
  /** 角色列表 */
  roles?: string[];
  /** 权限列表 */
  permissions?: string[];
};

/** 飞书登录响应结果 */
export type FeishuLoginResult = {
  code: number;
  data: FeishuLoginData;
  message: string;
};

/** 飞书OAuth登录接口（前端回调后调用） */
export const getFeishuLogin = (code: string) => {
  return http.request<FeishuLoginResult>("post", "/api/v1/auth/feishu/login", {
    params: { code }
  });
};

/** 检查当前登录状态 */
export const checkFeishuLoginStatus = () => {
  return http.request<{
    code: number;
    data: Record<string, any>;
    message: string;
  }>("get", "/api/v1/auth/feishu/check");
};

/** 获取当前登录用户信息 */
export const getFeishuUserInfo = () => {
  return http.request<{
    code: number;
    data: Record<string, any>;
    message: string;
  }>("get", "/api/v1/auth/feishu/user/info");
};

/** 同步飞书用户 */
export const syncFeishuUsers = () => {
  return http.request<{
    code: number;
    data: Record<string, any>;
    message: string;
  }>("post", "/api/v1/feishu/sync/users");
};
