import {
  Column,
  DataType,
  Table,
  Model,
  ForeignKey,
  BelongsTo,
  CreatedAt,
} from 'sequelize-typescript';
import { AgreementModel } from './agreement.entity';

@Table({
  tableName: 'rental_AgreementHistory',
  createdAt: 'CreatedAt',
  updatedAt: false,
  timestamps: true,
})
export class AgreementHistoryModel extends Model {
  @Column({
    primaryKey: true,
    allowNull: false,
    autoIncrement: true,
    type: DataType.INTEGER,
  })
  HistoryId: number;

  @ForeignKey(() => AgreementModel)
  @Column({
    allowNull: false,
    type: DataType.STRING(30),
  })
  AgreementNo: string;

  @Column({
    allowNull: false,
    type: DataType.STRING(30),
  })
  MediaId: string;

  @Column({
    allowNull: false,
    type: DataType.STRING(200),
  })
  ActivityCompleted: string;

  @CreatedAt
  CreatedAt: Date;

  @BelongsTo(() => AgreementModel)
  Agreement: AgreementModel;
}
