Twan07 commited on
Commit
814d5ba
·
verified ·
1 Parent(s): 2f1b630

Create src/models/User.js

Browse files
Files changed (1) hide show
  1. src/models/User.js +25 -0
src/models/User.js ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import mongoose from "mongoose";
2
+
3
+ const RefreshTokenSchema = new mongoose.Schema({
4
+ hash: String,
5
+ ip: String,
6
+ userAgent: String,
7
+ createdAt: { type: Date, default: Date.now },
8
+ });
9
+
10
+ const UserSchema = new mongoose.Schema(
11
+ {
12
+ email: { type: String, unique: true, index: true },
13
+ passwordHash: String,
14
+ role: { type: String, enum: ["user", "admin"], default: "user" },
15
+ refreshTokens: [RefreshTokenSchema],
16
+ deletedAt: { type: Date, default: null },
17
+ },
18
+ { timestamps: true }
19
+ );
20
+
21
+ UserSchema.pre(/^find/, function () {
22
+ this.where({ deletedAt: null });
23
+ });
24
+
25
+ export const User = mongoose.model("User", UserSchema);