Refactor API and database interactions: enhance token management, improve entry handling, and add application name retrieval
This commit is contained in:
1 parent
9316818753
commit
1a2ee0c176
10 files changed
+79
-19
No files matched your search
+17
-8
@@ -8,6 +8,8 @@ if ($debug) {
|
||||
}
|
||||
// API Main Library
|
||||
class gbAPI {
|
||||
private $db;
|
||||
|
||||
function __construct($authRequired) {
|
||||
define("APP_PATH", __DIR__ . "/../");
|
||||
|
||||
@@ -62,7 +64,7 @@ class gbAPI {
|
||||
}elseif (isset($_COOKIE["auth_token"]) && isset($_COOKIE["username"])) {
|
||||
// Check Token
|
||||
$username = $_COOKIE["username"];
|
||||
$expected = $this->generateToken($username);
|
||||
$expected = $this->generateCookieToken($username);
|
||||
$given = $_COOKIE["auth_token"];
|
||||
|
||||
$result = hash_equals($expected, $given);
|
||||
@@ -75,7 +77,7 @@ class gbAPI {
|
||||
$username = $payload["username"];
|
||||
|
||||
$given = $payload["auth_token"];
|
||||
$expected = $this->generateToken($username);
|
||||
$expected = $this->generateAPIToken($username);
|
||||
|
||||
$result = hash_equals($expected, $given);
|
||||
if ($result) {
|
||||
@@ -97,12 +99,16 @@ class gbAPI {
|
||||
}
|
||||
|
||||
function dbCommand($command, $expectResult, $stmtArgsRequired = false, $stmtArgs = []) {
|
||||
$config = $this->getConfig();
|
||||
$db_name = $config["DB_NAME"];
|
||||
$db_path = APP_PATH . $db_name;
|
||||
if (isset($this->db)) {
|
||||
$db = $this->db;
|
||||
}else{
|
||||
$config = $this->getConfig();
|
||||
$db_name = $config["DB_FILE"];
|
||||
$db_path = APP_PATH . $db_name;
|
||||
|
||||
$db = new PDO("sqlite:" . $db_path);
|
||||
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
$db = new PDO("sqlite:" . $db_path);
|
||||
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
}
|
||||
|
||||
$stmt = $db->prepare($command);
|
||||
$stmt->execute($stmtArgs);
|
||||
@@ -114,7 +120,10 @@ class gbAPI {
|
||||
}
|
||||
}
|
||||
|
||||
function getSetting() {
|
||||
function getSetting($key) {
|
||||
$command = "SELECT name, value FROM settings WHERE name = :name";
|
||||
|
||||
$value = $this->dbCommand($command, true, true, [":name" => $key]);
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user