diff options
Diffstat (limited to 'packages/merchant-backoffice-ui/src/hooks')
| -rw-r--r-- | packages/merchant-backoffice-ui/src/hooks/backend.ts | 17 | 
1 files changed, 13 insertions, 4 deletions
diff --git a/packages/merchant-backoffice-ui/src/hooks/backend.ts b/packages/merchant-backoffice-ui/src/hooks/backend.ts index 93e95934e..3ab99b402 100644 --- a/packages/merchant-backoffice-ui/src/hooks/backend.ts +++ b/packages/merchant-backoffice-ui/src/hooks/backend.ts @@ -25,8 +25,10 @@ import { useBackendContext } from "../context/backend.js";  import { useCallback, useEffect, useState } from "preact/hooks";  import { useInstanceContext } from "../context/instance.js";  import { +  ErrorType,    HttpResponse,    HttpResponseOk, +  RequestError,    RequestOptions,  } from "@gnu-taler/web-util/lib/index.browser";  import { useApiContext } from "@gnu-taler/web-util/lib/index.browser"; @@ -146,14 +148,21 @@ export function useCredentialsChecker() {    return async function testLogin(      instance: string,      token: string, -  ): Promise<boolean> { +  ): Promise<{ +    valid: boolean; +    cause?: ErrorType; +  }> {      try {        const response = await request(instance, `/private/`, {          token,        }); -      return true; -    } catch (e) { -      return false; +      return { valid: true }; +    } catch (error) { +      if (error instanceof RequestError) { +        return { valid: false, cause: error.cause.type }; +      } + +      return { valid: false, cause: ErrorType.UNEXPECTED };      }    };  }  | 
