Gestion du changement de user/email => pas 2 fois les memes

pull/45/head
Leni BEAULATON 1 month ago
parent 6ae5a08fc1
commit 19544a67cc

@ -10,7 +10,7 @@ class LogsUsers{
} }
} }
fun logDebugDisplayUser(user : User, titleLog : String){ fun logDebugDisplayUser(user : User?, titleLog : String){
Log.e(titleLog, "User created: ${user.username} => ${user.email}") Log.e(titleLog, "User created: ${user?.username} => ${user?.email}")
} }
} }

@ -4,8 +4,8 @@ import com.example.what_the_fantasy.data.model.Quote
import com.example.what_the_fantasy.data.model.User import com.example.what_the_fantasy.data.model.User
interface IServices { interface IServices {
fun EditUsername(username : String, index : Int) fun EditUsername(username : String, index : Int) : Boolean
fun EditEmail(email : String, index : Int) fun EditEmail(email : String, index : Int) : Boolean
fun EditPasswd(passwd : String, index : Int) fun EditPasswd(passwd : String, index : Int)
fun EditImage(imageURL : String, index : Int) fun EditImage(imageURL : String, index : Int)

@ -4,11 +4,11 @@ import com.example.what_the_fantasy.data.model.Quote
import com.example.what_the_fantasy.data.model.User import com.example.what_the_fantasy.data.model.User
class ServicesAPI : IServices { class ServicesAPI : IServices {
override fun EditUsername(username: String, index : Int) { override fun EditUsername(username: String, index : Int) : Boolean {
TODO("Not yet implemented") TODO("Not yet implemented")
} }
override fun EditEmail(email: String, index : Int) { override fun EditEmail(email: String, index : Int) : Boolean {
TODO("Not yet implemented") TODO("Not yet implemented")
} }

@ -14,20 +14,29 @@ import java.time.LocalDate
class ServicesStub : IServices { class ServicesStub : IServices {
val logsUser = LogsUsers() //gestion des logs pour les utilisateurs val logsUser = LogsUsers() //gestion des logs pour les utilisateurs
override fun EditUsername(username: String, index : Int) { override fun EditUsername(username: String, index : Int) : Boolean{
val user = getUserById(index) val user = getUserById(index)
if(!isUsernameExist(username)){
user?.username = username user?.username = username
return true
}
//Afficher tous les users //Afficher tous les users
logsUser.logDebugDisplayUsers(getAllUsers(), "UsernameUpdate") logsUser.logDebugDisplayUser(user, "UsernameUpdate")
return false
} }
override fun EditEmail(email: String,index : Int) { override fun EditEmail(email: String,index : Int) : Boolean {
val user = getUserById(index) val user = getUserById(index)
user?.email = email
if(!isEmailExist(email)){
user?.email = email
return true
}
//Afficher tous les users //Afficher tous les users
logsUser.logDebugDisplayUsers(getAllUsers(), "EmailUpdate") logsUser.logDebugDisplayUsers(getAllUsers(), "EmailUpdate")
return false
} }
override fun EditPasswd(passwd: String,index : Int) { override fun EditPasswd(passwd: String,index : Int) {
@ -50,7 +59,7 @@ class ServicesStub : IServices {
val userStub = services.getAllUsers() val userStub = services.getAllUsers()
val nbUser = userStub.size val nbUser = userStub.size
if(isUsernameExist(username) && isEmailExist(email)){ if(!isUsernameExist(username) && !isEmailExist(email)){
val user = User(nbUser+1,username, email, date,randomImage(userStub), passwordhash, SrcLanguage.vo) val user = User(nbUser+1,username, email, date,randomImage(userStub), passwordhash, SrcLanguage.vo)
users.add(user)//ajout au stub users.add(user)//ajout au stub
@ -99,19 +108,19 @@ class ServicesStub : IServices {
val userStub = getAllUsers() val userStub = getAllUsers()
for (user in userStub) { for (user in userStub) {
if (user.username == username) { if (user.username == username) {
return false return true
} }
} }
return true return false
} }
fun isEmailExist(email : String) : Boolean{ fun isEmailExist(email : String) : Boolean{
val userStub = getAllUsers() val userStub = getAllUsers()
for (user in userStub) { for (user in userStub) {
if (user.email == email) { if (user.email == email) {
return false return true
} }
} }
return true return false
} }
} }

@ -156,8 +156,8 @@ fun EditEmail(userEmail: String, index: Int, service: IServices) {
var emailError by remember { mutableStateOf(false) } var emailError by remember { mutableStateOf(false) }
fun onDoneEditing() { fun onDoneEditing() {
service.EditEmail(email, index) isEditingEmail =!service.EditEmail(email, index)
isEditingEmail = false
} }
if (isEditingEmail) { if (isEditingEmail) {
@ -242,8 +242,7 @@ fun EditUsername(userName: String, index: Int, service : IServices) {
var isEditingUsername by remember { mutableStateOf(false) } var isEditingUsername by remember { mutableStateOf(false) }
fun onDoneEditing() { fun onDoneEditing() {
service.EditUsername(username, index) isEditingUsername= !service.EditUsername(username, index)
isEditingUsername = false
} }
if (isEditingUsername) { if (isEditingUsername) {

Loading…
Cancel
Save