editor-settings.ts 786 B

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