mirror of
https://github.com/node-ebics/node-ebics-client.git
synced 2025-12-16 16:42:45 +00:00
various modular fixes
This commit is contained in:
@@ -1,66 +1,55 @@
|
||||
'use strict';
|
||||
|
||||
const fs = require('fs');
|
||||
|
||||
const moment = require('moment');
|
||||
const moment = require('moment');
|
||||
const handlebars = require('handlebars');
|
||||
const BN = require("bn.js");
|
||||
const BN = require('bn.js');
|
||||
|
||||
const registerHelpers = () => {
|
||||
handlebars.registerHelper('today', () => moment().format('DD.MM.YYYY'));
|
||||
|
||||
handlebars.registerHelper('now', () => moment().format('HH:mm:ss'));
|
||||
|
||||
handlebars.registerHelper('keyExponentBits', k => Buffer.byteLength(new BN(k.key.keyPair.e).toBuffer()) * 8);
|
||||
|
||||
handlebars.registerHelper('keyModulusBits', k => k.key.getKeySize());
|
||||
// return Buffer.byteLength(new BN(k.key.keyPair.e).toBuffer()) * 8;
|
||||
|
||||
handlebars.registerHelper('keyExponent', k => k.e());
|
||||
|
||||
handlebars.registerHelper('keyModulus', k => k.n().toUpperCase().match(/.{1,2}/g).join(' '));
|
||||
|
||||
handlebars.registerHelper('sha256', (k) => {
|
||||
const digest = Buffer.from(k.publicDigest(), 'base64').toString('HEX');
|
||||
|
||||
return digest.toUpperCase().match(/.{1,2}/g).join(' ');
|
||||
});
|
||||
};
|
||||
module.exports = class BankLetter {
|
||||
constructor(client, bankName) {
|
||||
this.client = client;
|
||||
this.bankName = bankName;
|
||||
this.pathToTemplate = './app/ebics/ini.hbs';
|
||||
};
|
||||
constructor({
|
||||
client,
|
||||
bankName,
|
||||
template,
|
||||
}) {
|
||||
this.client = client;
|
||||
this.bankName = bankName;
|
||||
this.template = template;
|
||||
}
|
||||
|
||||
_registerHelpers() {
|
||||
handlebars.registerHelper("today", () => {
|
||||
return moment().format('DD.MM.YYYY');
|
||||
});
|
||||
|
||||
handlebars.registerHelper("now", () => {
|
||||
return moment().format('HH:mm:ss');
|
||||
});
|
||||
|
||||
handlebars.registerHelper("keyExponentBits", (k) => {
|
||||
return Buffer.byteLength(new BN(k.key.keyPair.e).toBuffer()) * 8;
|
||||
});
|
||||
|
||||
handlebars.registerHelper("keyModulusBits", (k) => {
|
||||
return k.key.getKeySize();
|
||||
// return Buffer.byteLength(new BN(k.key.keyPair.e).toBuffer()) * 8;
|
||||
});
|
||||
|
||||
handlebars.registerHelper("keyExponent", (k) => {
|
||||
return k.e();
|
||||
});
|
||||
|
||||
handlebars.registerHelper("keyModulus", (k) => {
|
||||
return k.n().toUpperCase().match(/.{1,2}/g).join(' ');
|
||||
});
|
||||
|
||||
handlebars.registerHelper("sha256", (k) => {
|
||||
const digest = Buffer.from(k.publicDigest(), 'base64').toString('HEX');
|
||||
|
||||
return digest.toUpperCase().match(/.{1,2}/g).join(' ');
|
||||
});
|
||||
};
|
||||
|
||||
generate() {
|
||||
this._registerHelpers();
|
||||
registerHelpers();
|
||||
|
||||
const str = fs.readFileSync(this.pathToTemplate).toString();
|
||||
const templ = handlebars.compile(str);
|
||||
const templ = handlebars.compile(this.template);
|
||||
|
||||
const data = {
|
||||
bankName : this.bankName,
|
||||
userId : this.client.userId,
|
||||
bankName: this.bankName,
|
||||
userId: this.client.userId,
|
||||
partnerId: this.client.partnerId,
|
||||
A006 : this.client.a(),
|
||||
X002 : this.client.x(),
|
||||
E002 : this.client.e(),
|
||||
A006: this.client.a(),
|
||||
X002: this.client.x(),
|
||||
E002: this.client.e(),
|
||||
};
|
||||
|
||||
return templ(data);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user