// execute get method to find all users in database
/* Functions implemented to manage user's data from database
public function getUsers(){
* getUsers : returning an array of users containing all the user stored in database
* getUserById : returning an user found in database with his id
* getUserByUsername : returning an user found in database with his username
* getUserForConnection : returning an user if there is a correspondance between
the username and the password, used for connection
* postUser : adding a NEW user in database
* putUser : modifying an EXISTING user in database
* deleteUser : deleting an user from database
*/
/// Brief : Returning an array of users containing all the user stored in database
public function getUsers():array{
$tabUser=NULL;
$query= "SELECT * FROM User";
$query= "SELECT * FROM User";
$this->connection->execQuery($query,[]);
$this->connection->execQuery($query,[]);
$res=$this->connection->getRes();
$res=$this->connection->getRes();
foreach($res as $row){
foreach($res as $row){
$tabUser[] = new User ($row['id'],$row['username'],$row['password'],$row['nationality'],$row['sex'],$row['dateOfBirth'],$row['currentBobCoins'],$row['totalBobCoins'],$row['nbGamesPlayed']);
$tabUser[] = new User ($row['id'],$row['username'],$row['password'],$row['nationality'],$row['sex'],$row['dateOfBirth'],$row['currentBobCoins'],$row['totalBobCoins'],$row['nbGamesPlayed']);
}
}
return $tabUser;
return $tabUser;
}
}
// execute get method to find one user by his id in database
/// Brief : Returning an user found in database with his id
public function getUserById(string $id):array{
/// Parameters : * $id (string): identifier of the user we are looking for
public function getUserById(string $id):?User{
$usr=NULL;
$query= "SELECT * FROM User U WHERE id = :id ";
$query= "SELECT * FROM User U WHERE id = :id ";
$arg= array('id'=> array($id,PDO::PARAM_STR));
$arg= array('id'=> array($id,PDO::PARAM_STR));
$this->connection->execQuery($query,$arg);
$this->connection->execQuery($query,$arg);
@ -34,8 +50,10 @@ class UserGateway{
return $usr;
return $usr;
}
}
// execute get method to find one user by his username in database
/// Brief : Returning an user found in database with his username
/// Parameters : * $username (string): username of the user we are looking for
public function getUserByUsername(string $username):?User{
public function getUserByUsername(string $username):?User{
$usr=NULL;
$query= "SELECT * FROM User U WHERE username = :username ";
$query= "SELECT * FROM User U WHERE username = :username ";
// execute put method to create a new user in database
/// Brief : Adding a NEW user in database
/// Parameters : * $u (User): user we want to insert in database
public function postUser(User $u): void{
public function postUser(User $u): void{
if ($u->currentBobCoins != 0 | $u->totalBobCoins != 0| $u->nbGamesPlayed !=0){
if ($u->currentBobCoins != 0 | $u->totalBobCoins != 0| $u->nbGamesPlayed !=0){
echo "new user, can't have any coin or games played";
echo "new user, can't have any coin or games played";
@ -69,14 +93,16 @@ class UserGateway{
$this->connection->execQuery($query, $arg);
$this->connection->execQuery($query, $arg);
}
}
// executing put method to update an user (by his id) in database
/// Brief : Modifying an EXISTING user in database
/// Parameters : * $u (User): user we want to update in database
public function putUser(User $u){
public function putUser(User $u){
$query="UPDATE User SET username = :username, password=:password, sex=:sex, nationality=:nationality, currentBobCoins=:currentBobCoins, totalBobCoins=:totalBobCoins, nbGamesPlayed=:nbGamesPlayed WHERE id=:id";
$query="UPDATE User SET username = :username, password=:password, sex=:sex, nationality=:nationality, currentBobCoins=:currentBobCoins, totalBobCoins=:totalBobCoins, nbGamesPlayed=:nbGamesPlayed WHERE id=:id";