UNPKG

@tomei/rental

Version:
94 lines (80 loc) 2.17 kB
import { Table, Model, Column, DataType, ForeignKey, CreatedAt, UpdatedAt, HasMany, BelongsTo, } from 'sequelize-typescript'; import { RentalModel } from './rental.entity'; import { HirerChangeRequestTypeEnum } from '../enum/rental-hirer-change-request-type'; import { HirerChangeRequestStatusEnum } from '../enum/rental-hirer-change-request-status'; import { HirerChangeRequestSignatureModel } from './hirer-change-request-signature.entity'; import { IRentalHirerChangeRequestAttr } from '../interfaces/rental-hirer-change-request.attr.interface'; import { HirerChangeRequestHirerRoleEnum } from '../enum/rental-hirer-change-request-hirer-role'; @Table({ tableName: 'rental_HirerChangeRequest', }) export class RentalHirerChangeRequestModel extends Model implements IRentalHirerChangeRequestAttr { @Column({ primaryKey: true, allowNull: false, type: DataType.STRING(30), }) RequestId: string; @ForeignKey(() => RentalModel) @Column({ allowNull: false, type: DataType.STRING(30), }) RentalId: string; @Column({ allowNull: false, type: DataType.STRING(30), }) Type: HirerChangeRequestTypeEnum; @Column({ allowNull: false, type: DataType.STRING(30), }) Status: HirerChangeRequestStatusEnum; @CreatedAt RequestedAt: Date; @Column({ allowNull: false, type: DataType.STRING(30), }) RequestedById: string; @Column({ allowNull: false, type: DataType.STRING(30), }) RequestingHirerId: string; @Column({ allowNull: false, type: DataType.STRING(30), }) RequestingHirerType: HirerChangeRequestHirerRoleEnum; // Assuming this is the correct type, adjust if necessary @Column({ allowNull: true, type: DataType.STRING(300), }) CancelRemarks: string; @UpdatedAt UpdatedAt: Date; @Column({ allowNull: false, type: DataType.STRING(30), }) UpdatedById: string; @BelongsTo(() => RentalModel) Rental: RentalModel; @HasMany(() => HirerChangeRequestSignatureModel) HirerList: HirerChangeRequestSignatureModel[]; }