Este modelo representa la entidad User en la base de datos y define sus atributos junto con sus restricciones. A continuación se describe el código y las propiedades de cada campo:

import { DataTypes } from 'sequelize';
import sequelize from '../config/database.js';

const User = sequelize.define('User', {
    username: {
        type: DataTypes.STRING,
        allowNull: false,
        unique: true,
    },
    email: {
        type: DataTypes.STRING,
        allowNull: false,
        unique: true,
        validate: {
            isEmail: true,
        },
    },
    password: {
        type: DataTypes.STRING,
        allowNull: false,
    },
    telefono: {
        type: DataTypes.STRING,
        allowNull: true,
    },
}, {
    timestamps: true,
    tableName: 'users',
});

export default User;

Explicación de cada propiedad

  1. username:
  2. email:
  3. password:
  4. telefono:

Configuración del modelo