]> BookStack Code Mirror - bookstack/blob - app/Exports/Controllers/ImportController.php
ZIP Exports: Got zip format validation functionally complete
[bookstack] / app / Exports / Controllers / ImportController.php
1 <?php
2
3 namespace BookStack\Exports\Controllers;
4
5 use BookStack\Exports\ZipExports\ZipExportValidator;
6 use BookStack\Http\Controller;
7 use Illuminate\Http\Request;
8
9 class ImportController extends Controller
10 {
11     public function __construct()
12     {
13         $this->middleware('can:content-import');
14     }
15
16     public function start(Request $request)
17     {
18         // TODO - Show existing imports for user (or for all users if admin-level user)
19
20         return view('exports.import');
21     }
22
23     public function upload(Request $request)
24     {
25         $this->validate($request, [
26             'file' => ['required', 'file']
27         ]);
28
29         $file = $request->file('file');
30         $zipPath = $file->getRealPath();
31
32         $errors = (new ZipExportValidator($zipPath))->validate();
33         if ($errors) {
34             dd($errors);
35         }
36         dd('passed');
37         // TODO - Read existing ZIP upload and send through validator
38             // TODO - If invalid, return user with errors
39         // TODO - Upload to storage
40         // TODO - Store info/results from validator
41         // TODO - Send user to next import stage
42     }
43 }