diff --git a/server/db/install.js b/server/db/install.js index 21c5572..48ae471 100644 --- a/server/db/install.js +++ b/server/db/install.js @@ -1,27 +1,76 @@ require('../config/config'); const colors = require('colors'); +const Adscripcion = require('./tablas/Adscripcion'); +const Categoria = require('./tablas/Categoria'); +const Contacto = require('./tablas/Contacto'); +const DatosAcademicos = require('./tablas/DatosAcademicos'); +const Edificio = require('./tablas/Edificio'); +const Investigador = require('./tablas/Investigador'); +const TipoContacto = require('./tablas/TipoContacto'); +const TipoDatosAcademicos = require('./tablas/TipoDatosAcademicos'); // const encriptar = require('../helper/encriptar'); -const TipoUsuario = require('./tablas/TipoUsuario'); const Usuario = require('./tablas/Usuario'); const drop = async () => { console.log('\nPaso 1) Desinstalando la db.'.bold.blue); + await DatosAcademicos.drop(); + console.log('La tabla DatosAcademicos se desinstalo correctamente.'.magenta); + + await Contacto.drop(); + console.log('La tabla Contacto se desinstalo correctamente.'.magenta); + + await Investigador.drop(); + console.log('La tabla Investigador se desinstalo correctamente.'.magenta); + await Usuario.drop(); console.log('La tabla Usuario se desinstalo correctamente.'.magenta); - await TipoUsuario.drop(); - console.log('La tabla TipoUsuario se desinstalo correctamente.'.magenta); + await TipoDatosAcademicos.drop(); + console.log('La tabla TipoDatosAcademicos se desinstalo correctamente.'.magenta); + + await TipoContacto.drop(); + console.log('La tabla TipoContacto se desinstalo correctamente.'.magenta); + + await Categoria.drop(); + console.log('La tabla Categoria se desinstalo correctamente.'.magenta); + + await Edificio.drop(); + console.log('La tabla Edificio se desinstalo correctamente.'.magenta); + + await Adscripcion.drop(); + console.log('La tabla Adscripcion se desinstalo correctamente.'.magenta); }; const sync = async () => { console.log('\nPaso 2) Instalando la db.'.bold.blue); - await TipoUsuario.sync(); - console.log('La tabla TipoUsuario se instalo correctamente.'.magenta); + await Categoria.sync(); + console.log('La tabla Categoria se instalo correctamente.'.magenta); + + await Edificio.sync(); + console.log('La tabla Edificio se instalo correctamente.'.magenta); + + await Adscripcion.sync(); + console.log('La tabla Adscripcion se instalo correctamente.'.magenta); + + await TipoContacto.sync(); + console.log('La tabla TipoContacto se instalo correctamente.'.magenta); + + await TipoDatosAcademicos.sync(); + console.log('La tabla TipoDatosAcademicos se instalo correctamente.'.magenta); await Usuario.sync(); console.log('La tabla Usuario se instalo correctamente.'.magenta); + + await Investigador.sync(); + console.log('La tabla Investigador se instalo correctamente.'.magenta); + + await Contacto.sync(); + console.log('La tabla Contacto se instalo correctamente.'.magenta); + + await DatosAcademicos.sync(); + console.log('La tabla DatosAcademicos se instalo correctamente.'.magenta); }; const exe = async () => { diff --git a/server/db/tablas/TipoUsuario.js b/server/db/tablas/Adscripcion.js similarity index 60% rename from server/db/tablas/TipoUsuario.js rename to server/db/tablas/Adscripcion.js index deba06d..f79fd89 100644 --- a/server/db/tablas/TipoUsuario.js +++ b/server/db/tablas/Adscripcion.js @@ -1,27 +1,27 @@ const { DataTypes, Model } = require('sequelize'); const sequelize = require('../../config/sequelize.conf'); -class TipoUsuario extends Model {} -TipoUsuario.init( +class Adscripcion extends Model {} +Adscripcion.init( { - idTipoUsuario: { + idAdscripcion: { type: DataTypes.INTEGER, primaryKey: true, allowNull: false, unique: true, autoIncrement: true, }, - tipoUsuario: { - type: DataTypes.STRING(15), + Adscripcion: { + type: DataTypes.STRING(200), allowNull: false, }, }, { sequelize, - modelName: 'TipoUsuario', - tableName: 'tipo_usuario', + modelName: 'Adscripcion', + tableName: 'adscripcion', timestamps: false, } ); -module.exports = TipoUsuario; +module.exports = Adscripcion; diff --git a/server/db/tablas/Categoria.js b/server/db/tablas/Categoria.js new file mode 100644 index 0000000..7f08998 --- /dev/null +++ b/server/db/tablas/Categoria.js @@ -0,0 +1,27 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); + +class Categoria extends Model {} +Categoria.init( + { + idCategoria: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + Categoria: { + type: DataTypes.STRING(200), + allowNull: false, + }, + }, + { + sequelize, + modelName: 'Categoria', + tableName: 'categoria', + timestamps: false, + } +); + +module.exports = Categoria; diff --git a/server/db/tablas/Contacto.js b/server/db/tablas/Contacto.js new file mode 100644 index 0000000..ce9520a --- /dev/null +++ b/server/db/tablas/Contacto.js @@ -0,0 +1,49 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); +const Investigador = require('./Investigador'); +const TipoContacto = require('./TipoContacto'); + +class Contacto extends Model {} +Contacto.init( + { + idContacto: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + contacto: { + type: DataTypes.STRING(200), + allowNull: false, + }, + mostrar: { + type: DataTypes.BOOLEAN, + allowNull: false, + }, + }, + { + sequelize, + modelName: 'Contacto', + tableName: 'contacto', + timestamps: false, + } +); + +DatosAcademicos.belongsTo(TipoContacto, { + foreignKey: { + name: 'idTipoContacto', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +DatosAcademicos.belongsTo(Investigador, { + foreignKey: { + name: 'idInvestigador', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +module.exports = Contacto; \ No newline at end of file diff --git a/server/db/tablas/DatosAcademicos.js b/server/db/tablas/DatosAcademicos.js new file mode 100644 index 0000000..1bd65b9 --- /dev/null +++ b/server/db/tablas/DatosAcademicos.js @@ -0,0 +1,45 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); +const Investigador = require('./Investigador'); +const TipoDatosAcademicos = require('./TipoDatosAcademicos'); + +class DatosAcademicos extends Model {} +DatosAcademicos.init( + { + idDatosAcademicos: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + datoAcademico: { + type: DataTypes.STRING(200), + allowNull: false, + }, + }, + { + sequelize, + modelName: 'DatosAcademicos', + tableName: 'datosAcademicos', + timestamps: false, + } +); + +DatosAcademicos.belongsTo(TipoDatosAcademicos, { + foreignKey: { + name: 'idTipoDatoAcademico', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +DatosAcademicos.belongsTo(Investigador, { + foreignKey: { + name: 'idInvestigador', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +module.exports = DatosAcademicos; diff --git a/server/db/tablas/Edificio.js b/server/db/tablas/Edificio.js new file mode 100644 index 0000000..0f6f135 --- /dev/null +++ b/server/db/tablas/Edificio.js @@ -0,0 +1,27 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); + +class Edificio extends Model {} +Edificio.init( + { + idEdificio: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + Edificio: { + type: DataTypes.STRING(100), + allowNull: false, + }, + }, + { + sequelize, + modelName: 'Edificio', + tableName: 'edificio', + timestamps: false, + } +); + +module.exports = Edificio; diff --git a/server/db/tablas/Investigador.js b/server/db/tablas/Investigador.js new file mode 100644 index 0000000..18a118b --- /dev/null +++ b/server/db/tablas/Investigador.js @@ -0,0 +1,66 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); +const Usuario = require('./Usuario'); + +class Investigador extends Model {} +Investigador.init( + { + idInvestigador: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + nombre: { + type: DataTypes.STRING(50), + allowNull: false, + }, + apellidoP: { + type: DataTypes.STRING(50), + allowNull: false, + }, + apellidoM: { + type: DataTypes.STRING(50), + allowNull: false, + }, + noTrabajador: { + type: DataTypes.INTEGER, + allowNull: false, + unique: true, + }, + RFC: { + type: DataTypes.STRING(70), + allowNull: false, + unique: true, + }, + ubicacion: { + type: DataTypes.STRING(200), + allowNull: false, + }, + fotografia: { + type: DataTypes.STRING, + allowNull: true, + }, + activo: { + type: DataTypes.BOOLEAN, + allowNull: false, + }, + }, + { + sequelize, + modelName: 'Investigador', + tableName: 'investigador', + timestamps: false, + } +); + +Investigador.belongsTo(Usuario, { + foreignKey: { + name: 'idUsuario', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +module.exports = Investigador; diff --git a/server/db/tablas/TipoContacto.js b/server/db/tablas/TipoContacto.js new file mode 100644 index 0000000..4d15e0f --- /dev/null +++ b/server/db/tablas/TipoContacto.js @@ -0,0 +1,27 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); + +class TipoContacto extends Model {} +TipoContacto.init( + { + idTipoContacto: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + TipoContacto: { + type: DataTypes.STRING(50), + allowNull: false, + }, + }, + { + sequelize, + modelName: 'TipoContacto', + tableName: 'tipo_contacto', + timestamps: false, + } +); + +module.exports = TipoContacto; diff --git a/server/db/tablas/TipoDatosAcademicos.js b/server/db/tablas/TipoDatosAcademicos.js new file mode 100644 index 0000000..82f8c26 --- /dev/null +++ b/server/db/tablas/TipoDatosAcademicos.js @@ -0,0 +1,27 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); + +class TipoDatosAcademicos extends Model {} +TipoDatosAcademicos.init( + { + idTipoDatosAcademicos: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + TipoDatosAcademicos: { + type: DataTypes.STRING(15), + allowNull: false, + }, + }, + { + sequelize, + modelName: 'TipoDatosAcademicos', + tableName: 'tipo_datos_academicos', + timestamps: false, + } +); + +module.exports = TipoDatosAcademicos; diff --git a/server/db/tablas/Usuario.js b/server/db/tablas/Usuario.js index 4e7660a..ed4c608 100644 --- a/server/db/tablas/Usuario.js +++ b/server/db/tablas/Usuario.js @@ -1,6 +1,5 @@ const { DataTypes, Model } = require('sequelize'); const sequelize = require('../../config/sequelize.conf'); -const TipoUsuario = require('./TipoUsuario'); class Usuario extends Model {} Usuario.init( @@ -22,15 +21,10 @@ Usuario.init( allowNull: true, defaultValue: null, }, - nombre: { - type: DataTypes.STRING(70), - allowNull: true, - defaultValue: null, - }, - activo: { - type: DataTypes.BOOLEAN, + tipoUsuario: { + type: DataTypes.INTEGER, allowNull: false, - }, + } }, { sequelize, @@ -40,12 +34,4 @@ Usuario.init( } ); -Usuario.belongsTo(TipoUsuario, { - foreignKey: { - name: 'idTipoUsuario', - type: DataTypes.INTEGER, - allowNull: false, - }, -}); - module.exports = Usuario;