Explorar o código

Tus plugin: copy metadata fields: type→filetype, name→filename

closes #753
Jason Papakostas %!s(int64=7) %!d(string=hai) anos
pai
achega
320789396c
Modificáronse 1 ficheiros con 15 adicións e 1 borrados
  1. 15 1
      src/plugins/Tus.js

+ 15 - 1
src/plugins/Tus.js

@@ -166,7 +166,21 @@ module.exports = class Tus extends Plugin {
         this.resetUploaderReferences(file.id)
         this.resetUploaderReferences(file.id)
         resolve(upload)
         resolve(upload)
       }
       }
-      optsTus.metadata = file.meta
+
+      const copyProp = (obj, srcProp, destProp) => {
+        if (
+          Object.prototype.hasOwnProperty.call(obj, srcProp) &&
+          !Object.prototype.hasOwnProperty.call(obj, destProp)
+        ) {
+          obj[destProp] = obj[srcProp]
+        }
+      }
+
+      // tusd uses metadata fields 'filetype' and 'filename'
+      const meta = Object.assign({}, file.meta)
+      copyProp(meta, 'type', 'filetype')
+      copyProp(meta, 'name', 'filename')
+      optsTus.metadata = meta
 
 
       const upload = new tus.Upload(file.data, optsTus)
       const upload = new tus.Upload(file.data, optsTus)
       this.uploaders[file.id] = upload
       this.uploaders[file.id] = upload