module Mensam.API.Route where import Mensam.API.Route.Api qualified import Mensam.API.Route.Frontend qualified import Mensam.API.Route.Haddock qualified import Mensam.API.Route.OpenApi qualified import Mensam.API.Route.Static qualified import Data.Kind import Servant import Servant.API.Generic type Routes :: Type -> Type data Routes route = Routes { forall route. Routes route -> route :- ("api" :> NamedRoutes Routes) routeApi :: route :- "api" :> NamedRoutes Mensam.API.Route.Api.Routes , forall route. Routes route -> route :- ("openapi" :> NamedRoutes Routes) routeOpenApi :: route :- "openapi" :> NamedRoutes Mensam.API.Route.OpenApi.Routes , forall route. Routes route -> route :- ("static" :> API) routeStatic :: route :- "static" :> Mensam.API.Route.Static.API , forall route. Routes route -> route :- ("haddock" :> API) routeHaddock :: route :- "haddock" :> Mensam.API.Route.Haddock.API , forall route. Routes route -> route :- API routeFrontend :: route :- Mensam.API.Route.Frontend.API } deriving stock ((forall x. Routes route -> Rep (Routes route) x) -> (forall x. Rep (Routes route) x -> Routes route) -> Generic (Routes route) forall x. Rep (Routes route) x -> Routes route forall x. Routes route -> Rep (Routes route) x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a forall route x. Rep (Routes route) x -> Routes route forall route x. Routes route -> Rep (Routes route) x $cfrom :: forall route x. Routes route -> Rep (Routes route) x from :: forall x. Routes route -> Rep (Routes route) x $cto :: forall route x. Rep (Routes route) x -> Routes route to :: forall x. Rep (Routes route) x -> Routes route Generic)