Skip to content

Commit b4c8085

Browse files
authored
API version 2.1.0 See https://docs.patch.io/#/changelog for changes (#85)
* API version 2.1.0 See https://docs.patch.io/#/changelog for changes * Update expected test results for estimates
1 parent 678cdef commit b4c8085

14 files changed

+230
-21
lines changed

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [2.1.0] - 2023-04-04
9+
10+
### Added
11+
12+
- Adds optional `vintage_start_year` and `vintage_end_year` fields to `order` creation
13+
- Adds optional `vintage_start_year` and `vintage_end_year` fields to `order_line_item` create and update
14+
- Adds optional `vintage_start_year` and `vintage_end_year` fields to `inventory` creation
15+
- Adds `vintage_start_year` and `vintage_end_year` fields to `order` response
16+
- Adds `vintage_start_year` and `vintage_end_year` fields to `order_line_item` response
17+
- Adds optional `carrier_scac` field to `patch.estimates.createRoadShippingEstimate`
18+
- Deprecates `createShippingEstimate` in favor of `createEcommerceEstimate`
19+
820
## [1.24.2] - 2022-08-10
921

1022
### Added

package-lock.json

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@patch-technology/patch",
3-
"version": "2.0.1",
3+
"version": "2.1.0",
44
"description": "Node.js wrapper for the Patch API",
55
"license": "MIT",
66
"repository": {

src/ApiClient.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class ApiClient {
1616
};
1717

1818
this.defaultHeaders = {
19-
'User-Agent': 'patch-node/2.0.1',
19+
'User-Agent': 'patch-node/2.1.0',
2020
'Patch-Version': 2
2121
};
2222

src/model/CreateOrderLineItemRequest.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,20 @@ class CreateOrderLineItemRequest {
3232
);
3333
}
3434

35+
if (data.hasOwnProperty('vintage_start_year')) {
36+
obj['vintage_start_year'] = ApiClient.convertToType(
37+
data['vintage_start_year'],
38+
'Number'
39+
);
40+
}
41+
42+
if (data.hasOwnProperty('vintage_end_year')) {
43+
obj['vintage_end_year'] = ApiClient.convertToType(
44+
data['vintage_end_year'],
45+
'Number'
46+
);
47+
}
48+
3549
if (data.hasOwnProperty('price')) {
3650
obj['price'] = ApiClient.convertToType(data['price'], 'Number');
3751
}
@@ -56,6 +70,10 @@ CreateOrderLineItemRequest.prototype['project_id'] = undefined;
5670

5771
CreateOrderLineItemRequest.prototype['vintage_year'] = undefined;
5872

73+
CreateOrderLineItemRequest.prototype['vintage_start_year'] = undefined;
74+
75+
CreateOrderLineItemRequest.prototype['vintage_end_year'] = undefined;
76+
5977
CreateOrderLineItemRequest.prototype['price'] = undefined;
6078

6179
CreateOrderLineItemRequest.prototype['currency'] = undefined;

src/model/CreateOrderRequest.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,20 @@ class CreateOrderRequest {
4141
);
4242
}
4343

