const {createResponse} = require('../../helpers'); const {parseAndValidateBody} = require('../../validators'); const courseSchema = require('./schema'); const {COURSES_TABLE} = require('../../constants'); const db = require('../../services/db'); const get = async (event, context, callback) => { const courses = await db.scan(COURSES_TABLE); return createResponse(200, { courses: courses }); }; const post = async (event, context, callback) => { const course = await parseAndValidateBody(courseSchema, event.body); const createCourseResult = await db.create(COURSES_TABLE, course); return createResponse(200, { course: createCourseResult }); }; module.exports.default = async (event, context, callback) => { try { if (event.httpMethod === "GET") { return get(event, context, callback); } if (event.httpMethod === "POST") { return post(event, context, callback); } } catch (err) { const statusCode = (err && err.statusCode) || 500; return createResponse(statusCode, err.message || err); } };