diff --git a/server/db/tablas/Carrera.js b/server/db/tablas/Carrera.js new file mode 100644 index 0000000..0c15c7c --- /dev/null +++ b/server/db/tablas/Carrera.js @@ -0,0 +1,27 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); + +class Carrera extends Model {} +Carrera.init( + { + idCarrera: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + carrera: { + type: DataTypes.STRING(15), + allowNull: false, + }, + }, + { + sequelize, + modelName: 'Carrera', + tableName: 'carrera', + timestamps: false, + } +); + +module.exports = Carrera; diff --git a/server/db/tablas/Carrito.js b/server/db/tablas/Carrito.js new file mode 100644 index 0000000..4e38534 --- /dev/null +++ b/server/db/tablas/Carrito.js @@ -0,0 +1,53 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); +const TipoCarrito = require('./TipoCarrito'); +const Modulo = require('./Modulo'); + +class Carrito extends Model {} +Carrito.init( + { + idCarrito: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + carrito: { + type: DataTypes.STRING(15), + allowNull: false, + }, + sobrenombre: { + type: DataTypes.STRING(15), + allowNull: false, + }, + activo: { + type: DataTypes.BOOLEAN, + allowNull: false, + }, + }, + { + sequelize, + modelName: 'Carrito', + tableName: 'carrito', + timestamps: false, + } +); + +Carrito.belongsTo(TipoCarrito, { + foreignKey: { + name: 'idTipoCarrito', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +Carrito.belongsTo(Modulo, { + foreignKey: { + name: 'idModulo', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +module.exports = Carrito; diff --git a/server/db/tablas/Equipo.js b/server/db/tablas/Equipo.js new file mode 100644 index 0000000..89a4baf --- /dev/null +++ b/server/db/tablas/Equipo.js @@ -0,0 +1,67 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); +const Carrito = require('./Carrito'); +const Status = require('./Status'); +const Programa = require('./Programa'); + +class Equipo extends Model {} +Equipo.init( + { + idEquipo: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + numeroSerie: { + type: DataTypes.STRING(15), + allowNull: false, + }, + numeroInventario: { + type: DataTypes.STRING(15), + allowNull: false, + }, + sobrenombre: { + type: DataTypes.STRING(15), + allowNull: false, + }, + activo: { + type: DataTypes.BOOLEAN, + allowNull: false, + }, + }, + { + sequelize, + modelName: 'Equipo', + tableName: 'equipo', + // activar unicamente updateat + } +); + +Equipo.belongsTo(Carrito, { + foreignKey: { + name: 'idCarrito', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +Equipo.belongsTo(Status, { + foreignKey: { + name: 'idStatus', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +Equipo.belongsTo(Programa, { + foreignKey: { + name: 'idPrograma', + type: DataTypes.INTEGER, + allowNull: true, + defaultValue: null, + }, +}); + +module.exports = Equipo; diff --git a/server/db/tablas/Modulo.js b/server/db/tablas/Modulo.js new file mode 100644 index 0000000..b60f5bf --- /dev/null +++ b/server/db/tablas/Modulo.js @@ -0,0 +1,27 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); + +class Modulo extends Model {} +Modulo.init( + { + idModulo: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + modulo: { + type: DataTypes.STRING(15), + allowNull: false, + }, + }, + { + sequelize, + modelName: 'Modulo', + tableName: 'modulo', + timestamps: false, + } +); + +module.exports = Modulo; diff --git a/server/db/tablas/Operador.js b/server/db/tablas/Operador.js new file mode 100644 index 0000000..6efe533 --- /dev/null +++ b/server/db/tablas/Operador.js @@ -0,0 +1,46 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); +const TipoUsuario = require('./TipoUsuario'); + +class Operador extends Model {} +Operador.init( + { + idOperador: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + operador: { + type: DataTypes.STRING(100), + allowNull: false, + unique: true, + }, + password: { + type: DataTypes.STRING(60), + allowNull: true, + defaultValue: null, + }, + activo: { + type: DataTypes.BOOLEAN, + allowNull: false, + }, + }, + { + sequelize, + modelName: 'Operador', + tableName: 'operador', + timestamps: false, + } +); + +Operador.belongsTo(TipoUsuario, { + foreignKey: { + name: 'idTipoUsuario', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +module.exports = Operador; diff --git a/server/db/tablas/Prestamo.js b/server/db/tablas/Prestamo.js new file mode 100644 index 0000000..c555e16 --- /dev/null +++ b/server/db/tablas/Prestamo.js @@ -0,0 +1,74 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); +const Operador = require('./Operador'); +const Usuario = require('./Usuario'); +const Equipo = require('./Equipo'); + +class Prestamo extends Model {} +Prestamo.init( + { + idPrestamo: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + horaInicio: { + type: DataTypes.DATE, + allowNull: false, + }, + horaFin: { + type: DataTypes.DATE, + allowNull: false, + }, + horaEntrega: { + type: DataTypes.DATE, + allowNull: false, + }, + activo: { + type: DataTypes.BOOLEAN, + allowNull: false, + }, + }, + { + sequelize, + modelName: 'Prestamo', + tableName: 'Prestamo', + // activar createdat + } +); + +Prestamo.belongsTo(Operador, { + foreignKey: { + name: 'idOperadorEntrega', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +Prestamo.belongsTo(Operador, { + foreignKey: { + name: 'idOperadorRegreso', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +Prestamo.belongsTo(Usuario, { + foreignKey: { + name: 'idUsuario', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +Prestamo.belongsTo(Equipo, { + foreignKey: { + name: 'idEquipo', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + +module.exports = Prestamo; diff --git a/server/db/tablas/Programa.js b/server/db/tablas/Programa.js new file mode 100644 index 0000000..5afb10b --- /dev/null +++ b/server/db/tablas/Programa.js @@ -0,0 +1,27 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); + +class Programa extends Model {} +Programa.init( + { + idPrograma: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + programa: { + type: DataTypes.STRING(15), + allowNull: false, + }, + }, + { + sequelize, + modelName: 'Programa', + tableName: 'programa', + timestamps: false, + } +); + +module.exports = Programa; diff --git a/server/db/tablas/Status.js b/server/db/tablas/Status.js new file mode 100644 index 0000000..ea475f4 --- /dev/null +++ b/server/db/tablas/Status.js @@ -0,0 +1,27 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); + +class Status extends Model {} +Status.init( + { + idStatus: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + status: { + type: DataTypes.STRING(15), + allowNull: false, + }, + }, + { + sequelize, + modelName: 'Status', + tableName: 'status', + timestamps: false, + } +); + +module.exports = Status; diff --git a/server/db/tablas/TipoCarrito.js b/server/db/tablas/TipoCarrito.js new file mode 100644 index 0000000..f9ef3ca --- /dev/null +++ b/server/db/tablas/TipoCarrito.js @@ -0,0 +1,27 @@ +const { DataTypes, Model } = require('sequelize'); +const sequelize = require('../../config/sequelize.conf'); + +class TipoCarrito extends Model {} +TipoCarrito.init( + { + idTipoCarrito: { + type: DataTypes.INTEGER, + primaryKey: true, + allowNull: false, + unique: true, + autoIncrement: true, + }, + tipoCarrito: { + type: DataTypes.STRING(15), + allowNull: false, + }, + }, + { + sequelize, + modelName: 'TipoCarrito', + tableName: 'tipo_carrito', + timestamps: false, + } +); + +module.exports = TipoCarrito; diff --git a/server/db/tablas/Usuario.js b/server/db/tablas/Usuario.js index 4e7660a..f7a769b 100644 --- a/server/db/tablas/Usuario.js +++ b/server/db/tablas/Usuario.js @@ -1,6 +1,7 @@ const { DataTypes, Model } = require('sequelize'); const sequelize = require('../../config/sequelize.conf'); const TipoUsuario = require('./TipoUsuario'); +const Carrera = require('./Carrera'); class Usuario extends Model {} Usuario.init( @@ -19,15 +20,17 @@ Usuario.init( }, password: { type: DataTypes.STRING(60), - allowNull: true, - defaultValue: null, + allowNull: false, }, nombre: { type: DataTypes.STRING(70), - allowNull: true, - defaultValue: null, + allowNull: false, }, - activo: { + telefono: { + type: DataTypes.STRING(70), + allowNull: false, + }, + multa: { type: DataTypes.BOOLEAN, allowNull: false, }, @@ -48,4 +51,12 @@ Usuario.belongsTo(TipoUsuario, { }, }); +Usuario.belongsTo(Carrera, { + foreignKey: { + name: 'idCarrera', + type: DataTypes.INTEGER, + allowNull: false, + }, +}); + module.exports = Usuario;