]> _ Git - fluidbook-toolbox.git/commitdiff
wip #7819 @3:00
authorsoufiane <soufiane@cubedesigners.com>
Thu, 30 Oct 2025 13:36:39 +0000 (14:36 +0100)
committersoufiane <soufiane@cubedesigners.com>
Thu, 30 Oct 2025 13:36:39 +0000 (14:36 +0100)
app/Jobs/AuditLink.php
app/Models/FluidbookAuditLink.php

index effa0cf867dba154020bc245c238c7a882054016..0a2d35a530d4d655adfea32f641d40cb8b5bbed9 100644 (file)
@@ -3,8 +3,10 @@
 namespace App\Jobs;
 
 use App\Fluidbook\Link\LinksData;
+use App\Models\FluidbookAuditLink;
 use App\Models\FluidbookPublication;
 use App\Models\FluidbookCollection;
+use Cubist\Net\Util;
 use Cubist\Util\CommandLine;
 use Cubist\Util\Files\Files;
 use Illuminate\Support\Facades\Log;
@@ -31,23 +33,35 @@ class AuditLink extends Base
             });
 
             foreach ($links as $link) {
+                if($link['video_service'] === "youtube") {
+                    if(FluidbookAuditLink::youtubeVideoExist($link['to'])) {
+                        $link['to'] = "https://youtu.be/".$link['to'];
+                    }
+                }
+
+                // Error code start with 4 or 5
+                // Redirection code start with 3
+                $httpCode = FluidbookAuditLink::getHttpCode($link['to']);
+
                 $externalLinks[] = [
-                    'fluidbook_id' => $publication['fluidbook'],
-                    'page' => $link['page'],
+                    'fluidbook_id' => intval($publication['fluidbook']),
+                    'page' => intval($link['page']),
                     'link_id' => $link['uid'],
-                    'error_code' => false,
+                    'error_code' => str_starts_with($httpCode, 4) || str_starts_with($httpCode, 5) ? $httpCode : "",
                     'first_time_error' => '', // Datetime of the first time we saw this error
-                    'last_date_test' => '',
+                    'last_date_test' => time(),
                     'url' => $link['to'],
                     'new_url' => '',
-                    'redirection_code' => '',
+                    'redirection_code' => str_starts_with($httpCode, 3) ? $httpCode : "",
                     'final_code_url' => '',
                     'final_target' => '',
+                    'created_at' => date('Y-m-d H:i:s'),
+                    'updated_at'=> date('Y-m-d H:i:s')
                 ];
             }
-            //$externalLinks[] = array_filter($links);
         }
-        dd($externalLinks);
+
+        $audit = FluidbookAuditLink::insert($externalLinks);
 
         Log::info('Job exécuté avec succès');
     }
index 7cc0310dc191eac6831b5d435a3a7b21ace410b4..0bdb86bf76a4dee52387713aea79cd652284369f 100644 (file)
@@ -26,10 +26,10 @@ class FluidbookAuditLink extends ToolboxModel
 
         $this->addField('fluidbook_id', Integer::class, '',[]);
         $this->addField('page', Integer::class, '',[]);
-        $this->addField('link_id', Integer::class, '',[]);
+        $this->addField('link_id', Text::class, '',[]);
         $this->addField('error_code', Text::class, '',[]);
-        $this->addField('first_time_error', Text::class, '',[]);
-        $this->addField('last_date_test', Text::class, '',[]);
+        $this->addField('first_time_error', Text::class, '',['default' => '']);
+        $this->addField('last_date_test', Text::class, '',['default' => '']);
         $this->addField('url', Text::class, '',[]);
         $this->addField('new_url', Text::class, '',['default' => '']);
         $this->addField('redirection_code', Text::class, '',[]);