UNPKG

@vulog/aima-user

Version:

User management — profiles, personal information, labels, billing groups, and service registration.

34 lines (28 loc) 1.08 kB
import { Client } from '@vulog/aima-client'; import { z } from 'zod'; import { UserServiceRegistrationOverview } from './types'; const schema = z.array(z.string().uuid()).min(1); /** * Get an overview of the service registration statuses for a list of userIds. * * Swagger: `GET /fleets/{fleetId}/serviceRegistrationOverview` (admin-user, * operationId `getServicesRegistrationOverview`). */ export const getServiceRegistrationOverview = async ( client: Client, userIds: string[] ): Promise<UserServiceRegistrationOverview[]> => { const result = schema.safeParse(userIds); if (!result.success) { throw new TypeError('Invalid args', { cause: result.error.issues }); } const searchParams = new URLSearchParams(); for (const id of result.data) { searchParams.append('userId', id); } return client .get< UserServiceRegistrationOverview[] >(`boapi/proxy/user/fleets/${client.clientOptions.fleetId}/serviceRegistrationOverview?${searchParams.toString()}`) .then(({ data }) => data); };