Initial commit
This commit is contained in:
13
backend/models/Announcement.js
Normal file
13
backend/models/Announcement.js
Normal file
@@ -0,0 +1,13 @@
|
||||
const mongoose = require("mongoose");
|
||||
|
||||
const announcementSchema = new mongoose.Schema(
|
||||
{
|
||||
title: { type: String, required: true },
|
||||
content: { type: String },
|
||||
priority: { type: Number, default: 0 },
|
||||
active: { type: Boolean, default: true },
|
||||
},
|
||||
{ timestamps: true }
|
||||
);
|
||||
|
||||
module.exports = mongoose.model("Announcement", announcementSchema);
|
||||
13
backend/models/BibleVerse.js
Normal file
13
backend/models/BibleVerse.js
Normal file
@@ -0,0 +1,13 @@
|
||||
const mongoose = require("mongoose");
|
||||
|
||||
const bibleVerseSchema = new mongoose.Schema(
|
||||
{
|
||||
text: { type: String, required: true },
|
||||
reference: { type: String, required: true },
|
||||
date: { type: String, trim: true },
|
||||
active: { type: Boolean, default: true },
|
||||
},
|
||||
{ timestamps: true }
|
||||
);
|
||||
|
||||
module.exports = mongoose.model("BibleVerse", bibleVerseSchema);
|
||||
13
backend/models/FamilyMember.js
Normal file
13
backend/models/FamilyMember.js
Normal file
@@ -0,0 +1,13 @@
|
||||
const mongoose = require("mongoose");
|
||||
|
||||
const familyMemberSchema = new mongoose.Schema(
|
||||
{
|
||||
name: { type: String, required: true },
|
||||
emoji: { type: String, required: true },
|
||||
color: { type: String, required: true },
|
||||
order: { type: Number, default: 0 },
|
||||
},
|
||||
{ timestamps: true }
|
||||
);
|
||||
|
||||
module.exports = mongoose.model("FamilyMember", familyMemberSchema);
|
||||
12
backend/models/Photo.js
Normal file
12
backend/models/Photo.js
Normal file
@@ -0,0 +1,12 @@
|
||||
const mongoose = require("mongoose");
|
||||
|
||||
const photoSchema = new mongoose.Schema(
|
||||
{
|
||||
url: { type: String, required: true },
|
||||
caption: { type: String },
|
||||
active: { type: Boolean, default: true },
|
||||
},
|
||||
{ timestamps: true }
|
||||
);
|
||||
|
||||
module.exports = mongoose.model("Photo", photoSchema);
|
||||
15
backend/models/Schedule.js
Normal file
15
backend/models/Schedule.js
Normal file
@@ -0,0 +1,15 @@
|
||||
const mongoose = require("mongoose");
|
||||
|
||||
const scheduleSchema = new mongoose.Schema(
|
||||
{
|
||||
title: { type: String, required: true },
|
||||
description: { type: String },
|
||||
startDate: { type: Date, required: true },
|
||||
endDate: { type: Date, required: true },
|
||||
familyMemberId: { type: mongoose.Schema.Types.ObjectId, ref: "FamilyMember" },
|
||||
isAllDay: { type: Boolean, default: false },
|
||||
},
|
||||
{ timestamps: true }
|
||||
);
|
||||
|
||||
module.exports = mongoose.model("Schedule", scheduleSchema);
|
||||
11
backend/models/Setting.js
Normal file
11
backend/models/Setting.js
Normal file
@@ -0,0 +1,11 @@
|
||||
const mongoose = require("mongoose");
|
||||
|
||||
const settingSchema = new mongoose.Schema(
|
||||
{
|
||||
key: { type: String, required: true, unique: true },
|
||||
value: { type: mongoose.Schema.Types.Mixed },
|
||||
},
|
||||
{ timestamps: true }
|
||||
);
|
||||
|
||||
module.exports = mongoose.model("Setting", settingSchema);
|
||||
13
backend/models/Todo.js
Normal file
13
backend/models/Todo.js
Normal file
@@ -0,0 +1,13 @@
|
||||
const mongoose = require("mongoose");
|
||||
|
||||
const todoSchema = new mongoose.Schema(
|
||||
{
|
||||
familyMemberId: { type: mongoose.Schema.Types.ObjectId, ref: "FamilyMember" },
|
||||
title: { type: String, required: true },
|
||||
completed: { type: Boolean, default: false },
|
||||
dueDate: { type: Date },
|
||||
},
|
||||
{ timestamps: true }
|
||||
);
|
||||
|
||||
module.exports = mongoose.model("Todo", todoSchema);
|
||||
Reference in New Issue
Block a user