Files
api/cli.php
T
Jepp9350 d3e9391160 Add new cron tasks and enhance user synchronization logic
Introduced cron tasks for syncing user economic customer details and discounts. Enhanced caching mechanisms for users and departments, added Slack messaging capabilities, and updated CLI/script routing for better flexibility. New routes and utility methods improve cron execution and logging.
2025-01-24 13:04:10 +01:00

68 lines
2.2 KiB
PHP

<?php
global $EMAIL_WASH_CERTIFICATE_TOKEN;
// This script only runs when the program is called from the command line. It is used to run the CLI script.
if (php_sapi_name() !== 'cli' && !isset($_GET['internalCronCall'])) {
exit;
}
// If the program was called from the command line, get the arguments
if (php_sapi_name() === 'cli') {
$args = $argv;
} else {
// If the program was called from the browser, get the arguments from the URL
$args = [];
$args[1] = $_GET['script'];
$args[2] = $_GET['action'];
$auth = $_GET['auth_key'] ?? null;
if ($auth !== $EMAIL_WASH_CERTIFICATE_TOKEN) {
echo json_encode([
'status' => 'error',
'message' => 'Invalid token'
]);
exit;
}
}
// If the first argument is 'run', switch to the second argument
if ($args[1] === 'run') {
switch ($args[2]) {
case 'minio-test':
echo "Running the minio test script";
require_once 'tests/minio/minioTest.php';
break;
case 'redis-test':
echo "Running the redis test script";
require_once 'tests/redis/redisTest.php';
break;
case 'redis-logSync-test':
echo "Running the redis log sync test script";
require_once 'tests/redis/redisLogSyncTest.php';
break;
case 'bookingModule-test':
echo "Running the bookingModule test script";
require_once 'tests/bookingModule/bookingModuleTest.php';
break;
case 'slackModule-test':
echo "Running the slack test script";
require_once 'tests/slackModule/SlackModuleTest.php';
break;
case 'bookingSync-test':
echo "Running the bookingSync test script";
require_once 'tests/bookingModule/bookingSyncTest.php';
break;
case 'bookingSync':
require_once 'cron/SyncBookings.php';
break;
case 'logSync':
require_once 'cron/SyncLogs.php';
break;
case 'cron':
require_once 'cron/Cron.php';
break;
default:
echo "Invalid script name";
break;
}
} else {
echo "Invalid action";
}