UNPKG

@vulog/aima-user

Version:

33 lines (29 loc) 1.04 kB
import { Client } from '@vulog/aima-client'; import { z } from 'zod'; import { accountStatus, User, UserUpdateBody } from './types'; const schema = z.object({ id: z.string().trim().min(1).uuid(), user: z .object({ locale: z.string(), accountStatus: z.enum(accountStatus), dataPrivacyConsent: z.boolean(), marketingConsent: z.boolean(), surveyConsent: z.boolean(), shareDataConsent: z.boolean(), profilingConsent: z.boolean(), membershipNumber: z.string(), }) .partial(), }); export const updateUser = async (client: Client, id: string, user: UserUpdateBody): Promise<User> => { const result = schema.safeParse({ id, user }); if (!result.success) { throw new TypeError('Invalid args', { cause: result.error.issues, }); } return client .post<User>(`/boapi/proxy/user/fleets/${client.clientOptions.fleetId}/users/${id}`, user) .then(({ data }) => data); };