diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-12-29 11:15:58 -0800 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-12-29 11:15:58 -0800 |
| commit | 2025e3e5e56ca22a23f47005175dc8ce254024d6 (patch) | |
| tree | cd2267f53d39536f678174c68b4d44fa924f547d /src/main/java/com/pinapelz/FileSystem.java | |
| parent | fbe9b9eb7a462b42f235d100811b377659101b3c (diff) | |
implement basic webui
Diffstat (limited to 'src/main/java/com/pinapelz/FileSystem.java')
| -rw-r--r-- | src/main/java/com/pinapelz/FileSystem.java | 49 |
1 files changed, 47 insertions, 2 deletions
diff --git a/src/main/java/com/pinapelz/FileSystem.java b/src/main/java/com/pinapelz/FileSystem.java index 1f252a2..d073691 100644 --- a/src/main/java/com/pinapelz/FileSystem.java +++ b/src/main/java/com/pinapelz/FileSystem.java @@ -2,6 +2,7 @@ package com.pinapelz; import net.dv8tion.jda.api.entities.Message; +import java.sql.ResultSet; import java.sql.SQLException; public class FileSystem { @@ -14,14 +15,58 @@ public class FileSystem { return database.getFileById(fileId); } - public void createNewFile(String channelId, String messageId, String description, Message.Attachment attachment){ + public void createNewFile(String channelId, String messageId, int directoryId, String description, Message.Attachment attachment){ int fileSize = attachment.getSize(); String filename = attachment.getFileName(); String mimeType = attachment.getContentType(); try { - database.recordFileMetadata(channelId, messageId, 1, filename, description, fileSize, mimeType ); + database.recordFileMetadata(channelId, messageId, directoryId, filename, description, fileSize, mimeType ); } catch (SQLException e) { throw new RuntimeException(e); } } + + // Backward compatibility - defaults to root directory (ID 1) + public void createNewFile(String channelId, String messageId, String description, Message.Attachment attachment){ + createNewFile(channelId, messageId, 1, description, attachment); + } + public ResultSet getFilesByDirectoryIdFiltered(int directoryId, String search, String mimeTypeFilter, String sortBy) { + return database.getFilesByDirectoryId(directoryId, search, mimeTypeFilter, sortBy); + } + + public int findOrCreateDirectory(String path) throws SQLException { + // Try to find existing directory + ResultSet rs = getAllDirectories(); + while (rs.next()) { + if (path.equals(rs.getString("path"))) { + int id = rs.getInt("directory_id"); + rs.close(); + return id; + } + } + rs.close(); + + // Create new directory if not found + return createDirectory(path); + } + + public ResultSet getAllDirectories() { + return database.getAllDirectories(); + } + + public ResultSet getDirectoryById(int directoryId) { + return database.getDirectoryById(directoryId); + } + + public int createDirectory(String path) throws SQLException { + return database.createDirectory(path); + } + + public boolean deleteFile(int fileId) throws SQLException { + return database.deleteFile(fileId); + } + + public boolean deleteDirectory(int directoryId) throws SQLException { + return database.deleteDirectory(directoryId); + } } |
