mirror of
https://github.com/node-ebics/node-ebics-client.git
synced 2025-12-17 00:52:46 +00:00
Major changes. Separating responsibilities. Orders builder, serializer.
This commit is contained in:
58
lib/keymanagers/Keys.js
Normal file
58
lib/keymanagers/Keys.js
Normal file
@@ -0,0 +1,58 @@
|
||||
'use strict';
|
||||
|
||||
const Key = require('./Key');
|
||||
|
||||
const keyOrNull = key => (key ? new Key(key) : null);
|
||||
|
||||
module.exports = class Keys {
|
||||
constructor({
|
||||
A006,
|
||||
E002,
|
||||
X002,
|
||||
bankX002,
|
||||
bankE002,
|
||||
}) {
|
||||
this.keys = {
|
||||
A006: keyOrNull(A006),
|
||||
E002: keyOrNull(E002),
|
||||
X002: keyOrNull(X002),
|
||||
bankX002: keyOrNull(bankX002),
|
||||
bankE002: keyOrNull(bankE002),
|
||||
};
|
||||
}
|
||||
|
||||
static generate() {
|
||||
const keys = {};
|
||||
|
||||
Object.keys({ A006: '', X002: '', E002: '' }).forEach((key) => {
|
||||
keys[key] = Key.generate();
|
||||
});
|
||||
|
||||
return new Keys(keys);
|
||||
}
|
||||
|
||||
setBankKeys(bankKeys) {
|
||||
this.keys.bankX002 = Key.importKey(bankKeys.bankX002);
|
||||
this.keys.bankE002 = Key.importKey(bankKeys.bankE002);
|
||||
}
|
||||
|
||||
a() {
|
||||
return this.keys.A006;
|
||||
}
|
||||
|
||||
e() {
|
||||
return this.keys.E002;
|
||||
}
|
||||
|
||||
x() {
|
||||
return this.keys.X002;
|
||||
}
|
||||
|
||||
bankX() {
|
||||
return this.keys.bankX002;
|
||||
}
|
||||
|
||||
bankE() {
|
||||
return this.keys.bankE002;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user