Files
adastra_api/src/database/models/mongo/herowars/Clan.js
T

56 lines
1.6 KiB
JavaScript

var mongoose = require('mongoose');
var uniqueValidator = require('mongoose-unique-validator');
var HWClanSchema = new mongoose.Schema({
id: { type: String, unique: true },
country: String,
description: String,
disbanding: Boolean,
frameId: Number,
icon: {
flagColor1: Number,
flagColor2: Number,
flagShape: Number,
iconColor: Number,
iconShape: Number,
},
level: String,
members: [{ type: mongoose.Schema.Types.ObjectId, ref: 'HWMember' }],
membersCount: Number,
minLevel: String,
ownerId: String,
/*roleNames: { type: mongoose.Schema.Types.ObjectId, ref: 'HWClanRoles' },*/
serverId: String,
title: String,
topActivity: String,
topDungeon: String,
author: { type: mongoose.Schema.Types.ObjectId, ref: 'User' }
}, {timestamps: true, toJSON: {virtuals: true}});
HWClanSchema.plugin(uniqueValidator, { message: 'is already taken' });
HWClanSchema.methods.toJSONFor = function() {
return {
id: this.id,
country: this.country,
description: this.description,
disbanding: this.disbanding,
frameId: this.frameId,
icon: this.icon,
level: this.level,
members: this.members,
membersCount: this.membersCount,
minLevel: this.minLevel,
ownerId: this.ownerId,
serverId: this.serverId,
title: this.title,
topActivity: this.topActivity,
topDungeon: this.topDungeon,
createdAt: this.createdAt,
updatedAt: this.updatedAt,
author: this.author.toJSONFor()
};
};
mongoose.model('HWClan', HWClanSchema);