defmodule ArcadiaCloudWeb.Router do use ArcadiaCloudWeb, :router pipeline :api do plug :accepts, ["json"] end pipeline :authed do plug ArcadiaCloudWeb.Plugs.RequireAuth end scope "/api", ArcadiaCloudWeb do pipe_through :api get "/health", HealthController, :show end scope "/api/v1", ArcadiaCloudWeb do pipe_through [:api, :authed] get "/inventory", InventoryController, :index get "/billing/balance", BillingController, :balance get "/billing/cost-lines", BillingController, :cost_lines get "/drift", DriftController, :index post "/drift/:id/accept", DriftController, :accept get "/catalog/plans", CatalogController, :plans get "/catalog/plans/:id", CatalogController, :show post "/catalog/plans", CatalogController, :create_plan post "/catalog/plans/:plan_id/versions", CatalogController, :create_version post "/catalog/versions/:id/publish", CatalogController, :publish_version get "/catalog/addons", CatalogController, :addons post "/catalog/addons", CatalogController, :create_addon post "/quote", QuoteController, :create get "/deployments", DeploymentController, :index post "/deployments", DeploymentController, :create get "/deployments/:id", DeploymentController, :show post "/deployments/:id/transition", DeploymentController, :transition post "/deployments/:id/subscribe", DeploymentController, :subscribe get "/invoices", InvoiceController, :index get "/invoices/:id", InvoiceController, :show get "/dashboard/margin", DashboardController, :margin get "/dashboard/accrual", DashboardController, :accrual post "/integrations/llm-usage", IntegrationsController, :llm_usage end end