import { createTRPCRouter } from "../trpc.js";
import { allocationRouter } from "./allocation.js";
import { assistantRouter } from "./assistant.js";
import { auditLogRouter } from "./audit-log.js";
import { calculationRuleRouter } from "./calculation-rules.js";
import { blueprintRouter } from "./blueprint.js";
import { chargeabilityReportRouter } from "./chargeability-report.js";
import { computationGraphRouter } from "./computation-graph.js";
import { clientRouter } from "./client.js";
import { commentRouter } from "./comment.js";
import { countryRouter } from "./country.js";
import { dashboardRouter } from "./dashboard.js";
import { dispoRouter } from "./dispo.js";
import { effortRuleRouter } from "./effort-rule.js";
import { experienceMultiplierRouter } from "./experience-multiplier.js";
import { estimateRouter } from "./estimate.js";
import { entitlementRouter } from "./entitlement.js";
import { holidayCalendarRouter } from "./holiday-calendar.js";
import { importExportRouter } from "./import-export.js";
import { insightsRouter } from "./insights.js";
import { managementLevelRouter } from "./management-level.js";
import { notificationRouter } from "./notification.js";
import { orgUnitRouter } from "./org-unit.js";
import { projectRouter } from "./project.js";
import { rateCardRouter } from "./rate-card.js";
import { reportRouter } from "./report.js";
import { resourceRouter } from "./resource.js";
import { roleRouter } from "./role.js";
import { scenarioRouter } from "./scenario.js";
import { settingsRouter } from "./settings.js";
import { staffingRouter } from "./staffing.js";
import { systemRoleConfigRouter } from "./system-role-config.js";
import { timelineRouter } from "./timeline.js";
import { userRouter } from "./user.js";
import { utilizationCategoryRouter } from "./utilization-category.js";
import { vacationRouter } from "./vacation.js";
import { webhookRouter } from "./webhook.js";
import { inviteRouter } from "./invite.js";
import { authRouter } from "./auth.js";

export const appRouter = createTRPCRouter({
  auth: authRouter,
  invite: inviteRouter,
  assistant: assistantRouter,
  auditLog: auditLogRouter,
  dashboard: dashboardRouter,
  dispo: dispoRouter,
  effortRule: effortRuleRouter,
  experienceMultiplier: experienceMultiplierRouter,
  estimate: estimateRouter,
  resource: resourceRouter,
  project: projectRouter,
  allocation: allocationRouter,
  timeline: timelineRouter,
  staffing: staffingRouter,
  blueprint: blueprintRouter,
  role: roleRouter,
  user: userRouter,
  importExport: importExportRouter,
  insights: insightsRouter,
  vacation: vacationRouter,
  entitlement: entitlementRouter,
  holidayCalendar: holidayCalendarRouter,
  notification: notificationRouter,
  settings: settingsRouter,
  country: countryRouter,
  orgUnit: orgUnitRouter,
  utilizationCategory: utilizationCategoryRouter,
  clientEntity: clientRouter,
  managementLevel: managementLevelRouter,
  rateCard: rateCardRouter,
  chargeabilityReport: chargeabilityReportRouter,
  report: reportRouter,
  scenario: scenarioRouter,
  calculationRule: calculationRuleRouter,
  comment: commentRouter,
  computationGraph: computationGraphRouter,
  systemRoleConfig: systemRoleConfigRouter,
  webhook: webhookRouter,
});

export type AppRouter = typeof appRouter;
