From cd167fe9b2e6a48b8527518b2b7b84c7e8b8f521 Mon Sep 17 00:00:00 2001 From: arunachalam-monk Date: Mon, 16 Sep 2024 12:52:35 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=B8=20make=20resource=20not=20found,?= =?UTF-8?q?=20invalid=20arguments=20visible=20for=20photo=20capture?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PhotoCaptureHUDOverlay/hooks.ts | 8 ++++++ .../hooks/useAdaptiveCameraConfig.ts | 28 ++++++++++--------- .../src/translations/de.json | 4 ++- .../src/translations/en.json | 4 ++- .../src/translations/fr.json | 9 ++++-- .../src/translations/nl.json | 9 ++++-- packages/network/src/api/error.ts | 8 ++++++ 7 files changed, 51 insertions(+), 19 deletions(-) diff --git a/packages/inspection-capture-web/src/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/hooks.ts b/packages/inspection-capture-web/src/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/hooks.ts index cc6f8675b..4bf985738 100644 --- a/packages/inspection-capture-web/src/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/hooks.ts +++ b/packages/inspection-capture-web/src/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/hooks.ts @@ -59,6 +59,12 @@ export function usePhotoCaptureErrorLabel( if (captureError.name === MonkNetworkError.INSUFFICIENT_AUTHORIZATION) { return t('photo.hud.error.insufficientAuth'); } + if (captureError.name === MonkNetworkError.RESOURCE_NOT_FOUND) { + return t('photo.hud.error.resourceNotFound'); + } + if (captureError.name === MonkNetworkError.INVALID_ARGUMENT) { + return t('photo.hud.error.invalidArgument'); + } } if (captureError) { @@ -83,6 +89,8 @@ export function useRetry({ MonkNetworkError.INVALID_TOKEN, MonkNetworkError.EXPIRED_TOKEN, MonkNetworkError.INSUFFICIENT_AUTHORIZATION, + MonkNetworkError.RESOURCE_NOT_FOUND, + MonkNetworkError.INVALID_ARGUMENT, ].includes(captureError.name as MonkNetworkError) ) { return null; diff --git a/packages/inspection-capture-web/src/PhotoCapture/hooks/useAdaptiveCameraConfig.ts b/packages/inspection-capture-web/src/PhotoCapture/hooks/useAdaptiveCameraConfig.ts index 035f12be6..75065c360 100644 --- a/packages/inspection-capture-web/src/PhotoCapture/hooks/useAdaptiveCameraConfig.ts +++ b/packages/inspection-capture-web/src/PhotoCapture/hooks/useAdaptiveCameraConfig.ts @@ -80,27 +80,29 @@ export function useAdaptiveCameraConfig({ const onUploadTimeout = useCallback(() => lowerMaxImageQuality(), []); - const config = { - quality: initialCameraConfig.quality ?? DEFAULT_CAMERA_CONFIG.quality, - resolution: initialCameraConfig.resolution ?? DEFAULT_CAMERA_CONFIG.resolution, - format: initialCameraConfig.format ?? DEFAULT_CAMERA_CONFIG.format, - allowImageUpscaling: - initialCameraConfig.allowImageUpscaling ?? DEFAULT_CAMERA_CONFIG.allowImageUpscaling, - }; - const adaptiveCameraConfig: Required = useMemo(() => { + const config = { + quality: initialCameraConfig.quality ?? DEFAULT_CAMERA_CONFIG.quality, + resolution: initialCameraConfig.resolution ?? DEFAULT_CAMERA_CONFIG.resolution, + format: initialCameraConfig.format ?? DEFAULT_CAMERA_CONFIG.format, + allowImageUpscaling: + initialCameraConfig.allowImageUpscaling ?? DEFAULT_CAMERA_CONFIG.allowImageUpscaling, + }; const adaptiveConfig = { quality: Math.min(maxQuality, config.quality), resolution: getLowestResolutionBetween(maxResolution, config.resolution), format: initialCameraConfig.format ?? config.format, allowImageUpscaling: isImageUpscalingAllowed && config.allowImageUpscaling, }; - return useAdaptiveImageQuality ? adaptiveConfig : config; + if (useAdaptiveImageQuality) { + return adaptiveConfig; + } + return config; }, [ - config.quality, - config.resolution, - config.format, - config.allowImageUpscaling, + initialCameraConfig.quality, + initialCameraConfig.resolution, + initialCameraConfig.format, + initialCameraConfig.allowImageUpscaling, maxQuality, maxResolution, isImageUpscalingAllowed, diff --git a/packages/inspection-capture-web/src/translations/de.json b/packages/inspection-capture-web/src/translations/de.json index 760e2ee9b..25271d0df 100644 --- a/packages/inspection-capture-web/src/translations/de.json +++ b/packages/inspection-capture-web/src/translations/de.json @@ -25,7 +25,9 @@ "invalidToken": "Das verwendete Authentifizierungstoken ist ungültig.", "expiredToken": "Das verwendete Authentifizierungstoken ist abgelaufen.", "insufficientAuth": "Sie haben nicht die erforderlichen Berechtigungen, um diese Aktion durchzuführen.", - "inspectionLoading": "Beim Laden der Inspektion ist ein Fehler aufgetreten. Bitte versuchen Sie es in Kürze erneut oder kontaktieren Sie den Support mit der folgenden Inspektions-ID:" + "inspectionLoading": "Beim Laden der Inspektion ist ein Fehler aufgetreten. Bitte versuchen Sie es in Kürze erneut oder kontaktieren Sie den Support mit der folgenden Inspektions-ID:", + "resourceNotFound": "Inspektions-ID nicht gefunden.", + "invalidArgument": "Entwicklungsfehler: Eines oder mehrere der angegebenen Argumente sind ungültig." }, "closeConfirm": { "message": "Sind Sie sicher, dass Sie das Erfassungstool schließen wollen?", diff --git a/packages/inspection-capture-web/src/translations/en.json b/packages/inspection-capture-web/src/translations/en.json index dc1378eb6..d9b4f0e9d 100644 --- a/packages/inspection-capture-web/src/translations/en.json +++ b/packages/inspection-capture-web/src/translations/en.json @@ -25,7 +25,9 @@ "invalidToken": "The authentication token used is invalid.", "expiredToken": "The authentication token used is expired.", "insufficientAuth": "You do not have the required autorizations to perform this action.", - "inspectionLoading": "An error occurred during the loading of the inspection. Please try again in a few minutes or contact the support with the following inspection id :" + "inspectionLoading": "An error occurred during the loading of the inspection. Please try again in a few minutes or contact the support with the following inspection id :", + "resourceNotFound": "Inspection ID not found.", + "invalidArgument": "Dev Error: One or more of the provided arguments are invalid." }, "closeConfirm": { "message": "Are you sure you want to close the capture tool?", diff --git a/packages/inspection-capture-web/src/translations/fr.json b/packages/inspection-capture-web/src/translations/fr.json index b3b893e4c..61444946d 100644 --- a/packages/inspection-capture-web/src/translations/fr.json +++ b/packages/inspection-capture-web/src/translations/fr.json @@ -17,7 +17,10 @@ "damagedPartCounter": "1 / 2 • Pièce endommagée", "closeupPictureCounter": "2 / 2 • Dégât en gros plan", "infoBtn": "Placer le viseur sur la pièce endommagée puis enclencher le bouton capture de la photo", - "infoCloseup": "Prendre une photo en gros plan du dégât" + "infoCloseup": "Veuillez prendre une photo en gros plan du dégât", + "selectParts": "Veuillez sélectionner les pièces endommagées", + "accept": "Accepter", + "cancel": "Annuler" }, "error": { "retry": "Réessayer", @@ -25,7 +28,9 @@ "invalidToken": "Le token d'authentification utilisé est invalide.", "expiredToken": "Le token d'authentification utilisé est expiré.", "insufficientAuth": "Vous n'avez pas les autorisations nécessaires pour effectuer cette action.", - "inspectionLoading": "Une erreur est survenue lors du chargement de l'inspection. Veuillez réessayer dans quelques instants ou contacter le support avec l'identifiant d'inspection suivant :" + "inspectionLoading": "Une erreur est survenue lors du chargement de l'inspection. Veuillez réessayer dans quelques instants ou contacter le support avec l'identifiant d'inspection suivant :", + "resourceNotFound": "ID d'inspection introuvable.", + "invalidArgument": "Erreur de développement : un ou plusieurs des arguments fournis ne sont pas valides." }, "closeConfirm": { "message": "Êtes-vous sûr(e) de vouloir fermer l'outil de capture ?", diff --git a/packages/inspection-capture-web/src/translations/nl.json b/packages/inspection-capture-web/src/translations/nl.json index 8feb5160d..909123ab5 100644 --- a/packages/inspection-capture-web/src/translations/nl.json +++ b/packages/inspection-capture-web/src/translations/nl.json @@ -17,7 +17,10 @@ "damagedPartCounter": "1 / 2 • Beschadigd onderdeel", "closeupPictureCounter": "2 / 2 • Closeup foto", "infoBtn": "Richt de markering op het beschadigde onderdeel en tik vervolgens op de sluitertknop", - "infoCloseup": "Neem een closeup foto van de schade" + "infoCloseup": "Neem een closeup foto van de schade", + "selectParts": "Selecteer de onderdelen waar je schade zit", + "accept": "Accepteren", + "cancel": "Annuleren" }, "error": { "retry": "Opnieuw proberen", @@ -25,7 +28,9 @@ "invalidToken": "Het gebruikte authenticatietoken is ongeldig.", "expiredToken": "Het gebruikte authenticatietoken is verlopen.", "insufficientAuth": "U heeft niet de vereiste autorisaties om deze actie uit te voeren.", - "inspectionLoading": "Er is een fout opgetreden tijdens het laden van de inspectie. Probeer het later nog eens of neem contact op met de ondersteuning met het volgende inspectie-id :" + "inspectionLoading": "Er is een fout opgetreden tijdens het laden van de inspectie. Probeer het later nog eens of neem contact op met de ondersteuning met het volgende inspectie-id :", + "resourceNotFound": "Inspectie-ID niet gevonden.", + "invalidArgument": "Ontwikkelaarsfout: een of meer van de opgegeven argumenten zijn ongeldig." }, "closeConfirm": { "message": "Weet je zeker dat je de capture tool wilt sluiten?", diff --git a/packages/network/src/api/error.ts b/packages/network/src/api/error.ts index 9a8085b7d..05bf4e982 100644 --- a/packages/network/src/api/error.ts +++ b/packages/network/src/api/error.ts @@ -23,6 +23,14 @@ export enum MonkNetworkError { * authorization to perform the request. */ INSUFFICIENT_AUTHORIZATION = 'InsufficientAuthorization', + /** + * The resource requested was not found. + */ + RESOURCE_NOT_FOUND = 'ResourceNotFoundError', + /** + * The argument provided in the request is invalid. + */ + INVALID_ARGUMENT = 'InvalidArgumentError', } function getErrorMessage(name: string): string | null {