Fix Error in create_db

This commit is contained in:
Esad Mustafoski
2025-03-21 08:32:28 +01:00
parent 8b594990ee
commit 029fc10de7
3 changed files with 60 additions and 41 deletions

View File

@@ -10,7 +10,10 @@ import { DB } from "https://deno.land/x/sqlite@v3.9.1/mod.ts";
import { Comments } from "../interfaces.ts";
import { mapCommentRow, queryDatabase } from "./mod.ts";
async function getCommentsFromDB(db: DB, post_id?: number): Promise<Comments[]> {
async function getCommentsFromDB(
db: DB,
post_id?: number,
): Promise<Comments[]> {
const query = post_id
? `SELECT * FROM comments WHERE post_id = ?`
: `SELECT * FROM comments`;
@@ -18,20 +21,31 @@ async function getCommentsFromDB(db: DB, post_id?: number): Promise<Comments[]>
return await queryDatabase<Comments>(db, query, params, mapCommentRow);
}
async function createComment(db: DB, postId: string, userId: string, createdAt: string, text: string): Promise<string> {
function createComment(
db: DB,
postId: string,
userId: string,
createdAt: string,
text: string,
): string {
const query = `
INSERT INTO comments (post_id, author_user_id, date_created_at, text, likes)
VALUES (?, ?, ?, ?, 0)
`;
db.query(query, [postId, userId, createdAt, text]);
const updatePostQuery = `UPDATE posts SET comments = comments + 1 WHERE posts_uuid = ?`;
const updatePostQuery =
`UPDATE posts SET comments = comments + 1 WHERE posts_uuid = ?`;
db.query(updatePostQuery, [postId]);
return db.lastInsertRowId.toString();
}
async function updateComment(db: DB, commentId: string, text: string): Promise<void> {
async function updateComment(
db: DB,
commentId: string,
text: string,
): Promise<void> {
const query = `UPDATE comments SET text = ? WHERE comment_id = ?`;
db.query(query, [text, commentId]);
}
@@ -40,23 +54,28 @@ async function deleteComment(db: DB, commentId: string): Promise<void> {
const getPostIdQuery = `SELECT post_id FROM comments WHERE comment_id = ?`;
const result = db.query(getPostIdQuery, [commentId]);
const postId: any = result[0][0];
const deleteCommentQuery = `DELETE FROM comments WHERE comment_id = ?`;
db.query(deleteCommentQuery, [commentId]);
const updatePostQuery = `UPDATE posts SET comments = comments - 1 WHERE posts_uuid = ?`;
const updatePostQuery =
`UPDATE posts SET comments = comments - 1 WHERE posts_uuid = ?`;
db.query(updatePostQuery, [postId]);
}
async function likeComment(db: DB, commentId: string, userId: string): Promise<void> {
async function likeComment(
db: DB,
commentId: string,
userId: string,
): Promise<void> {
const query = `UPDATE comments SET likes = likes + 1 WHERE comment_id = ?`;
db.query(query, [commentId]);
}
export {
createComment,
updateComment,
deleteComment,
likeComment,
getCommentsFromDB,
}
likeComment,
updateComment,
};