import { DataTypes, Model } from "sequelize"; import sequelize from "../database/database"; interface SessionAttributes { session_id: string; user_id: string; // needed in the ui to delete the session id: string; browser: string; os: string; last_used: Date; expires: Date; } class Session extends Model implements SessionAttributes { declare session_id: string; declare user_id: string; declare id: string; declare browser: string; declare os: string; declare last_used: Date; declare expires: Date; } Session.init( { // Model attributes are defined here session_id: { primaryKey: true, type: DataTypes.STRING, allowNull: false, }, user_id: { type: DataTypes.STRING, allowNull: false, }, id: { type: DataTypes.STRING, allowNull: false, }, browser: { type: DataTypes.STRING, allowNull: false, }, os: { type: DataTypes.STRING, allowNull: false, }, last_used: { type: DataTypes.DATE, allowNull: false, }, expires: { type: DataTypes.DATE, allowNull: false, }, }, { tableName: "sessions", sequelize, // passing the `sequelize` instance is required createdAt: "created_at", updatedAt: "updated_at", } ); export default Session;