var app = new App
app.use_before("/*", new RequestClock)
- app.use("/api", new APIRouter(model, modelbuilder, mainmodule, catalog, collection))
+ app.use("/api", new NitwebAPIRouter(model, mainmodule, modelbuilder, catalog, stars))
app.use("/*", new StaticHandler(toolcontext.share_dir / "nitweb", "index.html"))
app.use_after("/*", new ConsoleLog)
end
# Group all api handlers in one router.
-class APIRouter
- super Router
-
- # Model to pass to handlers.
- var model: Model
+class NitwebAPIRouter
+ super APIRouter
# ModelBuilder to pass to handlers.
var modelbuilder: ModelBuilder
- # Mainmodule to pass to handlers.
- var mainmodule: MModule
-
# Catalog to pass to handlers.
var catalog: Catalog
# Group all api handlers in one router.
class APICatalogRouter
- super Router
-
- # Model to pass to handlers.
- var model: Model
-
- # Mainmodule to pass to handlers.
- var mainmodule: MModule
+ super APIRouter
# Catalog to pass to handlers.
var catalog: Catalog
# Group all api handlers in one router
class APIFeedbackRouter
- super Router
-
- # Model to pass to handlers
- var model: Model
-
- # Mainmodule to pass to handlers
- var mainmodule: MModule
+ super APIRouter
# Mongo collection used to store ratings
var collection: MongoCollection
# Group all api handlers in one router.
class APIGraphRouter
- super Router
-
- # Model to pass to handlers.
- var model: Model
-
- # Mainmodule to pass to handlers.
- var mainmodule: MModule
+ super APIRouter
init do
use("/inheritance/:id", new APIInheritanceGraph(model, mainmodule))
end
end
+# A Rooter dedicated to APIHandlers.
+class APIRouter
+ super Router
+
+ # Model to use.
+ var model: Model
+
+ # MModule used to flatten model.
+ var mainmodule: MModule
+end
+
redef class MEntity
# URL to `self` within the web interface.