Files
provider-service/lib/provider_service_web/router.ex
HaimKortovich 847a057e7b
All checks were successful
Build and Publish / build-release (push) Successful in 1m28s
implement error and healthh endpoints
2026-04-15 15:56:33 -05:00

77 lines
2.0 KiB
Elixir

defmodule ProviderServiceWeb.Router do
use Phoenix.Router
pipeline :api do
plug(:accepts, ["json"])
plug(OpenApiSpex.Plug.PutApiSpec, module: ProviderServiceWeb.ApiSpec)
end
get("/health", ProviderServiceWeb.HealthController, :health)
get("/health/ready", ProviderServiceWeb.HealthController, :ready)
scope "/api" do
pipe_through(:api)
get("/openapi", OpenApiSpex.Plug.RenderSpec, [])
scope "/v1" do
# Providers
get("/providers", ProviderServiceWeb.ProviderController, :index)
post("/providers", ProviderServiceWeb.ProviderController, :create)
get("/providers/:provider_id", ProviderServiceWeb.ProviderController, :show)
put("/providers/:provider_id", ProviderServiceWeb.ProviderController, :update)
post(
"/providers/:provider_id/deactivate",
ProviderServiceWeb.ProviderController,
:deactivate
)
post(
"/providers/:provider_id/reactivate",
ProviderServiceWeb.ProviderController,
:reactivate
)
# Templates
get("/providers/:provider_id/templates", ProviderServiceWeb.TemplateController, :index)
post(
"/providers/:provider_id/templates",
ProviderServiceWeb.TemplateController,
:upload_template
)
post(
"/providers/:provider_id/templates/:template_id/activate",
ProviderServiceWeb.TemplateController,
:activate
)
post(
"/providers/:provider_id/templates/:template_id/deactivate",
ProviderServiceWeb.TemplateController,
:deactivate
)
post(
"/providers/:provider_id/templates/:template_id/set-default",
ProviderServiceWeb.TemplateController,
:set_default
)
delete(
"/providers/:provider_id/templates/:template_id",
ProviderServiceWeb.TemplateController,
:remove
)
end
end
if Mix.env() == :dev do
scope "/swaggerui" do
get("/", OpenApiSpex.Plug.SwaggerUI, path: "/api/openapi")
end
end
end