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

const BorrowTransaction = sequelize.define('BorrowTransaction', {
  borrow_id: {
    type: DataTypes.UUID,
    defaultValue: DataTypes.UUIDV4,  // สร้าง UUID อัตโนมัติ
    primaryKey: true,
  },
  user_id: {
    type: DataTypes.UUID,
    allowNull: false,
    // references: {
    //   model: 'users',
    //   key: 'user_id'
    // }
  },
  project_id: {
    type: DataTypes.UUID,
    allowNull: false,
    // references: {
    //   model: 'projects',
    //   key: 'project_id'
    // }
  },
  equipment_id: {
    type: DataTypes.UUID,
    allowNull: false,
    // references: {
    //   model: 'equipments',
    //   key: 'equipment_id'
    // }
  },
  quantity_borrowed: {
    type: DataTypes.INTEGER,
    allowNull: false,
    defaultValue: 1,
  },
  borrowed_date: {
    type: DataTypes.DATE,
    allowNull: false,
    defaultValue: DataTypes.NOW,
  },
  due_date: {
    type: DataTypes.DATE,
    allowNull: true,
  },
  returned_date: {
    type: DataTypes.DATE,
    allowNull: true,
  },
  status: {
    type: DataTypes.STRING(50),
    allowNull: false,
    defaultValue: 'borrowed', // เช่น: borrowed, returned, pending, ฯลฯ
  },
  created_at: {
    type: DataTypes.DATE,
    allowNull: false,
    defaultValue: DataTypes.NOW,
  },
  updated_at: {
    type: DataTypes.DATE,
    allowNull: false,
    defaultValue: DataTypes.NOW,
  },
}, {
  tableName: 'borrow_transactions',
  timestamps: false, // ถ้าไม่ต้องการให้ Sequelize จัดการ createdAt, updatedAt อัตโนมัติ
});

module.exports = BorrowTransaction;
