diff --git a/lib/server/titamaapi.dart b/lib/server/titamaapi.dart index 177bec9..4b05172 100644 --- a/lib/server/titamaapi.dart +++ b/lib/server/titamaapi.dart @@ -53,6 +53,12 @@ class TitamaApi { throw new NotFoundError('Could not find course \'$id\'.'); } + @ApiMethod(method: 'DELETE', path: 'course/{id}') + List deleteCourse(int id) { + _courses.removeWhere((course) => course.id == id); + return _courses; + } + @ApiMethod(method: 'POST', path: 'course') Course addCourse (Course newCourse) { newCourse.id = _courses.length; diff --git a/test.sh b/test.sh index 5d62268..5138ea5 100755 --- a/test.sh +++ b/test.sh @@ -4,20 +4,23 @@ baseurl="http://localhost:8080/titamaApi/v1" header="Content-Type: application/json" new_course_data='{"title": "FIN Sitzung", "day": "Wed", "time": "18:00"}' -printf "Testing %s/courses...\n" "$baseurl" +printf "Testing GET %s/courses...\n" "$baseurl" curl "$baseurl/courses" -printf "\n\nTesting %s/course/0...\n" "$baseurl" +printf "\n\nTesting GET %s/course/0...\n" "$baseurl" curl "$baseurl/course/0" -printf "\n\nTesting %s/course/1...\n" "$baseurl" +printf "\n\nTesting GET %s/course/1...\n" "$baseurl" curl "$baseurl/course/1" -printf "\n\nTesting %s/course...\n" "$baseurl" +printf "\n\nTesting POST %s/course...\n" "$baseurl" curl -d "$new_course_data" -H "$header" $baseurl/course -printf "\n\nTesting %s/courses...\n" "$baseurl" +printf "\n\nTesting GET %s/courses...\n" "$baseurl" curl "$baseurl/courses" -printf "\n\nTesting %s/course/2...\n" "$baseurl" +printf "\n\nTesting GET %s/course/2...\n" "$baseurl" curl "$baseurl/course/2" + +printf "\n\nTesting DELETE %s/course/2...\n" "$baseurl" +curl -X DELETE "$baseurl/course/1"