Version 1
[yaffs-website] / web / modules / contrib / dropzonejs / src / DropzoneJsUploadSaveInterface.php
diff --git a/web/modules/contrib/dropzonejs/src/DropzoneJsUploadSaveInterface.php b/web/modules/contrib/dropzonejs/src/DropzoneJsUploadSaveInterface.php
new file mode 100644 (file)
index 0000000..9d5672c
--- /dev/null
@@ -0,0 +1,58 @@
+<?php
+
+namespace Drupal\dropzonejs;
+
+use Drupal\Core\Session\AccountProxyInterface;
+use Drupal\file\FileInterface;
+
+/**
+ * Provides an interface for classes that save DropzoneJs uploads.
+ */
+interface DropzoneJsUploadSaveInterface {
+
+  /**
+   * Creates a file entity form an uploaded file.
+   *
+   * Note: files being created using this method are flagged as temporary and
+   * not saved yet.
+   *
+   * @param string $uri
+   *   The path to the file we want to upload.
+   * @param string $destination
+   *   A string containing the URI that the file should be copied to. This must
+   *   be a stream wrapper URI.
+   * @param string $extensions
+   *   A space separated list of valid extensions.
+   * @param \Drupal\Core\Session\AccountProxyInterface $user
+   *   The owner of the file.
+   * @param array $validators
+   *   (Optional) Associative array of callback functions used to validate the
+   *   file. See file_validate() for more documentation. Note that we add
+   *   file_validate_extensions and file_validate_name_length in this method
+   *   already.
+   *
+   * @return \Drupal\file\FileInterface|bool
+   *   The file entity of the newly uploaded file or false in case of a failure.
+   *   The file isn't saved yet. That should be handled by the caller.
+   */
+  public function createFile($uri, $destination, $extensions, AccountProxyInterface $user, array $validators = []);
+
+  /**
+   * Validate the uploaded file.
+   *
+   * @param \Drupal\file\FileInterface $file
+   *   The file entity object.
+   * @param string $extensions
+   *   A space separated string of valid extensions.
+   * @param array $additional_validators
+   *   An optional, associative array of callback functions used to validate the
+   *   file. See file_validate() for more documentation. Note that we add
+   *   file_validate_extensions and file_validate_name_length in this method
+   *   already.
+   *
+   * @return array
+   *   An array containing validation error messages.
+   */
+  public function validateFile(FileInterface $file, $extensions, array $additional_validators = []);
+
+}