@@ -25,7 +25,6 @@ import io.ktor.server.application.ApplicationCall
25
25
import io.ktor.server.application.call
26
26
import io.ktor.server.application.install
27
27
import io.ktor.server.engine.embeddedServer
28
- import io.ktor.server.html.respondHtmlTemplate
29
28
import io.ktor.server.http.content.staticResources
30
29
import io.ktor.server.netty.Netty
31
30
import io.ktor.server.netty.NettyApplicationEngine
@@ -44,12 +43,6 @@ import io.ktor.server.routing.routing
44
43
import io.ktor.server.websocket.WebSockets
45
44
import io.ktor.server.websocket.pingPeriod
46
45
import io.ktor.server.websocket.timeout
47
- import kotlinx.html.a
48
- import kotlinx.html.h1
49
- import kotlinx.html.li
50
- import kotlinx.html.style
51
- import kotlinx.html.ul
52
- import kotlinx.html.unsafe
53
46
import kotlinx.serialization.encodeToString
54
47
import kotlinx.serialization.json.Json
55
48
import org.apache.commons.io.FileUtils
@@ -71,6 +64,7 @@ import org.modelix.model.server.handlers.ModelReplicationServer
71
64
import org.modelix.model.server.handlers.RepositoriesManager
72
65
import org.modelix.model.server.handlers.ui.ContentExplorer
73
66
import org.modelix.model.server.handlers.ui.HistoryHandler
67
+ import org.modelix.model.server.handlers.ui.IndexPage
74
68
import org.modelix.model.server.handlers.ui.RepositoryOverview
75
69
import org.modelix.model.server.store.IgniteStoreClient
76
70
import org.modelix.model.server.store.InMemoryStoreClient
@@ -80,7 +74,6 @@ import org.modelix.model.server.store.forContextRepository
80
74
import org.modelix.model.server.store.forGlobalRepository
81
75
import org.modelix.model.server.store.loadDump
82
76
import org.modelix.model.server.store.writeDump
83
- import org.modelix.model.server.templates.PageWithMenuBar
84
77
import org.slf4j.LoggerFactory
85
78
import org.springframework.util.ResourceUtils
86
79
import java.io.File
@@ -217,61 +210,20 @@ object Main {
217
210
installStatusPages()
218
211
219
212
modelServer.init (this )
213
+ IndexPage ().init (this )
220
214
historyHandler.init (this )
221
215
repositoryOverview.init (this )
222
216
contentExplorer.init (this )
223
217
jsonModelServer.init (this )
224
218
modelReplicationServer.init (this )
225
219
metricsApi.init (this )
226
220
IdsApiImpl (repositoriesManager, localModelClient).init (this )
221
+
227
222
routing {
228
223
HealthApiImpl (repositoriesManager, globalStoreClient, inMemoryModels).installRoutes(this )
229
224
230
225
staticResources(" /public" , " public" )
231
- get(" /" ) {
232
- call.respondHtmlTemplate(PageWithMenuBar (" root" , " ." )) {
233
- headContent {
234
- style {
235
- unsafe {
236
- raw(
237
- """
238
- body {
239
- font-family: sans-serif;
240
- table {
241
- border-collapse: collapse;
242
- }
243
- td, th {
244
- border: 1px solid #888;
245
- padding: 3px 12px;
246
- }
247
- """ .trimIndent(),
248
- )
249
- }
250
- }
251
- }
252
- bodyContent {
253
- h1 { + " Model Server" }
254
- ul {
255
- li {
256
- a(" repos/" ) { + " View Repositories on the Model Server" }
257
- }
258
- li {
259
- a(" json/" ) { + " JSON API for JavaScript clients" }
260
- }
261
- li {
262
- a(" headers" ) { + " View HTTP headers" }
263
- }
264
- li {
265
- a(" user" ) { + " View JWT token and permissions" }
266
- }
267
- li {
268
- a(" swagger" ) { + " SwaggerUI" }
269
- }
270
- }
271
- }
272
- }
273
- call.respondText(" Model Server" )
274
- }
226
+
275
227
if (cmdLineArgs.noSwaggerUi) {
276
228
get(" swagger" ) {
277
229
call.respondText(" SwaggerUI is disabled" )
0 commit comments