Untitled
unknown
plain_text
a year ago
1.4 kB
7
Indexable
// src/sequelize/models/commande.model.js import { Model, DataTypes } from 'sequelize'; import db from './index.js'; import User from './user.model.js'; class Commande extends Model { calculateTotalPrice() { return this.CommandeDetails.reduce((total, detail) => { const price = detail.price * detail.quantity; const discount = price * (detail.promotionValue / 100); return total + (price - discount); }, 0); } } Commande.init({ id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV7, primaryKey: true }, userId: { type: DataTypes.UUID, references: { model: User, key: 'id' } }, isPaid: { type: DataTypes.BOOLEAN, defaultValue: false }, paymentFailedMessage: { type: DataTypes.STRING, allowNull: true }, deliveryStatus: { type: DataTypes.ENUM('processing', 'shipping', 'delivered', 'delivery_issue'), defaultValue: 'processing' }, createdAt: { type: DataTypes.DATE, allowNull: false, defaultValue: DataTypes.NOW }, updatedAt: { type: DataTypes.DATE, allowNull: false, defaultValue: DataTypes.NOW } }, { sequelize: db.sequelize, modelName: 'Commande', underscored: true }); Commande.belongsTo(User); User.hasMany(Commande); export default Commande;
Editor is loading...
Leave a Comment