perchance-ai-prompt-library
Version:
🎨 Complete AI prompt library and generator with advanced CLI, batch processing, analytics, and multi-format export capabilities
60 lines (49 loc) • 1.46 kB
JavaScript
// Import styles dynamically
const styles = require('../../data/styles.json');
const validatePromptRequest = (req, res, next) => {
const { style, subject } = req.body;
if (!style) {
return res.status(400).json({
success: false,
error: 'Style is required',
code: 'MISSING_STYLE'
});
}
if (!subject || subject.trim().length === 0) {
return res.status(400).json({
success: false,
error: 'Subject is required and cannot be empty',
code: 'MISSING_SUBJECT'
});
}
const validStyles = styles.map(s => s.key);
if (!validStyles.includes(style)) {
return res.status(400).json({
success: false,
error: `Invalid style. Valid styles: ${validStyles.join(', ')}`,
code: 'INVALID_STYLE',
availableStyles: validStyles
});
}
next();
};
const validateBatchRequest = (req, res, next) => {
const { count } = req.body;
// First validate like a normal prompt
validatePromptRequest(req, res, (error) => {
if (error) return;
// Additional batch validation
if (count && (typeof count !== 'number' || count < 1 || count > 10)) {
return res.status(400).json({
success: false,
error: 'Count must be a number between 1 and 10',
code: 'INVALID_COUNT'
});
}
next();
});
};
module.exports = {
validatePromptRequest,
validateBatchRequest
};