<?php

declare(strict_types=1);

if (PHP_SAPI !== 'cli') {
    http_response_code(403);
    echo "This script can be run only from CLI.\n";
    exit(1);
}

require_once __DIR__ . '/../src/config.php';
require_once __DIR__ . '/../src/storage.php';
require_once __DIR__ . '/../src/history.php';

$options = getopt('', ['dialog-id::', 'chat-id::', 'all', 'help']);
if (isset($options['help'])) {
    echo "Usage:\n";
    echo "  php tools/clear_history.php --dialog-id=162100\n";
    echo "  php tools/clear_history.php --chat-id=901615\n";
    echo "  php tools/clear_history.php --all\n";
    exit(0);
}

if (isset($options['all'])) {
    $result = clearChatHistory();
} elseif (!empty($options['dialog-id']) || !empty($options['chat-id'])) {
    $result = clearChatHistory(
        isset($options['dialog-id']) ? (string) $options['dialog-id'] : null,
        isset($options['chat-id']) ? (string) $options['chat-id'] : null
    );
} else {
    fwrite(STDERR, "Provide --dialog-id, --chat-id or --all. Use --help for examples.\n");
    exit(1);
}

echo json_encode([
    'ok' => true,
    'result' => $result,
], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) . PHP_EOL;
