Skip to content

Commit ea89474

Browse files
committed
todos data modeling
1 parent be6315e commit ea89474

File tree

1,628 files changed

+277520
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,628 files changed

+277520
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import mongoose from "mongoose";
2+
3+
const subTodoSchema = new mongoose.Schema(
4+
{
5+
content: {
6+
type: String,
7+
required: true,
8+
},
9+
complete: {
10+
type: Boolean,
11+
default: false,
12+
},
13+
createdBy: {
14+
type: mongoose.Schema.Types.ObjectId,
15+
ref: "User",
16+
},
17+
},
18+
{ timestamps: true }
19+
);
20+
21+
export const SubTodo = mongoose.model("SubTodo", subTodoSchema);
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import mongoose from "mongoose";
2+
3+
const todoSchema = new mongoose.Schema(
4+
{
5+
content: {
6+
type: String,
7+
required: true,
8+
},
9+
complete: {
10+
type: Boolean,
11+
default: false,
12+
},
13+
createdBy: {
14+
type: mongoose.Schema.Types.ObjectId,
15+
ref: "User",
16+
},
17+
//subTodos will be array
18+
subTodos: [
19+
{
20+
type: mongoose.Schema.Types.ObjectId,
21+
ref: "SubTodo",
22+
},
23+
], //Array of Sub-Todos
24+
},
25+
{ timestamps: true }
26+
);
27+
28+
export const Todo = mongoose.model("Todo", todoSchema);
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import mongoose from "mongoose";
2+
3+
const userSchema = new mongoose.Schema(
4+
{
5+
username: {
6+
type: String,
7+
required: true,
8+
unique: true,
9+
lowercase: true,
10+
},
11+
email: {
12+
type: String,
13+
required: true,
14+
unique: true,
15+
lowercase: true,
16+
},
17+
password: {
18+
type: String,
19+
// required: true,
20+
required: [true, "Password is required"],
21+
},
22+
},
23+
{ timestamps: true }
24+
);
25+
26+
export const User = mongoose.model("User", userSchema);

01datamodeling/node_modules/.bin/mime

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

0 commit comments

Comments
 (0)