Browse Source

implemented delivery of user files

module/files
Stephan Richter 1 month ago
parent
commit
152ebb3a20
  1. 22
      files/src/main/java/de/srsoftware/umbrella/files/FileModule.java
  2. 6
      frontend/src/App.svelte

22
files/src/main/java/de/srsoftware/umbrella/files/FileModule.java

@ -131,7 +131,25 @@ public class FileModule extends BaseHandler implements FileService { @@ -131,7 +131,25 @@ public class FileModule extends BaseHandler implements FileService {
return map;
}
private boolean getUserFiles(Path path, HttpExchange ex, UmbrellaUser user) {
return false;
private boolean getUserFiles(Path path, HttpExchange ex, UmbrellaUser user) throws IOException {
var userId = path.pop();
if (userId == null) throw missingFieldException(USER_ID);
long uid;
try {
uid = Long.parseLong(userId);
} catch (NumberFormatException e) {
throw invalidFieldException(PROJECT_ID,"Long");
}
var filename = "/user/"+uid;
if (!path.empty()) filename += "/"+URLDecoder.decode(path.toString(),UTF_8);
if (uid != user.id() && !fileDb.isPermitted(user,filename)) throw forbidden("You are not allowed to access {0}",filename);
var file = new File(baseDir+filename);
if (!file.exists()) throw unprocessable("{0} does not exist!",filename);
if (file.isDirectory()){
Map<String,Object> map = getDirectory(file);
map.put("title",filename);
return sendContent(ex,map);
}
return getFile(ex, file);
}
}

6
frontend/src/App.svelte

@ -116,6 +116,12 @@ @@ -116,6 +116,12 @@
</Router>
{:else}
<Router>
{#if messages.error}
<span class="error">{@html messages.error}</span>
{/if}
{#if messages.warning}
<span class="error">{@html messages.warning}</span>
{/if}
<Route path="/user/reset/pw" component={ResetPw} />
<Route path="/oidc_callback" component={Callback} />
<Route path="/wiki/:key/view" component={WikiGuest} />

Loading…
Cancel
Save