// backend/src/models/User.js
const { DataTypes } = require('sequelize');
const sequelize = require('../config/db');
const User = sequelize.define('User', {
email: {
type: DataTypes.STRING,
allowNull: false,
unique: true
},
passwordHash: {
type: DataTypes.STRING,
allowNull: false
},
// Additional fields (username, walletAddress, etc.)
}, {
tableName: 'Users'
});
module.exports = User;
// backend/src/models/index.js
const User = require('./User');
const Post = require('./Post');
const Syndicate = require('./Syndicate');
const SyndicateMember = require('./SyndicateMember');
// ... etc.
// A user has many posts
User.hasMany(Post, { foreignKey: 'userId' });
Post.belongsTo(User, { foreignKey: 'userId' });
// Syndicate <-> User relationship via SyndicateMember
Syndicate.belongsToMany(User, { through: SyndicateMember, foreignKey: 'syndicateId' });
User.belongsToMany(Syndicate, { through: SyndicateMember, foreignKey: 'userId' });
// Export all
module.exports = { User, Post, Syndicate, SyndicateMember, ... };