nakama/backend/models/User.js

59 lines
1.1 KiB
JavaScript
Raw Normal View History

2025-11-03 20:35:01 +00:00
const mongoose = require('mongoose');
const UserSchema = new mongoose.Schema({
telegramId: {
type: String,
required: true,
unique: true
},
username: {
type: String,
required: true
},
firstName: String,
lastName: String,
photoUrl: String,
bio: {
type: String,
default: '',
maxlength: 300
},
role: {
type: String,
enum: ['user', 'moderator', 'admin'],
default: 'user'
},
followers: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}],
following: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}],
settings: {
whitelist: {
noFurry: { type: Boolean, default: false },
onlyAnime: { type: Boolean, default: false },
noNSFW: { type: Boolean, default: false }
},
searchPreference: {
type: String,
enum: ['furry', 'anime', 'mixed'],
default: 'mixed'
}
},
banned: {
type: Boolean,
default: false
},
bannedUntil: Date,
createdAt: {
type: Date,
default: Date.now
}
});
module.exports = mongoose.model('User', UserSchema);