From d2473bb81d3a60c55ea38b1f47b27f78a9a60909 Mon Sep 17 00:00:00 2001 From: Herrie Date: Mon, 25 Nov 2019 16:01:34 +0100 Subject: [PATCH] Add DKI order type To download Exchange rate files and fix syntax error. Signed-off-by: Herman van Hazendonk --- examples/send-dki-order.js | 30 ++++++++++++++++++++++++++++++ lib/predefinedOrders/DKI.js | 13 +++++++++++++ lib/predefinedOrders/index.js | 3 +++ 3 files changed, 46 insertions(+) create mode 100644 examples/send-dki-order.js create mode 100644 lib/predefinedOrders/DKI.js diff --git a/examples/send-dki-order.js b/examples/send-dki-order.js new file mode 100644 index 0000000..f338685 --- /dev/null +++ b/examples/send-dki-order.js @@ -0,0 +1,30 @@ +#! /usr/bin/env node + +'use strict'; + +const ebics = require('../index'); + +const client = new ebics.Client({ + url: 'https://ebics.server', + partnerId: '', + userId: '', + hostId: '', + passphrase: 'test', // keys-test will be decrypted with this passphrase + keyStorage: ebics.fsKeysStorage('./keys-test'), +}); + +// The bank keys must have been already saved +client.send(ebics.Orders.DKI(null, null)) // startDate 'YYYY-MM-DD', endDate 'YYYY-MM-DD' + .then((resp) => { + console.log('Response for DKI order %j', resp); + if (resp.technicalCode !== '000000') + throw new Error('Something went wrong'); + + // Processing of the Exchange Rate file should go here, ideally after saving it to disk + const data = Buffer.from(resp.orderData); + console.log(data.toString('utf8')); + }) + .catch((err) => { + console.error(err); + process.exit(1); + }); diff --git a/lib/predefinedOrders/DKI.js b/lib/predefinedOrders/DKI.js new file mode 100644 index 0000000..c31af27 --- /dev/null +++ b/lib/predefinedOrders/DKI.js @@ -0,0 +1,13 @@ +'use strict'; + +const utils = require('../utils'); + +module.exports = (start = null, end = null) => ({ + version: 'h004', + orderDetails: { + OrderType: 'DKI', + OrderAttribute: 'DZHNN', + StandardOrderParams: utils.dateRange(start, end), + }, + operation: 'download', +}); diff --git a/lib/predefinedOrders/index.js b/lib/predefinedOrders/index.js index 18e4f49..5aaa914 100644 --- a/lib/predefinedOrders/index.js +++ b/lib/predefinedOrders/index.js @@ -23,6 +23,7 @@ const HKD = require('./HKD'); const PTK = require('./PTK'); const HAC = require('./HAC'); const Z53 = require('./Z53'); +const DKI = require('./DKI'); module.exports = { INI, @@ -39,6 +40,7 @@ module.exports = { CCS, XE3, XCT, + STA, VMK, HAA, @@ -47,4 +49,5 @@ module.exports = { HKD, PTK, HAC, + DKI };