typescript-express-starter
Version:
Quick and Easy TypeScript Express Starter
40 lines (34 loc) • 903 B
text/typescript
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;
}