|
|
@ -1,16 +1,20 @@
|
|
|
|
<?php
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
namespace Gateway;
|
|
|
|
namespace Gateway;
|
|
|
|
|
|
|
|
|
|
|
|
use Config\DatabaseCon;
|
|
|
|
use Config\DatabaseCon;
|
|
|
|
use Config\Connection;
|
|
|
|
use Config\Connection;
|
|
|
|
use PDOException;
|
|
|
|
use PDOException;
|
|
|
|
use PDO;
|
|
|
|
use PDO;
|
|
|
|
use Config\Token;
|
|
|
|
use Config\Token;
|
|
|
|
|
|
|
|
|
|
|
|
class UserGateway {
|
|
|
|
class UserGateway
|
|
|
|
|
|
|
|
{
|
|
|
|
private Connection $con;
|
|
|
|
private Connection $con;
|
|
|
|
private Token $token;
|
|
|
|
private Token $token;
|
|
|
|
|
|
|
|
|
|
|
|
public function __construct() {
|
|
|
|
public function __construct()
|
|
|
|
|
|
|
|
{
|
|
|
|
$this->token = new Token;
|
|
|
|
$this->token = new Token;
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
$this->con = (new DatabaseCon)->connect();
|
|
|
|
$this->con = (new DatabaseCon)->connect();
|
|
|
@ -19,7 +23,8 @@ class UserGateway {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function createUser(string $email, string $hash, string $username) {
|
|
|
|
public function createUser(string $email, string $hash, string $username)
|
|
|
|
|
|
|
|
{
|
|
|
|
$query = "INSERT INTO user VALUES(UUID(), :email, :hash, :username, CURDATE()) RETURNING id;";
|
|
|
|
$query = "INSERT INTO user VALUES(UUID(), :email, :hash, :username, CURDATE()) RETURNING id;";
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
@ -36,7 +41,8 @@ class UserGateway {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Delete User: (1:OK, 2:Unauthorize, 3:No User)
|
|
|
|
// Delete User: (1:OK, 2:Unauthorize, 3:No User)
|
|
|
|
public function deleteUser(string $uuid) : int {
|
|
|
|
public function deleteUser(string $uuid): int
|
|
|
|
|
|
|
|
{
|
|
|
|
$query = "DELETE FROM user WHERE id=:uuid RETURNING row_count();";
|
|
|
|
$query = "DELETE FROM user WHERE id=:uuid RETURNING row_count();";
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
@ -52,7 +58,8 @@ class UserGateway {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Login User (get token)
|
|
|
|
// Login User (get token)
|
|
|
|
public function login(string $email, string $hash) {
|
|
|
|
public function login(string $email, string $hash)
|
|
|
|
|
|
|
|
{
|
|
|
|
$query = "SELECT hash, id FROM user WHERE email=:email;";
|
|
|
|
$query = "SELECT hash, id FROM user WHERE email=:email;";
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
try {
|
|
|
@ -69,7 +76,8 @@ class UserGateway {
|
|
|
|
return json_encode($this->token->getNewJsonToken($results[0]['id']));
|
|
|
|
return json_encode($this->token->getNewJsonToken($results[0]['id']));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function getInfo(string $uuid) {
|
|
|
|
public function getInfo(string $uuid)
|
|
|
|
|
|
|
|
{
|
|
|
|
$query = "SELECT email, username FROM user WHERE id=:uuid;";
|
|
|
|
$query = "SELECT email, username FROM user WHERE id=:uuid;";
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
@ -84,7 +92,8 @@ class UserGateway {
|
|
|
|
return ["email" => $results[0]['email'], "username" => $results[0]['username']];
|
|
|
|
return ["email" => $results[0]['email'], "username" => $results[0]['username']];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function updateMail(string $uuid, string $new_email) {
|
|
|
|
public function updateMail(string $uuid, string $new_email)
|
|
|
|
|
|
|
|
{
|
|
|
|
$query = "UPDATE user SET email=:new_email WHERE id=:uuid;";
|
|
|
|
$query = "UPDATE user SET email=:new_email WHERE id=:uuid;";
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
@ -98,7 +107,8 @@ class UserGateway {
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function updateUsername(string $uuid, string $new_username) {
|
|
|
|
public function updateUsername(string $uuid, string $new_username)
|
|
|
|
|
|
|
|
{
|
|
|
|
$query = "UPDATE user SET username=:new_username WHERE id=:uuid;";
|
|
|
|
$query = "UPDATE user SET username=:new_username WHERE id=:uuid;";
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|