annotate src/delete_course.js.luan @ 53:6c78fd83518f

add delete course
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 17 Aug 2025 16:59:37 +0900
parents src/delete_chat.js.luan@19901d6fb56f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
b1adec083e44 chat work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
1 local Luan = require "luan:Luan.luan"
b1adec083e44 chat work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 local error = Luan.error
b1adec083e44 chat work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3 local Io = require "luan:Io.luan"
b1adec083e44 chat work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4 local Http = require "luan:http/Http.luan"
b1adec083e44 chat work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
5 local User = require "site:/lib/User.luan"
b1adec083e44 chat work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
6 local current_user = User.current or error()
53
6c78fd83518f add delete course
Franklin Schmidt <fschmidt@gmail.com>
parents: 17
diff changeset
7 local Course = require "site:/lib/Course.luan"
6c78fd83518f add delete course
Franklin Schmidt <fschmidt@gmail.com>
parents: 17
diff changeset
8 local get_course_by_id = Course.get_by_id or error()
4
b1adec083e44 chat work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
9
b1adec083e44 chat work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
10
b1adec083e44 chat work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
11 return function()
53
6c78fd83518f add delete course
Franklin Schmidt <fschmidt@gmail.com>
parents: 17
diff changeset
12 local course = Http.request.parameters.course or error()
6c78fd83518f add delete course
Franklin Schmidt <fschmidt@gmail.com>
parents: 17
diff changeset
13 course = get_course_by_id(course) or error()
6c78fd83518f add delete course
Franklin Schmidt <fschmidt@gmail.com>
parents: 17
diff changeset
14 course.user_id == current_user().id or error()
6c78fd83518f add delete course
Franklin Schmidt <fschmidt@gmail.com>
parents: 17
diff changeset
15 course.delete()
4
b1adec083e44 chat work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
16 Io.stdout = Http.response.text_writer()
b1adec083e44 chat work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
17 %>
53
6c78fd83518f add delete course
Franklin Schmidt <fschmidt@gmail.com>
parents: 17
diff changeset
18 location = '/your_courses.html';
4
b1adec083e44 chat work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
19 <%
b1adec083e44 chat work
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
20 end