add config line for users files path
This commit is contained in:
parent
9c98ca573a
commit
e5794f382d
5 changed files with 21 additions and 14 deletions
|
@ -20,6 +20,8 @@ public class Configuration {
|
|||
private String ssl_keystore;
|
||||
private String ssl_keystorePasswd;
|
||||
|
||||
private String users_files;
|
||||
|
||||
private String token_issuer;
|
||||
private int token_expiration;
|
||||
|
||||
|
@ -143,4 +145,10 @@ public class Configuration {
|
|||
public boolean useSsl(){
|
||||
return this.use_ssl;
|
||||
}
|
||||
|
||||
public String getUsersFiles(){
|
||||
if (users_files == null || users_files.trim().isEmpty())
|
||||
users_files = "/tmp/users_files";
|
||||
return users_files;
|
||||
}
|
||||
}
|
|
@ -63,19 +63,19 @@ public class Main {
|
|||
}
|
||||
});
|
||||
|
||||
initRoutes(router);
|
||||
initRoutes(router, config);
|
||||
|
||||
startWebServer(config, router);
|
||||
}
|
||||
|
||||
private static void initRoutes(Router router) {
|
||||
private static void initRoutes(Router router, Configuration config) {
|
||||
router.register(new ChapterElement(router.getDataBase()));
|
||||
router.register(new ChapterList(router.getDataBase()));
|
||||
router.register(new PuzzleElement(router.getDataBase()));
|
||||
router.register(new Register(router.getDataBase(), router));
|
||||
router.register(new Register(router.getDataBase(), router, config.getUsersFiles()));
|
||||
router.register(new Login(router.getDataBase(), router));
|
||||
router.register(new Result(router.getDataBase()));
|
||||
router.register(new PuzzleResponse(router.getDataBase()));
|
||||
router.register(new PuzzleResponse(router.getDataBase(), config.getUsersFiles()));
|
||||
router.register(new Leaderboard(router.getDataBase()));
|
||||
router.register(new PlayerDetails(router.getDataBase()));
|
||||
router.register(new BadgeDetails(router.getDataBase()));
|
||||
|
|
|
@ -16,8 +16,6 @@ import org.json.simple.JSONArray;
|
|||
import org.json.simple.JSONObject;
|
||||
|
||||
public class Player implements Comparable<Player> {
|
||||
public static final String PATH_TO_CODE = "/home/%s/peer-at-source/";
|
||||
|
||||
private String pseudo;
|
||||
private String email;
|
||||
private String firstname;
|
||||
|
@ -101,10 +99,6 @@ public class Player implements Comparable<Player> {
|
|||
avatar = newAvatar;
|
||||
}
|
||||
|
||||
public String getPathToSourceCode() {
|
||||
return String.format(PATH_TO_CODE, pseudo);
|
||||
}
|
||||
|
||||
public int getRank() {
|
||||
return rank;
|
||||
}
|
||||
|
|
|
@ -22,9 +22,11 @@ import be.jeffcheasey88.peeratcode.webserver.User;
|
|||
|
||||
public class PuzzleResponse implements Response {
|
||||
private final DatabaseRepository databaseRepo;
|
||||
private final String usersFilesPath;
|
||||
|
||||
public PuzzleResponse(DatabaseRepository databaseRepo) {
|
||||
public PuzzleResponse(DatabaseRepository databaseRepo, String initUsersFilesPath) {
|
||||
this.databaseRepo = databaseRepo;
|
||||
usersFilesPath = initUsersFilesPath;
|
||||
}
|
||||
|
||||
@Route(path = "^\\/puzzleResponse\\/([0-9]+)$", type = "POST", needLogin = true)
|
||||
|
@ -52,7 +54,7 @@ public class PuzzleResponse implements Response {
|
|||
}
|
||||
|
||||
private void saveSourceCode(ReceivedResponse received, Player player) throws IOException {
|
||||
Path path = Paths.get(String.format("%s/puz%04d-%s", player.getPathToSourceCode(), received.getPuzzleId(), received.getFileName()));
|
||||
Path path = Paths.get(String.format("%s/%s/puz%04d-%s", usersFilesPath, player.getPseudo(), received.getPuzzleId(), received.getFileName()));
|
||||
Files.write(path, received.getSourceCode());
|
||||
|
||||
}
|
||||
|
|
|
@ -22,10 +22,12 @@ public class Register implements Response {
|
|||
|
||||
private DatabaseRepository databaseRepo;
|
||||
private Router router;
|
||||
private String usersFilesPath;
|
||||
|
||||
public Register(DatabaseRepository databaseRepo, Router router) {
|
||||
public Register(DatabaseRepository databaseRepo, Router router, String initUsersFilesPath) {
|
||||
this.databaseRepo = databaseRepo;
|
||||
this.router = router;
|
||||
usersFilesPath = initUsersFilesPath;
|
||||
}
|
||||
|
||||
@Route(path = "^\\/register$", type = "POST")
|
||||
|
@ -80,7 +82,8 @@ public class Register implements Response {
|
|||
}
|
||||
|
||||
private void createFolderToSaveSourceCode(String pseudo) throws IOException {
|
||||
Files.createDirectories(Paths.get(String.format(Player.PATH_TO_CODE, pseudo)));
|
||||
|
||||
Files.createDirectories(Paths.get(String.format("%s/%s", usersFilesPath, pseudo)));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue