Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 7x 7x 80x 7x | import mongoose, { Schema } from 'mongoose';
import { IUser , UserData} from 'types/user_types';
const userSchema: Schema = new Schema({
username: {
type: String,
},
email: {
type: String,
required: true
},
password: {
type: String,
}, // Store hashed passwords
imageFilename: {
type: String
},
createdAt: {
type: Date,
default: Date.now
},
updatedAt: {
type: Date,
default: Date.now
},
authProvider: {
type: String
}
}, { timestamps: true, strict: true, versionKey: false });
userSchema.set('toJSON', {
transform: (doc, ret): UserData => {
return {
id: ret._id,
username: ret.username,
email: ret.email,
password: ret.password,
imageFilename: ret?.imageFilename,
createdAt: ret.createdAt,
updatedAt: ret.updatedAt
};
}
});
export const UserModel = mongoose.model<IUser>('User', userSchema); |