UNPKG

@vulog/aima-user

Version:

User management module for the AIMA platform. This module provides comprehensive functionality to manage users, profiles, billing groups, and user-related operations.

43 lines (36 loc) 1.46 kB
import { Client } from '@vulog/aima-client'; import { createPaginableOptionsSchema, PaginableOptions, PaginableResponse } from '@vulog/aima-core'; // import { z } from 'zod'; import { BillingGroup } from './types'; export const getFleetBillingGroups = async ( client: Client, options?: PaginableOptions ): Promise<PaginableResponse<BillingGroup>> => { const PaginableOptionsSchema = createPaginableOptionsSchema().default({}); const resultOptions = PaginableOptionsSchema.safeParse(options); if (!resultOptions.success) { throw new TypeError('Invalid options', { cause: resultOptions.error.issues, }); } const finalOptions = resultOptions.data; const searchParams = new URLSearchParams(); searchParams.append('page', finalOptions.page!.toString()); searchParams.append('size', finalOptions.pageSize!.toString()); return client .get<BillingGroup[]>( `/boapi/proxy/user/fleets/${client.clientOptions.fleetId}/billingGroup?${searchParams.toString()}` ) .then(({ data, headers }) => { return { data, page: headers.number, pageSize: headers.size, total: headers.totalelements, totalPages: headers.totalpages, }; }) .catch((error) => { throw new Error(`Failed to get fleet billing groups: ${error.message}`); }); };