import { Client } from '@vulog/aima-client';
import { z } from 'zod';

import { Entity } from './types';

export const getEntity = async (client: Client, entityId: string): Promise<Entity> => {
    const result = z.string().trim().min(1).uuid().safeParse(entityId);
    if (!result.success) {
        throw new TypeError('Invalid entity id', {
            cause: result.error.issues,
        });
    }

    const entity = await client
        .get<Entity>(`/boapi/proxy/user/fleets/${client.clientOptions.fleetId}/entities/${entityId}`)
        .then(({ data }) => data);

    return entity;
};
export default getEntity;
