39 lines
699 B
TypeScript
39 lines
699 B
TypeScript
import mongoose, { Document, Schema } from 'mongoose';
|
|
|
|
export interface IUser extends Document {
|
|
id: string;
|
|
username: string;
|
|
email: string;
|
|
password: string;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
}
|
|
|
|
const UserSchema = new Schema<IUser>(
|
|
{
|
|
username: {
|
|
type: String,
|
|
required: true,
|
|
unique: true,
|
|
trim: true,
|
|
minlength: 3
|
|
},
|
|
email: {
|
|
type: String,
|
|
required: true,
|
|
unique: true,
|
|
trim: true,
|
|
lowercase: true
|
|
},
|
|
password: {
|
|
type: String,
|
|
required: true,
|
|
minlength: 6
|
|
}
|
|
},
|
|
{
|
|
timestamps: true
|
|
}
|
|
);
|
|
|
|
export default mongoose.models.User || mongoose.model<IUser>('User', UserSchema);
|