Просмотр исходного кода

remove companion provider compat api (#3828)

Mikael Finstad 2 лет назад
Родитель
Сommit
ff1c20f7c5

+ 0 - 2
packages/@uppy/companion/src/server/provider/Provider.js

@@ -77,6 +77,4 @@ class Provider {
   }
 }
 
-Provider.version = 1
-
 module.exports = Provider

+ 0 - 54
packages/@uppy/companion/src/server/provider/ProviderCompat.js

@@ -1,54 +0,0 @@
-const { promisify } = require('util')
-
-const Stream = require('stream')
-
-/**
- * Backward compatibility layer for old provider API using callbacks and onData cb
- *
- * @returns {any}
- */
-const wrapLegacyProvider = (legacyProvider) => {
-  class CompatProvider extends legacyProvider {
-    constructor (...args) {
-      super(...args)
-
-      this.list = promisify((options, cb) => super.list(options, cb))
-      this.size = promisify((options, cb) => super.size(options, cb))
-      this.thumbnail = promisify((options, cb) => super.thumbnail(options, cb))
-      this.deauthorizationCallback = promisify((options, cb) => super.deauthorizationCallback(options, cb))
-      this.logout = promisify((options, cb) => super.logout(options, cb))
-
-      const superDownload = super.download
-
-      this.download = async (options) => {
-        let stream
-
-        return new Promise((resolve, reject) => {
-          superDownload(options, (err, chunk) => {
-            if (err) {
-              if (stream && !stream.destroyed) stream.destroy(err)
-              reject(err)
-              return
-            }
-
-            // Initialize on first chunk
-            if (chunk != null && !stream) {
-              stream = new Stream.PassThrough()
-              // stream.on('end', () => console.log('stream end'))
-              stream.pause()
-              stream.push(chunk)
-              resolve({ stream })
-              return
-            }
-
-            stream.push(chunk)
-          })
-        })
-      }
-    }
-  }
-
-  return CompatProvider
-}
-
-module.exports = { wrapLegacyProvider }

+ 0 - 2
packages/@uppy/companion/src/server/provider/SearchProvider.js

@@ -33,6 +33,4 @@ class SearchProvider {
   }
 }
 
-SearchProvider.version = 1
-
 module.exports = SearchProvider

+ 0 - 2
packages/@uppy/companion/src/server/provider/box/index.js

@@ -216,8 +216,6 @@ class Box extends Provider {
   }
 }
 
-Box.version = 2
-
 Box.prototype.list = promisify(Box.prototype._list)
 Box.prototype.size = promisify(Box.prototype._size)
 Box.prototype.logout = promisify(Box.prototype._logout)

+ 0 - 2
packages/@uppy/companion/src/server/provider/drive/index.js

@@ -290,8 +290,6 @@ class Drive extends Provider {
   }
 }
 
-Drive.version = 2
-
 Drive.prototype.logout = promisify(Drive.prototype._logout)
 
 module.exports = Drive

+ 0 - 2
packages/@uppy/companion/src/server/provider/dropbox/index.js

@@ -224,8 +224,6 @@ class DropBox extends Provider {
   }
 }
 
-DropBox.version = 2
-
 DropBox.prototype.list = promisify(DropBox.prototype._list)
 DropBox.prototype.size = promisify(DropBox.prototype._size)
 DropBox.prototype.logout = promisify(DropBox.prototype._logout)

+ 0 - 2
packages/@uppy/companion/src/server/provider/facebook/index.js

@@ -187,8 +187,6 @@ class Facebook extends Provider {
   }
 }
 
-Facebook.version = 2
-
 Facebook.prototype.list = promisify(Facebook.prototype._list)
 Facebook.prototype.size = promisify(Facebook.prototype._size)
 Facebook.prototype.logout = promisify(Facebook.prototype._logout)

+ 1 - 6
packages/@uppy/companion/src/server/provider/index.js

@@ -18,7 +18,6 @@ const { getCredentialsResolver } = require('./credentials')
 const Provider = require('./Provider')
 // eslint-disable-next-line
 const SearchProvider = require('./SearchProvider')
-const { wrapLegacyProvider } = require('./ProviderCompat')
 
 // leave here for now until Purest Providers gets updated with Zoom provider
 purestConfig.zoom = {
@@ -80,12 +79,8 @@ module.exports.getProviderMiddleware = (providers, needsProviderCredentials) =>
    * @param {string} providerName
    */
   const middleware = (req, res, next, providerName) => {
-    let ProviderClass = providers[providerName]
+    const ProviderClass = providers[providerName]
     if (ProviderClass && validOptions(req.companion.options)) {
-      // TODO remove this legacy provider compatibility when we release a new major
-      // @ts-ignore
-      if (ProviderClass.version !== 2) ProviderClass = wrapLegacyProvider(ProviderClass)
-
       req.companion.provider = new ProviderClass({ providerName, config: purestConfig })
 
       if (needsProviderCredentials) {

+ 0 - 2
packages/@uppy/companion/src/server/provider/instagram/graph/index.js

@@ -169,8 +169,6 @@ class Instagram extends Provider {
   }
 }
 
-Instagram.version = 2
-
 Instagram.prototype.list = promisify(Instagram.prototype._list)
 Instagram.prototype.size = promisify(Instagram.prototype._size)
 

+ 0 - 2
packages/@uppy/companion/src/server/provider/onedrive/index.js

@@ -145,8 +145,6 @@ class OneDrive extends Provider {
   }
 }
 
-OneDrive.version = 2
-
 OneDrive.prototype.list = promisify(OneDrive.prototype._list)
 OneDrive.prototype.size = promisify(OneDrive.prototype._size)
 

+ 0 - 2
packages/@uppy/companion/src/server/provider/unsplash/index.js

@@ -150,8 +150,6 @@ class Unsplash extends SearchProvider {
   }
 }
 
-Unsplash.version = 2
-
 Unsplash.prototype.list = promisify(Unsplash.prototype._list)
 Unsplash.prototype.size = promisify(Unsplash.prototype._size)
 

+ 0 - 2
packages/@uppy/companion/src/server/provider/zoom/index.js

@@ -339,8 +339,6 @@ class Zoom extends Provider {
   }
 }
 
-Zoom.version = 2
-
 Zoom.prototype.list = promisify(Zoom.prototype._list)
 Zoom.prototype.size = promisify(Zoom.prototype._size)
 Zoom.prototype.logout = promisify(Zoom.prototype._logout)

+ 0 - 1
website/src/docs/companion.md

@@ -524,7 +524,6 @@ To work well with Companion, the **module** must be a class with the following m
 The class must also have:
 
 * A unique `authProvider` string property - a lowercased value which typically indicates the name of the provider (e.g “dropbox”).
-* A `static` property `static version = 2`, which is the current version of the Companion Provider API.
 
 See also [example code with a custom provider](https://github.com/transloadit/uppy/blob/main/examples/custom-provider/server).