initial commit

This commit is contained in:
2022-01-04 16:13:33 -03:00
commit a361ea1d34
51 changed files with 12795 additions and 0 deletions

19
backend/models/cita.js Normal file
View File

@@ -0,0 +1,19 @@
'use strict'
const mongoose = require('mongoose');
const CitaSchema = mongoose.Schema({
rut: {
type: String,
required: true
},
// La especialista viene de la disponibilidad, es redundante aquí.
/*especialista: {
type: mongoose.Schema.ObjectId, ref: "especialista",
required: true
},*/
disponibilidad: {
type: mongoose.Schema.ObjectId, ref: "disponibilidad",
required: true
}
});
module.exports = mongoose.model('cita', CitaSchema);

View File

@@ -0,0 +1,23 @@
'use strict'
const mongoose = require('mongoose');
const DisponibilidadSchema = mongoose.Schema({
especialista: {
type: mongoose.Schema.ObjectId, ref: "especialista",
required: true
},
fecha: {
type: Date,
required: true
},
horario: {
type: String,
required: true
},
disponible: {
type: Boolean,
default: true,
required: true
}
});
module.exports = mongoose.model('disponibilidad', DisponibilidadSchema);

View File

@@ -0,0 +1,10 @@
'use strict'
const mongoose = require('mongoose');
const EspecialidadSchema = mongoose.Schema({
descripcion: {
type: String,
required: true
}
});
module.exports = mongoose.model('especialidad', EspecialidadSchema);

View File

@@ -0,0 +1,14 @@
'use strict'
const mongoose = require('mongoose');
const EspecialistaSchema = mongoose.Schema({
nombre: {
type: String,
required: true
},
especialidad: {
type: mongoose.Schema.ObjectId, ref: "especialidad",
required: true
}
});
module.exports = mongoose.model('especialista', EspecialistaSchema);

46
backend/models/usuario.js Normal file
View File

@@ -0,0 +1,46 @@
'use strict'
const bcrypt = require('bcrypt-nodejs');
const mongoose = require('mongoose');
const UsuarioSchema = mongoose.Schema({
nombre: {
type: String,
required: true
},
mail: {
type: String,
required: true
},
pass: {
type: String,
required: true
},
activo: {
type: Boolean
}
});
UsuarioSchema.pre('save', function(next) {
const usuario = this;
if (!usuario.isModified('pass')) {
return next();
}
if (!usuario.hasOwnProperty('activo')) {
usuario.activo = true;
}
bcrypt.genSalt(10, (err, salt) => {
if (err) {
next(err);
}
bcrypt.hash(usuario.pass, salt, null, (err, hash) => {
if (err) {
next(err);
}
usuario.pass = hash;
next();
});
});
});
module.exports = mongoose.model('usuario', UsuarioSchema);