Restructure app for scale and easy access of routeId
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
const lessons = [{}];
|
||||
|
||||
const lookup = new Map();
|
||||
lessons.forEach((lesson) => {
|
||||
lookup.set(`${lesson.id}`, JSON.stringify(lesson));
|
||||
});
|
||||
|
||||
export function getLessons() {
|
||||
return lessons;
|
||||
}
|
||||
|
||||
export function getLecture(id) {
|
||||
return lookup.get(id);
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
import { getLecture } from './_lessons';
|
||||
|
||||
function writeJsonHead(res, statusCode) {
|
||||
res.writeHead(statusCode, {
|
||||
'Content-Type': 'application/json',
|
||||
});
|
||||
}
|
||||
|
||||
export function get(req, res, next) {
|
||||
// the `id` parameter is available because
|
||||
// this file is called [id].json.js
|
||||
const { id } = req.params;
|
||||
|
||||
if (lookup.has(id)) {
|
||||
writeJsonHead(res, 200);
|
||||
|
||||
res.end(lookup.get(id));
|
||||
} else {
|
||||
writeJsonHead(res, 404);
|
||||
|
||||
res.end(
|
||||
JSON.stringify({
|
||||
message: `Not found`,
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user