import { Unknown } from "@core/common";
import { CoreServiceKeys, getContainer } from "@core/di";
import { AxiosHttpClient, NetworkResult } from "@core/network";
import { User } from "@shared/types";
import { UserInfoNetworkDataSource } from "./UserInfoNetworkDataSource";
/**
* @file 用户信息相关数据源实现类
* @author Joker.X
*/
export class UserInfoNetworkDataSourceImpl implements UserInfoNetworkDataSource {
/**
* 获取个人信息
* @returns {Promise<NetworkResult<User>>} 个人信息
*/
async getPersonInfo(): Promise<NetworkResult<User>> {
const httpClient = getContainer().resolve<AxiosHttpClient>(CoreServiceKeys.HttpClient);
const rawResponse: Unknown = await httpClient.get<Unknown>("user/info/person");
return new NetworkResult<User>(rawResponse);
}
}