From a8af0216217887046654fe78f5720277d4f112d6 Mon Sep 17 00:00:00 2001 From: Blake Matthes Date: Fri, 20 Feb 2026 12:17:39 -0600 Subject: [PATCH] added opendock apt check route --- backend/opendock/opendock.routes.ts | 13 ++++++++ backend/opendock/opendockGetRelease.route.ts | 34 ++++++++++++++++++++ backend/routeHandler.routes.ts | 2 ++ backend/utils/returnHelper.utils.ts | 5 +-- 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 backend/opendock/opendock.routes.ts create mode 100644 backend/opendock/opendockGetRelease.route.ts diff --git a/backend/opendock/opendock.routes.ts b/backend/opendock/opendock.routes.ts new file mode 100644 index 0000000..05f7496 --- /dev/null +++ b/backend/opendock/opendock.routes.ts @@ -0,0 +1,13 @@ +import { type Express, Router } from "express"; +import { requireAuth } from "../middleware/auth.middleware.js"; +import getApt from "./opendockGetRelease.route.js"; + +export const setupOpendockRoutes = (baseUrl: string, app: Express) => { + //setup all the routes + // Apply auth to entire router + const router = Router(); + router.use(requireAuth); + + router.use(getApt); + app.use(`${baseUrl}/api/opendock`, router); +}; diff --git a/backend/opendock/opendockGetRelease.route.ts b/backend/opendock/opendockGetRelease.route.ts new file mode 100644 index 0000000..435a8bb --- /dev/null +++ b/backend/opendock/opendockGetRelease.route.ts @@ -0,0 +1,34 @@ +import { desc, lte, sql } from "drizzle-orm"; +import { Router } from "express"; +import { open } from "inspector/promises"; +import { db } from "../db/db.controller.js"; +import { opendockApt } from "../db/schema/opendock.schema.js"; +import { apiReturn } from "../utils/returnHelper.utils.js"; +import { tryCatch } from "../utils/trycatch.utils.js"; + +const r = Router(); + +r.get("/", async (_, res) => { + //const limit + + const { data, error } = await tryCatch( + db + .select() + .from(opendockApt) + .where(lte(opendockApt.createdAt, sql.raw(`NOW() - INTERVAL '30 days'`))) + .orderBy(desc(opendockApt.createdAt)) + .limit(500), + ); + + apiReturn(res, { + success: true, + level: "info", + module: "opendock", + subModule: "apt", + message: "The first x Apt", + data: data ?? [], + status: 200, + }); +}); + +export default r; diff --git a/backend/routeHandler.routes.ts b/backend/routeHandler.routes.ts index c3cdc2b..3e6bab2 100644 --- a/backend/routeHandler.routes.ts +++ b/backend/routeHandler.routes.ts @@ -3,6 +3,7 @@ import { setupAuthRoutes } from "./auth/auth.routes.js"; // import the routes and route setups import { setupApiDocsRoutes } from "./configs/scaler.config.js"; import { setupDatamartRoutes } from "./datamart/datamart.routes.js"; +import { setupOpendockRoutes } from "./opendock/opendock.routes.js"; import { setupProdSqlRoutes } from "./prodSql/prodSql.routes.js"; import { setupSystemRoutes } from "./system/system.routes.js"; import { setupUtilsRoutes } from "./utils/utils.routes.js"; @@ -15,6 +16,7 @@ export const setupRoutes = (baseUrl: string, app: Express) => { setupDatamartRoutes(baseUrl, app); setupAuthRoutes(baseUrl, app); setupUtilsRoutes(baseUrl, app); + setupOpendockRoutes(baseUrl, app); // routes that get activated if the module is set to activated. diff --git a/backend/utils/returnHelper.utils.ts b/backend/utils/returnHelper.utils.ts index 1acc45b..ddbf2b8 100644 --- a/backend/utils/returnHelper.utils.ts +++ b/backend/utils/returnHelper.utils.ts @@ -3,7 +3,7 @@ import { createLogger } from "../logger/logger.controller.js"; interface Data { success: boolean; - module: "system" | "ocp" | "routes" | "datamart" | "utils"; + module: "system" | "ocp" | "routes" | "datamart" | "utils" | "opendock"; subModule: | "db" | "labeling" @@ -13,7 +13,8 @@ interface Data { | "sendmail" | "auth" | "datamart" - | "jobs"; + | "jobs" + | "apt"; level: "info" | "error" | "debug" | "fatal"; message: string; data?: unknown[];