75 lines
3.3 KiB
TypeScript
75 lines
3.3 KiB
TypeScript
import { Router } from "express";
|
|
import { analyticsMiddleware } from "@/middleware/analyticsMiddleware.js";
|
|
import { apiAuthMiddleware } from "@/middleware/apiAuthMiddleware.js";
|
|
import { expressApiVersionMiddleware } from "@/middleware/expressApiVersionMiddleware.js";
|
|
import { pricingMiddleware } from "@/middleware/pricingMiddleware.js";
|
|
import { refreshCacheMiddleware } from "@/middleware/refreshCacheMiddleware.js";
|
|
import { analyticsRouter } from "../analytics/analyticsRouter.js";
|
|
import { attachRouter } from "../customers/attach/attachRouter.js";
|
|
import { handleSetupPayment } from "../customers/attach/handleSetupPayment.js";
|
|
import cancelRouter from "../customers/cancel/cancelRouter.js";
|
|
import { expressCusRouter } from "../customers/cusRouter.js";
|
|
import { handleCreateBillingPortal } from "../customers/handlers/handleCreateBillingPortal.js";
|
|
import { featureRouter } from "../features/featureRouter.js";
|
|
import { internalFeatureRouter } from "../features/internalFeatureRouter.js";
|
|
import { migrationRouter } from "../migrations/migrationRouter.js";
|
|
import { handleGetOrg } from "../orgs/handlers/handleGetOrg.js";
|
|
import { platformRouter } from "../platform/platformLegacy/platformRouter.js";
|
|
import { productBetaRouter, productRouter } from "../products/productRouter.js";
|
|
import { componentRouter } from "./components/componentRouter.js";
|
|
import { entityRouter } from "./entities/entityRouter.js";
|
|
// import { checkRouter } from "./entitled/checkRouter.js";
|
|
import { invoiceRouter } from "./invoiceRouter.js";
|
|
import { redemptionRouter, referralRouter } from "./rewards/referralRouter.js";
|
|
import { rewardProgramRouter } from "./rewards/rewardProgramRouter.js";
|
|
import rewardRouter from "./rewards/rewardRouter.js";
|
|
|
|
const apiRouter: Router = Router();
|
|
|
|
apiRouter.use(apiAuthMiddleware);
|
|
apiRouter.use(pricingMiddleware);
|
|
apiRouter.use(analyticsMiddleware);
|
|
apiRouter.use(expressApiVersionMiddleware as any);
|
|
apiRouter.use(refreshCacheMiddleware);
|
|
|
|
apiRouter.use("/customers", expressCusRouter);
|
|
apiRouter.use("/invoices", invoiceRouter);
|
|
apiRouter.use("/products", productRouter);
|
|
apiRouter.use("/products_beta", productBetaRouter);
|
|
apiRouter.use("/components", componentRouter);
|
|
apiRouter.use("/rewards", rewardRouter);
|
|
apiRouter.use("/features", featureRouter);
|
|
apiRouter.use("/internal_features", internalFeatureRouter);
|
|
|
|
apiRouter.use("/entities", entityRouter);
|
|
apiRouter.use("/migrations", migrationRouter);
|
|
|
|
// REWARDS
|
|
apiRouter.use("/reward_programs", rewardProgramRouter);
|
|
apiRouter.use("/referrals", referralRouter);
|
|
apiRouter.use("/redemptions", redemptionRouter);
|
|
|
|
// Cus Product
|
|
apiRouter.use("", attachRouter);
|
|
apiRouter.use("/cancel", cancelRouter);
|
|
|
|
// apiRouter.use("/entitled", checkRouter);
|
|
// apiRouter.use("/check", checkRouter);
|
|
// apiRouter.use("/usage", usageRouter);
|
|
|
|
// apiRouter.use("/events", eventsRouter);
|
|
// apiRouter.use("/track", eventsRouter);
|
|
apiRouter.post("/setup_payment", handleSetupPayment);
|
|
apiRouter.post("/billing_portal", handleCreateBillingPortal);
|
|
|
|
// Analytics
|
|
apiRouter.use("/query", analyticsRouter);
|
|
apiRouter.use("/platform", platformRouter);
|
|
|
|
// // Used for tests...
|
|
// apiRouter.post("/organization/stripe", ...handleConnectStripe);
|
|
// apiRouter.delete("/organization/stripe", ...handleDeleteStripe);
|
|
apiRouter.get("/organization", handleGetOrg);
|
|
|
|
export { apiRouter };
|