Files
modstagram-back/models/GiftModel.js
2026-09-24 21:00:07 +03:30

65 lines
1.2 KiB
JavaScript

const mongoose = require('mongoose')
const mongoosePaginate = require('mongoose-paginate-v2')
const timestamp = require('mongoose-timestamp')
const giftSchema = new mongoose.Schema({
sender: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: true
},
receiver: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: true
},
amount: {
type: Number,
required: true
},
message: {
type: String,
trim: true,
maxLength: 500,
default: null
},
reply: {
type: String,
trim: true,
maxLength: 500,
default: null
},
repliedAt: {
type: Date,
default: null
},
transaction_id: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Payment',
default: null
},
paymentMethod: {
type: String,
enum: ['online', 'wallet', 'mixed'],
default: 'online'
},
viaChatMessage: {
type: Boolean,
default: false
},
opened: {
type: Boolean,
default: true
},
openedAt: {
type: Date,
default: Date.now
}
})
giftSchema.plugin(timestamp)
giftSchema.plugin(mongoosePaginate)
const GiftModel = mongoose.model('Gift', giftSchema)
module.exports = GiftModel