From 324368f7df6d71a10f0e567dd29686d840fbb1b6 Mon Sep 17 00:00:00 2001 From: ilkaya Date: Sun, 21 Dec 2025 00:15:37 +0300 Subject: [PATCH] Revize --- controllers/catalog.js | 61 ++++- controllers/students.js | 24 +- database/catalog.js | 18 +- database/student.js | 11 + views/panel/catalogs.ejs | 125 +++++------ views/panel/students.ejs | 21 ++ views/partials/navbar.ejs | 448 ------------------------------------- views/partials/sidebar.ejs | 10 +- 8 files changed, 186 insertions(+), 532 deletions(-) diff --git a/controllers/catalog.js b/controllers/catalog.js index 66ebb49..53bce39 100644 --- a/controllers/catalog.js +++ b/controllers/catalog.js @@ -4,7 +4,7 @@ const { PostDataProcess } = require("../core/postdata"); const User = require("../database/user"); const { MiddlewareAuth } = require("./auth"); const express = require("express"); -const { countCatalogs, getCatalogs, createCatalog } = require("../database/catalog"); +const { countCatalogs, getCatalogs, createCatalog, updateCatalog, deleteCatalogs } = require("../database/catalog"); Application.get("/catalogs", MiddlewareAuth,CatalogPage); @@ -38,6 +38,42 @@ async function CatalogsList(request, response) }); } +Application.post("/catalog/update", MiddlewareAuth, PostDataProcess(), CatalogUpdate); +/** + * @param {import("express").Request} request + * @param {import("express").Response} response + */ +async function CatalogUpdate(request, response) +{ + const error = catalogStoreValidation(request.body); + + if(error) + { + return response.status(400).json({ + status: "fail", + message: error.message + }); + } + + try{ + await updateCatalog( + request.body.id, + request.session.user_id, + request.body.name, + request.body.score, + request.body.description + ); + return response.status(200).json({ + status: "success" + }); + }catch(err){ + console.log(err) + return response.status(500).json({ + status: "fail" + }); + } +} + Application.post("/catalog/store", MiddlewareAuth, PostDataProcess(), CatalogStore); /** @@ -84,4 +120,27 @@ function catalogStoreValidation(body) }); const {error} = schema.validate(body); return error; +} + +Application.post("/catalogs/destroy", MiddlewareAuth, express.urlencoded({extended: true}), CatalogDestroy); +/** + * @param {import("express").Request} request + * @param {import("express").Response} response + */ +async function CatalogDestroy(request, response) +{ + try{ + await deleteCatalogs( + request.session.user_id, + request.body.id ?? -1 + ); + return response.status(200).json({ + status: "success" + }); + }catch(err){ + console.log(err) + return response.status(500).json({ + status: "fail" + }); + } } \ No newline at end of file diff --git a/controllers/students.js b/controllers/students.js index ca22573..6298b16 100644 --- a/controllers/students.js +++ b/controllers/students.js @@ -3,7 +3,7 @@ const Joi = require("joi"); const { PostDataProcess } = require("../core/postdata"); const User = require("../database/user"); const { MiddlewareAuth } = require("./auth"); -const { createStudent, getStudents, countStudents, updateStudent } = require("../database/student"); +const { createStudent, getStudents, countStudents, updateStudent, deleteStudent } = require("../database/student"); const express = require("express"); @@ -123,6 +123,28 @@ async function StudentUpdate(request, response) }); } } +Application.post("/students/destroy", MiddlewareAuth, express.urlencoded({extended: true}), StudentDestroy); +/** + * @param {import("express").Request} request + * @param {import("express").Response} response + */ +async function StudentDestroy(request, response) +{ + try{ + await deleteStudent( + request.session.user_id, + request.body.id ?? -1 + ); + return response.status(200).json({ + status: "success" + }); + }catch(err){ + console.log(err) + return response.status(500).json({ + status: "fail" + }); + } +} Application.post("/students/list", MiddlewareAuth, express.urlencoded({extended: true}), StudentList); diff --git a/database/catalog.js b/database/catalog.js index 2b70101..4d751c7 100644 --- a/database/catalog.js +++ b/database/catalog.js @@ -6,6 +6,7 @@ exports.createCatalog = createCatalog; exports.getCatalogs = getCatalogs; exports.countCatalogs = countCatalogs; exports.updateCatalog = updateCatalog; +exports.deleteCatalogs = deleteCatalogs; async function createCatalog( owner_id, @@ -42,9 +43,6 @@ async function updateCatalog( }); } - - - async function getCatalogs( owner_id, offset, @@ -69,4 +67,16 @@ async function countCatalogs(owner_id, searchTerm) .count("id as total") .first() ).total; -} \ No newline at end of file +} + +async function deleteCatalogs(owner_id, id) +{ + await DB.table("events") + .where("owner_id",owner_id) + .where("id",id) + .update({ + deleted_at: DB.fn.now() + }); +} + + diff --git a/database/student.js b/database/student.js index d84cd99..4598fe0 100644 --- a/database/student.js +++ b/database/student.js @@ -6,6 +6,8 @@ exports.createStudent = createStudent; exports.getStudents = getStudents; exports.countStudents = countStudents; exports.updateStudent = updateStudent; +exports.deleteStudent = deleteStudent; + async function createStudent( owner_id, @@ -85,4 +87,13 @@ async function countStudents(owner_id, searchTerm) .count("id as total") .first() ).total; +} +async function deleteStudent(owner_id, id) +{ + await DB.table("students") + .where("owner_id",owner_id) + .where("id",id) + .update({ + deleted_at: DB.fn.now() + }); } \ No newline at end of file diff --git a/views/panel/catalogs.ejs b/views/panel/catalogs.ejs index 78b6c65..7f47d44 100644 --- a/views/panel/catalogs.ejs +++ b/views/panel/catalogs.ejs @@ -23,7 +23,7 @@ Puan Kataloğu listesi
- @@ -41,78 +41,54 @@
-