UNPKG

@vulog/aima-user

Version:

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

31 lines (27 loc) 891 B
import { Client } from '@vulog/aima-client'; import { z } from 'zod'; const schema = z.object({ profileId: z.string().uuid(), serviceId: z.string().uuid(), }); /** * Register a user profile to a service. * * Swagger: `PUT /fleets/{fleetId}/profiles/{profileId}/services/{id}` (admin-user, * operationId `requestServiceRegistration`). */ export const requestServiceRegistration = async ( client: Client, profileId: string, serviceId: string ): Promise<string> => { const result = schema.safeParse({ profileId, serviceId }); if (!result.success) { throw new TypeError('Invalid args', { cause: result.error.issues }); } return client .put<string>( `boapi/proxy/user/fleets/${client.clientOptions.fleetId}/profiles/${result.data.profileId}/services/${result.data.serviceId}` ) .then(({ data }) => data); };