@skedulo/optimization-manager-client
v1.16.0
Published
Client for optimization manager api calls
Downloads
275
Maintainers
Keywords
Readme
optimization-manager-client
This 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.
Setup
Run yarn install
to install the dependencies
Development
Yarn commands:
build
- Build the packagegenerate
- Run generation for the autogenerated client code using the OpenAPI spec from the Optimization Manager API dev environmenttest
- Run the tests
The client will be generated automatically when commits are made to
Usage
Installation
Install @skedulo/optimization-manager-client
in your project
npm install @skedulo/optimization-manager-client
OR
yarn add @skedulo/optimization-manager-client
Example
Below is a simple example connected function using ScheduleTransformer
to override the Optimization
Manager API /schedule
endpoint.
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: TransformerDataShape): TransformerDataShape => {
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)
}