Files
modstagram-back/models/OfferModel.js
payacom 3f416a7a60 full
2026-08-31 20:45:41 +03:30

54 lines
1.2 KiB
JavaScript

const mongoose = require('mongoose')
const mongoosePaginate = require('mongoose-paginate-v2')
const timestamp = require('mongoose-timestamp')
const offerSchema = new mongoose.Schema({
sender: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: true
},
receiver: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: true
},
status: {
type: String,
enum: ['pending', 'accepted', 'rejected'], // وضعیت درخواست
default: 'pending'
},
transaction_id: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Payment',
default: null
},
// سهم ۳۰٪ گیرنده که فقط با پاسخ‌گویی ظرف ۲۴ ساعت به اولین پیام دایرکت واریز می‌شود
pendingCommissionAmount: {
type: Number,
default: 0
},
firstMessageAt: {
type: Date,
default: null
},
replyDeadline: {
type: Date,
default: null
},
repliedAt: {
type: Date,
default: null
},
commissionCredited: {
type: Boolean,
default: false
}
})
offerSchema.plugin(timestamp)
offerSchema.plugin(mongoosePaginate)
const OfferModel = mongoose.model('Offer', offerSchema)
module.exports = OfferModel