opencity-labs/windmill-tools

Strumenti per le integrazioni e gli automatismi

1.3.1 2025-05-23 18:44 UTC

This package is not auto-updated.

Last update: 2025-05-23 16:44:59 UTC


README

Jiride

require '/vendor/autoload.php';

$logger = new Opencontent\Logger();
$logger::$output = 'INFO';

//'0282' => ['Interrogazione'],
//'0242' => ['Mozione'],
//'0302' => ['Interpellanza'],

$type = '0242';
$doUpdate = false;

if (!isset(\Opencontent\Jiride\Pusher::$types[$type])) {
    $logger->error("Tipo $type non gestito");
    exit(1);
}

try {
    $client = new \Opencontent\Jiride\Client(['CertFile' => 'Bag Attributes\n    localKeyID:...']);

    $data = $client->getDocuments($type);

    $logger->info("Found " . count($data) . " documents " . \Opencontent\Jiride\Pusher::$types[$type]);

    $apiClient = new \Opencontent\ApiClient(
        'https://www.example.com',
        'user',
        'password'
    );

    $results = [];
    foreach ($data as $item) {
        $pusher = new \Opencontent\Jiride\Pusher($client, $apiClient, $logger);
        $results[] = $pusher->push($item, $type, $doUpdate);
    }
    
    print_r($results);
    
} catch (Throwable $e) {
    $logger->error($e->getMessage());
} 

IMU

require '/vendor/autoload.php';

$logger = new \Opencontent\Logger();
$logger::$output = 'DEBUG';

$spreadsheetUrl = 'https://docs.google.com/spreadsheets/d/....';
$sheetTitle = 'Dati delle aliquote';

$tenantId = '12a34b56-1509-408c-b101-3b1a28109329'; 
$year = 2024;

$storageBaseUrl = 'https://api.example.com/m/v1/';
$username = 'username';
$password = 'password';

$logger->info('Ottengo i dati da ' . $spreadsheetUrl);
try {
    $sheet = new \Opencontent\IMU\Sheet(
        $spreadsheetUrl,
        $sheetTitle,
        '/path/to/google_credentials.json'
    );
    $payloads = $sheet->getPayloads();

    $directus = \Opencontent\Directus\Factory::createClient($storageBaseUrl, $username, $password);
    $pusher = new \Opencontent\IMU\Pusher($directus, $logger);
    $results = $pusher->push($tenantId, $year, $payloads);

    print_r($results);

}catch (Throwable $exception){
    $logger->error($exception->getMessage());    
}

OpenAgenda Legacy

require '/vendor/autoload.php';

$logger = new Opencontent\Logger();
$logger::$output = 'DEBUG';

try {

    $apiClient = new \Opencontent\ApiClient(
        'https://www.example.com',
        'user',
        'password'
    );

    $eventId = 'event-id-or-remote-id';

    $pusher = new \Opencontent\OpenAgendaLegacy\Pusher(
        $id,
        $apiClient,
    );
    $result = $pusher->push();

    print_r($result);

}catch (Throwable $exception){
    $logger->error($exception->getMessage());
}