diff options
| author | schererleander <leander@schererleander.de> | 2025-12-26 14:57:10 +0100 |
|---|---|---|
| committer | schererleander <leander@schererleander.de> | 2025-12-26 14:57:10 +0100 |
| commit | 773a4baae1945b9ecc2f9fa71f6b22be70ea8f9c (patch) | |
| tree | d6cf2b0813db109b25213c18eb2b81bf1c5bc122 | |
| parent | 15cd71840c24b01f4bacecfa1fdb63515575e60f (diff) | |
refactor(model): strip sensitive fields in toJSON transform
| -rw-r--r-- | src/model/User.ts | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/model/User.ts b/src/model/User.ts index 7b845cf..e1784f2 100644 --- a/src/model/User.ts +++ b/src/model/User.ts @@ -1,4 +1,4 @@ -import { Schema, model, models } from "mongoose"; +import { Schema, model, models, Document } from "mongoose"; const UserSchema = new Schema({ name: { type: String, required: true }, @@ -13,6 +13,14 @@ const UserSchema = new Schema({ timestamps: true }); +UserSchema.set('toJSON', { + transform: (_doc: Document, ret: Record<string, unknown>) => { + delete ret.password; + delete ret.__v; + return ret; + } +}); + const User = models.User || model("User", UserSchema); -export default User;
\ No newline at end of file +export default User; |
