diff options
Diffstat (limited to 'models/Note.js')
-rw-r--r-- | models/Note.js | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/models/Note.js b/models/Note.js deleted file mode 100644 index d19eae8..0000000 --- a/models/Note.js +++ /dev/null @@ -1,37 +0,0 @@ -const {encrypt, decrypt} = require('helpers/crypt') -const mongoose = require('mongoose') - -const noteSchema = new mongoose.Schema({ - content: {type: String, required: true, minlength: 1}, -}) - -noteSchema.statics.getNote = async (id) => { - const note = await Note.findById(id) - if (!note) throw new Error('Could not fetch note') - - const content = decrypt(note.content) - - return {...note, content} -} - -noteSchema.statics.updateNote = async (id, content) => { - const note = await Note.findByIdAndUpdate(id, {content: encrypt(content)}, {new: true}) - - if (!note) throw new Error('Could not update note') - - return {...note, content} -} - -noteSchema.pre('save', async function(next){ - const note = this; - - if (note.isModified('content')) { - note.content = encrypt(note.content) - } - - next() -}) - -const Note = mongoose.models.Note || mongoose.model('Note', noteSchema) - -export default Note |