const { DataTypes } = require('sequelize'); const attributes = { id: { type: DataTypes.INTEGER(11), allowNull: false, defaultValue: null, primaryKey: true, autoIncrement: true, comment: null, field: "id" }, user_id: { type: DataTypes.INTEGER(11), allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "user_id" }, createdAt: { type: DataTypes.DATE, allowNull: false, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "createdAt" }, updatedAt: { type: DataTypes.DATE, allowNull: false, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "updatedAt" }, path: { type: DataTypes.STRING(255), allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "path" }, seed: { type: DataTypes.STRING(255), allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "seed" }, network: { type: DataTypes.STRING(255), allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "network" }, name: { type: DataTypes.STRING(255), allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "name" }, contract: { type: DataTypes.TEXT, get: function() { return JSON.parse(this.getDataValue("contract")); }, set: function(value) { return this.setDataValue("contract", JSON.stringify(value)); }, allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "contract" }, domain: { type: DataTypes.STRING(255), allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "domain" }, ticker: { type: DataTypes.STRING(255), allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "ticker" }, asset: { type: DataTypes.STRING(255), allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "asset" }, balance: { type: DataTypes.DOUBLE, allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "balance" }, btc_credits: { type: DataTypes.DOUBLE, allowNull: true, defaultValue: 0.0, primaryKey: false, autoIncrement: false, comment: "Credits that can be used towards paying Bitcoin withdrawal fees", field: "btc_credits" }, liquid_credits: { type: DataTypes.DOUBLE, allowNull: true, defaultValue: 0.0, primaryKey: false, autoIncrement: false, comment: "Credits that can be used towards paying Liquid withdrawal fees", field: "liquid_credits" }, lightning_credits: { type: DataTypes.DOUBLE, allowNull: true, defaultValue: 0.0, primaryKey: false, autoIncrement: false, comment: "Credits that can be used towards paying Lightning withdrawal fees", field: "lightning_credits" }, pending: { type: DataTypes.DOUBLE, allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "pending" }, hide: { type: DataTypes.BOOLEAN, allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "hide" }, index: { type: DataTypes.INTEGER(11), allowNull: false, defaultValue: 0, primaryKey: false, autoIncrement: false, comment: null, field: "index" }, privkey: { type: DataTypes.STRING, allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "privkey" }, pubkey: { type: DataTypes.STRING, allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "pubkey" }, precision: { type: DataTypes.INTEGER(11), allowNull: true, defaultValue: null, primaryKey: false, autoIncrement: false, comment: null, field: "precision" }, }; const options = { tableName: "accounts", comment: "", indexes: [] }; db["Account"] = db.define("accounts_model", attributes, options);