diff options
Diffstat (limited to 'packages/taler-util/src/MerchantApiClient.ts')
-rw-r--r-- | packages/taler-util/src/MerchantApiClient.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/taler-util/src/MerchantApiClient.ts b/packages/taler-util/src/MerchantApiClient.ts index fe523cd43..86c72651e 100644 --- a/packages/taler-util/src/MerchantApiClient.ts +++ b/packages/taler-util/src/MerchantApiClient.ts @@ -69,6 +69,23 @@ export interface CreateMerchantTippingReserveRequest { wire_method: string; } +interface OtpDeviceAddDetails { + // Device ID to use. + otp_device_id: string; + + // Human-readable description for the device. + otp_device_description: string; + + // A base64-encoded key + otp_key: string; + + // Algorithm for computing the POS confirmation. + otp_algorithm: number; + + // Counter for counter-based OTP devices. + otp_ctr?: number; +} + export interface DeleteTippingReserveArgs { reservePub: string; purge?: boolean; @@ -321,6 +338,15 @@ export class MerchantApiClient { } } + async createOtpDevice(req: OtpDeviceAddDetails): Promise<void> { + let url = new URL("private/templates", this.baseUrl); + const resp = await this.httpClient.fetch(url.href, { + method: "POST", + body: req, + headers: this.makeAuthHeader(), + }); + } + private makeAuthHeader(): Record<string, string> { switch (this.auth.method) { case "external": |