use BookStack\Exports\ZipExports\ZipExportReader;
use BookStack\Exports\ZipExports\ZipExportValidator;
use BookStack\Uploads\FileStorage;
+use Illuminate\Database\Eloquent\Collection;
use Symfony\Component\HttpFoundation\File\UploadedFile;
class ImportRepo
) {
}
+ /**
+ * @return Collection<Import>
+ */
+ public function getVisibleImports(): Collection
+ {
+ $query = Import::query();
+
+ if (!userCan('settings-manage')) {
+ $query->where('created_by', user()->id);
+ }
+
+ return $query->get();
+ }
+
+ public function findVisible(int $id): Import
+ {
+ $query = Import::query();
+
+ if (!userCan('settings-manage')) {
+ $query->where('created_by', user()->id);
+ }
+
+ return $query->findOrFail($id);
+ }
+
public function storeFromUpload(UploadedFile $file): Import
{
$zipPath = $file->getRealPath();
return $import;
}
+
+ public function deleteImport(Import $import): void
+ {
+ $this->storage->delete($import->path);
+ $import->delete();
+ }
}