diff --git a/server/models/install.js b/server/models/install.js index 2a7217c..2beaf77 100644 --- a/server/models/install.js +++ b/server/models/install.js @@ -3,39 +3,95 @@ const colors = require("colors"); const bcrypt = require("bcrypt"); const admin = require("./tablas/Admin"); +const os = require("./tablas/OS"); +const activofijo = require("./tablas/ActivoFijo"); +const marca = require("./tablas/Marca"); +const descripcionadicional = require("./tablas/DescripcionAdicional"); +const uso = require("./tablas/Uso"); +const ubicacion = require("./tablas/Ubicacion"); +const tipo = require("./tablas/Tipo"); +const unidadresponsable = require("./tablas/UResponsable"); +const inventario = require("./tablas/Inventario"); +const printers = require("./tablas/Printers"); +const equipo = require("./tablas/Equipo"); require("../config/config"); async function remove() { - console.log(logSymbols.info, "Paso 1 : Borrando base de datos \n".blue.bold); + console.log(logSymbols.info, "Paso 1 : Borrando base de datos \n".blue.bold); - await admin.drop(); - console.log(logSymbols.success, "admin"); + await equipo.drop(); + console.log(logSymbols.success, "equipo"); + await printers.drop(); + console.log(logSymbols.success, "impresoras"); + await inventario.drop(); + console.log(logSymbols.success, "inventario"); + await admin.drop(); + console.log(logSymbols.success, "admin"); + await os.drop(); + console.log(logSymbols.success, "os"); + await activofijo.drop(); + console.log(logSymbols.success, "activo fijo"); + await marca.drop(); + console.log(logSymbols.success, "marca"); + await descripcionadicional.drop(); + console.log(logSymbols.success, "descripcion adicional"); + await uso.drop(); + console.log(logSymbols.success, "uso"); + await ubicacion.drop(); + console.log(logSymbols.success, "ubicacion"); + await tipo.drop(); + console.log(logSymbols.success, "tipo"); + await unidadresponsable.drop(); + console.log(logSymbols.success, "Unidad Responsable"); } async function install() { - console.log( - logSymbols.info, - "Paso 2 : Instalando base de datos \n".blue.bold - ); + console.log( + logSymbols.info, + "Paso 2 : Instalando base de datos \n".blue.bold + ); - await admin.sync(); - console.log(logSymbols.success, "admin"); + await admin.sync(); + console.log(logSymbols.success, "admin"); + await os.sync(); + console.log(logSymbols.success, "os"); + await activofijo.sync(); + console.log(logSymbols.success, "activo fijo"); + await marca.sync(); + console.log(logSymbols.success, "marca"); + await descripcionadicional.sync(); + console.log(logSymbols.success, "descripcion adicional"); + await uso.sync(); + console.log(logSymbols.success, "uso"); + await ubicacion.sync(); + console.log(logSymbols.success, "ubicacion"); + await tipo.sync(); + console.log(logSymbols.success, "tipo"); + await unidadresponsable.sync(); + console.log(logSymbols.success, "Unidad Responsable"); + await inventario.sync(); + console.log(logSymbols.success, "inventario"); + await printers.sync(); + console.log(logSymbols.success, "impresoras"); + await equipo.sync(); + console.log(logSymbols.success, "equipo"); + + + //crear clave foranea de una tabla a otra, ejemplo + // responsable.hasMany(programa, { + // foreignKey: "idResponsable", + // }); -//crear clave foranea de una tabla a otra, ejemplo -// responsable.hasMany(programa, { -// foreignKey: "idResponsable", -// }); - } async function exec() { - await remove(); - await install(); + await remove(); + await install(); - console.log(logSymbols.success, "Éxito al instalar \n".underline.bold.green); - process.exit(); + console.log(logSymbols.success, "Éxito al instalar \n".underline.bold.green); + process.exit(); } -exec(); +exec(); \ No newline at end of file diff --git a/server/models/tablas/ActivoFijo.js b/server/models/tablas/ActivoFijo.js new file mode 100644 index 0000000..530dc7a --- /dev/null +++ b/server/models/tablas/ActivoFijo.js @@ -0,0 +1,21 @@ +const Sequelize = require("sequelize"); +const sequelize = require("../../config/sequelize.conf"); + +class ActivoFijo extends Sequelize.Model {} +ActivoFijo.init({ + idActivoFijo: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + activoFijo: { + type: Sequelize.CHAR, + allowNull: false, + }, +}, { + sequelize, + tableName: "activoFijo", +}); + +module.exports = ActivoFijo; \ No newline at end of file diff --git a/server/models/tablas/DescripcionAdicional.js b/server/models/tablas/DescripcionAdicional.js new file mode 100644 index 0000000..2e6f5a0 --- /dev/null +++ b/server/models/tablas/DescripcionAdicional.js @@ -0,0 +1,21 @@ +const Sequelize = require("sequelize"); +const sequelize = require("../../config/sequelize.conf"); + +class DescripcionAdicional extends Sequelize.Model {} +DescripcionAdicional.init({ + idDescripcion: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + descripcion: { + type: Sequelize.CHAR, + allowNull: false, + }, +}, { + sequelize, + tableName: "descripcionAdicional", +}); + +module.exports = DescripcionAdicional; \ No newline at end of file diff --git a/server/models/tablas/Equipo.js b/server/models/tablas/Equipo.js new file mode 100644 index 0000000..5c79020 --- /dev/null +++ b/server/models/tablas/Equipo.js @@ -0,0 +1,62 @@ +const Sequelize = require("sequelize"); +const sequelize = require("../../config/sequelize.conf"); +const Inventario = require("./Inventario"); +const Marca = require("./Marca"); +const DescripcionAdicional = require("./DescripcionAdicional"); +const OS = require("./OS"); + +class Equipo extends Sequelize.Model {} +Equipo.init({ + idEquipo: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + modelo: { + type: Sequelize.CHAR, + allowNull: false, + }, + noSerie: { + type: Sequelize.CHAR, + allowNull: false, + }, + procesador: { + type: Sequelize.CHAR, + allowNull: false, + }, + vProcesador: { + type: Sequelize.INTEGER, + allowNull: false, + }, + memoria: { + type: Sequelize.CHAR, + allowNull: false, + }, + memoriasz: { + type: Sequelize.INTEGER, + allowNull: false, + }, + vMemoria: { + type: Sequelize.INTEGER, + allowNull: false, + }, + graficos: { + type: Sequelize.CHAR, + allowNull: false, + }, + hdd: { + type: Sequelize.INTEGER, + allowNull: false, + }, +}, { + sequelize, + tableName: "equipo", +}); + +Inventario.hasOne(Equipo, { foreignKey: 'noInventario' }); +Marca.hasOne(Equipo, { foreignKey: 'idMarca' }); +DescripcionAdicional.hasOne(Equipo, { foreignKey: 'idDescripcion' }); +OS.hasOne(Equipo, { foreignKey: 'idOS' }); + +module.exports = Equipo; \ No newline at end of file diff --git a/server/models/tablas/Inventario.js b/server/models/tablas/Inventario.js new file mode 100644 index 0000000..cb95b03 --- /dev/null +++ b/server/models/tablas/Inventario.js @@ -0,0 +1,31 @@ +const Sequelize = require("sequelize"); +const sequelize = require("../../config/sequelize.conf"); +const Marca = require("./Marca"); +const Tipo = require("./Tipo"); +const ActivoFijo = require("./ActivoFijo"); +const UResponsable = require("./UResponsable"); +const Ubicacion = require("./Ubicacion"); +const Uso = require("./Uso"); + +class Inventario extends Sequelize.Model {} +Inventario.init({ + noInventario: { + type: Sequelize.CHAR, + primaryKey: true, + allowNull: false, + }, + noResguardo: { + type: Sequelize.INTEGER, + allowNull: false, + }, +}, { + sequelize, + tableName: "inventario", +}); + +ActivoFijo.hasOne(Inventario, { foreignKey: 'idActivoFijo' }); +UResponsable.hasOne(Inventario, { foreignKey: 'idUnidadResponsable' }); +Ubicacion.hasOne(Inventario, { foreignKey: 'idUbicacion' }); +Uso.hasOne(Inventario, { foreignKey: 'idUso' }); + +module.exports = Inventario; \ No newline at end of file diff --git a/server/models/tablas/Marca.js b/server/models/tablas/Marca.js new file mode 100644 index 0000000..75a98fa --- /dev/null +++ b/server/models/tablas/Marca.js @@ -0,0 +1,21 @@ +const Sequelize = require("sequelize"); +const sequelize = require("../../config/sequelize.conf"); + +class Marca extends Sequelize.Model {} +Marca.init({ + idMarca: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + marca: { + type: Sequelize.CHAR, + allowNull: false, + }, +}, { + sequelize, + tableName: "marca", +}); + +module.exports = Marca; \ No newline at end of file diff --git a/server/models/tablas/OS.js b/server/models/tablas/OS.js new file mode 100644 index 0000000..7f19d57 --- /dev/null +++ b/server/models/tablas/OS.js @@ -0,0 +1,21 @@ +const Sequelize = require("sequelize"); +const sequelize = require("../../config/sequelize.conf"); + +class OS extends Sequelize.Model {} +OS.init({ + idOS: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + osname: { + type: Sequelize.CHAR, + allowNull: false, + }, +}, { + sequelize, + tableName: "OS", +}); + +module.exports = OS; \ No newline at end of file diff --git a/server/models/tablas/Printers.js b/server/models/tablas/Printers.js new file mode 100644 index 0000000..0f3fa7a --- /dev/null +++ b/server/models/tablas/Printers.js @@ -0,0 +1,28 @@ +const Sequelize = require("sequelize"); +const sequelize = require("../../config/sequelize.conf"); +const Marca = require("./Marca"); +const Tipo = require("./Tipo"); +const Inventario = require("./Inventario"); + +class Printers extends Sequelize.Model {} +Printers.init({ + idImpresora: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + noSerie: { + type: Sequelize.CHAR, + allowNull: false, + }, +}, { + sequelize, + tableName: "printers", +}); + +Inventario.hasOne(Printers, { foreignKey: 'noInventario' }); +Marca.hasOne(Printers, { foreignKey: 'idMarca' }); +Tipo.hasOne(Printers, { foreignKey: 'idTipo' }); + +module.exports = Printers; \ No newline at end of file diff --git a/server/models/tablas/Tipo.js b/server/models/tablas/Tipo.js new file mode 100644 index 0000000..b64b2ae --- /dev/null +++ b/server/models/tablas/Tipo.js @@ -0,0 +1,21 @@ +const Sequelize = require("sequelize"); +const sequelize = require("../../config/sequelize.conf"); + +class Tipo extends Sequelize.Model {} +Tipo.init({ + idTipo: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + tipo: { + type: Sequelize.CHAR, + allowNull: false, + }, +}, { + sequelize, + tableName: "tipo", +}); + +module.exports = Tipo; \ No newline at end of file diff --git a/server/models/tablas/UResponsable.js b/server/models/tablas/UResponsable.js new file mode 100644 index 0000000..96a2feb --- /dev/null +++ b/server/models/tablas/UResponsable.js @@ -0,0 +1,25 @@ +const Sequelize = require("sequelize"); +const sequelize = require("../../config/sequelize.conf"); + +class UResponsable extends Sequelize.Model {} +UResponsable.init({ + idUnidadResponsable: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + uResponsable: { + type: Sequelize.CHAR, + allowNull: false, + }, + nombreResponsable: { + type: Sequelize.CHAR, + allowNull: false, + }, +}, { + sequelize, + tableName: "uResponsable", +}); + +module.exports = UResponsable; \ No newline at end of file diff --git a/server/models/tablas/Ubicacion.js b/server/models/tablas/Ubicacion.js new file mode 100644 index 0000000..abfc69e --- /dev/null +++ b/server/models/tablas/Ubicacion.js @@ -0,0 +1,21 @@ +const Sequelize = require("sequelize"); +const sequelize = require("../../config/sequelize.conf"); + +class Ubicacion extends Sequelize.Model {} +Ubicacion.init({ + idUbicacion: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + ubicacion: { + type: Sequelize.CHAR, + allowNull: false, + }, +}, { + sequelize, + tableName: "ubicacion", +}); + +module.exports = Ubicacion; \ No newline at end of file diff --git a/server/models/tablas/Uso.js b/server/models/tablas/Uso.js new file mode 100644 index 0000000..1a9d3a8 --- /dev/null +++ b/server/models/tablas/Uso.js @@ -0,0 +1,21 @@ +const Sequelize = require("sequelize"); +const sequelize = require("../../config/sequelize.conf"); + +class Uso extends Sequelize.Model {} +Uso.init({ + idUso: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + allowNull: false, + }, + uso: { + type: Sequelize.CHAR, + allowNull: false, + }, +}, { + sequelize, + tableName: "uso", +}); + +module.exports = Uso; \ No newline at end of file