Skip to content

Commit e63122d

Browse files
committed
feat: create Feedback model
1 parent 8baf96b commit e63122d

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

models/feedback/feedback.model.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { Model, model, Types } from 'mongoose';
2+
import { FeedbackSchema, feedbackSchema } from './feedback.schema';
3+
4+
export default model<FeedbackSchema, Model<FeedbackSchema>>('Feedback', feedbackSchema);
5+

models/feedback/feedback.schema.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { Document, Schema, Types } from 'mongoose';
2+
3+
export interface FeedbackSchema extends Document {
4+
contents: string;
5+
authorId: string;
6+
score: number;
7+
version: string;
8+
createdAt: Date;
9+
}
10+
11+
export const FeedbackSchema = new Schema({
12+
contents: String,
13+
authorId: {
14+
type: Types.ObjectId,
15+
required: true,
16+
ref: 'User'
17+
},
18+
score: {
19+
type: Number,
20+
required: true
21+
},
22+
version: {
23+
type: String,
24+
match: /^v\d+\.\d+\.\d+$/,
25+
required: true
26+
}
27+
}, { timestamps: true });
28+

0 commit comments

Comments
 (0)