35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
import { eq } from "drizzle-orm";
|
|
import type { Express } from "express";
|
|
import { db } from "../db/db.controller.js";
|
|
import { datamart } from "../db/schema/datamart.schema.js";
|
|
import { apiReturn } from "../utils/returnHelper.utils.js";
|
|
import addQuery from "./datamartAdd.route.js";
|
|
import updateQuery from "./datamartUpdate.route.js";
|
|
import runQuery from "./getDatamart.route.js";
|
|
|
|
export const setupDatamartRoutes = (baseUrl: string, app: Express) => {
|
|
//setup all the routes
|
|
|
|
app.use(`${baseUrl}/api/datamart`, runQuery);
|
|
app.use(`${baseUrl}/api/datamart`, addQuery);
|
|
app.use(`${baseUrl}/api/datamart`, updateQuery);
|
|
|
|
// just sending a get on datamart will return all the queries that we can call.
|
|
app.get(`${baseUrl}/api/datamart`, async (_, res) => {
|
|
const queries = await db
|
|
.select()
|
|
.from(datamart)
|
|
.where(eq(datamart.active, true));
|
|
|
|
return apiReturn(res, {
|
|
success: true,
|
|
level: "info",
|
|
module: "datamart",
|
|
subModule: "query",
|
|
message: "All active queries we can run",
|
|
data: queries,
|
|
status: 200,
|
|
});
|
|
});
|
|
};
|