error handling refactoring
This commit is contained in:
parent
0fe7d693e4
commit
46347d4583
|
@ -14,32 +14,32 @@ error-thesaurus:
|
|||
model-validation:
|
||||
code: 106
|
||||
message: validation error
|
||||
tenant-code-required:
|
||||
code: 108
|
||||
message: tenant code required
|
||||
tenant-name-required:
|
||||
code: 109
|
||||
message: tenant name required
|
||||
index-already-exists:
|
||||
code: 110
|
||||
message: index already exists
|
||||
# tenant-code-required:
|
||||
# code: 108
|
||||
# message: tenant code required
|
||||
# tenant-name-required:
|
||||
# code: 109
|
||||
# message: tenant name required
|
||||
# index-already-exists:
|
||||
# code: 110
|
||||
# message: index already exists
|
||||
tenant-not-allowed:
|
||||
code: 113
|
||||
code: 112
|
||||
message: tenant not allowed
|
||||
description-template-new-version-conflict:
|
||||
code: 114
|
||||
code: 113
|
||||
message: version to update not the latest
|
||||
dmp-new-version-conflict:
|
||||
code: 115
|
||||
code: 114
|
||||
message: version to update not the latest
|
||||
dmp-is-finalized:
|
||||
code: 116
|
||||
code: 115
|
||||
message: To perform this action you will need to revert DMP's finalisation
|
||||
dmp-can-not-change:
|
||||
code: 117
|
||||
code: 116
|
||||
message: dmp can not change
|
||||
dmp-description-template-can-not-change:
|
||||
code: 118
|
||||
code: 117
|
||||
message: dmp description template can not change
|
||||
invalid-description-template:
|
||||
code: 118
|
||||
|
|
|
@ -1,15 +1,19 @@
|
|||
export enum ResponseErrorCode {
|
||||
HashConflict = 100,
|
||||
Forbidden = 101,
|
||||
SystemError =102,
|
||||
SystemError = 102,
|
||||
MissingTenant = 103,
|
||||
TenantCodeRequired = 108,
|
||||
TenantNameRequired = 109,
|
||||
TenantNotAllowed = 113,
|
||||
DescriptionTemplateNewVersionConflict = 114,
|
||||
DmpNewVersionConflict = 115,
|
||||
DmpIsFinalized = 116,
|
||||
|
||||
ΜodelValidation = 106,
|
||||
// TenantCodeRequired = 108, not used
|
||||
// TenantNameRequired = 109, not used
|
||||
TenantNotAllowed = 112,
|
||||
DescriptionTemplateNewVersionConflict = 113,
|
||||
DmpNewVersionConflict = 114,
|
||||
DmpIsFinalized = 115,
|
||||
DmpCanNotChange = 116,
|
||||
DmpDescriptionTemplateCanNotChange = 117,
|
||||
InvalidDescriptionTemplate = 118,
|
||||
DescriptionIsFinalized = 119,
|
||||
DmpBlueprintHasNoDescriptionTemplates = 120,
|
||||
DmpBlueprintNewVersionConflict = 121,
|
||||
DmpDescriptionTemplateCanNotRemove = 122,
|
||||
|
|
|
@ -24,11 +24,34 @@
|
|||
"UNSUCCESSFUL-REMOVE-TEMPLATE": "Failed to remove template, one or more Descriptions of this Plan use this template",
|
||||
"UNSUCCESSFUL-FINALIZE": "Unsuccessful Finalize",
|
||||
"SUCCESSFUL-RESET": "Successful Reset",
|
||||
"NOT-FOUND": "The page you are looking for doesn't exist."
|
||||
"NOT-FOUND": "The page you are looking for doesn't exist.",
|
||||
"GENERIC-ERROR": "Something unexpected occurred. Please try again later."
|
||||
},
|
||||
"ERRORS": {
|
||||
"HTTP-REQUEST-ERROR": "An Unexpected Error Has Occurred"
|
||||
},
|
||||
"BACKEND-ERRORS": {
|
||||
"HASH-CONFLICT": "It looks like someone else has made changes to this page. Please reload to view the latest updates.",
|
||||
"FORBIDDEN": "You do not have the necessary permissions to view this page.",
|
||||
"SYSTEM-ERROR": "An unexpected error has occurred. Please try again later.",
|
||||
"MISSING-TENANT": "Tenant Selection Required. Please select a tenant before proceeding.",
|
||||
"MODEL-VALIDATION": "One or more fields contain invalid data. Please check your input and try again.",
|
||||
"TENANT-NOT-ALLOWED": "You are not allowed to access this page based on your associated tenant.",
|
||||
"DESCRIPTION-TEMPLATE-NEW-VERSION-CONFLICT": "While trying to update your Description, a version conflict occurred. Your Description is not in the latest version.",
|
||||
"DMP-NEW-VERSION-CONFLICT": "While trying to update your DMP, a version conflict occurred. Your DMP is not in the latest version.",
|
||||
"DMP-IS-FINALIZED": "The requested action cannot be completed as the DMP has been finalized. To proceed, please revert the finalization.",
|
||||
"DMP-CAN-NOT-CHANGE": "While tying to update your Description, a validation error occured. You cannot modify the Description's associated DMP.",
|
||||
"DMP-DESCRIPTION-TEMPLATE-CAN-NOT-CHANGE": "While tying to update your Description, a validation error occured. You cannot modify the Description's associated DMP's Description Template.",
|
||||
"INVALID-DESCRIPTION-TEMPLATE": "While tying to update your Description, a validation error occured. The Description's associated DMP's Description Template is invalid.",
|
||||
"DESCRIPTION-IS-FINALIZED": "The requested action cannot be completed as the Description has been finalized. To proceed, please revert the finalization.",
|
||||
"DMP-BLUEPRINT-HAS-NO-DESCRIPTION-TEMPLATES": "You need to select at least one Description Template. Click the 'Has Description Templates' button to proceed.",
|
||||
"DMP-BLUEPRINT-NEW-VERSION-CONFLICT": "While trying to update your Blueprint, a version conflict occurred. Your Blueprint is not in the latest version.",
|
||||
"DMP-DESCRIPTION-TEMPLATE-CAN-NOT-REMOVE": "The Description template cannot be removed as it is currently in use.",
|
||||
"TENANT-TAMPERING": "While trying to process your request, a conflict has occurred related to the selected Tenant. Please try again later.",
|
||||
"TENANT-CONFIGURATION-TYPE-CAN-NOT-CHANGE": "The configuration type for this Tenant cannot be changed.",
|
||||
"MULTIPLE-TENANT-CONFIGURATION-TYPE-NOT-ALLOWED": "Multiple configurations are not permitted for this Tenant.",
|
||||
"TENANT-CODE-EXISTS": "The Tenant code you provided already exists. Please choose a different code."
|
||||
},
|
||||
"FORM-VALIDATION-DISPLAY-DIALOG": {
|
||||
"WARNING": "Warning!",
|
||||
"THIS-FIELD": "Field",
|
||||
|
|
|
@ -14,36 +14,75 @@ export class HttpErrorHandlingService {
|
|||
|
||||
handleBackedRequestError(errorResponse: HttpErrorResponse, messageOvverrides?: Map<number, string>, defaultNotificationLevel: SnackBarNotificationLevel = SnackBarNotificationLevel.Warning) {
|
||||
const error: HttpError = this.getError(errorResponse);
|
||||
let errorMessage = messageOvverrides?.has(error.statusCode) ? messageOvverrides?.get(error.statusCode) : 'NOT-FOUND';
|
||||
let errorMessage = messageOvverrides?.has(error.statusCode) ? messageOvverrides?.get(error.statusCode) : '';
|
||||
|
||||
if (error.statusCode === 400) {
|
||||
if(errorResponse.error.code === ResponseErrorCode.HashConflict){
|
||||
this.uiNotificationService.snackBarNotification(errorResponse.error.error, SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.DmpBlueprintHasNoDescriptionTemplates){
|
||||
this.uiNotificationService.snackBarNotification(errorResponse.error.error, SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.DmpDescriptionTemplateCanNotRemove){
|
||||
this.uiNotificationService.snackBarNotification(errorResponse.error.error, SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.TenantCodeExists){
|
||||
this.uiNotificationService.snackBarNotification(errorResponse.error.error, SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.TenantConfigurationTypeCanNotChange){
|
||||
this.uiNotificationService.snackBarNotification(errorResponse.error.error, SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.MultipleTenantConfigurationTypeNotAllowed){
|
||||
this.uiNotificationService.snackBarNotification(errorResponse.error.error, SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else {
|
||||
this.uiNotificationService.snackBarNotification(error.getMessagesString(), SnackBarNotificationLevel.Warning);
|
||||
}
|
||||
if(errorResponse.error.code === ResponseErrorCode.HashConflict){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.HASH-CONFLICT"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.Forbidden){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.FORBIDDEN"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.SystemError){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.SYSTEM-ERROR"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.MissingTenant){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.MISSING-TENANT"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.ΜodelValidation){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.MODEL-VALIDATION"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.TenantNotAllowed){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.TENANT-NOT-ALLOWED"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.DescriptionTemplateNewVersionConflict){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.DESCRIPTION-TEMPLATE-NEW-VERSION-CONFLICT"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.DmpNewVersionConflict){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.DMP-NEW-VERSION-CONFLICT"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.DmpIsFinalized){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.DMP-IS-FINALIZED"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.DmpCanNotChange){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.DMP-CAN-NOT-CHANGE"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.DmpDescriptionTemplateCanNotChange){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.DMP-DESCRIPTION-TEMPLATE-CAN-NOT-CHANGE"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.InvalidDescriptionTemplate){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.INVALID-DESCRIPTION-TEMPLATE"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.DescriptionIsFinalized){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.DESCRIPTION-IS-FINALIZED"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.DmpBlueprintHasNoDescriptionTemplates){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.DMP-BLUEPRINT-HAS-NO-DESCRIPTION-TEMPLATES"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.DmpBlueprintNewVersionConflict){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.DMP-BLUEPRINT-NEW-VERSION-CONFLICT"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.DmpDescriptionTemplateCanNotRemove){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.DMP-DESCRIPTION-TEMPLATE-CAN-NOT-REMOVE"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
if (error.statusCode === 302 || error.statusCode === 404) {
|
||||
else if(errorResponse.error.code === ResponseErrorCode.TenantTampering){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.TENANT-TAMPERING"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.TenantConfigurationTypeCanNotChange){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.TENANT-CONFIGURATION-TYPE-CAN-NOT-CHANGE"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.MultipleTenantConfigurationTypeNotAllowed){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.MULTIPLE-TENANT-CONFIGURATION-TYPE-NOT-ALLOWED"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if(errorResponse.error.code === ResponseErrorCode.TenantCodeExists){
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant("GENERAL.BACKEND-ERRORS.TENANT-CODE-EXISTS"), SnackBarNotificationLevel.Error);
|
||||
}
|
||||
else if (error.statusCode === 302 || error.statusCode === 400 || error.statusCode === 404) {
|
||||
errorMessage ??= this.language.instant('GENERAL.SNACK-BAR.NOT-FOUND');
|
||||
this.uiNotificationService.snackBarNotification(errorMessage, SnackBarNotificationLevel.Warning);
|
||||
}
|
||||
else {
|
||||
let errorMessage = messageOvverrides?.has(-1) ? messageOvverrides?.get(error.statusCode) : error.getMessagesString();
|
||||
errorMessage = messageOvverrides?.has(-1) ?
|
||||
messageOvverrides?.get(error.statusCode) : this.language.instant('GENERAL.SNACK-BAR.GENERIC-ERROR');
|
||||
this.uiNotificationService.snackBarNotification(errorMessage, defaultNotificationLevel);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue