Scrutinizer GitHub App not installed

We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.

Install GitHub App

Test Failed
Pull Request — main (#5478)
by Cristian
34:13 queued 19:11
created
config/database/migrations/2024_02_15_125654_create_uploaders_table.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@
 block discarded – undo
11 11
      */
12 12
     public function up(): void
13 13
     {
14
-        Schema::create('uploaders', function (Blueprint $table) {
14
+        Schema::create('uploaders', function(Blueprint $table) {
15 15
             $table->bigIncrements('id')->unsigned();
16 16
             $table->string('upload')->nullable();
17 17
             $table->string('image')->nullable();
Please login to merge, or discard this patch.
src/app/Library/Uploaders/Uploader.php 1 patch
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
25 25
 
26 26
     private bool $deleteWhenEntryIsDeleted = true;
27 27
 
28
-    private bool|string $attachedToFakeField = false;
28
+    private bool | string $attachedToFakeField = false;
29 29
 
30 30
     /**
31 31
      * Cloud disks have the ability to generate temporary URLs to files, should we do it?
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
     /*******************************
63 63
      * Static methods
64 64
      *******************************/
65
-    public static function for(array $crudObject, array $definition): UploaderInterface
65
+    public static function for (array $crudObject, array $definition): UploaderInterface
66 66
     {
67 67
         return new static($crudObject, $definition);
68 68
     }
@@ -103,7 +103,7 @@  discard block
 block discarded – undo
103 103
     public function deleteUploadedFiles(Model $entry): void
104 104
     {
105 105
         
106
-        if (! in_array(SoftDeletes::class, class_uses_recursive($entry), true)) {
106
+        if (!in_array(SoftDeletes::class, class_uses_recursive($entry), true)) {
107 107
             $this->performFileDeletion($entry);
108 108
 
109 109
             return;
@@ -179,7 +179,7 @@  discard block
 block discarded – undo
179 179
 
180 180
     public function getPreviousFiles(Model $entry): mixed
181 181
     {
182
-        if (! $this->attachedToFakeField) {
182
+        if (!$this->attachedToFakeField) {
183 183
             return $this->getOriginalValue($entry);
184 184
         }
185 185
         $value = $this->getOriginalValue($entry, $this->attachedToFakeField);
@@ -198,7 +198,7 @@  discard block
 block discarded – undo
198 198
         return $this->attachedToFakeField !== false;
199 199
     }
200 200
 
201
-    public function getFakeAttribute(): bool|string
201
+    public function getFakeAttribute(): bool | string
202 202
     {
203 203
         return $this->attachedToFakeField;
204 204
     }
@@ -220,7 +220,7 @@  discard block
 block discarded – undo
220 220
         return $this;
221 221
     }
222 222
 
223
-    public function fake(bool|string $isFake): self
223
+    public function fake(bool | string $isFake): self
224 224
     {
225 225
         $this->attachedToFakeField = $isFake;
226 226
 
@@ -251,7 +251,7 @@  discard block
 block discarded – undo
251 251
         }
252 252
 
253 253
         if ($this->handleMultipleFiles) {
254
-            if (! isset($entry->getCasts()[$this->getName()]) && is_string($value)) {
254
+            if (!isset($entry->getCasts()[$this->getName()]) && is_string($value)) {
255 255
                 $entry->{$this->getAttributeName()} = json_decode($value, true);
256 256
             }
257 257
 
@@ -265,7 +265,7 @@  discard block
 block discarded – undo
265 265
 
266 266
     private function deleteFiles(Model $entry)
267 267
     {
268
-        if (! $this->shouldDeleteFiles()) {
268
+        if (!$this->shouldDeleteFiles()) {
269 269
             return;
270 270
         }
271 271
 
@@ -300,7 +300,7 @@  discard block
 block discarded – undo
300 300
 
301 301
     private function performFileDeletion(Model $entry)
302 302
     {
303
-        if (! $this->handleRepeatableFiles && $this->deleteWhenEntryIsDeleted) {
303
+        if (!$this->handleRepeatableFiles && $this->deleteWhenEntryIsDeleted) {
304 304
             $this->deleteFiles($entry);
305 305
 
306 306
             return;
@@ -329,7 +329,7 @@  discard block
 block discarded – undo
329 329
 
330 330
         $previousValue = $entry->getOriginal($field);
331 331
 
332
-        if (! $previousValue) {
332
+        if (!$previousValue) {
333 333
             return $previousValue;
334 334
         }
335 335
 
Please login to merge, or discard this patch.
src/app/Library/Uploaders/Support/Traits/HandleRepeatableUploads.php 1 patch
Spacing   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
 {
19 19
     public bool $handleRepeatableFiles = false;
20 20
 
21
-    public null|string $repeatableContainerName = null;
21
+    public null | string $repeatableContainerName = null;
22 22
 
23 23
     /*******************************
24 24
      * Setters - fluently configure the uploader
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
     /*******************************
36 36
      * Getters
37 37
      *******************************/
38
-    public function getRepeatableContainerName(): null|string
38
+    public function getRepeatableContainerName(): null | string
39 39
     {
40 40
         return $this->repeatableContainerName;
41 41
     }
@@ -163,7 +163,7 @@  discard block
 block discarded – undo
163 163
         foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $uploader) {
164 164
             $uploadedValues = $uploader->uploadRepeatableFiles($values->pluck($uploader->getAttributeName())->toArray(), $this->getPreviousRepeatableValues($entry, $uploader));
165 165
 
166
-            $values = $values->map(function ($item, $key) use ($uploadedValues, $uploader) {
166
+            $values = $values->map(function($item, $key) use ($uploadedValues, $uploader) {
167 167
                 $item[$uploader->getAttributeName()] = $uploadedValues[$key] ?? null;
168 168
 
169 169
                 return $item;
@@ -194,7 +194,7 @@  discard block
 block discarded – undo
194 194
 
195 195
         $values = $entry->{$this->getRepeatableContainerName()};
196 196
         $values = is_string($values) ? json_decode($values, true) : $values;
197
-        $values = array_map(function ($item) use ($repeatableUploaders) {
197
+        $values = array_map(function($item) use ($repeatableUploaders) {
198 198
             foreach ($repeatableUploaders as $upload) {
199 199
                 $item[$upload->getAttributeName()] = $this->getValuesWithPathStripped($item, $upload);
200 200
             }
@@ -209,7 +209,7 @@  discard block
 block discarded – undo
209 209
 
210 210
     private function retrieveRepeatableRelationFiles(Model $entry)
211 211
     {
212
-        switch($this->getRepeatableRelationType()) {
212
+        switch ($this->getRepeatableRelationType()) {
213 213
             case 'BelongsToMany':
214 214
             case 'MorphToMany':
215 215
                 $pivotClass = app('crud')->getModel()->{$this->getUploaderSubfield()['baseEntity']}()->getPivotClass();
@@ -262,12 +262,12 @@  discard block
 block discarded – undo
262 262
         $repeatableValues ??= collect($entry->{$this->getRepeatableContainerName()});
263 263
 
264 264
         foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $upload) {
265
-            if (! $upload->shouldDeleteFiles()) {
265
+            if (!$upload->shouldDeleteFiles()) {
266 266
                 continue;
267 267
             }
268 268
             $values = $repeatableValues->pluck($upload->getName())->toArray();
269 269
             foreach ($values as $value) {
270
-                if (! $value) {
270
+                if (!$value) {
271 271
                     continue;
272 272
                 }
273 273
 
@@ -290,7 +290,7 @@  discard block
 block discarded – undo
290 290
     /**
291 291
      * Given two multidimensional arrays/collections, merge them recursively.
292 292
      */
293
-    protected function mergeValuesRecursive(array|Collection $array1, array|Collection $array2): array|Collection
293
+    protected function mergeValuesRecursive(array | Collection $array1, array | Collection $array2): array | Collection
294 294
     {
295 295
         $merged = $array1;
296 296
         foreach ($array2 as $key => &$value) {
@@ -312,7 +312,7 @@  discard block
 block discarded – undo
312 312
     {
313 313
         $items = CRUD::getRequest()->input('_order_'.$this->getRepeatableContainerName()) ?? [];
314 314
 
315
-        array_walk($items, function (&$key, $value) {
315
+        array_walk($items, function(&$key, $value) {
316 316
             $requestValue = $key[$this->getName()] ?? null;
317 317
             $key = $this->handleMultipleFiles ? (is_string($requestValue) ? explode(',', $requestValue) : $requestValue) : $requestValue;
318 318
         });
@@ -324,22 +324,22 @@  discard block
 block discarded – undo
324 324
     {
325 325
         $previousValues = $entry->getOriginal($uploader->getRepeatableContainerName());
326 326
 
327
-        if (! is_array($previousValues)) {
327
+        if (!is_array($previousValues)) {
328 328
             $previousValues = json_decode($previousValues, true);
329 329
         }
330 330
 
331
-        if (! empty($previousValues)) {
331
+        if (!empty($previousValues)) {
332 332
             $previousValues = array_column($previousValues, $uploader->getName());
333 333
         }
334 334
 
335 335
         return $previousValues ?? [];
336 336
     }
337 337
 
338
-    private function getValuesWithPathStripped(array|string|null $item, UploaderInterface $uploader)
338
+    private function getValuesWithPathStripped(array | string | null $item, UploaderInterface $uploader)
339 339
     {
340 340
         $uploadedValues = $item[$uploader->getName()] ?? null;
341 341
         if (is_array($uploadedValues)) {
342
-            return array_map(function ($value) use ($uploader) {
342
+            return array_map(function($value) use ($uploader) {
343 343
                 return $uploader->getValueWithoutPath($value);
344 344
             }, $uploadedValues);
345 345
         }
@@ -349,7 +349,7 @@  discard block
 block discarded – undo
349 349
 
350 350
     private function deleteRelationshipFiles(Model $entry): void
351 351
     {
352
-        if (! is_a($entry, Pivot::class, true)) {
352
+        if (!is_a($entry, Pivot::class, true)) {
353 353
             $entry->loadMissing($this->getRepeatableContainerName());
354 354
         }
355 355
 
@@ -363,7 +363,7 @@  discard block
 block discarded – undo
363 363
     protected function deleteRepeatableRelationFiles(Model $entry)
364 364
     {
365 365
         if (in_array($this->getRepeatableRelationType(), ['BelongsToMany', 'MorphToMany'])) {
366
-            if (! is_a($entry, Pivot::class, true)) {
366
+            if (!is_a($entry, Pivot::class, true)) {
367 367
                 $pivots = $entry->{$this->getRepeatableContainerName()};
368 368
                 foreach ($pivots as $pivot) {
369 369
                     $this->deletePivotModelFiles($pivot);
@@ -373,13 +373,13 @@  discard block
 block discarded – undo
373 373
             }
374 374
 
375 375
             $pivotAttributes = $entry->getAttributes();
376
-            $connectedPivot = $entry->pivotParent->{$this->getRepeatableContainerName()}->where(function ($item) use ($pivotAttributes) {
376
+            $connectedPivot = $entry->pivotParent->{$this->getRepeatableContainerName()}->where(function($item) use ($pivotAttributes) {
377 377
                 $itemPivotAttributes = $item->pivot->only(array_keys($pivotAttributes));
378 378
 
379 379
                 return $itemPivotAttributes === $pivotAttributes;
380 380
             })->first();
381 381
 
382
-            if (! $connectedPivot) {
382
+            if (!$connectedPivot) {
383 383
                 return;
384 384
             }
385 385
 
@@ -389,11 +389,11 @@  discard block
 block discarded – undo
389 389
         $this->deleteFiles($entry);
390 390
     }
391 391
 
392
-    private function deletePivotModelFiles(Pivot|Model $entry)
392
+    private function deletePivotModelFiles(Pivot | Model $entry)
393 393
     {
394 394
         $files = $entry->getOriginal()['pivot_'.$this->getAttributeName()];
395 395
 
396
-        if (! $files) {
396
+        if (!$files) {
397 397
             return;
398 398
         }
399 399
 
Please login to merge, or discard this patch.
src/app/Library/Uploaders/Support/RegisterUploadEvents.php 1 patch
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -14,18 +14,18 @@  discard block
 block discarded – undo
14 14
     private string $crudObjectType;
15 15
 
16 16
     public function __construct(
17
-        private readonly CrudField|CrudColumn $crudObject,
17
+        private readonly CrudField | CrudColumn $crudObject,
18 18
         private readonly array $uploaderConfiguration,
19 19
         private readonly string $macro
20 20
         ) {
21 21
         $this->crudObjectType = is_a($crudObject, CrudField::class) ? 'field' : (is_a($crudObject, CrudColumn::class) ? 'column' : null);
22 22
 
23
-        if (! $this->crudObjectType) {
23
+        if (!$this->crudObjectType) {
24 24
             abort(500, 'Upload handlers only work for CrudField and CrudColumn classes.');
25 25
         }
26 26
     }
27 27
 
28
-    public static function handle(CrudField|CrudColumn $crudObject, array $uploaderConfiguration, string $macro, ?array $subfield = null, ?bool $registerModelEvents = true): void
28
+    public static function handle(CrudField | CrudColumn $crudObject, array $uploaderConfiguration, string $macro, ?array $subfield = null, ?bool $registerModelEvents = true): void
29 29
     {
30 30
         $instance = new self($crudObject, $uploaderConfiguration, $macro);
31 31
 
@@ -35,9 +35,9 @@  discard block
 block discarded – undo
35 35
     /*******************************
36 36
      * Private methods - implementation
37 37
      *******************************/
38
-    private function registerEvents(array|null $subfield = [], ?bool $registerModelEvents = true): void
38
+    private function registerEvents(array | null $subfield = [], ?bool $registerModelEvents = true): void
39 39
     {
40
-        if (! empty($subfield)) {
40
+        if (!empty($subfield)) {
41 41
             $this->registerSubfieldEvent($subfield, $registerModelEvents);
42 42
 
43 43
             return;
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
         }
83 83
 
84 84
         $subfields = collect($this->crudObject->getAttributes()['subfields']);
85
-        $subfields = $subfields->map(function ($item) use ($subfield, $uploader) {
85
+        $subfields = $subfields->map(function($item) use ($subfield, $uploader) {
86 86
             if ($item['name'] === $subfield['name']) {
87 87
                 $item['upload'] = true;
88 88
                 $item['disk'] = $uploader->getDisk();
@@ -112,7 +112,7 @@  discard block
 block discarded – undo
112 112
         }
113 113
 
114 114
         if ($this->crudObjectType === 'field') {
115
-            $model::saving(function ($entry) use ($uploader) {
115
+            $model::saving(function($entry) use ($uploader) {
116 116
                 $entry = $uploader->storeUploadedFiles($entry);
117 117
             });
118 118
         }
@@ -125,7 +125,7 @@  discard block
 block discarded – undo
125 125
             // is not called in pivot models when loading the relations.
126 126
             $retrieveModel = $this->getModelForRetrieveEvent($model, $uploader);
127 127
 
128
-            $retrieveModel::retrieved(function ($entry) use ($uploader) {
128
+            $retrieveModel::retrieved(function($entry) use ($uploader) {
129 129
                 if ($entry->translationEnabled()) {
130 130
                     $locale = request('_locale', app()->getLocale());
131 131
                     if (in_array($locale, array_keys($entry->getAvailableLocales()))) {
@@ -136,14 +136,14 @@  discard block
 block discarded – undo
136 136
             });
137 137
         }
138 138
 
139
-        $model::deleting(function ($entry) use ($uploader) {
139
+        $model::deleting(function($entry) use ($uploader) {
140 140
             $uploader->deleteUploadedFiles($entry);
141 141
         });
142 142
 
143 143
         // if the uploader is a relationship and handles repeatable files, we will also register the deleting event on the
144 144
         // parent model. that way we can control the deletion of the files when the parent model is deleted.
145 145
         if ($uploader->isRelationship() && $uploader->handleRepeatableFiles) {
146
-            app('crud')->model::deleting(function ($entry) use ($uploader) {
146
+            app('crud')->model::deleting(function($entry) use ($uploader) {
147 147
                 $uploader->deleteUploadedFiles($entry);
148 148
             });
149 149
         }
@@ -165,18 +165,18 @@  discard block
 block discarded – undo
165 165
     {
166 166
         $hasCustomUploader = isset($uploaderConfiguration['uploader']);
167 167
 
168
-        if ($hasCustomUploader && ! is_a($uploaderConfiguration['uploader'], UploaderInterface::class, true)) {
168
+        if ($hasCustomUploader && !is_a($uploaderConfiguration['uploader'], UploaderInterface::class, true)) {
169 169
             throw new Exception('Invalid uploader class provided for '.$this->crudObjectType.' type: '.$crudObject['type']);
170 170
         }
171 171
 
172 172
         if ($hasCustomUploader) {
173
-            return $uploaderConfiguration['uploader']::for($crudObject, $uploaderConfiguration);
173
+            return $uploaderConfiguration['uploader']::for ($crudObject, $uploaderConfiguration);
174 174
         }
175 175
 
176 176
         $uploader = app('UploadersRepository')->hasUploadFor($crudObject['type'], $this->macro);
177 177
 
178 178
         if ($uploader) {
179
-            return app('UploadersRepository')->getUploadFor($crudObject['type'], $this->macro)::for($crudObject, $uploaderConfiguration);
179
+            return app('UploadersRepository')->getUploadFor($crudObject['type'], $this->macro)::for ($crudObject, $uploaderConfiguration);
180 180
         }
181 181
 
182 182
         throw new Exception('Undefined upload type for '.$this->crudObjectType.' type: '.$crudObject['type']);
@@ -197,7 +197,7 @@  discard block
 block discarded – undo
197 197
 
198 198
     private function getSubfieldModel(array $subfield, UploaderInterface $uploader)
199 199
     {
200
-        if (! $uploader->isRelationship()) {
200
+        if (!$uploader->isRelationship()) {
201 201
             return $subfield['baseModel'] ?? get_class(app('crud')->getModel());
202 202
         }
203 203
 
@@ -210,7 +210,7 @@  discard block
 block discarded – undo
210 210
 
211 211
     private function getModelForRetrieveEvent(string $model, UploaderInterface $uploader)
212 212
     {
213
-        if (! $uploader->isRelationship()) {
213
+        if (!$uploader->isRelationship()) {
214 214
             return $model;
215 215
         }
216 216
 
Please login to merge, or discard this patch.