import Sequelize from '@sequelize/core'; import db from "$db/db"; db.authenticate().catch((err) => { console.debug("Error connecting to database: " + err.message); console.log(dbOptions.connection.database + "." + dbOptions.connection.user); }); import './models/accounts'; import './models/codes'; import './models/deposits'; import './models/invoices'; import './models/keys'; import './models/payments'; import './models/orders'; import './models/users'; import './models/withdrawals'; import './models/referrals'; import './models/waiting_list'; const { User, Account, Payment, Invoice, Key, Order, Referral } = db; User.hasMany(Account, { as: "accounts", foreignKey: "user_id", }); User.hasMany(Invoice, { as: "invoices", foreignKey: "user_id", }); User.hasMany(Key, { as: "keys", foreignKey: "user_id", }); User.hasMany(Order, { as: "orders", foreignKey: "user_id", }); User.hasMany(Payment, { as: "payments", foreignKey: "user_id", }); User.belongsTo(Account, { as: "account", foreignKey: "account_id", }); Invoice.belongsTo(Account, { as: "account", foreignKey: "account_id", }); Account.belongsTo(User, { as: "user", foreignKey: "user_id", }); Invoice.belongsTo(User, { as: "user", foreignKey: "user_id", }); Key.belongsTo(User, { as: "user", foreignKey: "user_id", }); Payment.belongsTo(Account, { as: "account", foreignKey: "account_id", }); Payment.belongsTo(User, { as: "user", foreignKey: "user_id", }); Payment.belongsTo(Invoice, { as: "invoice", foreignKey: "invoice_id", }); Order.belongsTo(User, { as: "user", foreignKey: "user_id", }); Order.belongsTo(Account, { as: "acc1", foreignKey: "a1_id", }); Order.belongsTo(Account, { as: "acc2", foreignKey: "a2_id", }); User.hasMany(Referral, { as: "referral_codes", foreignKey: "sponsor_id", }); User.hasMany(Referral, { as: "sponsors", foreignKey: "user_id", }); Referral.belongsTo(User, { as: "sponsor", foreignKey: "sponsor_id", }); Referral.belongsTo(User, { as: "user", foreignKey: "user_id", }); Payment.belongsTo(Payment, { as: "fee_payment", foreignKey: "fee_payment_id" }); db.Order = Order; export default db;