diff options
Diffstat (limited to 'src/main/java/com')
| -rw-r--r-- | src/main/java/com/pinapelz/FileSystem.java | 4 | ||||
| -rw-r--r-- | src/main/java/com/pinapelz/frontend/App.kt | 20 | ||||
| -rw-r--r-- | src/main/java/com/pinapelz/frontend/HtmlTemplates.kt | 4 |
3 files changed, 17 insertions, 11 deletions
diff --git a/src/main/java/com/pinapelz/FileSystem.java b/src/main/java/com/pinapelz/FileSystem.java index 297ca13..109b9ed 100644 --- a/src/main/java/com/pinapelz/FileSystem.java +++ b/src/main/java/com/pinapelz/FileSystem.java @@ -17,7 +17,7 @@ public class FileSystem { DiscordFilePath discPath = new DiscordFilePath(); discPath.channelId = Long.parseLong(rawDiscordFilePath[0]); discPath.messageId = Long.parseLong(rawDiscordFilePath[1]); - discPath.fileName = rawDiscordFilePath[3]; + discPath.fileName = rawDiscordFilePath[2]; return discPath; } @@ -32,7 +32,7 @@ public class FileSystem { } } - public ResultSet getFilesByDirectoryIdFiltered(int directoryId, String search, String mimeTypeFilter, String sortBy) { + public ResultSet getFilesByDirectoryId(int directoryId, String search, String mimeTypeFilter, String sortBy) { return database.getFilesByDirectoryId(directoryId, search, mimeTypeFilter, sortBy); } 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() +} diff --git a/src/main/java/com/pinapelz/frontend/HtmlTemplates.kt b/src/main/java/com/pinapelz/frontend/HtmlTemplates.kt index 21c8033..eeef9f5 100644 --- a/src/main/java/com/pinapelz/frontend/HtmlTemplates.kt +++ b/src/main/java/com/pinapelz/frontend/HtmlTemplates.kt @@ -108,4 +108,8 @@ object HtmlTemplates { else -> "fas fa-file" } } + + fun generateFileSplitterPage(): String { + return loadTemplate("file-splitter.html") + } }
\ No newline at end of file |
