import { axiosInstance, env } from '../../utils' import type { IAppToken, ILarkWebComponentAuthentication, IProject, IProjectMember, IRole, IUser } from './types' export * from './types' const baseURL = '/api/uniauth' export function retrieveUserInfo(appName = env.appName): Promise<{ user: IUser & { defaultProject: number } projects: IProject[] permissions: string[] }> { return axiosInstance.get(`/user`, { params: { appName, }, baseURL, }) } export function listAppProject(): Promise { return axiosInstance.get(`/user/${env.appName}/projects`, { baseURL, }) } export function updateDefaultProject(projectId: string) { return axiosInstance.put( '/user/defaultProject', { projectId }, { baseURL, }, ) } export function retrieveDefaultProject(): Promise { return axiosInstance.get('/user/defaultProject', { baseURL, }) } export function larkComponentAuthentication(): Promise { return axiosInstance.get(`/lark/web-components/authentication`, { baseURL, }) } export function retrieveAppToken(): Promise { return axiosInstance.get(`/admin/${env.appName}/token`, { baseURL, }) } export function listProjectMember(projectId: string, params?: { page?: number page_size?: number query?: string }): Promise { return axiosInstance.get(`/project/${projectId}/members`, { // name是接入的应用 baseURL: '/api/uniauth', params, }) } export function listProjectRole(): Promise { return axiosInstance.get(`/roles?level=project`, { // name是接入的应用 baseURL: '/api/uniauth', }) }