message: API: Handle LectureController 404s manually
  (Since .orFail currently causes TypeScript definition errors.)
diff: @@ -33,7 +33,10 @@ export class LectureController {
  */
  @Get('/:id')
  async getLecture(@Param('id') id: string, @CurrentUser() currentUser: IUser) {
  - const lecture = await Lecture.findById(id).orFail(new NotFoundError());
  + const lecture = await Lecture.findById(id);
  + if (!lecture) {
  + throw new NotFoundError();
  + }
  const course = await Course.findOne({lectures: id});
  if (!course.checkPrivileges(currentUser).userCanViewCourse) {
  throw new ForbiddenError();
  @@ -69,7 +72,10 @@ export class LectureController {
  const lectureI: ILecture = data.lecture;
  const courseId: string = data.courseId;
  - const course = await Course.findById(courseId).orFail(new NotFoundError());
  + const course = await Course.findById(courseId);
  + if (!course) {
  + throw new NotFoundError();
  + }
  if (!course.checkPrivileges(currentUser).userCanEditCourse) {
  throw new ForbiddenError();
  }
  @@ -107,7 +113,10 @@ export class LectureController {
  @Authorized(['teacher', 'admin'])
  @Put('/:id')
  async updateLecture(@Param('id') id: string, @Body() lectureUpdate: ILecture, @CurrentUser() currentUser: IUser) {
  - const course = await Course.findOne({lectures: id}).orFail(new NotFoundError());
  + const course = await Course.findOne({lectures: id});
  + if (!course) {
  + throw new NotFoundError();
  + }
  if (!course.checkPrivileges(currentUser).userCanEditCourse) {
  throw new ForbiddenError();
  }
  @@ -132,7 +141,10 @@ export class LectureController {
  @Authorized(['teacher', 'admin'])
  @Delete('/:id')
  async deleteLecture(@Param('id') id: string, @CurrentUser() currentUser: IUser) {
  - const course = await Course.findOne({lectures: id}).orFail(new NotFoundError());
  + const course = await Course.findOne({lectures: id});
  + if (!course) {
  + throw new NotFoundError();
  + }
  if (!course.checkPrivileges(currentUser).userCanEditCourse) {
  throw new ForbiddenError();
  }
  