aboutsummaryrefslogtreecommitdiff
path: root/src/model/User.ts
diff options
context:
space:
mode:
authorschererleander <leander@schererleander.de>2025-12-26 14:57:10 +0100
committerschererleander <leander@schererleander.de>2025-12-26 14:57:10 +0100
commit773a4baae1945b9ecc2f9fa71f6b22be70ea8f9c (patch)
treed6cf2b0813db109b25213c18eb2b81bf1c5bc122 /src/model/User.ts
parent15cd71840c24b01f4bacecfa1fdb63515575e60f (diff)
refactor(model): strip sensitive fields in toJSON transform
Diffstat (limited to 'src/model/User.ts')
-rw-r--r--src/model/User.ts12
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;