UNPKG

@shipengine/connect-carrier-api

Version:

This is the typescript/javascript definitions for carrier api

23 lines (20 loc) 905 B
import Joi from 'joi'; import { fileExists } from './custom-validators/file-exists'; import { RateCard, RateCardSchema } from './rate-card'; /** Configuration for attaching Native Rating to a carrier */ export interface NativeRatingConfiguration { /** @description Default rate card to use for rating */ DefaultRateCardId?: string; /** @description Can users manage their own rates */ SupportsUserManagedRates?: boolean; /** Path to rating logic and rate card data for this carrier */ Path?: string; /** Array of rate cards for the carrier */ RateCards?: RateCard[]; } export const NativeRatingConfigurationSchema = Joi.object({ DefaultRateCardId: Joi.string().optional(), SupportsUserManagedRates: Joi.boolean().optional(), Path: Joi.string().optional().custom(fileExists, 'implementation path exists'), RateCards: Joi.array().optional().items(RateCardSchema).unique('Id'), });