Skip to content

Commit 3b759fc

Browse files
author
Crhistian
committed
💥 remove AuthError as type on OrderCloudError #58
Breaking change: The API no longer returns AuthError type so this simplifies our interfaces but will break any application relying on properties from that now deprecated type. See migration guide for more details
1 parent 36fb26d commit 3b759fc

287 files changed

Lines changed: 1995 additions & 2119 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

codegen/templates/utils/OrderCloudError.ts

Lines changed: 19 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,24 @@ interface ApiError {
44
Data: any
55
}
66

7-
interface AuthError {
8-
error: string
9-
error_description: string
10-
}
11-
127
export default class OrderCloudError extends Error {
138
isOrderCloudError: true
149
request?: any
1510
response: any
16-
errors?: ApiError[] | AuthError
11+
errors?: ApiError[]
1712
status: number
1813
errorCode: string
1914
statusText: string
2015

2116
constructor(ex) {
2217
const errors = safeParseErrors(ex) // extract ordercloud errors from response
23-
const error = errors?.[0] ?? errors // most of the time there is just one error
18+
const firstError = errors?.[0] // most of the time there is just one error
2419

25-
super(getMessage(ex, error))
20+
super(getMessage(ex, firstError))
2621
this.isOrderCloudError = true
2722
this.errors = errors
2823
this.name = 'OrderCloudError'
29-
this.errorCode = getErrorCode(error)
24+
this.errorCode = getErrorCode(firstError)
3025
this.status = ex.response.status
3126
this.statusText = ex.response.statusText
3227
this.response = ex.response
@@ -38,11 +33,11 @@ export default class OrderCloudError extends Error {
3833
* @ignore
3934
* not part of public api, don't include in generated docs
4035
*/
41-
function safeParseErrors(ex): ApiError[] | AuthError | null {
36+
function safeParseErrors(ex): ApiError[] {
4237
try {
4338
let str = ex?.response?.data
4439
if (!str) {
45-
return null
40+
return []
4641
}
4742
if (typeof str === 'object') {
4843
// auth error
@@ -56,44 +51,33 @@ function safeParseErrors(ex): ApiError[] | AuthError | null {
5651
const data = JSON.parse(str)
5752
return data.Errors
5853
} catch (e) {
59-
return null
54+
return []
6055
}
6156
}
6257

6358
/**
6459
* @ignore
6560
* not part of public api, don't include in generated docs
6661
*/
67-
const isApiError = (error: any): error is ApiError =>
68-
(error as ApiError).Data !== undefined
69-
70-
/**
71-
* @ignore
72-
* not part of public api, don't include in generated docs
73-
*/
74-
function getMessage(ex, error?: ApiError | AuthError): string {
62+
function getMessage(ex, error?: ApiError): string {
7563
if (!error) {
7664
return ex.response.statusText
7765
}
78-
if (isApiError(error)) {
79-
switch (error.ErrorCode) {
80-
case 'NotFound':
81-
return `${error.Data.ObjectType} ${error.Data.ObjectID} not found`
82-
default:
83-
return error.Message
84-
}
85-
} else {
86-
return error.error_description
66+
switch (error.ErrorCode) {
67+
case 'NotFound':
68+
return `${error.Data.ObjectType} ${error.Data.ObjectID} not found`
69+
default:
70+
return error.Message
8771
}
8872
}
8973

90-
function getErrorCode(error?: ApiError | AuthError): string {
74+
/**
75+
* @ignore
76+
* not part of public api, don't include in generated docs
77+
*/
78+
function getErrorCode(error?: ApiError): string {
9179
if (!error) {
9280
return 'OrderCloudError'
9381
}
94-
if (isApiError(error)) {
95-
return error.ErrorCode
96-
} else {
97-
return error.error
98-
}
82+
return error.ErrorCode
9983
}

docs/assets/search.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/classes/Resources.Addresses.html

Lines changed: 12 additions & 12 deletions
Large diffs are not rendered by default.

docs/classes/Resources.AdminAddresses.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ <h4>Hierarchy</h4>
2121
<ul class="tsd-hierarchy">
2222
<li><span class="target">AdminAddresses</span></li></ul></section><aside class="tsd-sources">
2323
<ul>
24-
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/485dc65/src/api/AdminAddresses.ts#L12">api/AdminAddresses.ts:12</a></li></ul></aside>
24+
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/3146a87/src/api/AdminAddresses.ts#L12">api/AdminAddresses.ts:12</a></li></ul></aside>
2525
<section class="tsd-panel-group tsd-index-group">
2626
<section class="tsd-panel tsd-index-panel">
2727
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -47,7 +47,7 @@ <h2>Properties</h2>
4747
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>impersonating</span><a href="#impersonating" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
4848
<div class="tsd-signature">impersonating<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></div><aside class="tsd-sources">
4949
<ul>
50-
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/485dc65/src/api/AdminAddresses.ts#L13">api/AdminAddresses.ts:13</a></li></ul></aside></section></section>
50+
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/3146a87/src/api/AdminAddresses.ts#L13">api/AdminAddresses.ts:13</a></li></ul></aside></section></section>
5151
<section class="tsd-panel-group tsd-member-group">
5252
<h2>Methods</h2>
5353
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="As" class="tsd-anchor"></a>
@@ -63,7 +63,7 @@ <h3>Example</h3><pre><code class="language-ts"><span class="hl-0">AdminAddresses
6363
</div>
6464
<h4 class="tsd-returns-title">Returns <a href="Resources.AdminAddresses.html" class="tsd-signature-type" data-tsd-kind="Class">AdminAddresses</a></h4><aside class="tsd-sources">
6565
<ul>
66-
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/485dc65/src/api/AdminAddresses.ts#L168">api/AdminAddresses.ts:168</a></li></ul></aside></li></ul></section>
66+
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/3146a87/src/api/AdminAddresses.ts#L168">api/AdminAddresses.ts:168</a></li></ul></aside></li></ul></section>
6767
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="Create" class="tsd-anchor"></a>
6868
<h3 class="tsd-anchor-link"><span>Create</span><a href="#Create" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
6969
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -88,7 +88,7 @@ <h5>address: <a href="../interfaces/Address.html" class="tsd-signature-type" dat
8888
<h5>requestOptions: <a href="../interfaces/RequestOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">RequestOptions</a><span class="tsd-signature-symbol"> = {}</span></h5></li></ul></div>
8989
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/RequiredDeep.html" class="tsd-signature-type" data-tsd-kind="Type alias">RequiredDeep</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">TAddress</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
9090
<ul>
91-
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/485dc65/src/api/AdminAddresses.ts#L63">api/AdminAddresses.ts:63</a></li></ul></aside></li></ul></section>
91+
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/3146a87/src/api/AdminAddresses.ts#L63">api/AdminAddresses.ts:63</a></li></ul></aside></li></ul></section>
9292
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="Delete" class="tsd-anchor"></a>
9393
<h3 class="tsd-anchor-link"><span>Delete</span><a href="#Delete" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
9494
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -108,7 +108,7 @@ <h5>addressID: <span class="tsd-signature-type">string</span></h5>
108108
<h5>requestOptions: <a href="../interfaces/RequestOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">RequestOptions</a><span class="tsd-signature-symbol"> = {}</span></h5></li></ul></div>
109109
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
110110
<ul>
111-
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/485dc65/src/api/AdminAddresses.ts#L127">api/AdminAddresses.ts:127</a></li></ul></aside></li></ul></section>
111+
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/3146a87/src/api/AdminAddresses.ts#L127">api/AdminAddresses.ts:127</a></li></ul></aside></li></ul></section>
112112
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="Get" class="tsd-anchor"></a>
113113
<h3 class="tsd-anchor-link"><span>Get</span><a href="#Get" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
114114
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -133,7 +133,7 @@ <h5>addressID: <span class="tsd-signature-type">string</span></h5>
133133
<h5>requestOptions: <a href="../interfaces/RequestOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">RequestOptions</a><span class="tsd-signature-symbol"> = {}</span></h5></li></ul></div>
134134
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/RequiredDeep.html" class="tsd-signature-type" data-tsd-kind="Type alias">RequiredDeep</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">TAddress</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
135135
<ul>
136-
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/485dc65/src/api/AdminAddresses.ts#L84">api/AdminAddresses.ts:84</a></li></ul></aside></li></ul></section>
136+
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/3146a87/src/api/AdminAddresses.ts#L84">api/AdminAddresses.ts:84</a></li></ul></aside></li></ul></section>
137137
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="List" class="tsd-anchor"></a>
138138
<h3 class="tsd-anchor-link"><span>List</span><a href="#List" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
139139
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -181,7 +181,7 @@ <h5><code class="tsd-tag ts-flagOptional">Optional</code> sort<wbr/>By<span clas
181181
<h5>requestOptions: <a href="../interfaces/RequestOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">RequestOptions</a><span class="tsd-signature-symbol"> = {}</span></h5></li></ul></div>
182182
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/Resources.RequiredObjectDeep.html" class="tsd-signature-type" data-tsd-kind="Type alias">RequiredObjectDeep</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/ListPage.html" class="tsd-signature-type" data-tsd-kind="Interface">ListPage</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">TAddress</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
183183
<ul>
184-
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/485dc65/src/api/AdminAddresses.ts#L42">api/AdminAddresses.ts:42</a></li></ul></aside></li></ul></section>
184+
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/3146a87/src/api/AdminAddresses.ts#L42">api/AdminAddresses.ts:42</a></li></ul></aside></li></ul></section>
185185
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="Patch" class="tsd-anchor"></a>
186186
<h3 class="tsd-anchor-link"><span>Patch</span><a href="#Patch" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
187187
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -208,7 +208,7 @@ <h5>address: <a href="../types/Resources.PartialObjectDeep.html" class="tsd-sign
208208
<h5>requestOptions: <a href="../interfaces/RequestOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">RequestOptions</a><span class="tsd-signature-symbol"> = {}</span></h5></li></ul></div>
209209
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/RequiredDeep.html" class="tsd-signature-type" data-tsd-kind="Type alias">RequiredDeep</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">TAddress</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
210210
<ul>
211-
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/485dc65/src/api/AdminAddresses.ts#L149">api/AdminAddresses.ts:149</a></li></ul></aside></li></ul></section>
211+
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/3146a87/src/api/AdminAddresses.ts#L149">api/AdminAddresses.ts:149</a></li></ul></aside></li></ul></section>
212212
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="Save" class="tsd-anchor"></a>
213213
<h3 class="tsd-anchor-link"><span>Save</span><a href="#Save" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
214214
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@@ -237,7 +237,7 @@ <h5>address: <a href="../interfaces/Address.html" class="tsd-signature-type" dat
237237
<h5>requestOptions: <a href="../interfaces/RequestOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">RequestOptions</a><span class="tsd-signature-symbol"> = {}</span></h5></li></ul></div>
238238
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/RequiredDeep.html" class="tsd-signature-type" data-tsd-kind="Type alias">RequiredDeep</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">TAddress</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
239239
<ul>
240-
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/485dc65/src/api/AdminAddresses.ts#L106">api/AdminAddresses.ts:106</a></li></ul></aside></li></ul></section></section></div>
240+
<li>Defined in <a href="https://github.com/ordercloud-api/ordercloud-javascript-sdk/blob/3146a87/src/api/AdminAddresses.ts#L106">api/AdminAddresses.ts:106</a></li></ul></aside></li></ul></section></section></div>
241241
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
242242
<div class="tsd-navigation settings">
243243
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">

0 commit comments

Comments
 (0)