refactor to include both get and post in one function
This commit is contained in:
@@ -1,16 +0,0 @@
|
||||
const {createResponse} = require('../../helpers');
|
||||
const db = require('../../services/db');
|
||||
const {COURSES_TABLE} = require('../../constants');
|
||||
|
||||
module.exports.default = async () => {
|
||||
try {
|
||||
const courses = await db.scan(COURSES_TABLE);
|
||||
|
||||
return createResponse(200, {
|
||||
courses: courses
|
||||
})
|
||||
} catch (err) {
|
||||
const statusCode = (err && err.statusCode) || 500;
|
||||
return createResponse(statusCode, err.message || err);
|
||||
}
|
||||
};
|
||||
38
handlers/courses/index.js
Normal file
38
handlers/courses/index.js
Normal file
@@ -0,0 +1,38 @@
|
||||
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);
|
||||
}
|
||||
};
|
||||
@@ -1,16 +0,0 @@
|
||||
const {createResponse} = require('../../helpers');
|
||||
const {parseAndValidateBody} = require('../../validators');
|
||||
const courseSchema = require('./schema');
|
||||
const {COURSES_TABLE} = require('../../constants');
|
||||
const db = require('../../services/db');
|
||||
|
||||
module.exports.default = async (event, context, callback) => {
|
||||
try {
|
||||
const course = await parseAndValidateBody(courseSchema, event.body);
|
||||
const createCourseResult = await db.create(COURSES_TABLE, course);
|
||||
return createResponse(200, {course: createCourseResult});
|
||||
} catch (err) {
|
||||
const statusCode = (err && err.statusCode) || 500;
|
||||
return createResponse(statusCode, err.message || err);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user