Passed
Push — dev6 ( 1f4a51...d7b093 )
by Ron
16:11
created

UploadFileController   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 3
eloc 14
c 2
b 0
f 0
dl 0
loc 31
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 24 3
1
<?php
2
3
namespace App\Http\Controllers\Home;
4
5
use App\Events\Home\UploadedFileEvent;
6
use App\Traits\FileTrait;
7
use App\Models\FileUploads;
8
use App\Http\Controllers\Controller;
9
use App\Http\Requests\Home\UploadedFileRequest;
10
11
class UploadFileController extends Controller
12
{
13
    use FileTrait;
1 ignored issue
show
Bug introduced by
The trait App\Traits\FileTrait requires the property $username which is not provided by App\Http\Controllers\Home\UploadFileController.
Loading history...
14
15
    /**
16
     * Handle an uploaded file
17
     */
18
    public function __invoke(UploadedFileRequest $request)
19
    {
20
        //  Process the individual file chunk
21
        $status = $this->getChunk($request);
22
23
        //  If done, save to the database
24
        if($status['complete'])
25
        {
26
            $newFile = FileUploads::create([
27
                'disk'      => $status['disk'],
28
                'folder'    => $status['folder'],
29
                'file_name' => $status['filename'],
30
                'public'    => filter_var($request->public, FILTER_VALIDATE_BOOL),  //  Force as boolean
31
            ]);
32
33
            //  Determine if other files have been uploaded by this request
34
            $fileArr = session('new-file-upload') !== null ? session('new-file-upload') : [];
35
            $fileArr[] = $newFile;
36
37
            session(['new-file-upload' => $fileArr]);
38
            event(new UploadedFileEvent($newFile));
39
        }
40
41
        return $status;
42
    }
43
}
44