Files
dlearn-api/src/models/schemas/payment.schema.ts
T
2025-01-03 11:29:33 +03:30

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;
}