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
|
@ -19,6 +19,8 @@ public class Configuration {
|
||||||
private boolean use_ssl;
|
private boolean use_ssl;
|
||||||
private String ssl_keystore;
|
private String ssl_keystore;
|
||||||
private String ssl_keystorePasswd;
|
private String ssl_keystorePasswd;
|
||||||
|
|
||||||
|
private String users_files;
|
||||||
|
|
||||||
private String token_issuer;
|
private String token_issuer;
|
||||||
private int token_expiration;
|
private int token_expiration;
|
||||||
|
@ -143,4 +145,10 @@ public class Configuration {
|
||||||
public boolean useSsl(){
|
public boolean useSsl(){
|
||||||
return this.use_ssl;
|
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);
|
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 ChapterElement(router.getDataBase()));
|
||||||
router.register(new ChapterList(router.getDataBase()));
|
router.register(new ChapterList(router.getDataBase()));
|
||||||
router.register(new PuzzleElement(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 Login(router.getDataBase(), router));
|
||||||
router.register(new Result(router.getDataBase()));
|
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 Leaderboard(router.getDataBase()));
|
||||||
router.register(new PlayerDetails(router.getDataBase()));
|
router.register(new PlayerDetails(router.getDataBase()));
|
||||||
router.register(new BadgeDetails(router.getDataBase()));
|
router.register(new BadgeDetails(router.getDataBase()));
|
||||||
|
|
|
@ -16,8 +16,6 @@ import org.json.simple.JSONArray;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
|
|
||||||
public class Player implements Comparable<Player> {
|
public class Player implements Comparable<Player> {
|
||||||
public static final String PATH_TO_CODE = "/home/%s/peer-at-source/";
|
|
||||||
|
|
||||||
private String pseudo;
|
private String pseudo;
|
||||||
private String email;
|
private String email;
|
||||||
private String firstname;
|
private String firstname;
|
||||||
|
@ -101,10 +99,6 @@ public class Player implements Comparable<Player> {
|
||||||
avatar = newAvatar;
|
avatar = newAvatar;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPathToSourceCode() {
|
|
||||||
return String.format(PATH_TO_CODE, pseudo);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getRank() {
|
public int getRank() {
|
||||||
return rank;
|
return rank;
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,9 +22,11 @@ import be.jeffcheasey88.peeratcode.webserver.User;
|
||||||
|
|
||||||
public class PuzzleResponse implements Response {
|
public class PuzzleResponse implements Response {
|
||||||
private final DatabaseRepository databaseRepo;
|
private final DatabaseRepository databaseRepo;
|
||||||
|
private final String usersFilesPath;
|
||||||
|
|
||||||
public PuzzleResponse(DatabaseRepository databaseRepo) {
|
public PuzzleResponse(DatabaseRepository databaseRepo, String initUsersFilesPath) {
|
||||||
this.databaseRepo = databaseRepo;
|
this.databaseRepo = databaseRepo;
|
||||||
|
usersFilesPath = initUsersFilesPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Route(path = "^\\/puzzleResponse\\/([0-9]+)$", type = "POST", needLogin = true)
|
@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 {
|
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());
|
Files.write(path, received.getSourceCode());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,10 +22,12 @@ public class Register implements Response {
|
||||||
|
|
||||||
private DatabaseRepository databaseRepo;
|
private DatabaseRepository databaseRepo;
|
||||||
private Router router;
|
private Router router;
|
||||||
|
private String usersFilesPath;
|
||||||
|
|
||||||
public Register(DatabaseRepository databaseRepo, Router router) {
|
public Register(DatabaseRepository databaseRepo, Router router, String initUsersFilesPath) {
|
||||||
this.databaseRepo = databaseRepo;
|
this.databaseRepo = databaseRepo;
|
||||||
this.router = router;
|
this.router = router;
|
||||||
|
usersFilesPath = initUsersFilesPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Route(path = "^\\/register$", type = "POST")
|
@Route(path = "^\\/register$", type = "POST")
|
||||||
|
@ -80,7 +82,8 @@ public class Register implements Response {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createFolderToSaveSourceCode(String pseudo) throws IOException {
|
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