seerbit-nodejs
Version:
SeerBit NodsJS SDK
38 lines • 1.9 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const getJsonResponse_1 = __importDefault(require("../helpers/getJsonResponse"));
const initializeStandardTransaction_1 = __importDefault(require("./resource/standard/initializeStandardTransaction"));
const service_1 = __importDefault(require("../service"));
const crypto_1 = __importDefault(require("crypto"));
class Standard extends service_1.default {
constructor(client) {
super(client);
this._initializeStandardTransaction = new initializeStandardTransaction_1.default(this);
}
Initialize(requestPayload) {
requestPayload = this.ensurePayloadIsComplete(requestPayload);
let buildStringToHash = "";
for (const pl in requestPayload) {
buildStringToHash += pl + "=" + requestPayload[pl] + "&";
}
const stringToHash = buildStringToHash.substr(0, buildStringToHash.length - 1) + this.client.config.secretKey;
requestPayload.hash = crypto_1.default.createHash("sha256").update(stringToHash).digest("hex");
requestPayload.hashType = "sha256";
return getJsonResponse_1.default(this._initializeStandardTransaction, requestPayload, { isTokenRequired: true, isPost: true });
}
ensurePayloadIsComplete(requestPayload) {
if (!Object.prototype.hasOwnProperty.call(requestPayload, "productDescription")) {
requestPayload.productDescription = null;
}
if (!Object.prototype.hasOwnProperty.call(requestPayload, "productId")) {
requestPayload.productId = null;
}
requestPayload.publicKey = this.client.config.publicKey;
return requestPayload;
}
}
exports.default = Standard;
//# sourceMappingURL=standard.js.map