-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuserModel.js
More file actions
102 lines (99 loc) · 1.69 KB
/
Copy pathuserModel.js
File metadata and controls
102 lines (99 loc) · 1.69 KB
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
const mongoose = require("mongoose");
// user schema
const UserSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
// email field
email: {
type: String,
required: [true, "Please provide an Email!"],
unique: [true, "Email Exist"],
},
username: {
type: String
},
// password field
password: {
type: String,
required: [true, "Please provide a password!"],
unique: false,
},
address: {
type: String,
required: [true, "Please provide an address!"],
unique: false,
},
gender: {
type: String,
},
created: {
type: Date,
default: Date.now
},
textpost: [
{
text: String,
createdat: {
type: Date,
default: Date.now
}
},
],
post:[{
img:String,
generatedcaption: String,
crawledcaption:String,
usercaption:String,
finalcaption:{type:String,
required:true
},
class:String,
location:String,
likes:Number,
timestamp:{
type: Date,
default: Date.now
}
}],
requests:[
{
userid:String,
time:{
type: Date,
default: Date.now
}
}
],
followers:[
{
userid:String,
time:{
type: Date,
default: Date.now
}
}
],
chat:[
{
userid:String,
name:String,
message:[{
sent:{
type: Boolean,
default: false
},
content:String,
time:{
type: Date,
default: Date.now
}
}]
}
],
// cart: [{name: String, price: String}]
cuisine:String
});
// export UserSchema
module.exports = mongoose.model.Users || mongoose.model("Users", UserSchema);