Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Sequelize = require('sequelize');
- module.exports = (sequelize) => {
- const User = sequelize.define('User', {
- first_name: {
- type: Sequelize.STRING(50),
- },
- last_name: {
- type: Sequelize.STRING(50),
- },
- email: {
- type: Sequelize.STRING(50),
- },
- password: {
- type: Sequelize.STRING(50),
- }
- }, {
- timestamps: false,
- underscored: true,
- tableName: 'users'
- });
- User.associate = function (models) {
- User.hasMany(models.Post, { onDelete: 'cascade' });
- User.belongsToMany(models.User, { as: 'Friend', through: models.UserFriend });
- User.hasMany(models.FriendRequest, {as: 'IncomingRequest', foreignKey: 'responser_id'});
- User.hasMany(models.FriendRequest, {as: 'OutgoingRequest', foreignKey: 'requester_id'});
- };
- return User;
- };
- const Sequelize = require('sequelize');
- module.exports = (sequelize) => {
- const UserFriend = sequelize.define('UserFriend', {
- }, {
- timestamps: false,
- underscored: true,
- tableName: 'user_friends'
- });
- return UserFriend;
- const Sequelize = require('sequelize');
- const env = process.env.NODE_ENV || 'development';
- const { db } = require('../config')[env];
- const sequelize = new Sequelize(db.name, db.username, db.password, {
- host: db.host,
- port: db.port,
- dialect: db.dialect,
- logging: db.logging,
- operatorsAliases: false
- });
- const User = require('./user')(sequelize);
- const Post = require('./post')(sequelize);
- const UserFriend = require('./user_friend')(sequelize);
- const FriendRequest = require('./friend_request')(sequelize);
- const models = {
- [User.name]: User,
- [Post.name]: Post,
- [UserFriend.name]: UserFriend,
- [FriendRequest.name]: FriendRequest
- };
- Object.keys(models).forEach((modelName) => {
- if (models[modelName].associate) {
- models[modelName].associate(models);
- }
- });
- module.exports = {
- sequelize,
- ...models
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement