xud
Version:
Exchange Union Daemon
50 lines • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const sequelize_1 = require("sequelize");
function Node(sequelize) {
const attributes = {
id: { type: sequelize_1.DataTypes.INTEGER, primaryKey: true, autoIncrement: true },
nodePubKey: { type: sequelize_1.DataTypes.STRING, unique: true, allowNull: false },
addressesText: { type: sequelize_1.DataTypes.TEXT, allowNull: false },
addresses: {
type: sequelize_1.DataTypes.VIRTUAL,
get() {
return JSON.parse(this.addressesText);
},
set(value) {
if (value) {
this.setDataValue('addressesText', JSON.stringify(value));
}
else {
this.setDataValue('addressesText', '[]');
}
},
},
lastAddressText: { type: sequelize_1.DataTypes.TEXT, allowNull: true },
lastAddress: {
type: sequelize_1.DataTypes.VIRTUAL,
allowNull: true,
get() {
return this.lastAddressText ? JSON.parse(this.lastAddressText) : undefined;
},
set(value) {
if (value) {
this.setDataValue('lastAddressText', JSON.stringify(value));
}
},
},
banned: { type: sequelize_1.DataTypes.BOOLEAN, allowNull: true },
};
const indexes = [{
unique: true,
fields: ['nodePubKey'],
}];
const options = {
indexes,
tableName: 'nodes',
};
const Node = sequelize.define('Node', attributes, options);
return Node;
}
exports.default = Node;
//# sourceMappingURL=Node.js.map