diff --git a/api/main.ts b/api/main.ts index cc8434e..d5dc560 100644 --- a/api/main.ts +++ b/api/main.ts @@ -16,29 +16,26 @@ import * as db_utils from "../database/utils.ts"; import * as helper_utils from "./helpers.ts"; import { - // --- Post --- // - api_getPostById, - api_createPost, - api_updatePost, - api_deletePost, - api_likePost, - - // --- Comment --- // - api_getPostComments, - api_createComment, - api_updateComment, - api_deleteComment, - api_likeComment, - - // --- User --- // - api_getAllUsers, - // --- Chat --- // api_createChat, + api_createComment, + api_createPost, api_deleteChat, + api_deleteComment, + api_deletePost, + // --- User --- // + api_getAllUsers, api_getChatById, api_getChats, + // --- Post --- // + api_getPostById, + // --- Comment --- // + api_getPostComments, + api_likeComment, + api_likePost, api_sendMessage, + api_updateComment, + api_updatePost, } from "./helpers/mod.ts"; // +++ VARIABLES / TYPES --------------------------------------------- // @@ -86,8 +83,8 @@ router // -- User routes -- // router - .get("/api/users", api_getAllUsers) - // .get("/api/user/:id/info", api_user_getInfo); + .get("/api/users", api_getAllUsers); +// .get("/api/user/:id/info", api_user_getInfo); // -- Chat routes -- // router @@ -114,7 +111,6 @@ router .delete("/api/comment/:id", api_deleteComment) .post("/api/comment/:id/like", api_likeComment); - // +++ FUNCTIONS ----------------------------------------------------- // // ABANDONED FUNCTIONS // @@ -196,7 +192,7 @@ async function api_register(ctx: Context): Promise { // Then hash the salted password const hash = await helper_utils.hashPassword(saltedPassword); - const userId = await db_utils.registerUser( + const userId = db_utils.registerUser( username, hash, salt, @@ -240,7 +236,7 @@ async function api_login(ctx: Context): Promise { const storedSalt = user.password_salt; // Salt the provided password with the stored salt const saltedPassword = `${password}${storedSalt}`; - // Hash the salted password + // Hash the salted password const hash = await helper_utils.hashPassword(saltedPassword); // Compare the phashed password with the stored hash diff --git a/database/create_db.ts b/database/create_db.ts index f14d435..8577703 100644 --- a/database/create_db.ts +++ b/database/create_db.ts @@ -6,8 +6,12 @@ */ // +++ IMPORTS ------------------------------------------------------ // -import { DB } from "https://deno.land/x/sqlite/mod.ts"; -import { dirname, fromFileUrl, join } from "https://deno.land/std/path/mod.ts"; +import { DB } from "https://deno.land/x/sqlite@v3.9.1/mod.ts"; +import { + dirname, + fromFileUrl, + join, +} from "https://deno.land/std@0.224.0/path/mod.ts"; // +++ VARIABLES ---------------------------------------------------- // const _dirname: string = dirname(fromFileUrl(import.meta.url)); @@ -33,7 +37,7 @@ export function createDatabase(): void { following TEXT, contacts TEXT ); - + CREATE TABLE IF NOT EXISTS posts ( posts_uuid INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER, @@ -43,7 +47,7 @@ export function createDatabase(): void { likes INTEGER, comments INTEGER ); - + CREATE TABLE IF NOT EXISTS comments ( comment_id INTEGER PRIMARY KEY AUTOINCREMENT, post_id INTEGER, @@ -51,7 +55,7 @@ export function createDatabase(): void { date_created_at TEXT, text TEXT, likes INTEGER - ) + ); -- Added semicolon here CREATE TABLE IF NOT EXISTS messages ( message_id INTEGER PRIMARY KEY AUTOINCREMENT, @@ -61,7 +65,7 @@ export function createDatabase(): void { timestamp TEXT, FOREIGN KEY (chat_id) REFERENCES chats (chat_id), FOREIGN KEY (sender_id) REFERENCES accounts (user_id) - ) + ); CREATE TABLE IF NOT EXISTS chats ( chat_id INTEGER PRIMARY KEY AUTOINCREMENT, diff --git a/database/helpers/utils/comment_utils.ts b/database/helpers/utils/comment_utils.ts index 5e29d7a..8abba7a 100644 --- a/database/helpers/utils/comment_utils.ts +++ b/database/helpers/utils/comment_utils.ts @@ -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 { +async function getCommentsFromDB( + db: DB, + post_id?: number, +): Promise { 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 return await queryDatabase(db, query, params, mapCommentRow); } -async function createComment(db: DB, postId: string, userId: string, createdAt: string, text: string): Promise { +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 { +async function updateComment( + db: DB, + commentId: string, + text: string, +): Promise { 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 { 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 { +async function likeComment( + db: DB, + commentId: string, + userId: string, +): Promise { const query = `UPDATE comments SET likes = likes + 1 WHERE comment_id = ?`; db.query(query, [commentId]); } export { createComment, - updateComment, deleteComment, - likeComment, getCommentsFromDB, -} \ No newline at end of file + likeComment, + updateComment, +};