diff options
Diffstat (limited to 'packages/merchant-backoffice-ui/src/hooks')
6 files changed, 34 insertions, 16 deletions
diff --git a/packages/merchant-backoffice-ui/src/hooks/backend.ts b/packages/merchant-backoffice-ui/src/hooks/backend.ts index fe4155788..eaeede103 100644 --- a/packages/merchant-backoffice-ui/src/hooks/backend.ts +++ b/packages/merchant-backoffice-ui/src/hooks/backend.ts @@ -266,7 +266,7 @@ export function useBackendBaseRequest(): useBackendBaseRequestType { endpoint: string, options: RequestOptions = {}, ): Promise<HttpResponseOk<T>> { - return requestHandler<T>(backend, endpoint, { token, ...options }).then(res => { + return requestHandler<T>(backend, endpoint, { ...options, token }).then(res => { return res }).catch(err => { throw err diff --git a/packages/merchant-backoffice-ui/src/hooks/index.ts b/packages/merchant-backoffice-ui/src/hooks/index.ts index ee696779f..498e4eb78 100644 --- a/packages/merchant-backoffice-ui/src/hooks/index.ts +++ b/packages/merchant-backoffice-ui/src/hooks/index.ts @@ -31,7 +31,8 @@ const calculateRootPath = () => { typeof window !== undefined ? window.location.origin + window.location.pathname : "/"; - return rootPath; + + return rootPath.replace("webui/",""); }; const loginTokenCodec = buildCodecForObject<LoginToken>() diff --git a/packages/merchant-backoffice-ui/src/hooks/instance.test.ts b/packages/merchant-backoffice-ui/src/hooks/instance.test.ts index a7b8d047c..0c0c44590 100644 --- a/packages/merchant-backoffice-ui/src/hooks/instance.test.ts +++ b/packages/merchant-backoffice-ui/src/hooks/instance.test.ts @@ -158,7 +158,7 @@ describe("instance api interaction with details", () => { }, } as MerchantBackend.Instances.QueryInstancesResponse, }); - api.setNewToken("secret" as AccessToken); + api.setNewAccessToken(undefined, "secret" as AccessToken); }, ({ query, api }) => { expect(env.assertJustExpectedRequestWereMade()).deep.eq({ @@ -234,7 +234,7 @@ describe("instance api interaction with details", () => { } as MerchantBackend.Instances.QueryInstancesResponse, }); - api.clearToken(); + api.clearAccessToken(undefined); }, ({ query, api }) => { expect(env.assertJustExpectedRequestWereMade()).deep.eq({ diff --git a/packages/merchant-backoffice-ui/src/hooks/instance.ts b/packages/merchant-backoffice-ui/src/hooks/instance.ts index 50f9487a3..0677191db 100644 --- a/packages/merchant-backoffice-ui/src/hooks/instance.ts +++ b/packages/merchant-backoffice-ui/src/hooks/instance.ts @@ -36,8 +36,8 @@ interface InstanceAPI { data: MerchantBackend.Instances.InstanceReconfigurationMessage, ) => Promise<void>; deleteInstance: () => Promise<void>; - clearToken: () => Promise<void>; - setNewToken: (token: AccessToken) => Promise<void>; + clearAccessToken: (currentToken: AccessToken | undefined) => Promise<void>; + setNewAccessToken: (currentToken: AccessToken | undefined, token: AccessToken) => Promise<void>; } export function useAdminAPI(): AdminAPI { @@ -111,18 +111,20 @@ export function useManagementAPI(instanceId: string): InstanceAPI { mutateAll(/\/management\/instances/); }; - const clearToken = async (): Promise<void> => { + const clearAccessToken = async (currentToken: AccessToken | undefined): Promise<void> => { await request(`/management/instances/${instanceId}/auth`, { method: "POST", + token: currentToken, data: { method: "external" }, }); mutateAll(/\/management\/instances/); }; - const setNewToken = async (newToken: AccessToken): Promise<void> => { + const setNewAccessToken = async (currentToken: AccessToken | undefined, newToken: AccessToken): Promise<void> => { await request(`/management/instances/${instanceId}/auth`, { method: "POST", + token: currentToken, data: { method: "token", token: newToken }, }); @@ -137,7 +139,7 @@ export function useManagementAPI(instanceId: string): InstanceAPI { mutateAll(/\/management\/instances/); }; - return { updateInstance, deleteInstance, setNewToken, clearToken }; + return { updateInstance, deleteInstance, setNewAccessToken, clearAccessToken }; } export function useInstanceAPI(): InstanceAPI { @@ -172,18 +174,20 @@ export function useInstanceAPI(): InstanceAPI { mutate([`/private/`], null); }; - const clearToken = async (): Promise<void> => { + const clearAccessToken = async (currentToken: AccessToken | undefined): Promise<void> => { await request(`/private/auth`, { method: "POST", + token: currentToken, data: { method: "external" }, }); mutate([`/private/`], null); }; - const setNewToken = async (newToken: AccessToken): Promise<void> => { + const setNewAccessToken = async (currentToken: AccessToken | undefined, newToken: AccessToken): Promise<void> => { await request(`/private/auth`, { method: "POST", + token: currentToken, data: { method: "token", token: newToken }, }); @@ -198,7 +202,7 @@ export function useInstanceAPI(): InstanceAPI { mutate([`/private/`], null); }; - return { updateInstance, deleteInstance, setNewToken, clearToken }; + return { updateInstance, deleteInstance, setNewAccessToken, clearAccessToken }; } export function useInstanceDetails(): HttpResponse< diff --git a/packages/merchant-backoffice-ui/src/hooks/otp.ts b/packages/merchant-backoffice-ui/src/hooks/otp.ts index 3544b4881..93eefeea5 100644 --- a/packages/merchant-backoffice-ui/src/hooks/otp.ts +++ b/packages/merchant-backoffice-ui/src/hooks/otp.ts @@ -30,13 +30,13 @@ const useSWR = _useSWR as unknown as SWRHook; const MOCKED_DEVICES: Record<string, MerchantBackend.OTP.OtpDeviceAddDetails> = { "1": { - otp_description: "first device", + otp_device_description: "first device", otp_algorithm: 1, otp_device_id: "1", otp_key: "123", }, "2": { - otp_description: "second device", + otp_device_description: "second device", otp_algorithm: 0, otp_device_id: "2", otp_key: "456", diff --git a/packages/merchant-backoffice-ui/src/hooks/product.ts b/packages/merchant-backoffice-ui/src/hooks/product.ts index 8ecaefaa6..e06ea8ed8 100644 --- a/packages/merchant-backoffice-ui/src/hooks/product.ts +++ b/packages/merchant-backoffice-ui/src/hooks/product.ts @@ -26,6 +26,9 @@ import _useSWR, { SWRHook, useSWRConfig } from "swr"; const useSWR = _useSWR as unknown as SWRHook; export interface ProductAPI { + getProduct: ( + id: string, + ) => Promise<void>; createProduct: ( data: MerchantBackend.Products.ProductAddDetail, ) => Promise<void>; @@ -66,7 +69,7 @@ export function useProductAPI(): ProductAPI { data, }); - return await mutateAll(/.*"\/private\/products.*/); + return await mutateAll(/.*\/private\/products.*/); }; const deleteProduct = async (productId: string): Promise<void> => { @@ -88,7 +91,17 @@ export function useProductAPI(): ProductAPI { return await mutateAll(/.*"\/private\/products.*/); }; - return { createProduct, updateProduct, deleteProduct, lockProduct }; + const getProduct = async ( + productId: string, + ): Promise<void> => { + await request(`/private/products/${productId}`, { + method: "GET", + }); + + return + }; + + return { createProduct, updateProduct, deleteProduct, lockProduct, getProduct }; } export function useInstanceProducts(): HttpResponse< |