mirror of
https://github.com/cnodejs/nodeclub.git
synced 2025-12-08 19:55:55 +00:00
51 lines
1.6 KiB
JavaScript
51 lines
1.6 KiB
JavaScript
var mongoose = require('mongoose');
|
||
var Schema = mongoose.Schema;
|
||
var config = require('../config');
|
||
|
||
var UserSchema = new Schema({
|
||
name: { type: String, index: true },
|
||
loginname: { type: String, unique: true },
|
||
pass: { type: String },
|
||
email: { type: String, unique: true },
|
||
url: { type: String },
|
||
profile_image_url: {type: String},
|
||
location: { type: String },
|
||
signature: { type: String },
|
||
profile: { type: String },
|
||
weibo: { type: String },
|
||
avatar: { type: String },
|
||
|
||
score: { type: Number, default: 0 },
|
||
topic_count: { type: Number, default: 0 },
|
||
reply_count: { type: Number, default: 0 },
|
||
follower_count: { type: Number, default: 0 },
|
||
following_count: { type: Number, default: 0 },
|
||
collect_tag_count: { type: Number, default: 0 },
|
||
collect_topic_count: { type: Number, default: 0 },
|
||
create_at: { type: Date, default: Date.now },
|
||
update_at: { type: Date, default: Date.now },
|
||
is_star: { type: Boolean },
|
||
level: { type: String },
|
||
active: { type: Boolean, default: true },
|
||
|
||
receive_reply_mail: {type: Boolean, default: false },
|
||
receive_at_mail: { type: Boolean, default: false },
|
||
from_wp: { type: Boolean },
|
||
|
||
retrieve_time : {type: Number},
|
||
retrieve_key : {type: String}
|
||
});
|
||
|
||
UserSchema.virtual('avatar_url').get(function () {
|
||
var avatar_url = this.profile_image_url || this.avatar;
|
||
if (!avatar_url) {
|
||
avatar_url = config.site_static_host + '/images/user_icon&48.png';
|
||
} else {
|
||
// url不会出现空格,解决之前被@leizongmin 黑的bug
|
||
avatar_url = avatar_url.split(' ', 1)[0];
|
||
}
|
||
return avatar_url;
|
||
});
|
||
|
||
mongoose.model('User', UserSchema);
|