editor-settings.ts 805 B

123456789101112131415161718192021222324
  1. import type { EditorSettings } from '@growi/editor';
  2. import type { Model, Document } from 'mongoose';
  3. import {
  4. Schema,
  5. } from 'mongoose';
  6. import { getOrCreateModel } from '../util/mongoose-utils';
  7. export interface EditorSettingsDocument extends EditorSettings, Document {
  8. userId: Schema.Types.ObjectId,
  9. }
  10. export type EditorSettingsModel = Model<EditorSettingsDocument>
  11. const editorSettingsSchema = new Schema<EditorSettingsDocument, EditorSettingsModel>({
  12. userId: { type: Schema.Types.ObjectId },
  13. theme: { type: String },
  14. keymapMode: { type: String },
  15. styleActiveLine: { type: Boolean, default: false },
  16. autoFormatMarkdownTable: { type: Boolean, default: true },
  17. });
  18. export default getOrCreateModel<EditorSettingsDocument, EditorSettingsModel>('EditorSettings', editorSettingsSchema);