"use strict"; const { Model } = require("sequelize"); module.exports = (sequelize, DataTypes) => { class Order extends Model { static associate(models) { Order.belongsToMany(models.Sandwich, {through: {model: models.SandwichOrder, unique: false}}); Order.belongsTo(models.Department); Order.belongsTo(models.User); Order.hasMany(models.Payment, {foreignKey: "ShopOrderReference"}); } } Order.init({ firstName: { type: DataTypes.STRING, allowNull: false }, lastName: { type: DataTypes.STRING, allowNull: false }, date: { type: DataTypes.DATE, defaultValue: DataTypes.NOW, allowNull: false }, price: { type: DataTypes.FLOAT, allowNull: false }, paid: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false }, give: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: false } }, { sequelize, modelName: "Order", }); return Order; };