@shipengine/connect-carrier-api
Version:
This is the typescript/javascript definitions for carrier api
20 lines (16 loc) • 790 B
text/typescript
import Joi from 'joi';
export type ConnectionNames = 'sandbox' | 'production' | 'test' | string;
export class ConnectionNamesConfiguration {
/** @description A unique list of connection names that the integration supports. */
connection_names!: {
[key in ConnectionNames]: any;
};
/** @description The connection name that will be used when none is selected. */
default_connection_name!: ConnectionNames;
}
export const ConnectionNamesSchema = Joi.alternatives().try('sandbox', 'production', 'test');
export const MapOfObjectsSchema = Joi.object().pattern(ConnectionNamesSchema, Joi.object());
export const ConnectionNamesConfigurationSchema = Joi.object({
connection_names: MapOfObjectsSchema.required(),
default_connection_name: ConnectionNamesSchema.required(),
});