aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/com/pinapelz/frontend/App.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/pinapelz/frontend/App.kt')
-rw-r--r--src/main/java/com/pinapelz/frontend/App.kt20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/main/java/com/pinapelz/frontend/App.kt b/src/main/java/com/pinapelz/frontend/App.kt
index 02da8b7..22806bd 100644
--- a/src/main/java/com/pinapelz/frontend/App.kt
+++ b/src/main/java/com/pinapelz/frontend/App.kt
@@ -1,24 +1,23 @@
package com.pinapelz.frontend
-import com.pinapelz.frontend.HtmlTemplates
-
import io.javalin.Javalin
-import io.javalin.http.staticfiles.Location
import com.pinapelz.Retriever
import com.pinapelz.FileSystem
import java.sql.ResultSet
import java.text.SimpleDateFormat
fun startFrontend(retriever: Retriever, fileSystem: FileSystem) {
- val app = Javalin.create {
- it.staticFiles.add("/public", Location.CLASSPATH)
- }
+ val app = Javalin.create{};
app.get("/") { ctx ->
val directoryId = ctx.queryParam("dir")?.toIntOrNull() ?: 1
ctx.html(generateMainHtml(directoryId))
}
+ app.get("/splitter") { ctx ->
+ ctx.html(generateFileSplitterHtml())
+ }
+
app.get("/api/directories") { ctx ->
val directories = mutableListOf<Map<String, Any>>()
val rs = fileSystem.getAllDirectories()
@@ -62,7 +61,7 @@ fun startFrontend(retriever: Retriever, fileSystem: FileSystem) {
val sortBy = ctx.queryParam("sortBy") ?: "created_at"
val files = mutableListOf<Map<String, Any>>()
- val rs: ResultSet = fileSystem.getFilesByDirectoryIdFiltered(directoryId, search, mimeTypeFilter, sortBy)
+ val rs: ResultSet = fileSystem.getFilesByDirectoryId(directoryId, search, mimeTypeFilter, sortBy)
val dateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
while (rs.next()) {
@@ -113,7 +112,6 @@ fun startFrontend(retriever: Retriever, fileSystem: FileSystem) {
val trimmedPath = path.trim()
- // Server-side validation
val validationError = validateDirectoryName(trimmedPath)
if (validationError != null) {
ctx.status(400).json(mapOf(
@@ -212,7 +210,7 @@ fun startFrontend(retriever: Retriever, fileSystem: FileSystem) {
}
fun validateDirectoryName(path: String): String? {
- if (path.length < 1 || path.length > 100) {
+ if (path.length !in 1..100) {
return "Directory name must be 1-100 characters long"
}
val invalidChars = Regex("[<>:\"/\\\\|?*\\x00-\\x1f]")
@@ -251,3 +249,7 @@ fun formatFileSize(bytes: Long): String {
fun generateFileTableHtml(files: List<Map<String, Any>>, search: String = "", mimeTypeFilter: String = ""): String {
return HtmlTemplates.generateFileTable(files, search, mimeTypeFilter)
}
+
+fun generateFileSplitterHtml(): String {
+ return HtmlTemplates.generateFileSplitterPage()
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage