MERN

⌘K
  1. Home
  2. Docs
  3. MERN
  4. models

models

Create model

// models/employeeInfo.js
const { DataTypes } = require('sequelize');
const sequelize = require('../config/db'); 

const EmployeeInfo = sequelize.define('EmployeeInfo', {
    EmployeeID: {
      type: DataTypes.INTEGER,
      primaryKey: true,
      autoIncrement: true,
    },
    Name: {
      type: DataTypes.STRING,
      allowNull: false,
    },
    Contact: {
      type: DataTypes.STRING,
      defaultValue: null, // Set your default value here
    },
    Email: {
      type: DataTypes.STRING,
      allowNull: false,
      unique: true,
      validate: {
        isEmail: true,
      },
    },
    JoiningDate: {
      type: DataTypes.DATE,
      defaultValue: null, // Set your default value here
    },
    BloodGroup: {
      type: DataTypes.STRING,
      defaultValue: null, // Set your default value here
    },
    EmergencyContact: {
      type: DataTypes.STRING,
      defaultValue: null, // Set your default value here
    },
    PrimaryContact: {
      type: DataTypes.STRING,
      defaultValue: null, // Set your default value here
    },
    SecondaryContact: {
      type: DataTypes.STRING,
      defaultValue: null, // Set your default value here
    },
    NID: {
      type: DataTypes.STRING,
      unique: true,
      defaultValue: null, // Set your default value here
    },
    PDF_NDA: {
      type: DataTypes.STRING,
      defaultValue: null, // Set your default value here
    },
    ResignationDate: {
      type: DataTypes.DATE,
      defaultValue: null, // Set your default value here
    },
    LeaveDate: {
      type: DataTypes.DATE,
      defaultValue: null, // Set your default value here
    },
  });
  
  module.exports = EmployeeInfo;
JavaScript


Relation with model

const { DataTypes } = require('sequelize');
const sequelize = require('../config/db');
const EmployeeInfo = require('./employeeInfo'); 

const User = sequelize.define('User', {
  username: {
    type: DataTypes.STRING,
    allowNull: false,
    unique: true,
  },

  email: {
    type: DataTypes.STRING,
    allowNull: false,
    unique: true,
    validate: {
      isEmail: true,
    },
  },

  password: {
    type: DataTypes.STRING,
    allowNull: false,
  },

  EmployeeID: {
    type: DataTypes.INTEGER,
    allowNull: true,
  },

  role: {
    type: DataTypes.STRING,
    defaultValue: 'employee', 
  },
});


// Establish a one-to-one relationship between User and EmployeeInfo
User.hasOne(EmployeeInfo, { foreignKey: 'EmployeeID', as: 'employeeInfo' });
EmployeeInfo.belongsTo(User, { foreignKey: 'EmployeeID' });


module.exports = User;
JavaScript

How can we help?