From 024c3de06d34dc952891f4c0d1107e46adf8eac2 Mon Sep 17 00:00:00 2001
From: user <michael@congegni.net>
Date: Mon, 19 Aug 2024 18:41:57 +0200
Subject: [PATCH] add: php artisan command csvExport:generate

---
 app/Console/Commands/exportCsv.php | 69 ++++++++++++++++++++++++++++++
 app/Console/Kernel.php             |  4 +-
 2 files changed, 72 insertions(+), 1 deletion(-)
 create mode 100644 app/Console/Commands/exportCsv.php

diff --git a/app/Console/Commands/exportCsv.php b/app/Console/Commands/exportCsv.php
new file mode 100644
index 0000000..d4e8bc1
--- /dev/null
+++ b/app/Console/Commands/exportCsv.php
@@ -0,0 +1,69 @@
+<?php
+
+namespace App\Console\Commands;
+
+use App\Http\Controllers\GiteaApiController\GiteaExport;
+use Illuminate\Console\Command;
+
+class exportCsv extends Command
+{
+    /**
+     * The name and signature of the console command.
+     *
+     * @var string
+     */
+    protected $signature = 'csvExport:generate';
+
+    /**
+     * The console command description.
+     *
+     * @var string
+     */
+    protected $description = 'Export in stringa del csv con integrazione di nextcloud e invio email.';
+
+    /**
+     * Create a new command instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        parent::__construct();
+    }
+
+    /**
+     * Execute the console command.
+     *
+     * @return mixed
+     */
+    public function handle()
+    {
+        // Write your script logic here
+        $this->info('Inizio esecuzione.');
+        $firstDay = date('Y-m-01'); // First day of the current month
+        $lastDay = date('Y-m-t'); // Last day of the current month
+        $this->info('Export da ' . $firstDay .' a '. $lastDay );
+        $calculate_agent_cost = true;
+        $third_party_integrations_allow = true;
+        $third_party_integrations_nextcloud = true;
+        $third_party_integrations_open_project = false;
+        $email_send_allow = true;
+        $this->info(
+            'Le seguenti opzioni sono attive '
+            . ' calculate_agent_cost '. $calculate_agent_cost . '\n'
+            . ' third_party_integrations_allow '. $third_party_integrations_allow . '\n'
+            . ' third_party_integrations_nextcloud '. $third_party_integrations_nextcloud . '\n'
+            . ' third_party_integrations_open_project '. $third_party_integrations_open_project . '\n'
+            . ' email_send_allow '. $email_send_allow . '\n'
+        );
+        $gitea_export = new GiteaExport(
+            $calculate_agent_cost,
+            $third_party_integrations_allow,
+            $third_party_integrations_nextcloud,
+            $third_party_integrations_open_project,
+            $email_send_allow,
+        );
+        $gitea_export->export_issues($firstDay, $lastDay, ['state' => 'closed']);
+        return Command::SUCCESS;
+    }
+}
diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php
index c2c7b52..1b97d3f 100644
--- a/app/Console/Kernel.php
+++ b/app/Console/Kernel.php
@@ -2,6 +2,8 @@
 
 namespace App\Console;
 
+use App\Console\Commands\exportCsv;
+use App\Console\Commands\exportCsvCli;
 use App\Http\Controllers\GiteaApiController\GiteaExport;
 use Dotenv\Dotenv;
 use Illuminate\Console\Scheduling\Schedule;
@@ -15,7 +17,7 @@ class Kernel extends ConsoleKernel
      * @var array
      */
     protected $commands = [
-        //
+        exportCsv::class,
     ];
 
     /**