Skip to content

Commit d0d0f76

Browse files
authored
throw error when error getting list of gateways (#1234)
1 parent 53bfcca commit d0d0f76

File tree

6 files changed

+23
-4
lines changed

6 files changed

+23
-4
lines changed

src/controllers/v1/NamespaceController.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import { WorkbookService } from '../../services/report/workbook.service';
1414
import { Namespace } from '@/services/keystone/types';
1515
import { Logger } from '../../logger';
1616

17+
import { strict as assert } from 'assert';
18+
1719
import { Readable } from 'stream';
1820

1921
/**
@@ -81,6 +83,7 @@ export class NamespaceController extends Controller {
8183
query: list,
8284
});
8385
logger.debug('Result %j', result);
86+
assert.strictEqual('errors' in result, false, 'Unable to process request');
8487
return result.data.allNamespaces.map((ns: Namespace) => ns.name);
8588
}
8689
}

src/controllers/v2/NamespaceController.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ export class NamespaceController extends Controller {
110110
query: list,
111111
});
112112
logger.debug('Result %j', result);
113+
assert.strictEqual('errors' in result, false, 'Unable to process request');
113114
return result.data.allNamespaces.map((ns: Namespace) => ns.name).sort();
114115
}
115116

src/controllers/v3/GatewayController.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,22 @@ export class NamespaceController extends Controller {
111111
query: list,
112112
});
113113
logger.debug('Result %j', result);
114+
assert.strictEqual('errors' in result, false, 'Unable to process request');
115+
114116
return result.data.allNamespaces
115-
.map((ns: Namespace): Gateway => ({ gatewayId: ns.name, displayName: ns.displayName }))
117+
.map(
118+
(ns: Namespace): Gateway => ({
119+
gatewayId: ns.name,
120+
displayName: ns.displayName,
121+
})
122+
)
116123
.sort((a: Gateway, b: Gateway) => {
117-
const displayNameComparison = a.displayName.localeCompare(b.displayName);
118-
return displayNameComparison !== 0 ? displayNameComparison : a.gatewayId.localeCompare(b.gatewayId);
124+
const displayNameComparison = a.displayName.localeCompare(
125+
b.displayName
126+
);
127+
return displayNameComparison !== 0
128+
? displayNameComparison
129+
: a.gatewayId.localeCompare(b.gatewayId);
119130
});
120131
}
121132

src/services/checkStatus.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export async function checkStatus(res: any) {
1313
reason: 'unknown_error',
1414
description: '',
1515
status: `${res.status} ${res.statusText}`,
16+
statusCode: res.status,
1617
};
1718
logger.error('Error - %d %s', res.status, res.statusText);
1819
const body = await res.text();

src/services/issuerMisconfigError.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ export interface IssuerMisconfigDetail {
22
reason: string;
33
description: string;
44
status: string;
5+
statusCode: number;
56
}
67

78
export class IssuerMisconfigError extends Error {

src/services/uma2/token-service.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,9 @@ export class UMA2TokenService {
9797
return res.json();
9898
} else if (res.status == 403) {
9999
// users that have no resources will get a 403, so gracefully handle that as "access to no resources"
100-
return [];
100+
return new Promise((resolve) => {
101+
resolve([]);
102+
});
101103
} else {
102104
return checkStatus(res);
103105
}

0 commit comments

Comments
 (0)