Skip to content

Commit e9c0f9f

Browse files
authored
Merge pull request #56 from adityacosmos24/room_and_chat_model
feat: added room and chat models
2 parents 8adc5f2 + c937ce9 commit e9c0f9f

File tree

3 files changed

+64
-10
lines changed

3 files changed

+64
-10
lines changed

client/package-lock.json

Lines changed: 0 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server/models/Chat.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
const mongoose = require("mongoose");
2+
3+
const chatSchema = new mongoose.Schema({
4+
message: {
5+
type: String,
6+
required: true,
7+
},
8+
room: {
9+
type: mongoose.Schema.Types.ObjectId,
10+
ref: "Room",
11+
required: true,
12+
},
13+
sender: {
14+
type: mongoose.Schema.Types.ObjectId,
15+
ref: "User",
16+
required: true,
17+
},
18+
createdAt: {
19+
type: Date,
20+
default: Date.now,
21+
},
22+
});
23+
24+
module.exports = mongoose.model("Chat", chatSchema);

server/models/Room.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
const mongoose = require("mongoose");
2+
3+
const roomSchema = new mongoose.Schema({
4+
slug: {
5+
type: String,
6+
unique: true,
7+
required: true,
8+
},
9+
name: {
10+
type: String,
11+
required: true,
12+
},
13+
admin: {
14+
type: mongoose.Schema.Types.ObjectId,
15+
ref: "User",
16+
required: true,
17+
},
18+
participants: [
19+
{
20+
type: mongoose.Schema.Types.ObjectId,
21+
ref: "User",
22+
},
23+
],
24+
chats: [
25+
{
26+
type: mongoose.Schema.Types.ObjectId,
27+
ref: "Chat",
28+
},
29+
],
30+
canvasData: {
31+
type: Object,//in json format
32+
default: {},
33+
},
34+
createdAt: {
35+
type: Date,
36+
default: Date.now,
37+
},
38+
});
39+
40+
module.exports = mongoose.model("Room", roomSchema);

0 commit comments

Comments
 (0)