import { getOrCreateModel } from '@growi/core'; import { Schema, Model, Document } from 'mongoose'; import { IInAppNotificationSettings, subscribeRuleNames } from '~/interfaces/in-app-notification'; export interface InAppNotificationSettingsDocument extends IInAppNotificationSettings, Document {} export type InAppNotificationSettingsModel = Model const inAppNotificationSettingsSchema = new Schema({ userId: { type: Schema.Types.ObjectId }, subscribeRules: [ { name: { type: String, required: true, enum: subscribeRuleNames }, isEnabled: { type: Boolean }, }, ], }); // eslint-disable-next-line max-len export default getOrCreateModel('InAppNotificationSettings', inAppNotificationSettingsSchema);