]> BookStack Code Mirror - bookstack/blobdiff - app/Exports/ZipExports/Models/ZipExportImage.php
ZIP Exports: Got zip format validation functionally complete
[bookstack] / app / Exports / ZipExports / Models / ZipExportImage.php
index 05d828734a01f08254b9bed9d2b1f3aabbe00fb6..3388c66df365e18494fd47c17d73eda5ea403c0f 100644 (file)
@@ -3,7 +3,9 @@
 namespace BookStack\Exports\ZipExports\Models;
 
 use BookStack\Exports\ZipExports\ZipExportFiles;
+use BookStack\Exports\ZipExports\ZipValidationHelper;
 use BookStack\Uploads\Image;
+use Illuminate\Validation\Rule;
 
 class ZipExportImage extends ZipExportModel
 {
@@ -22,4 +24,16 @@ class ZipExportImage extends ZipExportModel
 
         return $instance;
     }
+
+    public static function validate(ZipValidationHelper $context, array $data): array
+    {
+        $rules = [
+            'id'    => ['nullable', 'int'],
+            'name'  => ['required', 'string', 'min:1'],
+            'file'  => ['required', 'string', $context->fileReferenceRule()],
+            'type'  => ['required', 'string', Rule::in(['gallery', 'drawio'])],
+        ];
+
+        return $context->validateData($data, $rules);
+    }
 }