@shipengine/connect-carrier-api 2.1.21 → 2.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/app/carrier-app.js +79 -63
- package/lib/app/carrier-app.js.map +1 -1
- package/lib/app/constants.d.ts +14 -0
- package/lib/app/constants.js +19 -0
- package/lib/app/constants.js.map +1 -0
- package/lib/app/internal/route.d.ts +1 -0
- package/lib/models/billing/billing-categories.d.ts +2 -0
- package/lib/models/billing/billing-categories.js +4 -1
- package/lib/models/billing/billing-categories.js.map +1 -1
- package/lib/models/billing/billing-line-item.d.ts +2 -0
- package/lib/models/billing/billing-line-item.js +12 -1
- package/lib/models/billing/billing-line-item.js.map +1 -1
- package/lib/models/currency.d.ts +2 -0
- package/lib/models/currency.js +7 -1
- package/lib/models/currency.js.map +1 -1
- package/lib/models/documents/document-type.d.ts +2 -0
- package/lib/models/documents/document-type.js +4 -1
- package/lib/models/documents/document-type.js.map +1 -1
- package/lib/models/documents/document.d.ts +2 -0
- package/lib/models/documents/document.js +10 -1
- package/lib/models/documents/document.js.map +1 -1
- package/lib/models/identifier.d.ts +2 -0
- package/lib/models/identifier.js +7 -1
- package/lib/models/identifier.js.map +1 -1
- package/lib/models/inbound-content-types.d.ts +2 -0
- package/lib/models/inbound-content-types.js +4 -1
- package/lib/models/inbound-content-types.js.map +1 -1
- package/lib/models/labels/document-formats.d.ts +2 -0
- package/lib/models/labels/document-formats.js +4 -1
- package/lib/models/labels/document-formats.js.map +1 -1
- package/lib/models/labels/form-download.d.ts +2 -0
- package/lib/models/labels/form-download.js +6 -1
- package/lib/models/labels/form-download.js.map +1 -1
- package/lib/models/labels/label-download.d.ts +2 -0
- package/lib/models/labels/label-download.js +6 -1
- package/lib/models/labels/label-download.js.map +1 -1
- package/lib/models/labels/label-package.d.ts +2 -0
- package/lib/models/labels/label-package.js +10 -1
- package/lib/models/labels/label-package.js.map +1 -1
- package/lib/models/labels/void-response.d.ts +3 -1
- package/lib/models/labels/void-response.js +10 -1
- package/lib/models/labels/void-response.js.map +1 -1
- package/lib/models/manifests/manifest.d.ts +2 -0
- package/lib/models/manifests/manifest.js +10 -1
- package/lib/models/manifests/manifest.js.map +1 -1
- package/lib/models/pickup/pickup-confirmation.d.ts +2 -0
- package/lib/models/pickup/pickup-confirmation.js +10 -1
- package/lib/models/pickup/pickup-confirmation.js.map +1 -1
- package/lib/models/pickup/pickup-window.d.ts +2 -0
- package/lib/models/pickup/pickup-window.js +9 -1
- package/lib/models/pickup/pickup-window.js.map +1 -1
- package/lib/models/pickup/shipment-identifier.d.ts +2 -0
- package/lib/models/pickup/shipment-identifier.js +8 -1
- package/lib/models/pickup/shipment-identifier.js.map +1 -1
- package/lib/models/rates/rate.d.ts +2 -0
- package/lib/models/rates/rate.js +18 -1
- package/lib/models/rates/rate.js.map +1 -1
- package/lib/models/registration/credentials.d.ts +2 -0
- package/lib/models/registration/credentials.js +7 -1
- package/lib/models/registration/credentials.js.map +1 -1
- package/lib/models/resource-download.d.ts +2 -0
- package/lib/models/resource-download.js +7 -1
- package/lib/models/resource-download.js.map +1 -1
- package/lib/models/time-window.d.ts +2 -0
- package/lib/models/time-window.js +8 -1
- package/lib/models/time-window.js.map +1 -1
- package/lib/models/tracking/lat-long.d.ts +2 -0
- package/lib/models/tracking/lat-long.js +7 -1
- package/lib/models/tracking/lat-long.js.map +1 -1
- package/lib/models/tracking/service.d.ts +2 -0
- package/lib/models/tracking/service.js +7 -1
- package/lib/models/tracking/service.js.map +1 -1
- package/lib/models/tracking/standardized-status-codes.d.ts +2 -0
- package/lib/models/tracking/standardized-status-codes.js +4 -1
- package/lib/models/tracking/standardized-status-codes.js.map +1 -1
- package/lib/models/tracking/track-event.d.ts +2 -0
- package/lib/models/tracking/track-event.js +18 -1
- package/lib/models/tracking/track-event.js.map +1 -1
- package/lib/models/tracking/tracking-info.d.ts +2 -0
- package/lib/models/tracking/tracking-info.js +27 -1
- package/lib/models/tracking/tracking-info.js.map +1 -1
- package/lib/models/tracking/update-method.d.ts +2 -0
- package/lib/models/tracking/update-method.js +4 -1
- package/lib/models/tracking/update-method.js.map +1 -1
- package/lib/models/units/dimensions.d.ts +2 -0
- package/lib/models/units/dimensions.js +8 -1
- package/lib/models/units/dimensions.js.map +1 -1
- package/lib/responses/base-response.d.ts +2 -0
- package/lib/responses/base-response.js +6 -1
- package/lib/responses/base-response.js.map +1 -1
- package/lib/responses/cancel-notification-response.d.ts +2 -0
- package/lib/responses/cancel-notification-response.js +7 -1
- package/lib/responses/cancel-notification-response.js.map +1 -1
- package/lib/responses/cancel-pickup-response.d.ts +2 -0
- package/lib/responses/cancel-pickup-response.js +9 -1
- package/lib/responses/cancel-pickup-response.js.map +1 -1
- package/lib/responses/create-label-response.d.ts +2 -0
- package/lib/responses/create-label-response.js +19 -1
- package/lib/responses/create-label-response.js.map +1 -1
- package/lib/responses/create-manifest-response.d.ts +2 -0
- package/lib/responses/create-manifest-response.js +8 -1
- package/lib/responses/create-manifest-response.js.map +1 -1
- package/lib/responses/create-notification-response.d.ts +2 -0
- package/lib/responses/create-notification-response.js +6 -1
- package/lib/responses/create-notification-response.js.map +1 -1
- package/lib/responses/get-rates-response.d.ts +2 -0
- package/lib/responses/get-rates-response.js +7 -1
- package/lib/responses/get-rates-response.js.map +1 -1
- package/lib/responses/normalize-tracking-data-response.d.ts +3 -1
- package/lib/responses/normalize-tracking-data-response.js +13 -0
- package/lib/responses/normalize-tracking-data-response.js.map +1 -1
- package/lib/responses/register-response.d.ts +2 -0
- package/lib/responses/register-response.js +8 -1
- package/lib/responses/register-response.js.map +1 -1
- package/lib/responses/schedule-pickup-response.d.ts +2 -0
- package/lib/responses/schedule-pickup-response.js +11 -1
- package/lib/responses/schedule-pickup-response.js.map +1 -1
- package/lib/responses/tracking-response.d.ts +1 -0
- package/lib/responses/tracking-response.js +5 -1
- package/lib/responses/tracking-response.js.map +1 -1
- package/lib/responses/validate-inbound-data-response.d.ts +3 -1
- package/lib/responses/validate-inbound-data-response.js +12 -0
- package/lib/responses/validate-inbound-data-response.js.map +1 -1
- package/lib/responses/void-labels-response.d.ts +2 -0
- package/lib/responses/void-labels-response.js +7 -1
- package/lib/responses/void-labels-response.js.map +1 -1
- package/package.json +1 -1
- package/src/app/carrier-app.ts +107 -65
- package/src/app/constants.ts +14 -0
- package/src/app/internal/route.ts +1 -0
- package/src/models/billing/billing-categories.ts +6 -0
- package/src/models/billing/billing-line-item.ts +14 -2
- package/src/models/currency.ts +7 -0
- package/src/models/documents/document-type.ts +6 -0
- package/src/models/documents/document.ts +11 -2
- package/src/models/identifier.ts +7 -0
- package/src/models/inbound-content-types.ts +5 -0
- package/src/models/labels/document-formats.ts +5 -0
- package/src/models/labels/form-download.ts +6 -1
- package/src/models/labels/label-download.ts +6 -1
- package/src/models/labels/label-package.ts +9 -2
- package/src/models/labels/void-response.ts +9 -2
- package/src/models/manifests/manifest.ts +9 -1
- package/src/models/pickup/pickup-confirmation.ts +11 -2
- package/src/models/pickup/pickup-window.ts +8 -0
- package/src/models/pickup/shipment-identifier.ts +7 -1
- package/src/models/rates/rate.ts +20 -2
- package/src/models/registration/credentials.ts +7 -0
- package/src/models/resource-download.ts +7 -0
- package/src/models/time-window.ts +8 -0
- package/src/models/tracking/lat-long.ts +7 -0
- package/src/models/tracking/service.ts +6 -0
- package/src/models/tracking/standardized-status-codes.ts +6 -0
- package/src/models/tracking/track-event.ts +16 -0
- package/src/models/tracking/tracking-info.ts +29 -4
- package/src/models/tracking/update-method.ts +6 -0
- package/src/models/units/dimensions.ts +7 -0
- package/src/responses/base-response.ts +6 -0
- package/src/responses/cancel-notification-response.ts +7 -1
- package/src/responses/cancel-pickup-response.ts +9 -1
- package/src/responses/create-label-response.ts +25 -1
- package/src/responses/create-manifest-response.ts +8 -2
- package/src/responses/create-notification-response.ts +6 -1
- package/src/responses/get-rates-response.ts +7 -2
- package/src/responses/normalize-tracking-data-response.ts +16 -5
- package/src/responses/register-response.ts +6 -1
- package/src/responses/schedule-pickup-response.ts +18 -2
- package/src/responses/tracking-response.ts +6 -2
- package/src/responses/validate-inbound-data-response.ts +12 -4
- package/src/responses/void-labels-response.ts +7 -2
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CancelNotificationResponse = void 0;
|
|
3
|
+
exports.CancelNotificationResponseSchema = exports.CancelNotificationResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const joi_1 = tslib_1.__importDefault(require("joi"));
|
|
4
6
|
const base_response_1 = require("./base-response");
|
|
5
7
|
class CancelNotificationResponse extends base_response_1.BaseResponse {
|
|
6
8
|
}
|
|
7
9
|
exports.CancelNotificationResponse = CancelNotificationResponse;
|
|
10
|
+
exports.CancelNotificationResponseSchema = base_response_1.BaseResponseSchema.keys({
|
|
11
|
+
message: joi_1.default.string().optional().empty(),
|
|
12
|
+
errors: joi_1.default.array().optional().items(joi_1.default.string()),
|
|
13
|
+
});
|
|
8
14
|
//# sourceMappingURL=cancel-notification-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancel-notification-response.js","sourceRoot":"","sources":["../../src/responses/cancel-notification-response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cancel-notification-response.js","sourceRoot":"","sources":["../../src/responses/cancel-notification-response.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,mDAAmE;AAEnE,MAAa,0BAA2B,SAAQ,4BAAY;CAK3D;AALD,gEAKC;AAEY,QAAA,gCAAgC,GAAG,kCAAkB,CAAC,IAAI,CAAC;IACtE,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IACxC,MAAM,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC;CACnD,CAAC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import Joi from 'joi';
|
|
1
2
|
import { BaseResponse } from './base-response';
|
|
2
3
|
/** @description Basic structure for a response to cancel pickup */
|
|
3
4
|
export declare class CancelPickupResponse extends BaseResponse {
|
|
@@ -8,3 +9,4 @@ export declare class CancelPickupResponse extends BaseResponse {
|
|
|
8
9
|
[key: string]: string;
|
|
9
10
|
};
|
|
10
11
|
}
|
|
12
|
+
export declare const CancelPickupResponseSchema: Joi.ObjectSchema<any>;
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CancelPickupResponse = void 0;
|
|
3
|
+
exports.CancelPickupResponseSchema = exports.CancelPickupResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const joi_1 = tslib_1.__importDefault(require("joi"));
|
|
4
6
|
const base_response_1 = require("./base-response");
|
|
5
7
|
/** @description Basic structure for a response to cancel pickup */
|
|
6
8
|
class CancelPickupResponse extends base_response_1.BaseResponse {
|
|
7
9
|
}
|
|
8
10
|
exports.CancelPickupResponse = CancelPickupResponse;
|
|
11
|
+
exports.CancelPickupResponseSchema = base_response_1.BaseResponseSchema.keys({
|
|
12
|
+
confirmationa_id: joi_1.default.string().optional(),
|
|
13
|
+
successful: joi_1.default.boolean().required(),
|
|
14
|
+
status: joi_1.default.string().optional().empty(),
|
|
15
|
+
custom_properties: joi_1.default.object().pattern(/.*/, [joi_1.default.string()]).optional(),
|
|
16
|
+
});
|
|
9
17
|
//# sourceMappingURL=cancel-pickup-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancel-pickup-response.js","sourceRoot":"","sources":["../../src/responses/cancel-pickup-response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cancel-pickup-response.js","sourceRoot":"","sources":["../../src/responses/cancel-pickup-response.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,mDAAmE;AAEnE,mEAAmE;AACnE,MAAa,oBAAqB,SAAQ,4BAAY;CAKrD;AALD,oDAKC;AAEY,QAAA,0BAA0B,GAAG,kCAAkB,CAAC,IAAI,CAAC;IAChE,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IACvC,iBAAiB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CACzE,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseResponse } from './base-response';
|
|
2
2
|
import { LabelDownload, FormDownload, Document, BillingLineItem, LabelPackage, Identifier, TimeWindow } from '../models';
|
|
3
|
+
import Joi from 'joi';
|
|
3
4
|
/** @description Basic structure for a response to create a label */
|
|
4
5
|
export declare class CreateLabelResponse extends BaseResponse {
|
|
5
6
|
transaction_id: string;
|
|
@@ -18,3 +19,4 @@ export declare class CreateLabelResponse extends BaseResponse {
|
|
|
18
19
|
/** @description The delivery window is the time designated when the carrier will drop off the package to the recipient */
|
|
19
20
|
delivery_window?: TimeWindow;
|
|
20
21
|
}
|
|
22
|
+
export declare const CreateLabelResponseSchema: Joi.ObjectSchema<any>;
|
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CreateLabelResponse = void 0;
|
|
3
|
+
exports.CreateLabelResponseSchema = exports.CreateLabelResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const base_response_1 = require("./base-response");
|
|
6
|
+
const models_1 = require("../models");
|
|
7
|
+
const joi_1 = tslib_1.__importDefault(require("joi"));
|
|
5
8
|
/** @description Basic structure for a response to create a label */
|
|
6
9
|
class CreateLabelResponse extends base_response_1.BaseResponse {
|
|
7
10
|
}
|
|
8
11
|
exports.CreateLabelResponse = CreateLabelResponse;
|
|
12
|
+
exports.CreateLabelResponseSchema = base_response_1.BaseResponseSchema.keys({
|
|
13
|
+
transaction_id: joi_1.default.string().required(),
|
|
14
|
+
label_download: models_1.LabelDownloadSchema.optional(),
|
|
15
|
+
form_download: models_1.FormDownloadSchema.optional(),
|
|
16
|
+
documents: joi_1.default.array().optional().items(models_1.DocumentSchema),
|
|
17
|
+
packages: joi_1.default.array().optional().items(models_1.LabelPackageSchema),
|
|
18
|
+
billing_line_items: joi_1.default.array().optional().items(models_1.BillingLineItemSchema),
|
|
19
|
+
tracking_number: joi_1.default.string().optional().empty(),
|
|
20
|
+
trackable: joi_1.default.boolean().optional(),
|
|
21
|
+
alternative_identifiers: joi_1.default.array().optional().items(models_1.IdentifierSchema),
|
|
22
|
+
estimated_delivery_datetime: joi_1.default.string().optional().empty().isoDate(),
|
|
23
|
+
consolidator_service_code: joi_1.default.string().optional().empty(),
|
|
24
|
+
carrier_pickup_window: models_1.TimeWindowSchema.optional(),
|
|
25
|
+
delivery_window: models_1.TimeWindowSchema.optional(),
|
|
26
|
+
});
|
|
9
27
|
//# sourceMappingURL=create-label-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-label-response.js","sourceRoot":"","sources":["../../src/responses/create-label-response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-label-response.js","sourceRoot":"","sources":["../../src/responses/create-label-response.ts"],"names":[],"mappings":";;;;AAAA,mDAAmE;AACnE,sCAemB;AACnB,sDAAsB;AAEtB,oEAAoE;AACpE,MAAa,mBAAoB,SAAQ,4BAAY;CAgBpD;AAhBD,kDAgBC;AAEY,QAAA,yBAAyB,GAAG,kCAAkB,CAAC,IAAI,CAAC;IAC/D,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,cAAc,EAAE,4BAAmB,CAAC,QAAQ,EAAE;IAC9C,aAAa,EAAE,2BAAkB,CAAC,QAAQ,EAAE;IAC5C,SAAS,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,uBAAc,CAAC;IACvD,QAAQ,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,2BAAkB,CAAC;IAC1D,kBAAkB,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,8BAAqB,CAAC;IACvE,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAChD,SAAS,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,uBAAuB,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,yBAAgB,CAAC;IACvE,2BAA2B,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE;IACtE,yBAAyB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IAC1D,qBAAqB,EAAE,yBAAgB,CAAC,QAAQ,EAAE;IAClD,eAAe,EAAE,yBAAgB,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { BaseResponse } from './base-response';
|
|
2
2
|
import { Manifest } from '../models';
|
|
3
|
+
import Joi from 'joi';
|
|
3
4
|
/** @description Basic structure for a response to create a manifest */
|
|
4
5
|
export declare class CreateManifestResponse extends BaseResponse {
|
|
5
6
|
transaction_id: string;
|
|
6
7
|
manifests?: Manifest[];
|
|
7
8
|
}
|
|
9
|
+
export declare const CreateManifestResponseSchema: Joi.ObjectSchema<any>;
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CreateManifestResponse = void 0;
|
|
3
|
+
exports.CreateManifestResponseSchema = exports.CreateManifestResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const base_response_1 = require("./base-response");
|
|
6
|
+
const models_1 = require("../models");
|
|
7
|
+
const joi_1 = tslib_1.__importDefault(require("joi"));
|
|
5
8
|
/** @description Basic structure for a response to create a manifest */
|
|
6
9
|
class CreateManifestResponse extends base_response_1.BaseResponse {
|
|
7
10
|
}
|
|
8
11
|
exports.CreateManifestResponse = CreateManifestResponse;
|
|
12
|
+
exports.CreateManifestResponseSchema = base_response_1.BaseResponseSchema.keys({
|
|
13
|
+
transaction_id: joi_1.default.string().required(),
|
|
14
|
+
manifests: joi_1.default.array().optional().items(models_1.ManifestSchema),
|
|
15
|
+
});
|
|
9
16
|
//# sourceMappingURL=create-manifest-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-manifest-response.js","sourceRoot":"","sources":["../../src/responses/create-manifest-response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-manifest-response.js","sourceRoot":"","sources":["../../src/responses/create-manifest-response.ts"],"names":[],"mappings":";;;;AAAA,mDAAmE;AACnE,sCAAqD;AACrD,sDAAsB;AAEtB,uEAAuE;AACvE,MAAa,sBAAuB,SAAQ,4BAAY;CAGvD;AAHD,wDAGC;AAEY,QAAA,4BAA4B,GAAG,kCAAkB,CAAC,IAAI,CAAC;IAClE,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,SAAS,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,uBAAc,CAAC;CACxD,CAAC,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import Joi from 'joi';
|
|
1
2
|
import { BaseResponse } from './base-response';
|
|
2
3
|
export declare class CreateNotificationResponse extends BaseResponse {
|
|
3
4
|
/** @description The id of the sucessfully created notification*/
|
|
4
5
|
notification_id: string;
|
|
5
6
|
}
|
|
7
|
+
export declare const CreateNotificationResponseSchema: Joi.ObjectSchema<any>;
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CreateNotificationResponse = void 0;
|
|
3
|
+
exports.CreateNotificationResponseSchema = exports.CreateNotificationResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const joi_1 = tslib_1.__importDefault(require("joi"));
|
|
4
6
|
const base_response_1 = require("./base-response");
|
|
5
7
|
class CreateNotificationResponse extends base_response_1.BaseResponse {
|
|
6
8
|
}
|
|
7
9
|
exports.CreateNotificationResponse = CreateNotificationResponse;
|
|
10
|
+
exports.CreateNotificationResponseSchema = base_response_1.BaseResponseSchema.keys({
|
|
11
|
+
notification_id: joi_1.default.string().required(),
|
|
12
|
+
});
|
|
8
13
|
//# sourceMappingURL=create-notification-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-notification-response.js","sourceRoot":"","sources":["../../src/responses/create-notification-response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-notification-response.js","sourceRoot":"","sources":["../../src/responses/create-notification-response.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,mDAAmE;AAEnE,MAAa,0BAA2B,SAAQ,4BAAY;CAG3D;AAHD,gEAGC;AAEY,QAAA,gCAAgC,GAAG,kCAAkB,CAAC,IAAI,CAAC;IACtE,eAAe,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { BaseResponse } from './base-response';
|
|
2
2
|
import { Rate } from '../models';
|
|
3
|
+
import Joi from 'joi';
|
|
3
4
|
/** @description Basic structure for a response to get rates */
|
|
4
5
|
export declare class GetRatesResponse extends BaseResponse {
|
|
5
6
|
rates: Rate[];
|
|
6
7
|
}
|
|
8
|
+
export declare const GetRatesResponseSchema: Joi.ObjectSchema<any>;
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GetRatesResponse = void 0;
|
|
3
|
+
exports.GetRatesResponseSchema = exports.GetRatesResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const base_response_1 = require("./base-response");
|
|
6
|
+
const models_1 = require("../models");
|
|
7
|
+
const joi_1 = tslib_1.__importDefault(require("joi"));
|
|
5
8
|
/** @description Basic structure for a response to get rates */
|
|
6
9
|
class GetRatesResponse extends base_response_1.BaseResponse {
|
|
7
10
|
}
|
|
8
11
|
exports.GetRatesResponse = GetRatesResponse;
|
|
12
|
+
exports.GetRatesResponseSchema = base_response_1.BaseResponseSchema.keys({
|
|
13
|
+
rates: joi_1.default.array().required().items(models_1.RateSchema),
|
|
14
|
+
});
|
|
9
15
|
//# sourceMappingURL=get-rates-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-rates-response.js","sourceRoot":"","sources":["../../src/responses/get-rates-response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-rates-response.js","sourceRoot":"","sources":["../../src/responses/get-rates-response.ts"],"names":[],"mappings":";;;;AAAA,mDAAmE;AACnE,sCAA6C;AAC7C,sDAAsB;AAEtB,+DAA+D;AAC/D,MAAa,gBAAiB,SAAQ,4BAAY;CAEjD;AAFD,4CAEC;AAEY,QAAA,sBAAsB,GAAG,kCAAkB,CAAC,IAAI,CAAC;IAC5D,KAAK,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,mBAAU,CAAC;CAChD,CAAC,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { BaseResponse } from './base-response';
|
|
2
2
|
import { UpdateMethods, TrackingInfo } from '../models';
|
|
3
|
+
import Joi from 'joi';
|
|
3
4
|
/** @description Basic structure for a response to normalize inbound tracking data */
|
|
4
|
-
export
|
|
5
|
+
export declare class NormalizeTrackingDataResponse extends BaseResponse {
|
|
5
6
|
/** @description Collection of normalized tracking updates with one entry per package */
|
|
6
7
|
tracking_info: TrackingInfo[];
|
|
7
8
|
/**
|
|
@@ -10,3 +11,4 @@ export interface NormalizeTrackingDataResponse extends BaseResponse {
|
|
|
10
11
|
*/
|
|
11
12
|
update_method: UpdateMethods;
|
|
12
13
|
}
|
|
14
|
+
export declare const NormalizeTrackingDataResponseSchema: Joi.ObjectSchema<any>;
|
|
@@ -1,3 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NormalizeTrackingDataResponseSchema = exports.NormalizeTrackingDataResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const base_response_1 = require("./base-response");
|
|
6
|
+
const models_1 = require("../models");
|
|
7
|
+
const joi_1 = tslib_1.__importDefault(require("joi"));
|
|
8
|
+
/** @description Basic structure for a response to normalize inbound tracking data */
|
|
9
|
+
class NormalizeTrackingDataResponse extends base_response_1.BaseResponse {
|
|
10
|
+
}
|
|
11
|
+
exports.NormalizeTrackingDataResponse = NormalizeTrackingDataResponse;
|
|
12
|
+
exports.NormalizeTrackingDataResponseSchema = base_response_1.BaseResponseSchema.keys({
|
|
13
|
+
tracking_info: joi_1.default.array().required().items(models_1.TrackingInfoSchema),
|
|
14
|
+
update_method: models_1.UpdateMethodsSchema,
|
|
15
|
+
});
|
|
3
16
|
//# sourceMappingURL=normalize-tracking-data-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-tracking-data-response.js","sourceRoot":"","sources":["../../src/responses/normalize-tracking-data-response.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"normalize-tracking-data-response.js","sourceRoot":"","sources":["../../src/responses/normalize-tracking-data-response.ts"],"names":[],"mappings":";;;;AAAA,mDAAmE;AACnE,sCAKmB;AACnB,sDAAsB;AAEtB,qFAAqF;AACrF,MAAa,6BAA8B,SAAQ,4BAAY;CAQ9D;AARD,sEAQC;AAEY,QAAA,mCAAmC,GAAG,kCAAkB,CAAC,IAAI,CAAC;IACzE,aAAa,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,2BAAkB,CAAC;IAC/D,aAAa,EAAE,4BAAmB;CACnC,CAAC,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import Joi from 'joi';
|
|
1
2
|
import { Credentials } from '../models';
|
|
2
3
|
/** @description Basic structure for a response to register/connect */
|
|
3
4
|
export declare class RegisterResponse {
|
|
4
5
|
credentials: Credentials;
|
|
5
6
|
metadata: object;
|
|
6
7
|
}
|
|
8
|
+
export declare const RegisterResponseSchema: Joi.ObjectSchema<any>;
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RegisterResponse = void 0;
|
|
3
|
+
exports.RegisterResponseSchema = exports.RegisterResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const joi_1 = tslib_1.__importDefault(require("joi"));
|
|
6
|
+
const models_1 = require("../models");
|
|
4
7
|
/** @description Basic structure for a response to register/connect */
|
|
5
8
|
class RegisterResponse {
|
|
6
9
|
}
|
|
7
10
|
exports.RegisterResponse = RegisterResponse;
|
|
11
|
+
exports.RegisterResponseSchema = joi_1.default.object({
|
|
12
|
+
credentials: models_1.CredentialsSchema.required(),
|
|
13
|
+
metadata: joi_1.default.object().pattern(/.*/, [joi_1.default.any()]).required(),
|
|
14
|
+
});
|
|
8
15
|
//# sourceMappingURL=register-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-response.js","sourceRoot":"","sources":["../../src/responses/register-response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"register-response.js","sourceRoot":"","sources":["../../src/responses/register-response.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,sCAA2D;AAE3D,sEAAsE;AACtE,MAAa,gBAAgB;CAG5B;AAHD,4CAGC;AACY,QAAA,sBAAsB,GAAG,aAAG,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,0BAAiB,CAAC,QAAQ,EAAE;IACzC,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,aAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseResponse } from './base-response';
|
|
2
2
|
import { PickupConfirmation, PickupWindow, BillingLineItem } from '../models';
|
|
3
|
+
import Joi from 'joi';
|
|
3
4
|
/** @description Basic structure for a response to schedule a pickup */
|
|
4
5
|
export declare class SchedulePickupResponse extends BaseResponse {
|
|
5
6
|
confirmation?: PickupConfirmation;
|
|
@@ -10,3 +11,4 @@ export declare class SchedulePickupResponse extends BaseResponse {
|
|
|
10
11
|
};
|
|
11
12
|
billing_line_items?: BillingLineItem[];
|
|
12
13
|
}
|
|
14
|
+
export declare const SchedulePickupResponseSchema: Joi.ObjectSchema<any>;
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SchedulePickupResponse = void 0;
|
|
3
|
+
exports.SchedulePickupResponseSchema = exports.SchedulePickupResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const base_response_1 = require("./base-response");
|
|
6
|
+
const models_1 = require("../models");
|
|
7
|
+
const joi_1 = tslib_1.__importDefault(require("joi"));
|
|
5
8
|
/** @description Basic structure for a response to schedule a pickup */
|
|
6
9
|
class SchedulePickupResponse extends base_response_1.BaseResponse {
|
|
7
10
|
}
|
|
8
11
|
exports.SchedulePickupResponse = SchedulePickupResponse;
|
|
12
|
+
exports.SchedulePickupResponseSchema = base_response_1.BaseResponseSchema.keys({
|
|
13
|
+
confirmation: models_1.PickupConfirmationSchema.optional(),
|
|
14
|
+
pickup_windows: joi_1.default.array().optional().items(models_1.PickupWindowSchema),
|
|
15
|
+
remarks: joi_1.default.string().optional().empty(),
|
|
16
|
+
custom_properties: joi_1.default.object().pattern(/.*/, [joi_1.default.string()]).optional(),
|
|
17
|
+
billing_line_items: joi_1.default.array().optional().items(models_1.BillingLineItemSchema),
|
|
18
|
+
});
|
|
9
19
|
//# sourceMappingURL=schedule-pickup-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-pickup-response.js","sourceRoot":"","sources":["../../src/responses/schedule-pickup-response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schedule-pickup-response.js","sourceRoot":"","sources":["../../src/responses/schedule-pickup-response.ts"],"names":[],"mappings":";;;;AAAA,mDAAmE;AACnE,sCAOmB;AACnB,sDAAsB;AAEtB,uEAAuE;AACvE,MAAa,sBAAuB,SAAQ,4BAAY;CAMvD;AAND,wDAMC;AAEY,QAAA,4BAA4B,GAAG,kCAAkB,CAAC,IAAI,CAAC;IAClE,YAAY,EAAE,iCAAwB,CAAC,QAAQ,EAAE;IACjD,cAAc,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,2BAAkB,CAAC;IAChE,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;IACxC,iBAAiB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxE,kBAAkB,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,8BAAqB,CAAC;CACxE,CAAC,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TrackingResponse = void 0;
|
|
3
|
+
exports.TrackingResponseSchema = exports.TrackingResponse = void 0;
|
|
4
4
|
const base_response_1 = require("./base-response");
|
|
5
|
+
const models_1 = require("../models");
|
|
5
6
|
/** @description Basic structure for a response to get tracking information */
|
|
6
7
|
class TrackingResponse extends base_response_1.BaseResponse {
|
|
7
8
|
}
|
|
8
9
|
exports.TrackingResponse = TrackingResponse;
|
|
10
|
+
exports.TrackingResponseSchema = base_response_1.BaseResponseSchema.keys({
|
|
11
|
+
tracking_info: models_1.TrackingInfoSchema.required(),
|
|
12
|
+
});
|
|
9
13
|
//# sourceMappingURL=tracking-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracking-response.js","sourceRoot":"","sources":["../../src/responses/tracking-response.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"tracking-response.js","sourceRoot":"","sources":["../../src/responses/tracking-response.ts"],"names":[],"mappings":";;;AAAA,mDAAmE;AACnE,sCAA6D;AAE7D,8EAA8E;AAC9E,MAAa,gBAAiB,SAAQ,4BAAY;CAEjD;AAFD,4CAEC;AAEY,QAAA,sBAAsB,GAAG,kCAAkB,CAAC,IAAI,CAAC;IAC5D,aAAa,EAAE,2BAAkB,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { BaseResponse } from './base-response';
|
|
2
2
|
import { InboundDataContentTypes } from '../models';
|
|
3
|
+
import Joi from 'joi';
|
|
3
4
|
/** @description Basic structure for a response to validate inbound data */
|
|
4
|
-
export
|
|
5
|
+
export declare class ValidateInboundDataResponse extends BaseResponse {
|
|
5
6
|
/** @description List of content types included in the data */
|
|
6
7
|
content_types: InboundDataContentTypes[];
|
|
7
8
|
}
|
|
9
|
+
export declare const ValidateInboundDataResponseSchema: Joi.ObjectSchema<any>;
|
|
@@ -1,3 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValidateInboundDataResponseSchema = exports.ValidateInboundDataResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const base_response_1 = require("./base-response");
|
|
6
|
+
const models_1 = require("../models");
|
|
7
|
+
const joi_1 = tslib_1.__importDefault(require("joi"));
|
|
8
|
+
/** @description Basic structure for a response to validate inbound data */
|
|
9
|
+
class ValidateInboundDataResponse extends base_response_1.BaseResponse {
|
|
10
|
+
}
|
|
11
|
+
exports.ValidateInboundDataResponse = ValidateInboundDataResponse;
|
|
12
|
+
exports.ValidateInboundDataResponseSchema = base_response_1.BaseResponseSchema.keys({
|
|
13
|
+
content_types: joi_1.default.array().required().items(models_1.InboundDataContentTypesSchema),
|
|
14
|
+
});
|
|
3
15
|
//# sourceMappingURL=validate-inbound-data-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-inbound-data-response.js","sourceRoot":"","sources":["../../src/responses/validate-inbound-data-response.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"validate-inbound-data-response.js","sourceRoot":"","sources":["../../src/responses/validate-inbound-data-response.ts"],"names":[],"mappings":";;;;AAAA,mDAAmE;AACnE,sCAGmB;AACnB,sDAAsB;AAEtB,2EAA2E;AAC3E,MAAa,2BAA4B,SAAQ,4BAAY;CAG5D;AAHD,kEAGC;AAEY,QAAA,iCAAiC,GAAG,kCAAkB,CAAC,IAAI,CAAC;IACvE,aAAa,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,sCAA6B,CAAC;CAC3E,CAAC,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { BaseResponse } from './base-response';
|
|
2
2
|
import { VoidResponse } from '../models';
|
|
3
|
+
import Joi from 'joi';
|
|
3
4
|
/** @description Basic structure for a response to void labels */
|
|
4
5
|
export declare class VoidLabelsResponse extends BaseResponse {
|
|
5
6
|
/** @description List of void responses*/
|
|
6
7
|
void_responses: VoidResponse[];
|
|
7
8
|
}
|
|
9
|
+
export declare const VoidLabelsResponseSchema: Joi.ObjectSchema<any>;
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VoidLabelsResponse = void 0;
|
|
3
|
+
exports.VoidLabelsResponseSchema = exports.VoidLabelsResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const base_response_1 = require("./base-response");
|
|
6
|
+
const models_1 = require("../models");
|
|
7
|
+
const joi_1 = tslib_1.__importDefault(require("joi"));
|
|
5
8
|
/** @description Basic structure for a response to void labels */
|
|
6
9
|
class VoidLabelsResponse extends base_response_1.BaseResponse {
|
|
7
10
|
}
|
|
8
11
|
exports.VoidLabelsResponse = VoidLabelsResponse;
|
|
12
|
+
exports.VoidLabelsResponseSchema = base_response_1.BaseResponseSchema.keys({
|
|
13
|
+
void_responses: joi_1.default.array().required().items(models_1.VoidResponseSchema),
|
|
14
|
+
});
|
|
9
15
|
//# sourceMappingURL=void-labels-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"void-labels-response.js","sourceRoot":"","sources":["../../src/responses/void-labels-response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"void-labels-response.js","sourceRoot":"","sources":["../../src/responses/void-labels-response.ts"],"names":[],"mappings":";;;;AAAA,mDAAmE;AACnE,sCAA6D;AAC7D,sDAAsB;AAEtB,iEAAiE;AACjE,MAAa,kBAAmB,SAAQ,4BAAY;CAGnD;AAHD,gDAGC;AAEY,QAAA,wBAAwB,GAAG,kCAAkB,CAAC,IAAI,CAAC;IAC9D,cAAc,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,2BAAkB,CAAC;CACjE,CAAC,CAAC"}
|
package/package.json
CHANGED
package/src/app/carrier-app.ts
CHANGED
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
import { CarrierAppDefinition } from '.';
|
|
2
2
|
import { ConnectRuntimeApp, Method, Route, BrandedImages } from './internal';
|
|
3
|
-
|
|
3
|
+
import { ApiEndpoints } from './constants';
|
|
4
4
|
import { resolve } from 'path';
|
|
5
5
|
import { readFileSync, existsSync } from 'fs';
|
|
6
6
|
|
|
7
7
|
import { Metadata } from './internal/metadata';
|
|
8
8
|
import { CarrierSpecification } from './internal/carrier-specificaion';
|
|
9
9
|
import { CarrierAppMetadataSchema } from './metadata';
|
|
10
|
+
import {
|
|
11
|
+
RegisterResponseSchema,
|
|
12
|
+
CancelNotificationResponseSchema,
|
|
13
|
+
CancelPickupResponseSchema,
|
|
14
|
+
SchedulePickupResponseSchema,
|
|
15
|
+
TrackingResponseSchema,
|
|
16
|
+
GetRatesResponseSchema,
|
|
17
|
+
VoidLabelsResponseSchema,
|
|
18
|
+
CreateLabelResponseSchema,
|
|
19
|
+
CreateManifestResponseSchema,
|
|
20
|
+
CreateNotificationResponseSchema,
|
|
21
|
+
ValidateInboundDataResponseSchema,
|
|
22
|
+
NormalizeTrackingDataResponseSchema,
|
|
23
|
+
} from '../responses';
|
|
24
|
+
import { Schema } from 'joi';
|
|
10
25
|
|
|
11
26
|
const handleRequest = (implementation?: Function): any => {
|
|
12
27
|
if (implementation) {
|
|
@@ -16,76 +31,12 @@ const handleRequest = (implementation?: Function): any => {
|
|
|
16
31
|
}
|
|
17
32
|
};
|
|
18
33
|
|
|
19
|
-
const registerRoutes = (routes: Route[], definition: CarrierAppDefinition) => {
|
|
20
|
-
routes.push({
|
|
21
|
-
method: Method.POST,
|
|
22
|
-
path: '/Register',
|
|
23
|
-
handler: handleRequest(definition.Register),
|
|
24
|
-
});
|
|
25
|
-
routes.push({
|
|
26
|
-
method: Method.POST,
|
|
27
|
-
path: '/CreateLabel',
|
|
28
|
-
handler: handleRequest(definition.CreateLabel),
|
|
29
|
-
});
|
|
30
|
-
routes.push({
|
|
31
|
-
method: Method.POST,
|
|
32
|
-
path: '/VoidLabels',
|
|
33
|
-
handler: handleRequest(definition.VoidLabels),
|
|
34
|
-
});
|
|
35
|
-
routes.push({
|
|
36
|
-
method: Method.POST,
|
|
37
|
-
path: '/GetRates',
|
|
38
|
-
handler: handleRequest(definition.GetRates),
|
|
39
|
-
});
|
|
40
|
-
routes.push({
|
|
41
|
-
method: Method.POST,
|
|
42
|
-
path: '/CreateManifest',
|
|
43
|
-
handler: handleRequest(definition.CreateManifest),
|
|
44
|
-
});
|
|
45
|
-
routes.push({
|
|
46
|
-
method: Method.POST,
|
|
47
|
-
path: '/SchedulePickup',
|
|
48
|
-
handler: handleRequest(definition.SchedulePickup),
|
|
49
|
-
});
|
|
50
|
-
routes.push({
|
|
51
|
-
method: Method.POST,
|
|
52
|
-
path: '/CancelPickup',
|
|
53
|
-
handler: handleRequest(definition.CancelPickup),
|
|
54
|
-
});
|
|
55
|
-
routes.push({
|
|
56
|
-
method: Method.POST,
|
|
57
|
-
path: '/Track',
|
|
58
|
-
handler: handleRequest(definition.Track),
|
|
59
|
-
});
|
|
60
|
-
routes.push({
|
|
61
|
-
method: Method.POST,
|
|
62
|
-
path: '/CreateNotification',
|
|
63
|
-
handler: handleRequest(definition.CreateNotification),
|
|
64
|
-
});
|
|
65
|
-
routes.push({
|
|
66
|
-
method: Method.POST,
|
|
67
|
-
path: '/CancelNotification',
|
|
68
|
-
handler: handleRequest(definition.CancelNotification),
|
|
69
|
-
});
|
|
70
|
-
routes.push({
|
|
71
|
-
method: Method.POST,
|
|
72
|
-
path: '/ValidateInboundData',
|
|
73
|
-
handler: handleRequest(definition.ValidateInboundData),
|
|
74
|
-
});
|
|
75
|
-
routes.push({
|
|
76
|
-
method: Method.POST,
|
|
77
|
-
path: '/NormalizeTrackingData',
|
|
78
|
-
handler: handleRequest(definition.NormalizeTrackingData),
|
|
79
|
-
});
|
|
80
|
-
};
|
|
81
|
-
|
|
82
34
|
export class CarrierApp implements ConnectRuntimeApp {
|
|
83
35
|
routes: Route[] = [];
|
|
84
36
|
data: Metadata;
|
|
85
37
|
redoc?: string;
|
|
86
38
|
validate: () => string[] | undefined;
|
|
87
39
|
constructor(definition: CarrierAppDefinition) {
|
|
88
|
-
registerRoutes(this.routes, definition);
|
|
89
40
|
this.validate = () => {
|
|
90
41
|
const results = CarrierAppMetadataSchema.validate(definition.Metadata, {
|
|
91
42
|
allowUnknown: true,
|
|
@@ -95,6 +46,97 @@ export class CarrierApp implements ConnectRuntimeApp {
|
|
|
95
46
|
return results.error.details.map((detail) => `${detail.message}`);
|
|
96
47
|
}
|
|
97
48
|
};
|
|
49
|
+
new Array<[Method, ApiEndpoints, any, Schema]>(
|
|
50
|
+
[
|
|
51
|
+
Method.POST,
|
|
52
|
+
ApiEndpoints.CancelNotification,
|
|
53
|
+
definition.CancelNotification,
|
|
54
|
+
CancelNotificationResponseSchema,
|
|
55
|
+
],
|
|
56
|
+
[
|
|
57
|
+
Method.POST,
|
|
58
|
+
ApiEndpoints.CancelPickup,
|
|
59
|
+
definition.CancelPickup,
|
|
60
|
+
CancelPickupResponseSchema,
|
|
61
|
+
],
|
|
62
|
+
[
|
|
63
|
+
Method.POST,
|
|
64
|
+
ApiEndpoints.CreateLabel,
|
|
65
|
+
definition.CreateLabel,
|
|
66
|
+
CreateLabelResponseSchema,
|
|
67
|
+
],
|
|
68
|
+
[
|
|
69
|
+
Method.POST,
|
|
70
|
+
ApiEndpoints.CreateManifest,
|
|
71
|
+
definition.CreateManifest,
|
|
72
|
+
CreateManifestResponseSchema,
|
|
73
|
+
],
|
|
74
|
+
[
|
|
75
|
+
Method.POST,
|
|
76
|
+
ApiEndpoints.CreateNotification,
|
|
77
|
+
definition.CreateNotification,
|
|
78
|
+
CreateNotificationResponseSchema,
|
|
79
|
+
],
|
|
80
|
+
[
|
|
81
|
+
Method.POST,
|
|
82
|
+
ApiEndpoints.GetRates,
|
|
83
|
+
definition.GetRates,
|
|
84
|
+
GetRatesResponseSchema,
|
|
85
|
+
],
|
|
86
|
+
[
|
|
87
|
+
Method.POST,
|
|
88
|
+
ApiEndpoints.NormalizeTrackingData,
|
|
89
|
+
definition.NormalizeTrackingData,
|
|
90
|
+
NormalizeTrackingDataResponseSchema,
|
|
91
|
+
],
|
|
92
|
+
[
|
|
93
|
+
Method.POST,
|
|
94
|
+
ApiEndpoints.Register,
|
|
95
|
+
definition.Register,
|
|
96
|
+
RegisterResponseSchema,
|
|
97
|
+
],
|
|
98
|
+
[
|
|
99
|
+
Method.POST,
|
|
100
|
+
ApiEndpoints.SchedulePickup,
|
|
101
|
+
definition.SchedulePickup,
|
|
102
|
+
SchedulePickupResponseSchema,
|
|
103
|
+
],
|
|
104
|
+
[
|
|
105
|
+
Method.POST,
|
|
106
|
+
ApiEndpoints.Track,
|
|
107
|
+
definition.Track,
|
|
108
|
+
TrackingResponseSchema,
|
|
109
|
+
],
|
|
110
|
+
[
|
|
111
|
+
Method.POST,
|
|
112
|
+
ApiEndpoints.ValidateInboundData,
|
|
113
|
+
definition.ValidateInboundData,
|
|
114
|
+
ValidateInboundDataResponseSchema,
|
|
115
|
+
],
|
|
116
|
+
[
|
|
117
|
+
Method.POST,
|
|
118
|
+
ApiEndpoints.VoidLabels,
|
|
119
|
+
definition.VoidLabels,
|
|
120
|
+
VoidLabelsResponseSchema,
|
|
121
|
+
],
|
|
122
|
+
).forEach(([method, path, implementation, schema]) => {
|
|
123
|
+
if (implementation) {
|
|
124
|
+
this.routes.push({
|
|
125
|
+
method,
|
|
126
|
+
path,
|
|
127
|
+
handler: handleRequest(implementation as Function),
|
|
128
|
+
validateResponse: (result: any): string[] | undefined => {
|
|
129
|
+
const validationResults = schema.validate(result, {
|
|
130
|
+
abortEarly: false,
|
|
131
|
+
});
|
|
132
|
+
const errors = validationResults?.error?.details?.map(
|
|
133
|
+
(detail) => detail.message,
|
|
134
|
+
);
|
|
135
|
+
return errors;
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
});
|
|
98
140
|
this.data = new Metadata(definition);
|
|
99
141
|
|
|
100
142
|
const jsonSpecPath = resolve(__dirname, '../../spec.json');
|