Working get and post endpoitns

This commit is contained in:
Ben Ramey
2018-09-19 06:58:17 -05:00
parent 07e4a27a1a
commit 8eba063aef
4 changed files with 11 additions and 4 deletions

5
constants.js Normal file
View File

@@ -0,0 +1,5 @@
const COURSES_TABLE = "eg_courses";
module.exports = {
COURSES_TABLE
};

View File

@@ -1,9 +1,10 @@
const {createResponse} = require('../../helpers'); const {createResponse} = require('../../helpers');
const db = require('../../services/db'); const db = require('../../services/db');
const {COURSES_TABLE} = require('../../constants');
module.exports.default = async () => { module.exports.default = async () => {
try { try {
const courses = await db.scan('eg_courses'); const courses = await db.scan(COURSES_TABLE);
return createResponse(200, { return createResponse(200, {
courses: courses courses: courses

View File

@@ -1,12 +1,13 @@
const {createResponse} = require('../../helpers'); const {createResponse} = require('../../helpers');
const {parseAndValidateBody} = require('../../validators'); const {parseAndValidateBody} = require('../../validators');
const {courseSchema} = require('../../validators/schemas'); const {courseSchema} = require('../../validators/schemas');
const {COURSES_TABLE} = require('../../constants');
const db = require('../../services/db'); const db = require('../../services/db');
module.exports.default = async (event, context, callback) => { module.exports.default = async (event, context, callback) => {
try { try {
const course = await parseAndValidateBody(courseSchema, event.body); const course = await parseAndValidateBody(courseSchema, event.body);
const createCourseResult = await db.create('gt_courses', course); const createCourseResult = await db.create(COURSES_TABLE, course);
return createResponse(200, {course: createCourseResult}); return createResponse(200, {course: createCourseResult});
} catch (err) { } catch (err) {
const statusCode = (err && err.statusCode) || 500; const statusCode = (err && err.statusCode) || 500;

View File

@@ -1,12 +1,12 @@
const courseSchema = { const courseSchema = {
"type": "object", "type": "object",
"properties": { "properties": {
"course_name": {"type": "string"}, "name": {"type": "string"},
"num_tests": {"type": "number"}, "num_tests": {"type": "number"},
"num_questions_per_test": {"type": "number"}, "num_questions_per_test": {"type": "number"},
"answers": {"type": "array"} "answers": {"type": "array"}
}, },
"required": ["course_name", "num_tests", "num_questions_per_test", "answers"] "required": ["name", "num_tests", "num_questions_per_test", "answers"]
}; };
module.exports = { module.exports = {