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

import { UserServiceRegistration } from './types';

export const getRegistrationOverview = async (client: Client, userId: string): Promise<UserServiceRegistration> => {
    const result = z.string().uuid().safeParse(userId);
    if (!result.success) {
        throw new TypeError('Invalid userId', {
            cause: result.error.issues,
        });
    }

    return client
        .get<
            UserServiceRegistration & { userId: string }
        >(`boapi/proxy/user/fleets/${client.clientOptions.fleetId}/users/${userId}/services`)
        .then(({ data: { userId: _, ...data } }) => data);
};
