46 lines
1.0 KiB
TypeScript
46 lines
1.0 KiB
TypeScript
import mongoose, {Schema, PopulatedDoc, Document, Model, model} from "mongoose";
|
|
|
|
import { IBand } from "../../models/band";
|
|
import { IUser } from "../../models/user";
|
|
import SequenceFactory from "mongoose-sequence";
|
|
import { hasMigrated } from "../../lib/dbconfig";
|
|
|
|
const AutoIncrement = SequenceFactory(mongoose);
|
|
|
|
export interface IFicmas {
|
|
_id: number;
|
|
kink: string;
|
|
year: string;
|
|
bands: PopulatedDoc<IBand & Document>[];
|
|
relationship: string;
|
|
wisher: PopulatedDoc<IUser & Document>;
|
|
anniversary: boolean;
|
|
}
|
|
|
|
export const FicmasSchema = new mongoose.Schema<IFicmas>({
|
|
_id: {
|
|
type: Number
|
|
},
|
|
kink: {
|
|
type: String
|
|
},
|
|
year: { type: String },
|
|
bands: [{
|
|
type: Number,
|
|
ref: "Band"
|
|
}],
|
|
relationship: { type: String },
|
|
wisher: {
|
|
type: Number,
|
|
ref: "User"
|
|
},
|
|
anniversary: {
|
|
type: Boolean,
|
|
default: false
|
|
}
|
|
})
|
|
|
|
hasMigrated && FicmasSchema.plugin(AutoIncrement, {id: "ficmas_wishes"})
|
|
|
|
export const Ficmas: Model<IFicmas> = /* mongoose.models.Ficmas || */ model("Ficmas", FicmasSchema, "ficmas_wishes")
|