51 lines
1015 B
TypeScript
51 lines
1015 B
TypeScript
|
|
import mongoose from "mongoose";
|
|
import { PaymentStatus } from "src/common/eNums/paymentStatus.enum";
|
|
|
|
export const PaymentSchema = new mongoose.Schema({
|
|
userId: {
|
|
type: mongoose.Types.ObjectId,
|
|
ref: 'users',
|
|
required: true
|
|
},
|
|
courseId: {
|
|
type: mongoose.Types.ObjectId,
|
|
ref: 'courses',
|
|
required: true
|
|
},
|
|
authority: {
|
|
type: String,
|
|
required: true
|
|
},
|
|
amount: {
|
|
type: Number,
|
|
required: true
|
|
},
|
|
transactionNumber: {
|
|
type: String,
|
|
default: null
|
|
},
|
|
paymentStatus: {
|
|
type: String,
|
|
enum: PaymentStatus,
|
|
default: PaymentStatus.Pending,
|
|
required: true
|
|
},
|
|
},
|
|
{
|
|
collection: 'payments',
|
|
timestamps: true,
|
|
},
|
|
);
|
|
|
|
export interface Payment extends mongoose.Document {
|
|
userId: mongoose.Types.ObjectId;
|
|
amount: number;
|
|
authority: string;
|
|
courseId: mongoose.Types.ObjectId;
|
|
transactionNumber: string;
|
|
paymentStatus: PaymentStatus;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
}
|