Files
classroomio/apps/backend/src/routes/downloadLesson.js
T
Adeyemi AdetunjiandRotimi Best 3a22a73380 feat: add classroomio's server to the monorepo (#168)
* add classroomio server to apps

* ReadME upadte

* Update README.md

* rename project to backend

* fix lock file

---------

Co-authored-by: Rotimi Best <best@classroomio.com>
2024-02-28 03:25:25 +01:00

48 lines
1003 B
JavaScript

const express = require('express');
const zod = require('zod');
const { generateLessonPdf } = require('../utils/lesson');
const router = express.Router();
const lesson = {
title: '',
number: '01',
orgName: '',
note: '',
slideUrl: '',
video: [],
courseTitle: '',
};
// localhost:3002/downloadLesson
router.post('/', async (req, res) => {
try {
// Validate
const mySchema = zod.object({
title: zod.string(),
number: zod.string(),
orgName: zod.string(),
note: zod.string(),
slideUrl: zod.string().optional(),
video: zod.string().array().optional(),
courseTitle: zod.string(),
});
console.log('req.body', req.body);
mySchema.parse(req.body);
const pdfBuffer = await generateLessonPdf(req.body);
res.contentType('application/pdf');
res.send(pdfBuffer);
} catch (error) {
console.error('Error', error);
res.status(400).json({
success: false,
error,
});
}
});
module.exports = router;