Migrated the User.ts model
This commit is contained in:
parent
8b4fc500a2
commit
8910583aa3
@ -1,4 +1,5 @@
|
|||||||
import mongoose, {Schema} from 'mongoose';
|
import {sequelize} from "../app";
|
||||||
|
import {DataTypes, InferAttributes, InferCreationAttributes, Model} from "sequelize";
|
||||||
|
|
||||||
export enum Rank {
|
export enum Rank {
|
||||||
USER = "user",
|
USER = "user",
|
||||||
@ -6,51 +7,51 @@ export enum Rank {
|
|||||||
ADMIN = "admin"
|
ADMIN = "admin"
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IUser {
|
export interface IUser extends Model<InferAttributes<IUser>, InferCreationAttributes<IUser>> {
|
||||||
clientId: number
|
clientId: number
|
||||||
username: string
|
username: string
|
||||||
locale: string
|
locale?: string
|
||||||
rank: Rank
|
rank?: Rank
|
||||||
avatarId: string
|
avatarId?: string
|
||||||
accessToken: string
|
accessToken: string
|
||||||
refreshToken: string
|
refreshToken: string
|
||||||
created: Date
|
created?: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
const UserSchema = new Schema<IUser>({
|
const UserSchema = sequelize.define<IUser>('users', {
|
||||||
clientId: {
|
clientId: {
|
||||||
type: Number,
|
type: DataTypes.BIGINT,
|
||||||
required: true
|
allowNull: false,
|
||||||
|
primaryKey: true
|
||||||
},
|
},
|
||||||
username: {
|
username: {
|
||||||
type: String,
|
type: DataTypes.STRING,
|
||||||
default: "User#0001"
|
defaultValue: "User#0001"
|
||||||
},
|
},
|
||||||
locale: {
|
locale: {
|
||||||
type: String,
|
type: DataTypes.STRING,
|
||||||
default: "en"
|
defaultValue: "en"
|
||||||
},
|
},
|
||||||
rank: {
|
rank: {
|
||||||
type: String,
|
type: DataTypes.STRING,
|
||||||
enum: Rank,
|
defaultValue: Rank.USER
|
||||||
default: Rank.USER
|
|
||||||
},
|
},
|
||||||
avatarId: {
|
avatarId: {
|
||||||
type: String,
|
type: DataTypes.STRING,
|
||||||
default: "590962a0d694945a779054cd078a7efd"
|
defaultValue: "590962a0d694945a779054cd078a7efd"
|
||||||
},
|
},
|
||||||
accessToken: {
|
accessToken: {
|
||||||
type: String,
|
type: DataTypes.STRING,
|
||||||
required: true
|
allowNull: false
|
||||||
},
|
},
|
||||||
refreshToken: {
|
refreshToken: {
|
||||||
type: String,
|
type: DataTypes.STRING,
|
||||||
required: true
|
allowNull: false
|
||||||
},
|
},
|
||||||
created: {
|
created: {
|
||||||
type: Date,
|
type: DataTypes.DATE,
|
||||||
default: Date.now
|
defaultValue: Date.now
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
export const User = mongoose.model('users', UserSchema);
|
export const User = UserSchema;
|
Loading…
x
Reference in New Issue
Block a user