trsstapi / src /models /User.js
Twan07's picture
Create src/models/User.js
814d5ba verified
import mongoose from "mongoose";
const RefreshTokenSchema = new mongoose.Schema({
hash: String,
ip: String,
userAgent: String,
createdAt: { type: Date, default: Date.now },
});
const UserSchema = new mongoose.Schema(
{
email: { type: String, unique: true, index: true },
passwordHash: String,
role: { type: String, enum: ["user", "admin"], default: "user" },
refreshTokens: [RefreshTokenSchema],
deletedAt: { type: Date, default: null },
},
{ timestamps: true }
);
UserSchema.pre(/^find/, function () {
this.where({ deletedAt: null });
});
export const User = mongoose.model("User", UserSchema);