33 lines
712 B
TypeScript
33 lines
712 B
TypeScript
|
import mongoose, { connect, PopulatedDoc, Document, Model} from "mongoose";
|
||
|
const {Schema, model} = mongoose
|
||
|
import SequenceFactory from "mongoose-sequence";
|
||
|
import { hasMigrated } from "../lib/dbconfig";
|
||
|
|
||
|
const AutoIncrement = SequenceFactory(mongoose);
|
||
|
|
||
|
export interface IBand {
|
||
|
_id: number;
|
||
|
name: string;
|
||
|
locked: boolean;
|
||
|
characters: string[]
|
||
|
}
|
||
|
|
||
|
const BandSchema = new mongoose.Schema<IBand>({
|
||
|
_id: {
|
||
|
type: Number
|
||
|
},
|
||
|
name: {
|
||
|
type: String
|
||
|
},
|
||
|
locked: {
|
||
|
type: Boolean,
|
||
|
default: false
|
||
|
},
|
||
|
characters: [{
|
||
|
type: String
|
||
|
}]
|
||
|
})
|
||
|
|
||
|
hasMigrated && BandSchema.plugin(AutoIncrement, {id: "band"})
|
||
|
export const Band: Model<IBand> = /* mongoose.models.Band || */ model<IBand>("Band", BandSchema, "bands")
|