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

const schema = z.object({
    entityId: z.string().trim().min(1).uuid(),
    billingGroupId: z.string().trim().min(1).uuid(),
});

export const assignBillingGroup = async (client: Client, entityId: string, billingGroupId: string): Promise<void> => {
    const result = schema.safeParse({ entityId, billingGroupId });
    if (!result.success) {
        throw new TypeError('Invalid args', {
            cause: result.error.issues,
        });
    }

    await client.post(
        `/boapi/proxy/user/fleets/${client.clientOptions.fleetId}/billingGroup/${result.data.billingGroupId}/entities/${result.data.entityId}`
    );
};
