Files
api/cli.php
T
Jepp9350 422d8fa18a Add Economic integration and support for wash completion
Introduce new classes, interfaces, and traits for integrating Economic API, including handling orders and drafts. Add CLI commands, test scripts, and database updates for enhanced functionality. Implement endpoint to complete a wash without a wash certificate.
2025-01-24 16:06:13 +01:00

78 lines
2.7 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 'clearAllUsersEconomicCustomerDiscounts':
require_once 'cron/ClearAllUsersEconomicCustomerDiscounts.php';
break;
case 'clearAllUsersEconomicCustomerDetails':
require_once 'cron/ClearAllUsersEconomicCustomerDetails.php';
break;
case 'economicOrderParser-test':
echo "Running the economicOrderParser test script";
require_once 'tests/economicOrderParser/EconomicOrderParserTest.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";
}