import { EnvoyUserAPIScope } from '../sdk/EnvoyUserAPI'; import { routeMetaFactory } from './metaFactory'; export const routeBodyFactoryDefaultIds = { locationId: '1', companyId: '1', zoneId: '1', }; export type RouteBodyFactoryOptions = { config: Partial; params: Params; payload: Payload; scope?: Array; locationId?: string; companyId?: string; zoneId?: string; route?: string; }; export default function routeBodyFactory< Config extends Record = Record, Params extends Record = Record, Payload extends Record = Record, >(options: RouteBodyFactoryOptions) { return { meta: routeMetaFactory( options.route || '', options.config, options.params, options.scope || [], options.locationId || routeBodyFactoryDefaultIds.locationId, options.companyId || routeBodyFactoryDefaultIds.companyId, options.zoneId || routeBodyFactoryDefaultIds.zoneId, ).build(), payload: options.payload, }; }