From 5181d060cf09ffc7250c9f1069920da0724e0284 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 22 Mar 2024 15:15:15 -0300 Subject: wip, doesn't compile. now merchant doesn't have it's own definition of types... it uses the one defined by taler-util --- packages/taler-util/src/http-client/merchant.ts | 246 ++++++++++++++++++++---- packages/taler-util/src/http-client/types.ts | 6 +- 2 files changed, 209 insertions(+), 43 deletions(-) (limited to 'packages/taler-util/src') diff --git a/packages/taler-util/src/http-client/merchant.ts b/packages/taler-util/src/http-client/merchant.ts index 688e80c29..3a2b7117d 100644 --- a/packages/taler-util/src/http-client/merchant.ts +++ b/packages/taler-util/src/http-client/merchant.ts @@ -128,15 +128,12 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#post-[-instances-$INSTANCE]-orders-$ORDER_ID-claim */ - async claimOrder(token: AccessToken, orderId: string, body: TalerMerchantApi.ClaimRequest) { + async claimOrder(orderId: string, body: TalerMerchantApi.ClaimRequest) { const url = new URL(`orders/${orderId}/claim`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "POST", body, - headers: { - Authorization: makeBearerTokenAuthHeader(token), - } }); switch (resp.status) { @@ -341,6 +338,7 @@ export class TalerMerchantInstanceHttpClient { * https://docs.taler.net/core/api-merchant.html#post-[-instances-$INSTANCE]-private-auth */ async updateCurrentInstanceAuthentication( + token: AccessToken, body: TalerMerchantApi.InstanceAuthConfigurationMessage, ) { const url = new URL(`private/auth`, this.baseUrl); @@ -348,6 +346,9 @@ export class TalerMerchantInstanceHttpClient { const resp = await this.httpLib.fetch(url.href, { method: "POST", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); // @@ -365,6 +366,7 @@ export class TalerMerchantInstanceHttpClient { * https://docs.taler.net/core/api-merchant.html#patch-[-instances-$INSTANCE]-private */ async updateCurrentInstance( + token: AccessToken, body: TalerMerchantApi.InstanceReconfigurationMessage, ) { const url = new URL(`private`, this.baseUrl); @@ -372,6 +374,9 @@ export class TalerMerchantInstanceHttpClient { const resp = await this.httpLib.fetch(url.href, { method: "PATCH", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.Ok: @@ -387,11 +392,14 @@ export class TalerMerchantInstanceHttpClient { * https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private * */ - async getCurrentInstance() { + async getCurrentInstance(token: AccessToken) { const url = new URL(`private`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -405,7 +413,7 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#delete-[-instances-$INSTANCE]-private */ - async deleteCurrentInstance(params: { purge?: boolean }) { + async deleteCurrentInstance(token: AccessToken, params: { purge?: boolean }) { const url = new URL(`private`, this.baseUrl); if (params.purge) { @@ -414,6 +422,9 @@ export class TalerMerchantInstanceHttpClient { const resp = await this.httpLib.fetch(url.href, { method: "DELETE", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -434,6 +445,7 @@ export class TalerMerchantInstanceHttpClient { * https://docs.taler.net/core/api-merchant.html#get--instances-$INSTANCE-private-kyc */ async getCurrentIntanceKycStatus( + token: AccessToken, params: TalerMerchantApi.GetKycStatusRequestParams, ) { const url = new URL(`private/kyc`, this.baseUrl); @@ -450,6 +462,9 @@ export class TalerMerchantInstanceHttpClient { const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -475,12 +490,15 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#post-[-instances-$INSTANCE]-private-accounts */ - async addAccount(body: TalerMerchantApi.AccountAddDetails) { + async addAccount(token: AccessToken,body: TalerMerchantApi.AccountAddDetails) { const url = new URL(`private/accounts`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "POST", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -499,6 +517,7 @@ export class TalerMerchantInstanceHttpClient { * https://docs.taler.net/core/api-merchant.html#patch-[-instances-$INSTANCE]-private-accounts-$H_WIRE */ async updateAccount( + token: AccessToken, wireAccount: string, body: TalerMerchantApi.AccountPatchDetails, ) { @@ -507,6 +526,9 @@ export class TalerMerchantInstanceHttpClient { const resp = await this.httpLib.fetch(url.href, { method: "PATCH", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.NoContent: @@ -544,11 +566,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-accounts-$H_WIRE */ - async getAccount(wireAccount: string) { + async getAccount(token: AccessToken,wireAccount: string) { const url = new URL(`private/accounts/${wireAccount}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + }, }); switch (resp.status) { @@ -564,11 +589,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#delete-[-instances-$INSTANCE]-private-accounts-$H_WIRE */ - async deleteAccount(wireAccount: string) { + async deleteAccount(token: AccessToken,wireAccount: string) { const url = new URL(`private/accounts/${wireAccount}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "DELETE", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + }, }); switch (resp.status) { @@ -588,12 +616,15 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#post-[-instances-$INSTANCE]-private-products */ - async addProduct(body: TalerMerchantApi.ProductAddDetail) { + async addProduct(token: AccessToken,body: TalerMerchantApi.ProductAddDetail) { const url = new URL(`private/products`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "POST", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -610,6 +641,7 @@ export class TalerMerchantInstanceHttpClient { * https://docs.taler.net/core/api-merchant.html#patch-[-instances-$INSTANCE]-private-products-$PRODUCT_ID */ async updateProduct( + token: AccessToken, productId: string, body: TalerMerchantApi.ProductAddDetail, ) { @@ -618,6 +650,9 @@ export class TalerMerchantInstanceHttpClient { const resp = await this.httpLib.fetch(url.href, { method: "PATCH", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -635,13 +670,16 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-products */ - async listProducts(params?: PaginationParams) { + async listProducts(token: AccessToken,params?: PaginationParams) { const url = new URL(`private/products`, this.baseUrl); addMerchantPaginationParams(url, params); const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -657,11 +695,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-products-$PRODUCT_ID */ - async getProduct(productId: string) { + async getProduct(token: AccessToken,productId: string) { const url = new URL(`private/products/${productId}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -677,11 +718,15 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#reserving-inventory */ - async lockProduct(productId: string) { + async lockProduct(token: AccessToken, productId: string, body: TalerMerchantApi.LockRequest) { const url = new URL(`private/products/${productId}/lock`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "POST", + body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -699,11 +744,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#removing-products-from-inventory */ - async removeProduct(productId: string) { + async removeProduct(token: AccessToken,productId: string) { const url = new URL(`private/products/${productId}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "DELETE", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -725,12 +773,15 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#post-[-instances-$INSTANCE]-private-orders */ - async createOrder(body: TalerMerchantApi.PostOrderRequest) { + async createOrder(token: AccessToken,body: TalerMerchantApi.PostOrderRequest) { const url = new URL(`private/orders`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "POST", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); return this.procesOrderCreationResponse(resp) } @@ -759,7 +810,7 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#inspecting-orders */ - async listOrders(params: TalerMerchantApi.ListOrdersRequestParams = {}) { + async listOrders(token: AccessToken,params: TalerMerchantApi.ListOrdersRequestParams = {}) { const url = new URL(`private/orders`, this.baseUrl); if (params.date) { @@ -787,6 +838,9 @@ export class TalerMerchantInstanceHttpClient { const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -801,6 +855,7 @@ export class TalerMerchantInstanceHttpClient { * https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-orders-$ORDER_ID */ async getOrder( + token: AccessToken, orderId: string, params: TalerMerchantApi.GetOrderRequestParams = {}, ) { @@ -818,6 +873,9 @@ export class TalerMerchantInstanceHttpClient { const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -844,12 +902,15 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#private-order-data-cleanup */ - async forgetOrder(orderId: string, body: TalerMerchantApi.ForgetRequest) { + async forgetOrder(token: AccessToken,orderId: string, body: TalerMerchantApi.ForgetRequest) { const url = new URL(`private/orders/${orderId}/forget`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "PATCH", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -871,11 +932,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#delete-[-instances-$INSTANCE]-private-orders-$ORDER_ID */ - async deleteOrder(orderId: string) { + async deleteOrder(token: AccessToken,orderId: string) { const url = new URL(`private/orders/${orderId}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "DELETE", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -897,12 +961,15 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#post-[-instances-$INSTANCE]-private-orders-$ORDER_ID-refund */ - async addRefund(orderId: string, body: TalerMerchantApi.RefundRequest) { + async addRefund(token: AccessToken,orderId: string, body: TalerMerchantApi.RefundRequest) { const url = new URL(`private/orders/${orderId}/refund`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "POST", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -928,12 +995,15 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#post-[-instances-$INSTANCE]-private-transfers */ - async informWireTransfer(body: TalerMerchantApi.TransferInformation) { + async informWireTransfer(token: AccessToken,body: TalerMerchantApi.TransferInformation) { const url = new URL(`private/transfers`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "POST", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -952,6 +1022,7 @@ export class TalerMerchantInstanceHttpClient { * https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-transfers */ async listWireTransfers( + token: AccessToken, params: TalerMerchantApi.ListWireTransferRequestParams = {}, ) { const url = new URL(`private/transfers`, this.baseUrl); @@ -972,6 +1043,9 @@ export class TalerMerchantInstanceHttpClient { const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -985,11 +1059,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#delete-[-instances-$INSTANCE]-private-transfers-$TID */ - async deleteWireTransfer(transferId: string) { + async deleteWireTransfer(token: AccessToken,transferId: string) { const url = new URL(`private/transfers/${transferId}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "DELETE", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -1011,12 +1088,15 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#post-[-instances-$INSTANCE]-private-otp-devices */ - async addOtpDevice(body: TalerMerchantApi.OtpDeviceAddDetails) { + async addOtpDevice(token: AccessToken,body: TalerMerchantApi.OtpDeviceAddDetails) { const url = new URL(`private/otp-devices`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "POST", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -1033,6 +1113,7 @@ export class TalerMerchantInstanceHttpClient { * https://docs.taler.net/core/api-merchant.html#patch-[-instances-$INSTANCE]-private-otp-devices-$DEVICE_ID */ async updateOtpDevice( + token: AccessToken, deviceId: string, body: TalerMerchantApi.OtpDevicePatchDetails, ) { @@ -1041,6 +1122,9 @@ export class TalerMerchantInstanceHttpClient { const resp = await this.httpLib.fetch(url.href, { method: "PATCH", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.NoContent: @@ -1057,11 +1141,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-otp-devices */ - async listOtpDevices() { + async listOtpDevices(token: AccessToken,) { const url = new URL(`private/otp-devices`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.Ok: @@ -1077,6 +1164,7 @@ export class TalerMerchantInstanceHttpClient { * https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-otp-devices-$DEVICE_ID */ async getOtpDevice( + token: AccessToken, deviceId: string, params: TalerMerchantApi.GetOtpDeviceRequestParams = {}, ) { @@ -1090,6 +1178,9 @@ export class TalerMerchantInstanceHttpClient { } const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -1105,11 +1196,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#delete-[-instances-$INSTANCE]-private-otp-devices-$DEVICE_ID */ - async deleteOtpDevice(deviceId: string) { + async deleteOtpDevice(token: AccessToken,deviceId: string) { const url = new URL(`private/otp-devices/${deviceId}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "DELETE", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.NoContent: @@ -1128,12 +1222,15 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#post-[-instances-$INSTANCE]-private-templates */ - async addTemplate(body: TalerMerchantApi.TemplateAddDetails) { + async addTemplate(token: AccessToken,body: TalerMerchantApi.TemplateAddDetails) { const url = new URL(`private/templates`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "POST", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.NoContent: @@ -1149,6 +1246,7 @@ export class TalerMerchantInstanceHttpClient { * https://docs.taler.net/core/api-merchant.html#patch-[-instances-$INSTANCE]-private-templates-$TEMPLATE_ID */ async updateTemplate( + token: AccessToken, templateId: string, body: TalerMerchantApi.TemplatePatchDetails, ) { @@ -1157,6 +1255,9 @@ export class TalerMerchantInstanceHttpClient { const resp = await this.httpLib.fetch(url.href, { method: "PATCH", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.NoContent: @@ -1173,11 +1274,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#inspecting-template */ - async listTemplates() { + async listTemplates(token: AccessToken,) { const url = new URL(`private/templates`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.Ok: @@ -1192,11 +1296,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-templates-$TEMPLATE_ID */ - async getTemplate(templateId: string) { + async getTemplate(token: AccessToken,templateId: string) { const url = new URL(`private/templates/${templateId}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.Ok: @@ -1211,11 +1318,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#delete-[-instances-$INSTANCE]-private-templates-$TEMPLATE_ID */ - async deleteTemplate(templateId: string) { + async deleteTemplate(token: AccessToken,templateId: string) { const url = new URL(`private/templates/${templateId}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "DELETE", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.NoContent: @@ -1270,12 +1380,15 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#post-[-instances-$INSTANCES]-private-webhooks */ - async addWebhook(body: TalerMerchantApi.WebhookAddDetails) { + async addWebhook(token: AccessToken,body: TalerMerchantApi.WebhookAddDetails) { const url = new URL(`private/webhooks`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "POST", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -1292,6 +1405,7 @@ export class TalerMerchantInstanceHttpClient { * https://docs.taler.net/core/api-merchant.html#patch-[-instances-$INSTANCES]-private-webhooks-$WEBHOOK_ID */ async updateWebhook( + token: AccessToken, webhookId: string, body: TalerMerchantApi.WebhookPatchDetails, ) { @@ -1300,6 +1414,9 @@ export class TalerMerchantInstanceHttpClient { const resp = await this.httpLib.fetch(url.href, { method: "PATCH", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -1317,11 +1434,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCES]-private-webhooks */ - async listWebhooks() { + async listWebhooks(token: AccessToken,) { const url = new URL(`private/webhooks`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -1337,11 +1457,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCES]-private-webhooks-$WEBHOOK_ID */ - async getWebhook(webhookId: string) { + async getWebhook(token: AccessToken,webhookId: string) { const url = new URL(`private/webhooks/${webhookId}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.NoContent: @@ -1356,11 +1479,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#delete-[-instances-$INSTANCES]-private-webhooks-$WEBHOOK_ID */ - async removeWebhook(webhookId: string) { + async removeWebhook(token: AccessToken,webhookId: string) { const url = new URL(`private/webhooks/${webhookId}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "DELETE", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.NoContent: @@ -1379,12 +1505,15 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#post-[-instances-$INSTANCES]-private-tokenfamilies */ - async createTokenFamily(body: TalerMerchantApi.TokenFamilyCreateRequest) { + async createTokenFamily(token: AccessToken,body: TalerMerchantApi.TokenFamilyCreateRequest) { const url = new URL(`private/tokenfamilies`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "POST", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -1401,6 +1530,7 @@ export class TalerMerchantInstanceHttpClient { * https://docs.taler.net/core/api-merchant.html#patch-[-instances-$INSTANCES]-private-tokenfamilies-$TOKEN_FAMILY_SLUG */ async updateTokenFamily( + token: AccessToken, tokenSlug: string, body: TalerMerchantApi.TokenFamilyUpdateRequest, ) { @@ -1409,6 +1539,9 @@ export class TalerMerchantInstanceHttpClient { const resp = await this.httpLib.fetch(url.href, { method: "POST", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.Ok: @@ -1423,11 +1556,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCES]-private-tokenfamilies */ - async listTokenFamilies() { + async listTokenFamilies(token: AccessToken,) { const url = new URL(`private/tokenfamilies`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -1443,11 +1579,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCES]-private-tokenfamilies-$TOKEN_FAMILY_SLUG */ - async getTokenFamily(tokenSlug: string) { + async getTokenFamily(token: AccessToken,tokenSlug: string) { const url = new URL(`private/tokenfamilies/${tokenSlug}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -1463,11 +1602,14 @@ export class TalerMerchantInstanceHttpClient { /** * https://docs.taler.net/core/api-merchant.html#delete-[-instances-$INSTANCES]-private-tokenfamilies-$TOKEN_FAMILY_SLUG */ - async deleteTokenFamily(tokenSlug: string) { + async deleteTokenFamily(token: AccessToken,tokenSlug: string) { const url = new URL(`private/tokenfamilies/${tokenSlug}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "DELETE", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.NoContent: @@ -1514,12 +1656,15 @@ export class TalerMerchantManagementHttpClient extends TalerMerchantInstanceHttp /** * https://docs.taler.net/core/api-merchant.html#post--management-instances */ - async createInstance(body: TalerMerchantApi.InstanceConfigurationMessage) { + async createInstance(token: AccessToken,body: TalerMerchantApi.InstanceConfigurationMessage) { const url = new URL(`management/instances`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "POST", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); @@ -1539,6 +1684,7 @@ export class TalerMerchantManagementHttpClient extends TalerMerchantInstanceHttp * https://docs.taler.net/core/api-merchant.html#post--management-instances-$INSTANCE-auth */ async updateInstanceAuthentication( + token: AccessToken, body: TalerMerchantApi.InstanceAuthConfigurationMessage, ) { const url = new URL(`management/instances`, this.baseUrl); @@ -1546,6 +1692,9 @@ export class TalerMerchantManagementHttpClient extends TalerMerchantInstanceHttp const resp = await this.httpLib.fetch(url.href, { method: "POST", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -1562,6 +1711,7 @@ export class TalerMerchantManagementHttpClient extends TalerMerchantInstanceHttp * https://docs.taler.net/core/api-merchant.html#patch--management-instances-$INSTANCE */ async updateInstance( + token: AccessToken, instanceId: string, body: TalerMerchantApi.InstanceReconfigurationMessage, ) { @@ -1570,6 +1720,9 @@ export class TalerMerchantManagementHttpClient extends TalerMerchantInstanceHttp const resp = await this.httpLib.fetch(url.href, { method: "PATCH", body, + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.NoContent: @@ -1584,11 +1737,14 @@ export class TalerMerchantManagementHttpClient extends TalerMerchantInstanceHttp /** * https://docs.taler.net/core/api-merchant.html#get--management-instances */ - async listInstances() { + async listInstances(token: AccessToken,) { const url = new URL(`management/instances`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -1603,11 +1759,14 @@ export class TalerMerchantManagementHttpClient extends TalerMerchantInstanceHttp * https://docs.taler.net/core/api-merchant.html#get--management-instances-$INSTANCE * */ - async getInstance(instanceId: string) { + async getInstance(token: AccessToken,instanceId: string) { const url = new URL(`management/instances/${instanceId}`, this.baseUrl); const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { @@ -1621,7 +1780,7 @@ export class TalerMerchantManagementHttpClient extends TalerMerchantInstanceHttp /** * https://docs.taler.net/core/api-merchant.html#delete--management-instances-$INSTANCE */ - async deleteInstance(instanceId: string, params: { purge?: boolean } = {}) { + async deleteInstance(token: AccessToken,instanceId: string, params: { purge?: boolean } = {}) { const url = new URL(`management/instances/${instanceId}`, this.baseUrl); if (params.purge) { @@ -1630,6 +1789,9 @@ export class TalerMerchantManagementHttpClient extends TalerMerchantInstanceHttp const resp = await this.httpLib.fetch(url.href, { method: "DELETE", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.NoContent: @@ -1649,6 +1811,7 @@ export class TalerMerchantManagementHttpClient extends TalerMerchantInstanceHttp * https://docs.taler.net/core/api-merchant.html#get--management-instances-$INSTANCE-kyc */ async getIntanceKycStatus( + token: AccessToken, instanceId: string, params: TalerMerchantApi.GetKycStatusRequestParams, ) { @@ -1666,6 +1829,9 @@ export class TalerMerchantManagementHttpClient extends TalerMerchantInstanceHttp const resp = await this.httpLib.fetch(url.href, { method: "GET", + headers: { + Authorization: makeBearerTokenAuthHeader(token), + } }); switch (resp.status) { case HttpStatusCode.Accepted: diff --git a/packages/taler-util/src/http-client/types.ts b/packages/taler-util/src/http-client/types.ts index 7f97f9ff1..8578eecd4 100644 --- a/packages/taler-util/src/http-client/types.ts +++ b/packages/taler-util/src/http-client/types.ts @@ -3933,7 +3933,7 @@ export namespace TalerMerchantApi { // Minimum age buyer must have (in years). minimum_age?: Integer; } - interface LockRequest { + export interface LockRequest { // UUID that identifies the frontend performing the lock // Must be unique for the lifetime of the lock. lock_uuid: string; @@ -3973,7 +3973,7 @@ export namespace TalerMerchantApi { // be used in case different UUIDs were used for different // products (i.e. in case the user started with multiple // shopping sessions that were combined during checkout). - lock_uuids: string[]; + lock_uuids?: string[]; // Should a token for claiming the order be generated? // False can make sense if the ORDER_ID is sufficiently @@ -5005,7 +5005,7 @@ export namespace TalerMerchantApi { } // Delivery location, loosely modeled as a subset of // ISO20022's PostalAddress25. - interface Location { + export interface Location { // Nation with its own government. country?: string; -- cgit v1.2.3