Skip to content

Commit c8f48a6

Browse files
committed
add error converter
1 parent 2407e80 commit c8f48a6

File tree

9 files changed

+37
-67
lines changed

9 files changed

+37
-67
lines changed

projects/fusio-sdk/src/lib/abstract/list.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {Message} from "fusio-sdk/dist/src/generated/backend/Message";
88
import {Collection_Query} from "fusio-sdk/dist/src/generated/backend/Collection_Query";
99
import {FusioService} from "../service/fusio.service";
1010
import {ClientAbstract} from "sdkgen-client";
11+
import {ErrorConverter} from "../util/error-converter";
1112

1213
@Component({
1314
template: '',
@@ -63,11 +64,7 @@ export abstract class List<C extends ClientAbstract, T extends ModelId> implemen
6364

6465
this.onList();
6566
} catch (error) {
66-
if (axios.isAxiosError(error) && error.response) {
67-
this.response = error.response.data as Message;
68-
} else {
69-
throw error;
70-
}
67+
this.response = ErrorConverter.convert(error);
7168
}
7269

7370
// in case we are not at a specific route redirect to the first
@@ -97,11 +94,7 @@ export abstract class List<C extends ClientAbstract, T extends ModelId> implemen
9794

9895
this.onGet();
9996
} catch (error) {
100-
if (axios.isAxiosError(error) && error.response) {
101-
this.response = error.response.data as Message;
102-
} else {
103-
throw error;
104-
}
97+
this.response = ErrorConverter.convert(error);
10598
}
10699

107100
this.finishLoading();

projects/fusio-sdk/src/lib/abstract/modal.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {NgbActiveModal, NgbModal} from "@ng-bootstrap/ng-bootstrap";
55
import axios, {AxiosResponse} from "axios";
66
import {FusioService} from "../service/fusio.service";
77
import {ClientAbstract} from "sdkgen-client";
8+
import {ErrorConverter} from "../util/error-converter";
89

910
@Component({
1011
template: '',
@@ -42,11 +43,7 @@ export abstract class Modal<C extends ClientAbstract, T extends ModelId> impleme
4243
this.modal.close(response.data);
4344
}
4445
} catch (error) {
45-
if (axios.isAxiosError(error) && error.response) {
46-
this.response = error.response.data as Message;
47-
} else {
48-
throw error;
49-
}
46+
this.response = ErrorConverter.convert(error);
5047
}
5148
}
5249

projects/fusio-sdk/src/lib/component/login/provider/provider.component.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {User_Account} from "fusio-sdk/dist/src/generated/consumer/User_Account";
88
import {ProviderService} from "../../../service/provider.service";
99
import {UserService} from "../../../service/user.service";
1010
import {ConsumerService} from "../../../service/consumer.service";
11+
import {ErrorConverter} from "../../../util/error-converter";
1112

