Bonjour,

Voila je me demande s'il m'est possible de créer un constructeur dans mon schema, plutôt que de copier chaque variables ?
Apparement ça me plante le serveur, donc soit ce n'est pas possible, soit je m'y prend mal ? Je me suis inspiré des Class de model que j'utilise dans Angular et qui côté Front fonctionne à merveille. L'idée est bien évidement d'être un peu faineant dans la construction de mes API ;-)

const Model = require('../models/utilisateurs');

exports.create = (req, res, next) => {  const model = new Model({    
name: req.body.name,    
surname: req.body.surname,    
email: req.body.email,    
function: req.body.function,    
mobile: req.body.mobile,    
profil: req.body.profil,    
photoUrl: req.body.photoUrl,    
main: req.body.main,    
admin: req.body.admin,    
activ: req.body.activ  });
model.save().then(    () => {      res.status(201).json({        message: 'Post saved successfully!'      });
} )
.catch(    (error) => { 
res.status(400).json({        error: error      });
 } );
 };

Décrivez ici votre code ou ce que vous cherchez à faire

const model = new Model( req.body)

Côté model:

const mongoose = require('mongoose');
utilisateursSchema = mongoose.Schema({
  name: { type: String, required: true },
  surname: { type: String },
  email: { type: String, required: true },
  function: { type: String },
  mobile: { type: String },
  profil: { type: String },
  photoUrl: { type: String },
  main: { type: Boolean },
  admin: { type: Boolean },
  activ: { type: Boolean }
  constructor(value?)
  {      value = value || {};      
this.name = value.name || '';
      this.surname = value.surname || '';
      this.email = value.email || '';
      this.function = value.function || '';
      this.mobile = value.mobile || '';
      this.profil = value.profil || '';
      this.admin = value.admin || false;
      this.main = value.main || false;
      this.activ = value.activ || true;
      this.photoUrl = value.photoUrl || 'assets/images/avatars/profile.jpg';
  }});
module.exports = mongoose.model('Utilisateurs', utilisateursSchema);

Aucune réponse