diff --git a/db_schema.sql b/db_schema.sql index dca92485183b6e56b7f863598722887252853d79..43ad82ee8fb90635da6afe94d8e7ff19db7530b8 100644 --- a/db_schema.sql +++ b/db_schema.sql @@ -231,7 +231,7 @@ CREATE TABLE IF NOT EXISTS `sorterrorlog_data` ( ); CREATE VIEW IF NOT EXISTS `courses` AS select * from `courses_data` where (not(`courses_data`.`deleted`)); -CREATE VIEW IF NOT EXISTS `lectures` AS select * from `lectures_data` where (not(`lectures_data`.`deleted`)); -CREATE VIEW IF NOT EXISTS `videos` AS select * from `videos_data` where (not(`videos_data`.`deleted`)); +CREATE VIEW IF NOT EXISTS `lectures` AS select `lectures_data`.* from `lectures_data` join `courses_data` on (`courses_data`.`id` = `course_id`) where (not(`lectures_data`.`deleted` or `courses_data`.`deleted`)); +CREATE VIEW IF NOT EXISTS `videos` AS select `videos_data`.* from `videos_data` join `lectures_data` on (`lectures_data`.`id` = `lecture_id`) join `courses_data` on (`courses_data`.`id` = `course_id`) where (not(`videos_data`.`deleted` or `lectures_data`.`deleted` or `courses_data`.`deleted`)); CREATE VIEW IF NOT EXISTS `sorterrorlog` AS select * from `sorterrorlog_data` where (not(`sorterrorlog_data`.`deleted`)); COMMIT; diff --git a/server.py b/server.py index 71289fbc217c6cc61eaf853d5b850bdcb8c502ee..3d6a5407da9956ec452054bb2255d92b3f3ea449 100644 --- a/server.py +++ b/server.py @@ -579,6 +579,8 @@ def suggest_chapter(lectureid): @app.route('/chapters/<int:lectureid>') def chapters(lectureid): chapters = query("SELECT * FROM chapters WHERE lecture_id = ? and visible ORDER BY time DESC", lectureid) + if not chapters: + return 'No chapters found', 404 last = None for c in chapters: c['start'] = c['time']