Commit 00ee89c5 authored by Yoon, Daeki's avatar Yoon, Daeki 😅
Browse files

User 모델에 스키마 toJSON 옵션 설정으로 비밀번호 반환하지 않게 적용

parent 81cba2c9
import { model, Schema, Types } from "mongoose"; import { model, Schema, Types, version } from "mongoose";
export interface IUser { export interface IUser {
email: string; email: string;
...@@ -12,16 +12,26 @@ const validateEmail = (email: string) => { ...@@ -12,16 +12,26 @@ const validateEmail = (email: string) => {
return re.test(email); return re.test(email);
}; };
const schema = new Schema<IUser>({ const schema = new Schema<IUser>(
email: { {
type: String,//mongoose type 인 String 으로 일반적인 string 과는 겉으로는 대문자 차이 email: {
rquired: true, type: String, //mongoose type인 String으로 일반적인 string과는 겉으로는 대문자 차이
unique: true, rquired: true,
validate: [validateEmail, "이메일을 입력해주세요"], unique: true,
validate: [validateEmail, "이메일을 입력해주세요"],
},
name: { type: String },
password: { type: String, required: true, select: false },
role: { type: Schema.Types.ObjectId, ref: "Role" },
}, },
name: { type: String }, {
password: { type: String, required: true, select: false }, toJSON: {
role: { type: Schema.Types.ObjectId, ref: "Role" }, versionKey: false,
}); transform(doc, ret, options) {
delete ret.password;
},
},
}
);
export default model<IUser>("User", schema); export default model<IUser>("User", schema);
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment