Ajout de models et routes pour les QCM

This commit is contained in:
Julien Gautier
2024-01-11 16:54:27 +01:00
parent e1a0ba340c
commit 0bed64001b
5 changed files with 98 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
var mongoose = require('mongoose');
var uniqueValidator = require('mongoose-unique-validator');
var slug = require('slug');
var QCMSchema = new mongoose.Schema({
name: { type: String, lowercase: true, unique: true },
categories: [
{ type: mongoose.Schema.Types.ObjectId, ref: 'QCMCategory' }
]
}, {timestamps: true, toJSON: {virtuals: true}});
QCMSchema.plugin(uniqueValidator, { message: 'is already taken' });
QCMSchema.methods.toJSONFor = function(){
return {
name: this.name,
categories: this.categories,
createdAt: this.createdAt,
updatedAt: this.updatedAt
};
};
mongoose.model('QCM', QCMSchema);
+23
View File
@@ -0,0 +1,23 @@
var mongoose = require('mongoose');
var uniqueValidator = require('mongoose-unique-validator');
var slug = require('slug');
var QCMCategorySchema = new mongoose.Schema({
num: number,
name: { type: String, lowercase: true, unique: true },
questions: []
}, {timestamps: true, toJSON: {virtuals: true}});
QCMCategorySchema.plugin(uniqueValidator, { message: 'is already taken' });
QCMCategorySchema.methods.toJSONFor = function(){
return {
num: this.num,
name: this.name,
questions: this.questions,
createdAt: this.createdAt,
updatedAt: this.updatedAt
};
};
mongoose.model('QCMCategory', QCMCategorySchema);