GlobalNotificationMailSetting.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import mongoose from 'mongoose';
  2. import { GlobalNotificationSettingType } from '../GlobalNotificationSetting';
  3. const GlobalNotificationSetting = require('./index');
  4. const GlobalNotificationSettingClass = GlobalNotificationSetting.class;
  5. const GlobalNotificationSettingSchema = GlobalNotificationSetting.schema;
  6. /** @param {import('~/server/crowi').default} crowi Crowi instance */
  7. const factory = (crowi) => {
  8. GlobalNotificationSettingClass.crowi = crowi;
  9. GlobalNotificationSettingSchema.loadClass(GlobalNotificationSettingClass);
  10. const GlobalNotificationSettingModel = mongoose.model(
  11. 'GlobalNotificationSetting',
  12. GlobalNotificationSettingSchema,
  13. );
  14. const GlobalNotificationMailSettingModel =
  15. GlobalNotificationSettingModel.discriminator(
  16. GlobalNotificationSettingType.MAIL,
  17. new mongoose.Schema(
  18. {
  19. toEmail: String,
  20. },
  21. {
  22. discriminatorKey: 'type',
  23. },
  24. ),
  25. );
  26. return GlobalNotificationMailSettingModel;
  27. };
  28. export default factory;