UNPKG

@vulog/aima-user

Version:

27 lines (22 loc) 902 B
import { Client } from '@vulog/aima-client'; import { z } from 'zod'; import { AccountStatus, User } from './types'; export const getUserById = async (client: Client, id: string, addAccountStatus = false): Promise<User> => { const result = z.string().trim().min(1).uuid().safeParse(id); if (!result.success) { throw new TypeError('Invalid id', { cause: result.error.issues, }); } const user = await client .get<User>(`/boapi/proxy/user/fleets/${client.clientOptions.fleetId}/users/${id}/status`) .then(({ data }) => data); if (addAccountStatus) { user.accountStatus = await client .get<{ accountStatus: AccountStatus; }>(`/boapi/proxy/user/fleets/${client.clientOptions.fleetId}/users/${id}`) .then(({ data: { accountStatus } }) => accountStatus); } return user; };