|
const mongoose = require('mongoose'); |
|
|
|
const promptSchema = mongoose.Schema( |
|
{ |
|
title: { |
|
type: String, |
|
required: true, |
|
}, |
|
prompt: { |
|
type: String, |
|
required: true, |
|
}, |
|
category: { |
|
type: String, |
|
}, |
|
}, |
|
{ timestamps: true }, |
|
); |
|
|
|
const Prompt = mongoose.models.Prompt || mongoose.model('Prompt', promptSchema); |
|
|
|
module.exports = { |
|
savePrompt: async ({ title, prompt }) => { |
|
try { |
|
await Prompt.create({ |
|
title, |
|
prompt, |
|
}); |
|
return { title, prompt }; |
|
} catch (error) { |
|
console.error(error); |
|
return { prompt: 'Error saving prompt' }; |
|
} |
|
}, |
|
getPrompts: async (filter) => { |
|
try { |
|
return await Prompt.find(filter).lean(); |
|
} catch (error) { |
|
console.error(error); |
|
return { prompt: 'Error getting prompts' }; |
|
} |
|
}, |
|
deletePrompts: async (filter) => { |
|
try { |
|
return await Prompt.deleteMany(filter); |
|
} catch (error) { |
|
console.error(error); |
|
return { prompt: 'Error deleting prompts' }; |
|
} |
|
}, |
|
}; |
|
|