aboutsummaryrefslogtreecommitdiff
path: root/Timeline/ClientApp/src/app/data/common.ts
diff options
context:
space:
mode:
Diffstat (limited to 'Timeline/ClientApp/src/app/data/common.ts')
-rw-r--r--Timeline/ClientApp/src/app/data/common.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/Timeline/ClientApp/src/app/data/common.ts b/Timeline/ClientApp/src/app/data/common.ts
new file mode 100644
index 00000000..1cdf93f1
--- /dev/null
+++ b/Timeline/ClientApp/src/app/data/common.ts
@@ -0,0 +1,25 @@
+import { AxiosError } from 'axios';
+
+export function extractStatusCode(error: AxiosError): number | null {
+ const code = error.response && error.response.status;
+ if (typeof code === 'number') {
+ return code;
+ } else {
+ return null;
+ }
+}
+
+export interface CommonErrorResponse {
+ code: number;
+ message: string;
+}
+
+export function extractErrorCode(error: AxiosError): number | null {
+ const { response } = error as AxiosError<CommonErrorResponse>;
+ const code = response && response.data && response.data.code;
+ if (typeof code === 'number') {
+ return code;
+ } else {
+ return null;
+ }
+}