1213
@Component({
1314
selector: 'fusio-login-provider',
@@ -63,14 +64,7 @@ export class ProviderComponent implements OnInit {
6364

6465
await this.obtainUserInfo();
6566
} catch (error) {
66-
if (axios.isAxiosError(error) && error.response) {
67-
this.response = error.response.data as Message;
68-
} else {
69-
this.response = {
70-
success: false,
71-
message: String(error),
72-
};
73-
}
67+
this.response = ErrorConverter.convert(error);
7468
}
7569
}
7670

projects/fusio-sdk/src/lib/component/password/confirm/confirm.component.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {ActivatedRoute} from "@angular/router";
44
import axios from "axios";
55
import {User_PasswordReset} from "fusio-sdk/dist/src/generated/consumer/User_PasswordReset";
66
import {ConsumerService} from "../../../service/consumer.service";
7+
import {ErrorConverter} from "../../../util/error-converter";
78

89
@Component({
910
selector: 'fusio-password-confirm',
@@ -50,17 +51,7 @@ export class ConfirmComponent implements OnInit {
5051
this.loading = false;
5152
} catch (error) {
5253
this.loading = false;
53-
if (axios.isAxiosError(error) && error.response) {
54-
this.response = {
55-
success: false,
56-
message: error.response.data.message || 'An unknown error occurred',
57-
};
58-
} else {
59-
this.response = {
60-
success: false,
61-
message: String(error),
62-
};
63-
}
54+
this.response = ErrorConverter.convert(error);
6455
}
6556
}
6657

projects/fusio-sdk/src/lib/component/password/reset/reset.component.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import axios from "axios";
55
import {User_Email} from "fusio-sdk/dist/src/generated/consumer/User_Email";
66
import {ConsumerService} from "../../../service/consumer.service";
77
import {Config, FUSIO_CONFIG} from "../../../config/config";
8+
import {ErrorConverter} from "../../../util/error-converter";
89

910
@Component({
1011
selector: 'fusio-password-reset',
@@ -48,17 +49,7 @@ export class ResetComponent implements OnInit {
4849
this.loading = false;
4950
} catch (error) {
5051
this.loading = false;
51-
if (axios.isAxiosError(error) && error.response) {
52-
this.response = {
53-
success: false,
54-
message: error.response.data.message || 'An unknown error occurred',
55-
};
56-
} else {
57-
this.response = {
58-
success: false,
59-
message: String(error),
60-
};
61-
}
52+
this.response = ErrorConverter.convert(error);
6253
}
6354
}
6455

projects/fusio-sdk/src/lib/component/register/activate/activate.component.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {ActivatedRoute} from "@angular/router";
44
import axios from "axios";
55
import {User_Activate} from "fusio-sdk/dist/src/generated/consumer/User_Activate";
66
import {ConsumerService} from "../../../service/consumer.service";
7+
import {ErrorConverter} from "../../../util/error-converter";
78

89
@Component({
910
selector: 'fusio-register-activate',
@@ -38,17 +39,7 @@ export class ActivateComponent implements OnInit {
3839

3940
this.response = response.data;
4041
} catch (error) {
41-
if (axios.isAxiosError(error) && error.response) {
42-
this.response = {
43-
success: false,
44-
message: error.response.data.message || 'An unknown error occurred',
45-
};
46-
} else {
47-
this.response = {
48-
success: false,
49-
message: String(error),
50-
};
51-
}
42+
this.response = ErrorConverter.convert(error);
5243
}
5344
}
5445

projects/fusio-sdk/src/lib/component/register/register.component.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import axios from "axios";
44
import {User_Register} from "fusio-sdk/dist/src/generated/consumer/User_Register";
55
import {ConsumerService} from "../../service/consumer.service";
66
import {Config, FUSIO_CONFIG} from "../../config/config";
7+
import {ErrorConverter} from "../../util/error-converter";
78

89
@Component({
910
selector: 'fusio-register',
@@ -54,17 +55,7 @@ export class RegisterComponent implements OnInit {
5455
this.loading = false;
5556
} catch (error) {
5657
this.loading = false;
57-
if (axios.isAxiosError(error) && error.response) {
58-
this.response = {
59-
success: false,
60-
message: error.response.data.message || 'An unknown error occurred',
61-
};
62-
} else {
63-
this.response = {
64-
success: false,
65-
message: String(error),
66-
};
67-
}
58+
this.response = ErrorConverter.convert(error);
6859
}
6960
}
7061

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import axios from "axios";
2+
import {Message} from "fusio-sdk/dist/src/generated/backend/Message";
3+
4+
export class ErrorConverter {
5+
6+
public static convert(error: any): Message {
7+
if (axios.isAxiosError(error) && error.response) {
8+
return {
9+
success: false,
10+
message: error.response.data.message || 'An unknown error occurred',
11+
};
12+
} else {
13+
return {
14+
success: false,
15+
message: String(error),
16+
};
17+
}
18+
}
19+
20+
}

projects/fusio-sdk/src/public-api.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,6 @@ export * from './lib/service/help.service';
2929
export * from './lib/service/provider.service';
3030
export * from './lib/service/user.service';
3131

32+
export * from './lib/util/error-converter';
33+
3234
export * from './lib/fusio-sdk.module';

0 commit comments

Comments
 (0)