weverse
Version:
Wrapper for weverse private API
66 lines (65 loc) • 2.34 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AssignType = exports.isWeversePasswordAuthorization = exports.createRefreshPayload = exports.createLoginPayload = exports.validateStatus = exports.encryptPassword = exports.readKey = void 0;
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const node_rsa_1 = __importDefault(require("node-rsa"));
function readKey() {
try {
return fs_1.default.readFileSync(path_1.default.join(__dirname, './publicCert.txt'), 'utf-8');
}
catch (e) {
console.log('Weverse: error reading public key from disk', e);
return null;
}
}
exports.readKey = readKey;
function encryptPassword(pass, pubKey) {
if (!pubKey)
return null;
const key = new node_rsa_1.default();
key.importKey(pubKey, 'public');
const enc = key.encrypt(Buffer.from(pass));
return enc.toString('base64');
}
exports.encryptPassword = encryptPassword;
const validateStatus = (status) => status >= 200 && status < 500;
exports.validateStatus = validateStatus;
function createLoginPayload(credentials) {
const publicKey = readKey();
const encryptedPassword = encryptPassword(credentials.password, publicKey);
if (encryptedPassword === null)
throw 'Error encrypting Weverse password';
return {
username: credentials.username,
password: encryptedPassword,
grant_type: 'password',
client_id: 'weverse-test'
};
}
exports.createLoginPayload = createLoginPayload;
function createRefreshPayload(credentials) {
return {
refresh_token: credentials.refresh_token,
grant_type: 'refresh_token',
client_id: 'weverse-test'
};
}
exports.createRefreshPayload = createRefreshPayload;
function isWeversePasswordAuthorization(val) {
return val.token === undefined &&
typeof val.password === 'string' &&
typeof val.username === 'string';
}
exports.isWeversePasswordAuthorization = isWeversePasswordAuthorization;
function AssignType() {
return class {
constructor(t) {
Object.assign(this, t);
}
};
}
exports.AssignType = AssignType;