Client for optimization manager api calls
npm install @skedulo/optimization-manager-clientThis package provides a client for the Optimization Manager API. The client is generated from the OpenAPI spec of the
Optimization Manager API.
Also included are some Adapter functions to help with common use cases when working with the Optimization Manager API.
Run yarn install to install the dependencies
Yarn commands:
- build - Build the package
- generate - Run generation for the autogenerated client code using the OpenAPI spec from the Optimization Manager API
dev environment
- test - Run the tests
The client will be generated automatically when commits are made to
Install @skedulo/optimization-manager-client in your project
``bash`
npm install @skedulo/optimization-manager-client
OR
`bash`
yarn add @skedulo/optimization-manager-client
Below is a simple example connected function using ScheduleTransformer to override the Optimization/schedule
Manager API endpoint.
`typescript
import express from 'express';
import {createOptimizationRoutes, TransformerDataShape} from "@skedulo/optimization-manager-client";
import {FunctionRoute, extractAuthorizationInfoFromHeader} from '@skedulo/sdk-utilities'
// tslint:disable-next-line:no-empty-interface
interface RequestPayload {
}
const transform = (data: TransformerInput): TransformerOutput => {
// NOTE: data.passthrough == { customData: true }
const resources = data.featureModel.resources.map((resource) => ({
...resource,
maxDailyTravelTimeInMinutes: resource.maxDailyTravelTimeInMinutes * 2,
}))
return {...data, featureModel: {...data.featureModel, resources}}
}
export function getRoutes(): FunctionRoute[] {
return createOptimizationRoutes(transform, { customData: true })
}
``