Backend/models/User.ts

56 lines
1.0 KiB
TypeScript

import mongoose, {Schema} from 'mongoose';
export enum Rank {
USER = "user",
TEAM_MEMBER = "team",
ADMIN = "admin"
}
export interface IUser {
clientId: number
username: string
locale: string
rank: Rank
avatarId: string
accessToken: string
refreshToken: string
created: Date
}
const UserSchema = new Schema<IUser>({
clientId: {
type: Number,
required: true
},
username: {
type: String,
default: "User#0001"
},
locale: {
type: String,
default: "en"
},
rank: {
type: String,
enum: Rank,
default: Rank.USER
},
avatarId: {
type: String,
default: "590962a0d694945a779054cd078a7efd"
},
accessToken: {
type: String,
required: true
},
refreshToken: {
type: String,
required: true
},
created: {
type: Date,
default: Date.now
}
});
export const User = mongoose.model('users', UserSchema);