Skip to content

Commit a60a22c

Browse files
authored
Merge pull request #33 from hack4impact-calpoly/challenge-schema
Create Challenge Schema
2 parents b4fce7c + 50973d6 commit a60a22c

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

src/database/challengeSchema.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import mongoose, { Schema, Types } from "mongoose";
2+
3+
export type IChallenges = {
4+
_id: Types.ObjectId;
5+
title: string;
6+
task_ids: Types.ObjectId[];
7+
users: Types.ObjectId[];
8+
};
9+
10+
const challengeSchema = new Schema(
11+
{
12+
title: { type: String, required: true, trim: true },
13+
task_ids: [
14+
{
15+
type: Schema.Types.ObjectId,
16+
ref: "Task",
17+
required: true,
18+
},
19+
],
20+
users: [
21+
{
22+
type: Schema.Types.ObjectId,
23+
ref: "User",
24+
required: true,
25+
},
26+
],
27+
},
28+
{
29+
collection: "devchallenges",
30+
},
31+
);
32+
33+
const ChallengeModel = mongoose.models.Challenge || mongoose.model<IChallenges>("Challenge", challengeSchema);
34+
35+
export default ChallengeModel;

0 commit comments

Comments
 (0)