Do migration and add markdown_status to Models

This commit is contained in:
swagg boi 2025-04-04 19:33:23 -04:00
parent 2cbe24584b
commit 8c69bf31c0
4 changed files with 50 additions and 16 deletions

View File

@ -61,7 +61,7 @@ tests locally:
## TODOs ## TODOs
- Stop working on this and start the imageboard - Do I need `SUM` for `by_id()`?
## AGPL-3.0+ANTIFA compliance ## AGPL-3.0+ANTIFA compliance

View File

@ -91,7 +91,7 @@ sub startup($self) {
# Finish configuring some things # Finish configuring some things
$self->secrets($self->config->{'secrets'}) || die $@; $self->secrets($self->config->{'secrets'}) || die $@;
$self->pg->migrations->from_dir('migrations')->migrate(15); $self->pg->migrations->from_dir('migrations')->migrate(16);
if (my $threads_per_page = $self->config->{'threads_per_page'}) { if (my $threads_per_page = $self->config->{'threads_per_page'}) {
$self->thread->per_page($threads_per_page) $self->thread->per_page($threads_per_page)

View File

@ -18,7 +18,8 @@ sub by_page_for($self, $thread_id, $this_page = 1) {
SELECT remark_id AS id, SELECT remark_id AS id,
TO_CHAR(remark_date, ?) AS date, TO_CHAR(remark_date, ?) AS date,
remark_author AS author, remark_author AS author,
remark_body AS body remark_body AS body,
markdown_status AS markdown
FROM remarks FROM remarks
WHERE thread_id = ? WHERE thread_id = ?
AND NOT hidden_status AND NOT hidden_status
@ -27,7 +28,16 @@ sub by_page_for($self, $thread_id, $this_page = 1) {
END_SQL END_SQL
} }
sub create($self, $thread_id, $author, $body, $hidden = 0, $flagged = 0) { sub create(
$self,
$thread_id,
$author,
$body,
$markdown = 0,
$hidden = 0,
$flagged = 0
)
{
my $clean_body = $self->hr->process($body); my $clean_body = $self->hr->process($body);
my @data = ($thread_id, $author, $clean_body, $hidden, $flagged); my @data = ($thread_id, $author, $clean_body, $hidden, $flagged);
@ -37,9 +47,10 @@ sub create($self, $thread_id, $author, $body, $hidden = 0, $flagged = 0) {
remark_author, remark_author,
remark_body, remark_body,
hidden_status, hidden_status,
flagged_status flagged_status,
markdown_status
) )
VALUES (?, ?, ?, ?, ?); VALUES (?, ?, ?, ?, ?, ?);
END_SQL END_SQL
} }
@ -69,7 +80,8 @@ sub last_for($self, $thread_id) {
SELECT remark_id AS id, SELECT remark_id AS id,
TO_CHAR(remark_date, ?) AS date, TO_CHAR(remark_date, ?) AS date,
remark_author AS author, remark_author AS author,
remark_body AS body remark_body AS body,
markdown_status AS markdown
FROM remarks FROM remarks
WHERE thread_id = ? WHERE thread_id = ?
ORDER BY remark_date ORDER BY remark_date
@ -85,7 +97,8 @@ sub by_id($self, $remark_id) {
TO_CHAR(remark_date, ?) AS date, TO_CHAR(remark_date, ?) AS date,
remark_author AS author, remark_author AS author,
remark_body AS body, remark_body AS body,
thread_id thread_id,
markdown_status AS markdown
FROM remarks FROM remarks
WHERE remark_id = ? WHERE remark_id = ?
AND NOT hidden_status; AND NOT hidden_status;
@ -122,7 +135,8 @@ sub feed($self) {
$self->pg->db->query(<<~'END_SQL', $date_format)->hashes; $self->pg->db->query(<<~'END_SQL', $date_format)->hashes;
SELECT remark_id AS id, SELECT remark_id AS id,
TO_CHAR(remark_date, ?) AS date, TO_CHAR(remark_date, ?) AS date,
remark_body AS body remark_body AS body,
markdown_status AS markdown
FROM remarks FROM remarks
WHERE NOT hidden_status WHERE NOT hidden_status
GROUP BY remark_id GROUP BY remark_id

View File

@ -8,9 +8,25 @@ has per_page => 5;
has date_format => 'Dy, FMDD Mon YYYY HH24:MI:SS TZHTZM'; has date_format => 'Dy, FMDD Mon YYYY HH24:MI:SS TZHTZM';
sub create($self, $author, $title, $body, $hidden = 0, $flagged = 0) { sub create(
$self,
$author,
$title,
$body,
$markdown = 0,
$hidden = 0,
$flagged = 0
)
{
my $clean_body = $self->hr->process($body); my $clean_body = $self->hr->process($body);
my @data = ($author, $title, $clean_body, $hidden, $flagged); my @data = (
$author,
$title,
$clean_body,
$hidden,
$flagged,
$markdown
);
$self->pg->db->query(<<~'END_SQL', @data)->hash->{'thread_id'}; $self->pg->db->query(<<~'END_SQL', @data)->hash->{'thread_id'};
INSERT INTO threads ( INSERT INTO threads (
@ -18,9 +34,10 @@ sub create($self, $author, $title, $body, $hidden = 0, $flagged = 0) {
thread_title, thread_title,
thread_body, thread_body,
hidden_status, hidden_status,
flagged_status flagged_status,
markdown_status
) )
VALUES (?, ?, ?, ?, ?) VALUES (?, ?, ?, ?, ?, ?)
RETURNING thread_id; RETURNING thread_id;
END_SQL END_SQL
# The indented heredoc got a little confused by this one... # The indented heredoc got a little confused by this one...
@ -43,7 +60,8 @@ sub by_page($self, $this_page = 1) {
THEN 1 THEN 1
ELSE 0 ELSE 0
END) AS remark_tally, END) AS remark_tally,
t.bump_tally AS bump_tally t.bump_tally AS bump_tally,
t.markdown_status AS markdown
FROM threads AS t FROM threads AS t
LEFT JOIN remarks AS r LEFT JOIN remarks AS r
ON t.thread_id = r.thread_id ON t.thread_id = r.thread_id
@ -87,7 +105,8 @@ sub by_id($self, $thread_id) {
t.thread_title AS title, t.thread_title AS title,
t.thread_body AS body, t.thread_body AS body,
COUNT(r.*) AS remark_tally, COUNT(r.*) AS remark_tally,
t.bump_tally AS bump_tally t.bump_tally AS bump_tally,
t.markdown_status AS markdown
FROM threads AS t FROM threads AS t
LEFT JOIN remarks AS r LEFT JOIN remarks AS r
ON t.thread_id = r.thread_id ON t.thread_id = r.thread_id
@ -121,7 +140,8 @@ sub feed($self) {
SELECT thread_id AS id, SELECT thread_id AS id,
TO_CHAR(thread_date, ?) AS date, TO_CHAR(thread_date, ?) AS date,
thread_title AS title, thread_title AS title,
thread_body AS body thread_body AS body,
markdown_status AS markdown
FROM threads FROM threads
WHERE NOT hidden_status WHERE NOT hidden_status
GROUP BY thread_id GROUP BY thread_id