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);