@nkhind/vivawallet-sdk
Version:
Non-Official VivaWallet API SDK
62 lines (61 loc) • 2.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const axiosInstance_ts_1 = require("../utils/axiosInstance.ts");
const VivaAuth_class_1 = require("../vivabases/VivaAuth.class");
class VivaSourceCode extends VivaAuth_class_1.VivaAuth {
constructor(datas) {
super(datas);
}
/** ------------------ SOURCE CODE ------------------ */
/** Set the Viva Wallet payment source (needed for Transaction integrations), return `true` if setup is OK, `false` if the payment already exist or on error */
async setVivawalletSource(data) {
try {
const sourceCode = data.sourceCode || this.sourceCode;
if (!sourceCode) {
if (this.errorLogs)
console.error('Source code is required');
return {
success: false,
message: 'Source code is required in datas or at initialization',
code: 'sourcecodeerror',
data: null,
};
}
await axiosInstance_ts_1.useAxios.request({
url: this.endpoints.source.url,
method: this.endpoints.source.method,
headers: {
Authorization: 'Basic ' + this.getVivaBasicToken(),
},
data,
});
return {
success: true,
message: 'Source code set',
data: null,
};
}
catch (e) {
if (this.errorLogs)
console.error('VivaSourceCode.setVivawalletSource', e);
// if the source already exist
if (e.status === 409) {
if (this.errorLogs)
console.error('Source code already exist');
return {
success: false,
message: 'Source code already exists',
code: 'sourcecodeexist',
data: null,
};
}
return {
success: false,
message: 'Failed to set source code',
code: 'error',
data: null,
};
}
}
}
exports.default = VivaSourceCode;