UNPKG

typescript-express-starter

Version:
40 lines (34 loc) 903 B
import { Sequelize, DataTypes, Model, Optional } from 'sequelize'; import { User } from '@interfaces/users.interface'; export type UserCreationAttributes = Optional<User, 'id' | 'email' | 'password'>; export class UserModel extends Model<User, UserCreationAttributes> implements User { public id: number; public email: string; public password: string; public readonly createdAt!: Date; public readonly updatedAt!: Date; } export default function (sequelize: Sequelize): typeof UserModel { UserModel.init( { id: { autoIncrement: true, primaryKey: true, type: DataTypes.INTEGER, }, email: { allowNull: false, type: DataTypes.STRING(45), }, password: { allowNull: false, type: DataTypes.STRING(255), }, }, { tableName: 'users', sequelize, }, ); return UserModel; }