import type { Express } from "express";
import { setupAdminRoutes } from "./admin/admin.routes.js";
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 { setupDockDoorRoutes } from "./dockdoorScanning/dockdoor.routes.js";
import { setupEomRoutes } from "./eom/eom.routes.js";
import { setupGPSqlRoutes } from "./gpSql/gpSql.routes.js";
import { setupLogisticsRoutes } from "./logistics/logistics.routes.js";
import { setupMobileRoutes } from "./mobile/mobile.routes.js";
import { setupNotificationRoutes } from "./notification/notification.routes.js";
import { setupOCPRoutes } from "./ocp/ocp.routes.js";
import { setupOpendockRoutes } from "./opendock/opendock.routes.js";
import { setupProdSqlRoutes } from "./prodSql/prodSql.routes.js";
import { setupSystemRoutes } from "./system/system.routes.js";
import { setupTCPRoutes } from "./tcpServer/tcp.routes.js";
import { setupUtilsRoutes } from "./utils/utils.routes.js";

export const setupRoutes = (baseUrl: string, app: Express) => {
	//routes that are on by default
	setupDatamartRoutes(baseUrl, app);
	setupMobileRoutes(baseUrl, app);
	setupSystemRoutes(baseUrl, app);
	setupAdminRoutes(baseUrl, app);
	setupApiDocsRoutes(baseUrl, app);
	setupProdSqlRoutes(baseUrl, app);
	setupGPSqlRoutes(baseUrl, app);
	setupAuthRoutes(baseUrl, app);
	setupUtilsRoutes(baseUrl, app);
	setupOpendockRoutes(baseUrl, app);
	setupNotificationRoutes(baseUrl, app);
	setupOCPRoutes(baseUrl, app);
	setupTCPRoutes(baseUrl, app);
	setupDockDoorRoutes(baseUrl, app);
	setupEomRoutes(baseUrl, app);
	setupLogisticsRoutes(baseUrl, app);
};
