Merge branch 'maximilien' into dev

# Conflicts:
#	app/src/main/java/lightcontainer/protocol/rules/reader/SavefileRule.java
#	app/src/main/resources/appdata.json
This commit is contained in:
Maximilien LEDOUX 2022-03-12 18:06:47 +01:00
commit 64fd230294
4 changed files with 41 additions and 11 deletions

View File

@ -103,6 +103,7 @@ public class Context {
/** /**
* Clé AES de l'utilisateur * Clé AES de l'utilisateur
*
* @return Clé AES de l'utilisateur * @return Clé AES de l'utilisateur
*/ */
public String getAesKey() { public String getAesKey() {
@ -118,6 +119,7 @@ public class Context {
/** /**
* Permet d'ajouter des données pour la requête courrante * Permet d'ajouter des données pour la requête courrante
*
* @param key La clé permettant de retrouver la valeur * @param key La clé permettant de retrouver la valeur
* @param value La valeur associée à la clé * @param value La valeur associée à la clé
*/ */
@ -127,6 +129,7 @@ public class Context {
/** /**
* Permet d'ajouter des données pour la requête courrante * Permet d'ajouter des données pour la requête courrante
*
* @param key La clé permettant de retrouver la valeur * @param key La clé permettant de retrouver la valeur
* @param value La valeur associée à la clé * @param value La valeur associée à la clé
*/ */
@ -136,6 +139,7 @@ public class Context {
/** /**
* Permet de récupérer des données pour la requête courrante * Permet de récupérer des données pour la requête courrante
*
* @param key La clé permettant de retrouver la valeur * @param key La clé permettant de retrouver la valeur
* @return La valeur associée à la clé ou null * @return La valeur associée à la clé ou null
*/ */
@ -145,6 +149,7 @@ public class Context {
/** /**
* Permet de récupérer des données pour la requête courrante * Permet de récupérer des données pour la requête courrante
*
* @param key La clé permettant de retrouver la valeur * @param key La clé permettant de retrouver la valeur
* @return La valeur associée à la clé * @return La valeur associée à la clé
*/ */
@ -154,6 +159,7 @@ public class Context {
/** /**
* Permet d'ajouter un fichier à l'utilisateur * Permet d'ajouter un fichier à l'utilisateur
*
* @param fileName Nom du fichier hashé * @param fileName Nom du fichier hashé
* @param fileNameSalt Salt appliqué sur le nom du fichier * @param fileNameSalt Salt appliqué sur le nom du fichier
* @param size Taille du fichier * @param size Taille du fichier
@ -165,6 +171,10 @@ public class Context {
return this.repository.addFileFor(new File(fileName, fileNameSalt, size, iv, Set.of(domain)), getLogin()); return this.repository.addFileFor(new File(fileName, fileNameSalt, size, iv, Set.of(domain)), getLogin());
} }
public boolean canAddFile() {
return repository.canAddFile(login);
}
public String getDomain() { public String getDomain() {
return this.domain; return this.domain;
} }

View File

@ -83,6 +83,13 @@ public class AppData {
} }
} }
public boolean canAddFile(String login) {
if (this.users.containsKey(login)) {
return this.users.get(login).canAddFile();
}
return false;
}
public Iterator<User> usersIterator() { public Iterator<User> usersIterator() {
return users.values().iterator(); return users.values().iterator();
} }
@ -104,8 +111,7 @@ public class AppData {
if (!this.users.containsKey(userName)) { if (!this.users.containsKey(userName)) {
return false; return false;
} else { } else {
this.users.get(userName).addFile(file); return this.users.get(userName).addFile(file);
return true;
} }
} }
@ -155,6 +161,7 @@ public class AppData {
/** /**
* Méthode permettant de récupérer la clé AES d'un utilisateur * Méthode permettant de récupérer la clé AES d'un utilisateur
*
* @param login Login de l'utilisateur * @param login Login de l'utilisateur
* @return Clé AES * @return Clé AES
*/ */

View File

@ -55,6 +55,10 @@ public class Repository {
return false; return false;
} }
public boolean canAddFile(String login) {
return appData.canAddFile(login);
}
public boolean deleteFileOf(String fileName, String userName) { public boolean deleteFileOf(String fileName, String userName) {
if (appData.deleteFileOf(fileName, userName)) { if (appData.deleteFileOf(fileName, userName)) {
save(); save();
@ -117,6 +121,7 @@ public class Repository {
/** /**
* Méthode permettant de récupérer le chemin de sauvegarde des fichiers * Méthode permettant de récupérer le chemin de sauvegarde des fichiers
*
* @return Chemin de sauvegarde * @return Chemin de sauvegarde
*/ */
public String getStoragePath() { public String getStoragePath() {
@ -125,6 +130,7 @@ public class Repository {
/** /**
* Méthode permettant de récupérer la clé AES d'un utilisateur * Méthode permettant de récupérer la clé AES d'un utilisateur
*
* @param login Login de l'utilisateur * @param login Login de l'utilisateur
* @return Clé AES * @return Clé AES
*/ */
@ -133,5 +139,4 @@ public class Repository {
} }
} }

View File

@ -54,8 +54,16 @@ public class User {
* @param file The file to add. * @param file The file to add.
* @return False if a file with the same name already exists. Otherwise, adds the file and returns true. * @return False if a file with the same name already exists. Otherwise, adds the file and returns true.
*/ */
public void addFile(File file) { public boolean addFile(File file) {
if (canAddFile()) {
this.files.put(file.getName(), file); this.files.put(file.getName(), file);
return true;
}
return false;
}
public boolean canAddFile() {
return this.files.size() < 50;
} }
/** /**