🔃 Sync Hub v0.3

This commit is contained in:
jokob-sk
2024-06-03 23:06:25 +10:00
parent 8c96f61b54
commit 46e7e7bc01
4 changed files with 19 additions and 36 deletions

View File

@@ -5,7 +5,7 @@
"plugin_type": "system",
"enabled": true,
"data_source": "template",
"show_ui": false,
"show_ui": true,
"localized": ["display_name", "description", "icon"],
"display_name": [{
"language_code": "en_us",
@@ -330,7 +330,7 @@
}]
},
{
"function": "target_url",
"function": "hub_url",
"type": "text",
"display_condition": {
"type" : "setting",
@@ -350,7 +350,7 @@
"description": [
{
"language_code": "en_us",
"string": "Target hub URL to send the data to."
"string": "Target hub URL to send the data to without a trailig slash, for example <code>http://192.168.1.82:20211</code>"
}
]
},

View File

@@ -1,5 +1,8 @@
<?php
// External files
require '/app/front/php/server/init.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Retrieve the authorization header
$headers = apache_request_headers();
@@ -10,6 +13,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if ($auth_header !== $expected_token) {
http_response_code(403);
echo 'Forbidden';
write_notification("[Plugin: Sync hub API] Incorrect API Token", "alert");
exit;
}
@@ -24,6 +28,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Create the storage directory if it doesn't exist
if (!is_dir($storage_path)) {
echo "Could not open folder: {$storage_path}";
write_notification("[Plugin: Sync hub API] Could not open folder: {$storage_path}", "alert");
http_response_code(500);
exit;
}
@@ -43,5 +48,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} else {
http_response_code(405);
echo 'Method Not Allowed';
write_notification("[Plugin: Sync hub API] Method Not Allowed", "alert");
}
?>

View File

@@ -5,15 +5,17 @@ import pathlib
import sys
import hashlib
import requests
from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64
from plugin_utils import get_plugins_configs
from logger import mylog
from helper import get_setting_value
# Define the installation path and extend the system path for plugin imports
INSTALL_PATH = "/app"
sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"])
from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64
from plugin_utils import get_plugins_configs
from logger import mylog
from helper import timeNowTZ, get_setting_value
# Define the current path and log file paths
CUR_PATH = str(pathlib.Path(__file__).parent.resolve())
LOG_FILE = os.path.join(CUR_PATH, 'script.log')
@@ -43,6 +45,8 @@ def main():
# Get all plugin configurations
all_plugins = get_plugins_configs()
mylog('verbose', [f'[{pluginName}] DEBUG {len(all_plugins)}'])
mylog('verbose', [f'[{pluginName}] plugins_to_sync {plugins_to_sync}'])
index = 0
for plugin in all_plugins: