forked from MyZubster-Ecosystem/myzubster
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathreferralModel.js
More file actions
39 lines (37 loc) 路 728 Bytes
/
Copy pathreferralModel.js
File metadata and controls
39 lines (37 loc) 路 728 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
const mongoose = require('mongoose');
const referralSchema = new mongoose.Schema({
referralCode: {
type: String,
required: true,
unique: true,
index: true
},
referrerId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: true
},
referredUserId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
default: null
},
status: {
type: String,
enum: ['pending', 'completed', 'rewarded'],
default: 'pending'
},
rewardCredited: {
type: Boolean,
default: false
},
createdAt: {
type: Date,
default: Date.now
},
completedAt: {
type: Date,
default: null
}
});
module.exports = mongoose.model('Referral', referralSchema);