Files
FastGPT/src/service/models/user.ts
2023-04-21 22:23:19 +08:00

47 lines
1.0 KiB
TypeScript

import { Schema, model, models, Model } from 'mongoose';
import { hashPassword } from '@/service/utils/tools';
import { PRICE_SCALE } from '@/constants/common';
import { UserModelSchema } from '@/types/mongoSchema';
const UserSchema = new Schema({
username: {
// 可以是手机/邮箱,新的验证都只用手机
type: String,
required: true,
unique: true // 唯一
},
password: {
type: String,
required: true,
set: (val: string) => hashPassword(val),
get: (val: string) => hashPassword(val),
select: false
},
balance: {
// 平台余额,不可提现
type: Number,
default: 0.5 * PRICE_SCALE
},
inviterId: {
// 谁邀请注册的
type: Schema.Types.ObjectId,
ref: 'user'
},
promotion: {
rate: {
// 返现比例
type: Number,
default: 15
}
},
openaiKey: {
type: String,
default: ''
},
createTime: {
type: Date,
default: () => new Date()
}
});
export const User: Model<UserModelSchema> = models['user'] || model('user', UserSchema);