summaryrefslogtreecommitdiff
path: root/packages/taler-util/src/MerchantApiClient.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-util/src/MerchantApiClient.ts')
-rw-r--r--packages/taler-util/src/MerchantApiClient.ts26
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":