Skip to content

Commit

Permalink
Add EndShipper beta class. (#249)
Browse files Browse the repository at this point in the history
  • Loading branch information
jchen293 committed May 18, 2022
1 parent 05cfeb0 commit 6fc81de
Show file tree
Hide file tree
Showing 21 changed files with 2,169 additions and 220 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
## CHANGELOG

## Next Release

- Adds the `EndShipper` Beta class with `save()`, `retrieve()`, and `all()` functions

## v5.1.0 (2022-05-09)

- Adds a `lowestRate()` function to Orders and Pickups
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions src/beta/easypost.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
import Referral, { propTypes as referralPropTypes } from './resources/referral';
import EndShipper, { propTypes as endShipperPropTypes } from './resources/end_shipper';

import API from '../easypost';

export const DEFAULT_BASE_URL = 'https://api.easypost.com/beta/';

export const RESOURCES = {
EndShipper,
Referral,
};

export const PROP_TYPES = {
referralPropTypes,
endShipperPropTypes,
};

export default class BetaAPI extends API {
Expand Down
15 changes: 15 additions & 0 deletions src/beta/resources/end_shipper.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import base from '../../resources/base';
import { baseAddress as baseAddressPropTypes } from '../../resources/base_address';

export const propTypes = Object.assign({}, baseAddressPropTypes);

export default (api) =>
class EndShipper extends base(api) {
static _name = 'EndShipper';

static _url = 'end_shippers';

static key = 'address';

static propTypes = propTypes;
};
17 changes: 3 additions & 14 deletions src/resources/address.js
Original file line number Diff line number Diff line change
@@ -1,28 +1,17 @@
import T from 'proptypes';
import base from './base';
import { baseAddress as baseAddressPropTypes } from './base_address';

export const propTypes = {
id: T.string,
object: T.string,
export const propTypes = Object.assign({}, baseAddressPropTypes, {
mode: T.string,
street1: T.string,
street2: T.string,
city: T.string,
state: T.string,
zip: T.string,
country: T.string,
residential: T.bool,
carrier_facility: T.string,
name: T.string,
company: T.string,
phone: T.string,
email: T.string,
federal_tax_id: T.string,
state_tax_id: T.string,
verify: T.array,
verify_strict: T.array,
verifications: T.object,
};
});

export default (api) =>
class Address extends base(api) {
Expand Down
18 changes: 18 additions & 0 deletions src/resources/base_address.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import T from 'proptypes';

export const baseAddress = {
id: T.string,
object: T.string,
name: T.string,
company: T.string,
street1: T.string,
street2: T.string,
city: T.string,
state: T.string,
zip: T.string,
country: T.string,
phone: T.string,
email: T.string,
};

export default baseAddress;
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
},
"entries": [
{
"_id": "a74ee8245aeb0dc8ea9c36d3a5ff822c",
"_id": "d4d1b31f54de5c440927760c22d641b3",
"_order": 0,
"cache": {},
"request": {
Expand All @@ -29,11 +29,11 @@
},
{
"name": "user-agent",
"value": "EasyPost/v2 NodejsClient/4.0.0 Nodejs/17.8.0"
"value": "EasyPost/v2 NodejsClient/5.1.0 Nodejs/16.13.1"
},
{
"name": "x-easypost-client-user-agent",
"value": "{\"client_version\":\"4.0.0\",\"lang\":\"nodejs\",\"lang_version\":\"v17.8.0\",\"publisher\":\"easypost\",\"platform\":\"darwin\"}"
"value": "{\"client_version\":\"5.1.0\",\"lang\":\"nodejs\",\"lang_version\":\"v16.13.1\",\"publisher\":\"easypost\",\"platform\":\"darwin\"}"
},
{
"name": "content-length",
Expand All @@ -44,13 +44,13 @@
"value": "api.easypost.com"
}
],
"headersSize": 500,
"headersSize": 502,
"httpVersion": "HTTP/1.1",
"method": "POST",
"postData": {
"mimeType": "application/json",
"params": [],
"text": "{\"address\":{\"street1\":\"417 montgomery street\",\"street2\":\"FL 5\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94104\",\"country\":\"US\",\"company\":\"EasyPost\",\"phone\":\"415-123-4567\"},\"verify\":[true]}"
"text": "{\"address\":{\"company\":\"EasyPost\",\"street1\":\"417 montgomery street\",\"street2\":\"FL 5\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94104\",\"country\":\"US\",\"phone\":\"415-123-4567\"},\"verify\":[true]}"
},
"queryString": [],
"url": "https://api.easypost.com/v2/addresses"
Expand All @@ -61,7 +61,7 @@
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
"size": 672,
"text": "[\"H4sIAAAAAAAAA9SST4+bMBDFvwpyL62aZMGQf9xQNqmQEqhCWimqKuTYQ+rKmMg2q2aj/e4dk90eeuq1CAnm8d7w89g3IgVJCROmXpzC2SKB5DSNkygCzhpBGY+a2YnPT/GMkhHpTj+BO/RnQhiwFiVugDkQNfMyDSkdh8k4nB5onIZ4Rx/DMA1DNPYX8W9GzVogqe6Vwu5de2H6iol1Vh0/l9UBDdYZABehmETzYFcWh0/lbr0/BtUh2GyD6R8LRYtHlM53qLIi2OyzYpVXq3LwIA/qqwyLZ3nB12USIVQU0aWPdb12xie/VFhefnQahn9OIxon09kcRWiZVG+wbSe8wYF1Ps6MkWDqhnGpBoK7C+cmBWgnGQYbpiyMSAMCDFO1Y79qvx935wD4l/YERjaSMyc7bUl68+CJf9qec78jqTM9dgRjOoPVtxuuY8BaT6r1qiwes/2xzotNud9lh7wsJnnxNdvmj0jcSFD+MLwND1eEHdnZp3P9xJQUgQXeacHMNZC66Uw7gLzPLu6h6qWDdx/8YPvzGWeAH+7UL99HRIDDSdlXwddK4lqu/xP6jSjMuN4zxfPJfBkndERUp8+v4jiidJKEdLEYESdbqJ/vRyZrcdc4e9h2ts70GRRY8oLXbwAAAP//AwCrzrWEfQMAAA==\"]"
"text": "[\"H4sIAAAAAAAAA9SST4+bMBDFvwpyL62aZLH5k4QbyiYVUgJVSFeKqgp58ZC6MiYyZtVstN+9Y7LbQ097LReYx3vjn8e+EilIQrgwFQ1YEC2CWERxTCnUy4ByXtMmfqznjLKQTEj3+Atqi/5UCAN9j1JtgFsQFXcy8xmb+tGUxgfGErpIKPvs+4nvo3E4i/cZNW+BJHpQCrt37ZnrCybWaXn8WpQHNPTWAFiKYkjn3q7ID1+K3Xp/9MqDt9l60V8LQ4tDlNZ1KNPc2+zTfJWVq2L0IA/qqxSLZ3nGz2VI/XBKKVu6WDdoa1zyW4nl+WenYVwzoiwIo3iOIrRcqjfYthPOYKG3Ls6NkWCqhtdSjQQ3F85NCtBWcgw2XPUwIQ0IMFxVlv+u3HncnCPgP9oTGNnImlvZ6Z4kVwceunc/1LU7kcSaATuCMZ3B6vsV9zFirWflelXk9+n+WGX5ptjv0kNW5LMsf0i32T0SNxKUuwxvw8MdYUd+culMP3ElhddD3WnBzcWTuulMO4J8TM/2rhykhQ+f3GCH0wlngD9u1C8/JkSAxUn1r4KrlcS9XP4n9CtRmLGDYwrms/kyCNmEqE6fXsUpZWwW+myxmBArW6ieb1cmbfHUan637foq1SdQ0JMXfP4AAAD//wMAdzGsSX0DAAA=\"]"
},
"cookies": [],
"headers": [
Expand Down Expand Up @@ -91,7 +91,7 @@
},
{
"name": "x-ep-request-uuid",
"value": "911d659a624ccaa5e78751a50038007a"
"value": "a65f33796282cda4ff02f75f00143e25"
},
{
"name": "cache-control",
Expand All @@ -107,19 +107,19 @@
},
{
"name": "location",
"value": "/api/v2/addresses/adr_8b0684e4b53411ecafd2ac1f6bc7b362"
"value": "/api/v2/addresses/adr_13235836d56611ec931aac1f6bc72124"
},
{
"name": "content-type",
"value": "application/json; charset=utf-8"
},
{
"name": "etag",
"value": "W/\"fe5baf57ca39bb54ec06576d667daaa3\""
"value": "W/\"baa51597d0261a04580941b4cf83ae1a\""
},
{
"name": "x-runtime",
"value": "0.041599"
"value": "0.043986"
},
{
"name": "content-encoding",
Expand All @@ -131,19 +131,19 @@
},
{
"name": "x-node",
"value": "bigweb8nuq"
"value": "bigweb6nuq"
},
{
"name": "x-version-label",
"value": "easypost-202204052211-71ac4481b7-master"
"value": "easypost-202205161937-fdfdac8556-master"
},
{
"name": "x-backend",
"value": "easypost"
},
{
"name": "x-proxied",
"value": "intlb1nuq fde591f008, extlb2nuq fde591f008"
"value": "intlb2nuq 570dfcbc0a, extlb1nuq c51cdb8bf2"
},
{
"name": "strict-transport-security",
Expand All @@ -156,20 +156,20 @@
],
"headersSize": 810,
"httpVersion": "HTTP/1.1",
"redirectURL": "/api/v2/addresses/adr_8b0684e4b53411ecafd2ac1f6bc7b362",
"redirectURL": "/api/v2/addresses/adr_13235836d56611ec931aac1f6bc72124",
"status": 201,
"statusText": "Created"
},
"startedDateTime": "2022-04-05T23:03:01.394Z",
"time": 246,
"startedDateTime": "2022-05-16T22:18:12.235Z",
"time": 273,
"timings": {
"blocked": -1,
"connect": -1,
"dns": -1,
"receive": 0,
"send": 0,
"ssl": -1,
"wait": 246
"wait": 273
}
}
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
},
"entries": [
{
"_id": "f0bb4616d5d7813a850132983c1332e6",
"_id": "d5cef0a3440f2021c4bb828fe306c672",
"_order": 0,
"cache": {},
"request": {
Expand All @@ -29,11 +29,11 @@
},
{
"name": "user-agent",
"value": "EasyPost/v2 NodejsClient/4.0.0 Nodejs/16.14.0"
"value": "EasyPost/v2 NodejsClient/5.1.0 Nodejs/16.13.1"
},
{
"name": "x-easypost-client-user-agent",
"value": "{\"client_version\":\"4.0.0\",\"lang\":\"nodejs\",\"lang_version\":\"v16.14.0\",\"publisher\":\"easypost\",\"platform\":\"darwin\"}"
"value": "{\"client_version\":\"5.1.0\",\"lang\":\"nodejs\",\"lang_version\":\"v16.13.1\",\"publisher\":\"easypost\",\"platform\":\"darwin\"}"
},
{
"name": "content-length",
Expand All @@ -50,7 +50,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
"text": "{\"address\":{\"street1\":\"388 Townsend St\",\"street2\":\"Apt 20\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94107\",\"name\":\"Jack Sparrow\",\"company\":\"EasyPost\",\"phone\":\"5555555555\"},\"verify_strict\":[true]}"
"text": "{\"address\":{\"name\":\"Jack Sparrow\",\"company\":\"EasyPost\",\"street1\":\"388 Townsend St\",\"street2\":\"Apt 20\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94107\",\"phone\":\"5555555555\"},\"verify_strict\":[true]}"
},
"queryString": [],
"url": "https://api.easypost.com/v2/addresses"
Expand All @@ -61,7 +61,7 @@
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
"size": 556,
"text": "[\"H4sIAAAAAAAAA4yRy27bMBBFf0XgtnJKUg/a2hFuCvQB27BUBEUQCDQ5TllIlEFSRRMj/96hHWTRVbiR5urMnavhmVhDGqKM74+00FqYUlX1kjHQB76slGbH+qAFZ7wkOZkOv0FH5KUxHkJASXtQEUyvkswp5wtaLFjdcdoUoinrD5Q2lCI4n8z7QKdGQOSrXH/L2p3c77d3ac40npR7wg+3sv2527YdiiF6gMhQLJbLrNvebdrbzaes7TK56zJO3xCOSDKxMTm0cpN93svN+ku73l4YTIb6WmLxbE/4uioZFRhP0Mvs2UWfOn+0WJ5+TS7h1dtBEUZlB9K4eRhyMk4mARFCTO3Kewu4YKXtcElwpXCD1oCLVmFj9DPk5AgGvBr6qP726WKu4CXff9of8PZotYp2coE055S7TM8wa52u5tURvJ88VvcPOTEQMWS4WrykerDo8/TetjMZcF6c088V4kaIqmI5GSb3+CouGOc3xapeiZxEO0L/fN2UHDGtVh+/T6GX7hEGCOQFzz8AAAD//wMAgdLkZH4CAAA=\"]"
"text": "[\"H4sIAAAAAAAAA4yRT2/jIBDFv4rFtU4LJLYT31C2K/WPkih2Va2qyiIw6bLCOAK82jbqd++QVD3sqVzwPP/mzQOOxGhSE6l9x6YzUNWi0EVZMgZqXrBCKrYvd6raaVWSnAy7P6Ai8kJrDyGgpDzICLqTSeaU8wktJqxsOa/ZvGb8gtKaUgTHg/4e6GQPiNyK5V3WbMR2u35Mc4b+IN0r/rgWza/NumlRDNEDRIbidD7P2vXjqrle/ciaNhObNuP0C+GIJBMTk0MjVtnPrVgtb5rl+sRgMtSXAos3c8DPxYzRCuNV9DR7dNGnzocGy8PvwSW8+FooQi+NJbUbrc1JP+gERAgxtUvvDfhuL5WxpwRnCm/QaHDRSGyMfoSc7EGDl7aL8l+XHuYMnvL9p/0Fb/ZGyWgGF0h9TLlnaQ+jUulpPh3B+8Fj9fScEw0RQ4azxXuqrUGf1++2HYnFeXFMh5tWl1VVFCwndnAvn+KEcX45XZSLKifR9NC9nW9K9JhWyav7IXTCvYCFQN5xfQAAAP//AwDh6c57fgIAAA==\"]"
},
"cookies": [],
"headers": [
Expand Down Expand Up @@ -91,7 +91,7 @@
},
{
"name": "x-ep-request-uuid",
"value": "f5f8f5e562324a9ae78a13ca000e35e8"
"value": "a65f337b6282cda4ff02f76000143e48"
},
{
"name": "cache-control",
Expand All @@ -107,19 +107,19 @@
},
{
"name": "location",
"value": "/api/v2/addresses/adr_f03cc7d4a56811ecb285ac1f6bc72124"
"value": "/api/v2/addresses/adr_134ec795d56611ec8515ac1f6bc7bdc6"
},
{
"name": "content-type",
"value": "application/json; charset=utf-8"
},
{
"name": "etag",
"value": "W/\"606e8612267fa312a934470d5eb20762\""
"value": "W/\"e912e8b635577eabdba68f50dba81998\""
},
{
"name": "x-runtime",
"value": "0.050881"
"value": "0.043171"
},
{
"name": "content-encoding",
Expand All @@ -131,19 +131,19 @@
},
{
"name": "x-node",
"value": "bigweb1nuq"
"value": "bigweb9nuq"
},
{
"name": "x-version-label",
"value": "easypost-202203161942-9b82146167-master"
"value": "easypost-202205161937-fdfdac8556-master"
},
{
"name": "x-backend",
"value": "easypost"
},
{
"name": "x-proxied",
"value": "intlb2nuq 3e97db20d4, extlb1nuq 3e97db20d4"
"value": "intlb2nuq 570dfcbc0a, extlb1nuq c51cdb8bf2"
},
{
"name": "strict-transport-security",
Expand All @@ -156,20 +156,20 @@
],
"headersSize": 810,
"httpVersion": "HTTP/1.1",
"redirectURL": "/api/v2/addresses/adr_f03cc7d4a56811ecb285ac1f6bc72124",
"redirectURL": "/api/v2/addresses/adr_134ec795d56611ec8515ac1f6bc7bdc6",
"status": 201,
"statusText": "Created"
},
"startedDateTime": "2022-03-16T20:37:46.436Z",
"time": 257,
"startedDateTime": "2022-05-16T22:18:12.520Z",
"time": 510,
"timings": {
"blocked": -1,
"connect": -1,
"dns": -1,
"receive": 0,
"send": 0,
"ssl": -1,
"wait": 257
"wait": 510
}
}
],
Expand Down

0 comments on commit 6fc81de

Please sign in to comment.