练兵场结算
This commit is contained in:
32
shared/db/GuildRefine.ts
Normal file
32
shared/db/GuildRefine.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
|
||||
class ScienceTree {
|
||||
@prop({ required: true })
|
||||
id: number;
|
||||
@prop({ required: true })
|
||||
time: number;
|
||||
@prop({ required: true })
|
||||
assistCount: number;
|
||||
}
|
||||
|
||||
@index({ guildCode: 1 })
|
||||
|
||||
export default class GuildRefiner extends BaseModel {
|
||||
@prop({ required: true })
|
||||
guildCode: string;
|
||||
|
||||
@prop({ required: true, type: ScienceTree, default:[] })
|
||||
scienceTrees: ScienceTree[];
|
||||
|
||||
public static async createScienceTree(guildCode: string, scienceTrees: ScienceTree[], lean = true) {
|
||||
const result = await GuildRefinerModel.findOneAndUpdate({ guildCode }, {$set: {scienceTrees}}, {new: true, upsert: true}).lean(lean);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
export const GuildRefinerModel = getModelForClass(GuildRefiner);
|
||||
|
||||
export interface GuildRefinerType extends Pick<DocumentType<GuildRefiner>, keyof GuildRefiner>{}
|
||||
Reference in New Issue
Block a user