44+
if (data.hasOwnProperty('vintage_start_year')) {
45+
obj['vintage_start_year'] = ApiClient.convertToType(
46+
data['vintage_start_year'],
47+
'Number'
48+
);
49+
}
50+
51+
if (data.hasOwnProperty('vintage_end_year')) {
52+
obj['vintage_end_year'] = ApiClient.convertToType(
53+
data['vintage_end_year'],
54+
'Number'
55+
);
56+
}
57+
4458
if (data.hasOwnProperty('total_price')) {
4559
obj['total_price'] = ApiClient.convertToType(
4660
data['total_price'],
@@ -76,6 +90,10 @@ CreateOrderRequest.prototype['state'] = undefined;
7690

7791
CreateOrderRequest.prototype['vintage_year'] = undefined;
7892

93+
CreateOrderRequest.prototype['vintage_start_year'] = undefined;
94+
95+
CreateOrderRequest.prototype['vintage_end_year'] = undefined;
96+
7997
CreateOrderRequest.prototype['total_price'] = undefined;
8098

8199
CreateOrderRequest.prototype['currency'] = undefined;

src/model/CreateRoadShippingEstimateRequest.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,13 @@ class CreateRoadShippingEstimateRequest {
106106
);
107107
}
108108

109+
if (data.hasOwnProperty('carrier_scac')) {
110+
obj['carrier_scac'] = ApiClient.convertToType(
111+
data['carrier_scac'],
112+
'String'
113+
);
114+
}
115+
109116
if (data.hasOwnProperty('project_id')) {
110117
obj['project_id'] = ApiClient.convertToType(
111118
data['project_id'],
@@ -152,6 +159,8 @@ CreateRoadShippingEstimateRequest.prototype['number_of_containers'] = undefined;
152159

153160
CreateRoadShippingEstimateRequest.prototype['truck_weight_t'] = undefined;
154161

162+
CreateRoadShippingEstimateRequest.prototype['carrier_scac'] = undefined;
163+
155164
CreateRoadShippingEstimateRequest.prototype['project_id'] = undefined;
156165

157166
CreateRoadShippingEstimateRequest.prototype['create_order'] = false;

src/model/Inventory.js

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,40 @@
88
import ApiClient from '../ApiClient';
99

1010
class Inventory {
11-
constructor(vintageYear, amountAvailable, price, currency, unit) {
11+
constructor(
12+
vintageYear,
13+
vintageStartYear,
14+
vintageEndYear,
15+
amountAvailable,
16+
price,
17+
currency,
18+
unit
19+
) {
1220
Inventory.initialize(
1321
this,
1422
vintageYear,
23+
vintageStartYear,
24+
vintageEndYear,
1525
amountAvailable,
1626
price,
1727
currency,
1828
unit
1929
);
2030
}
2131

22-
static initialize(obj, vintageYear, amountAvailable, price, currency, unit) {
32+
static initialize(
33+
obj,
34+
vintageYear,
35+
vintageStartYear,
36+
vintageEndYear,
37+
amountAvailable,
38+
price,
39+
currency,
40+
unit
41+
) {
2342
obj['vintage_year'] = vintageYear;
43+
obj['vintage_start_year'] = vintageStartYear;
44+
obj['vintage_end_year'] = vintageEndYear;
2445
obj['amount_available'] = amountAvailable;
2546
obj['price'] = price;
2647
obj['currency'] = currency;
@@ -38,6 +59,20 @@ class Inventory {
3859
);
3960
}
4061

62+
if (data.hasOwnProperty('vintage_start_year')) {
63+
obj['vintage_start_year'] = ApiClient.convertToType(
64+
data['vintage_start_year'],
65+
'Number'
66+
);
67+
}
68+
69+
if (data.hasOwnProperty('vintage_end_year')) {
70+
obj['vintage_end_year'] = ApiClient.convertToType(
71+
data['vintage_end_year'],
72+
'Number'
73+
);
74+
}
75+
4176
if (data.hasOwnProperty('amount_available')) {
4277
obj['amount_available'] = ApiClient.convertToType(
4378
data['amount_available'],
@@ -63,6 +98,10 @@ class Inventory {
6398

6499
Inventory.prototype['vintage_year'] = undefined;
65100

101+
Inventory.prototype['vintage_start_year'] = undefined;
102+
103+
Inventory.prototype['vintage_end_year'] = undefined;
104+
66105
Inventory.prototype['amount_available'] = undefined;
67106

68107
Inventory.prototype['price'] = undefined;

src/model/OrderLineItem.js

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,44 @@ import ApiClient from '../ApiClient';
99
import OrderLineItemProject from './OrderLineItemProject';
1010

1111
class OrderLineItem {
12-
constructor(project, vintageYear, amount, unit, price, currency) {
12+
constructor(
13+
project,
14+
vintageYear,
15+
vintageStartYear,
16+
vintageEndYear,
17+
amount,
18+
unit,
19+
price,
20+
currency
21+
) {
1322
OrderLineItem.initialize(
1423
this,
1524
project,
1625
vintageYear,
26+
vintageStartYear,
27+
vintageEndYear,
1728
amount,
1829
unit,
1930
price,
2031
currency
2132
);
2233
}
2334

24-
static initialize(obj, project, vintageYear, amount, unit, price, currency) {
35+
static initialize(
36+
obj,
37+
project,
38+
vintageYear,
39+
vintageStartYear,
40+
vintageEndYear,
41+
amount,
42+
unit,
43+
price,
44+
currency
45+
) {
2546
obj['project'] = project;
2647
obj['vintage_year'] = vintageYear;
48+
obj['vintage_start_year'] = vintageStartYear;
49+
obj['vintage_end_year'] = vintageEndYear;
2750
obj['amount'] = amount;
2851
obj['unit'] = unit;
2952
obj['price'] = price;
@@ -52,6 +75,20 @@ class OrderLineItem {
5275
);
5376
}
5477

78+
if (data.hasOwnProperty('vintage_start_year')) {
79+
obj['vintage_start_year'] = ApiClient.convertToType(
80+
data['vintage_start_year'],
81+
'Number'
82+
);
83+
}
84+
85+
if (data.hasOwnProperty('vintage_end_year')) {
86+
obj['vintage_end_year'] = ApiClient.convertToType(
87+
data['vintage_end_year'],
88+
'Number'
89+
);
90+
}
91+
5592
if (data.hasOwnProperty('amount')) {
5693
obj['amount'] = ApiClient.convertToType(data['amount'], 'Number');
5794
}
@@ -78,6 +115,10 @@ OrderLineItem.prototype['project'] = undefined;
78115

79116
OrderLineItem.prototype['vintage_year'] = undefined;
80117

118+
OrderLineItem.prototype['vintage_start_year'] = undefined;
119+
120+
OrderLineItem.prototype['vintage_end_year'] = undefined;
121+
81122
OrderLineItem.prototype['amount'] = undefined;
82123

83124
OrderLineItem.prototype['unit'] = undefined;

src/model/UpdateOrderLineItemRequest.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,20 @@ class UpdateOrderLineItemRequest {
2525
);
2626
}
2727

28+
if (data.hasOwnProperty('vintage_start_year')) {
29+
obj['vintage_start_year'] = ApiClient.convertToType(
30+
data['vintage_start_year'],
31+
'Number'
32+
);
33+
}
34+
35+
if (data.hasOwnProperty('vintage_end_year')) {
36+
obj['vintage_end_year'] = ApiClient.convertToType(
37+
data['vintage_end_year'],
38+
'Number'
39+
);
40+
}
41+
2842
if (data.hasOwnProperty('price')) {
2943
obj['price'] = ApiClient.convertToType(data['price'], 'Number');
3044
}
@@ -47,6 +61,10 @@ class UpdateOrderLineItemRequest {
4761

4862
UpdateOrderLineItemRequest.prototype['vintage_year'] = undefined;
4963

64+
UpdateOrderLineItemRequest.prototype['vintage_start_year'] = undefined;
65+
66+
UpdateOrderLineItemRequest.prototype['vintage_end_year'] = undefined;
67+
5068
UpdateOrderLineItemRequest.prototype['price'] = undefined;
5169

5270
UpdateOrderLineItemRequest.prototype['currency'] = undefined;

test/integration/estimates.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ describe('Estimates Integration', function () {
4646
);
4747
const estimate = createEstimateResponse.data;
4848

49-
expect(estimate.type).to.be.eq('shipping');
49+
expect(estimate.type).to.be.eq('ecommerce');
5050
expect(estimate.mass_g).to.be.above(0);
5151
expect(estimate.production).to.be.eq(false);
5252
expect(estimate.order).to.be.eq(null);

0 commit comments

Comments
 (0)