You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
846 B
41 lines
846 B
import { BelongsTo, Column, DataType, ForeignKey, Model, Table } from "sequelize-typescript"; |
|
import { User } from "src/users/entities/user.entity"; |
|
import { Wallet } from "./wallet.entity"; |
|
|
|
@Table |
|
export class Payment extends Model<Payment> { |
|
@ForeignKey(() => User) |
|
@Column |
|
userId: number; |
|
|
|
@BelongsTo(() => User, { onDelete: "CASCADE" }) |
|
user: User; |
|
|
|
@ForeignKey(() => Wallet) |
|
@Column |
|
walletId: number; |
|
|
|
@BelongsTo(() => Wallet, { onDelete: "CASCADE" }) |
|
wallet: Wallet; |
|
|
|
@Column({ |
|
type: DataType.INTEGER, |
|
allowNull: false, |
|
}) |
|
paymentAmount: number; |
|
|
|
|
|
@Column({ |
|
type: DataType.ENUM( "completed", "failed",), |
|
allowNull: false, |
|
defaultValue: "failed", |
|
}) |
|
status: string; |
|
|
|
@Column({ |
|
type: DataType.DATE, |
|
allowNull: false, |
|
defaultValue: DataType.NOW, |
|
}) |
|
paymentDate: Date; |
|
}
|
|
|