const { DataTypes } = require('sequelize'); module.exports = sequelize => { const User = sequelize.define( 'User', { id: { type: DataTypes.INTEGER, autoIncrement: true, primaryKey: true, }, keycloakId: { type: DataTypes.STRING, allowNull: true, unique: true, }, name: { type: DataTypes.STRING, allowNull: false, }, email: { type: DataTypes.STRING, allowNull: false, unique: true, validate: { isEmail: true, }, }, avatarUrl: { type: DataTypes.STRING, allowNull: false, }, score: { type: DataTypes.INTEGER, defaultValue: 0, }, }, { timestamps: false, tableName: 'users', } ); User.prototype.toJSON = function () { const values = { ...this.get() }; if (values.id !== undefined) values.id = String(values.id); return values; }; return User; };