gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-typescript-core] branch master updated: remove some usages of dep


From: Admin
Subject: [taler-typescript-core] branch master updated: remove some usages of deprecated API client
Date: Wed, 19 Feb 2025 12:39:53 +0100

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository taler-typescript-core.

The following commit(s) were added to refs/heads/master by this push:
     new d4eda1e12 remove some usages of deprecated API client
d4eda1e12 is described below

commit d4eda1e1225dfd26fb829bbe6bc55a8d3e3bc419
Author: Florian Dold <florian@dold.me>
AuthorDate: Wed Feb 19 12:39:49 2025 +0100

    remove some usages of deprecated API client
---
 packages/taler-harness/src/harness/environments.ts | 26 ++++++++++----------
 packages/taler-util/src/http-client/merchant.ts    | 12 +++++++++-
 packages/taler-util/src/operation.ts               | 28 ++++++++++------------
 packages/taler-wallet-core/src/testing.ts          |  8 +++----
 4 files changed, 41 insertions(+), 33 deletions(-)

diff --git a/packages/taler-harness/src/harness/environments.ts 
b/packages/taler-harness/src/harness/environments.ts
index 7dddcf3ff..0b0e752d3 100644
--- a/packages/taler-harness/src/harness/environments.ts
+++ b/packages/taler-harness/src/harness/environments.ts
@@ -39,15 +39,16 @@ import {
   j2s,
   LegitimizationRuleSet,
   Logger,
-  MerchantApiClient,
   narrowOpSuccessOrThrow,
   NotificationType,
   PartialWalletRunConfig,
   PreparePayResultType,
   signAmlDecision,
+  succeedOrThrow,
   TalerCorebankApiClient,
   TalerCoreBankHttpClient,
   TalerMerchantApi,
+  TalerMerchantInstanceHttpClient,
   TalerProtocolTimestamp,
   TransactionIdStr,
   TransactionMajorState,
@@ -918,17 +919,19 @@ export async function makeTestPaymentV2(
 
   const { walletClient, merchant, instance } = args;
 
-  const merchantClient = new MerchantApiClient(
+  const merchantClient = new TalerMerchantInstanceHttpClient(
     merchant.makeInstanceBaseUrl(instance),
   );
 
-  const orderResp = await merchantClient.createOrder({
-    order: args.order,
-  });
+  const orderResp = succeedOrThrow(
+    await merchantClient.createOrder(undefined, {
+      order: args.order,
+    }),
+  );
 
-  let orderStatus = await merchantClient.queryPrivateOrderStatus({
-    orderId: orderResp.order_id,
-  });
+  let orderStatus = succeedOrThrow(
+    await merchantClient.getOrderDetails(undefined, orderResp.order_id),
+  );
 
   t.assertTrue(orderStatus.order_status === "unpaid");
 
@@ -953,10 +956,9 @@ export async function makeTestPaymentV2(
 
   // Check if payment was successful.
 
-  orderStatus = await merchantClient.queryPrivateOrderStatus({
-    orderId: orderResp.order_id,
-    instance,
-  });
+  orderStatus = succeedOrThrow(
+    await merchantClient.getOrderDetails(undefined, orderResp.order_id),
+  );
 
   t.assertDeepEqual(orderStatus.order_status, "paid");
 
diff --git a/packages/taler-util/src/http-client/merchant.ts 
b/packages/taler-util/src/http-client/merchant.ts
index 3c6685bb8..7177cb7a7 100644
--- a/packages/taler-util/src/http-client/merchant.ts
+++ b/packages/taler-util/src/http-client/merchant.ts
@@ -1379,7 +1379,17 @@ export class TalerMerchantInstanceHttpClient {
     token: AccessToken | undefined,
     orderId: string,
     params: TalerMerchantApi.GetOrderRequestParams = {},
-  ) {
+  ): Promise<
+    | OperationOk<TalerMerchantApi.MerchantOrderStatusResponse>
+    | OperationFail<HttpStatusCode.NotFound>
+    | OperationFail<HttpStatusCode.Unauthorized>
+    | OperationFail<HttpStatusCode.BadGateway>
+    // FIXME: This can't be right!
+    | OperationAlternative<
+        HttpStatusCode.GatewayTimeout,
+        TalerMerchantApi.OutOfStockResponse
+      >
+  > {
     const url = new URL(`private/orders/${orderId}`, this.baseUrl);
 
     if (params.allowRefundedForRepurchase !== undefined) {
diff --git a/packages/taler-util/src/operation.ts 
b/packages/taler-util/src/operation.ts
index 721b2731f..1bc3a0d44 100644
--- a/packages/taler-util/src/operation.ts
+++ b/packages/taler-util/src/operation.ts
@@ -37,7 +37,7 @@ import {
 export type OperationResult<Body, ErrorEnum, K = never> =
   | OperationOk<Body>
   | OperationAlternative<ErrorEnum, any>
-  | OperationFail<ErrorEnum>
+  | OperationFail<ErrorEnum>;
 // | OperationFailWithBodyOrNever<ErrorEnum, K>;
 
 export function isOperationOk<T, E>(
@@ -115,12 +115,11 @@ export function opEmptySuccess(resp: HttpResponse): 
OperationOk<void> {
   return { type: "ok" as const, body: void 0 };
 }
 
-export async function opKnownFailure<T>(
-  case_: T): Promise<OperationFail<T>> {
+export async function opKnownFailure<T>(case_: T): Promise<OperationFail<T>> {
   return { type: "fail", case: case_ };
 }
 
-export async function opKnownFailureWithBody<T,B>(
+export async function opKnownFailureWithBody<T, B>(
   case_: T,
   body: B,
 ): Promise<OperationAlternative<T, B>> {
@@ -187,10 +186,7 @@ export function narrowOpSuccessOrThrow<Body>(
   }
 }
 
-export async function succeedOrThrow<R>(
-  promise: Promise<OperationResult<R, unknown>>,
-): Promise<R> {
-  const resp = await promise;
+export function succeedOrThrow<R>(resp: OperationResult<R, unknown>): R {
   if (isOperationOk(resp)) {
     return resp.body;
   }
@@ -201,11 +197,11 @@ export async function succeedOrThrow<R>(
   throw TalerError.fromException(resp);
 }
 
-export async function alternativeOrThrow<Error,Body, Alt>(
+export async function alternativeOrThrow<Error, Body, Alt>(
   s: Error,
-  promise: Promise<OperationOk<Body>
-  | OperationAlternative<Error, Alt>
-  | OperationFail<Error>>,
+  promise: Promise<
+    OperationOk<Body> | OperationAlternative<Error, Alt> | OperationFail<Error>
+  >,
 ): Promise<Alt> {
   const resp = await promise;
   if (isOperationOk(resp)) {
@@ -252,10 +248,10 @@ export type ResultByMethod<
   p extends keyof TT,
 > = TT[p] extends (...args: any[]) => infer Ret
   ? Ret extends Promise<infer Result>
-  ? Result extends OperationResult<any, any>
-  ? Result
-  : never
-  : never //api always use Promises
+    ? Result extends OperationResult<any, any>
+      ? Result
+      : never
+    : never //api always use Promises
   : never; //error cases just for functions
 
 export type FailCasesByMethod<TT extends object, p extends keyof TT> = Exclude<
diff --git a/packages/taler-wallet-core/src/testing.ts 
b/packages/taler-wallet-core/src/testing.ts
index 7abdabf6b..8479d9782 100644
--- a/packages/taler-wallet-core/src/testing.ts
+++ b/packages/taler-wallet-core/src/testing.ts
@@ -166,7 +166,7 @@ export async function withdrawTestBalance(
 }
 
 /**
- * FIXME: User MerchantApiClient instead.
+ * FIXME: User TalerMerchantInstanceHttpClient instead.
  */
 function getMerchantAuthHeader(m: MerchantBackendInfo): Record<string, string> 
{
   if (m.authToken) {
@@ -178,7 +178,7 @@ function getMerchantAuthHeader(m: MerchantBackendInfo): 
Record<string, string> {
 }
 
 /**
- * FIXME: User MerchantApiClient instead.
+ * FIXME: User TalerMerchantInstanceHttpClient instead.
  */
 async function refund(
   http: HttpRequestLibrary,
@@ -210,7 +210,7 @@ async function refund(
 }
 
 /**
- * FIXME: User MerchantApiClient instead.
+ * FIXME: User TalerMerchantInstanceHttpClient instead.
  */
 async function createOrder(
   http: HttpRequestLibrary,
@@ -244,7 +244,7 @@ async function createOrder(
 }
 
 /**
- * FIXME: User MerchantApiClient instead.
+ * FIXME: User TalerMerchantInstanceHttpClient instead.
  */
 async function checkPayment(
   http: HttpRequestLibrary,

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]