Add comments

This commit is contained in:
2024-10-06 23:13:44 +02:00
parent 0da93dd867
commit df926c815e
2 changed files with 9 additions and 6 deletions
+2
View File
@@ -29,10 +29,12 @@
<h1>{{title}} (by {{author}})</h1> <h1>{{title}} (by {{author}})</h1>
<p>{{content}}</p> <p>{{content}}</p>
{% if login %}
<form action="/posts/{{id}}/comments" method="POST"> <form action="/posts/{{id}}/comments" method="POST">
<textarea name="content" placeholder="comment"></textarea> <textarea name="content" placeholder="comment"></textarea>
<input type="submit" value="comment" /> <input type="submit" value="comment" />
</form> </form>
{% end %}
<table> <table>
{% for comment in comments %} {% for comment in comments %}
+7 -6
View File
@@ -40,17 +40,17 @@ char schema[] =
" bio TEXT\n" " bio TEXT\n"
");\n" ");\n"
"CREATE TABLE IF NOT EXISTS Posts(\n" "CREATE TABLE IF NOT EXISTS Posts(\n"
" id INTEGER PRIMARY KEY,\n" " id INTEGER PRIMARY KEY AUTOINCREMENT,\n"
" title TEXT NOT NULL,\n" " title TEXT NOT NULL,\n"
" content TEXT NOT NULL,\n" " content TEXT NOT NULL,\n"
" author TEXT,\n" " author TEXT NOT NULL,\n"
" FOREIGN KEY (author) REFERENCES Users(name)\n" " FOREIGN KEY (author) REFERENCES Users(name)\n"
");\n" ");\n"
"CREATE TABLE IF NOT EXISTS Comments(\n" "CREATE TABLE IF NOT EXISTS Comments(\n"
" id INTEGER PRIMARY KEY,\n" " id INTEGER PRIMARY KEY AUTOINCREMENT,\n"
" content TEXT NOT NULL,\n" " content TEXT NOT NULL,\n"
" author TEXT,\n" " author TEXT NOT NULL,\n"
" parent INTEGER,\n" " parent INTEGER NOT NULL,\n"
" FOREIGN KEY (author) REFERENCES Users(name),\n" " FOREIGN KEY (author) REFERENCES Users(name),\n"
" FOREIGN KEY (parent) REFERENCES Posts(id)\n" " FOREIGN KEY (parent) REFERENCES Posts(id)\n"
");\n" ");\n"
@@ -302,6 +302,7 @@ void respond(Request request, ResponseBuilder *b)
TemplateParam params[] = { TemplateParam params[] = {
{.name=LIT("login"), .type=TPT_INT, .i=login_username.size>0}, {.name=LIT("login"), .type=TPT_INT, .i=login_username.size>0},
{.name=LIT("login_username"), .type=TPT_STRING, .s=login_username}, {.name=LIT("login_username"), .type=TPT_STRING, .s=login_username},
{.name=LIT("id"), .type=TPT_INT, .i=post_id},
{.name=LIT("title"), .type=TPT_STRING, .s=title}, {.name=LIT("title"), .type=TPT_STRING, .s=title},
{.name=LIT("author"), .type=TPT_STRING, .s=author}, {.name=LIT("author"), .type=TPT_STRING, .s=author},
{.name=LIT("content"), .type=TPT_STRING, .s=content}, {.name=LIT("content"), .type=TPT_STRING, .s=content},
@@ -316,7 +317,7 @@ void respond(Request request, ResponseBuilder *b)
int comment_post_id; int comment_post_id;
if (!match_path_format(request.url.path, "/posts/:n/comments", &comment_post_id)) { if (!match_path_format(request.url.path, "/posts/:n/comments", &comment_post_id)) {
if (login_username.size > 0) { if (login_username.size == 0) {
status_line(b, 303); status_line(b, 303);
add_header(b, LIT("Location: /")); add_header(b, LIT("Location: /"));
return; return;