42 lines
927 B
JavaScript
42 lines
927 B
JavaScript
const mongoose = require("mongoose");
|
|
|
|
const userSchema = new mongoose.Schema(
|
|
{
|
|
username: {
|
|
type: String,
|
|
required: [true, "Username is required"],
|
|
unique: true,
|
|
trim: true,
|
|
minlength: [3, "Username must be at least 3 characters long"],
|
|
},
|
|
email: {
|
|
type: String,
|
|
required: [true, "Email is required"],
|
|
unique: true,
|
|
lowercase: true,
|
|
trim: true,
|
|
match: [/^\S+@\S+\.\S+$/, "Please use a valid email address"],
|
|
},
|
|
password: {
|
|
type: String,
|
|
required: [true, "Password is required"],
|
|
minlength: [6, "Password must be at least 6 characters long"],
|
|
},
|
|
playersOnline: {
|
|
type: Number,
|
|
default: 0,
|
|
},
|
|
role: {
|
|
type: String,
|
|
enum: ["user", "admin"],
|
|
default: "user",
|
|
},
|
|
},
|
|
{
|
|
timestamps: true,
|
|
},
|
|
);
|
|
|
|
const User = mongoose.model("User", userSchema);
|
|
module.exports = User;
|