customprovider.js 919 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const fs = require('fs')
  2. const path = require('path')
  3. const DUMM_FILE = path.join(__dirname, 'fixtures/image.jpg')
  4. /**
  5. * an example of a custom provider module. It implements @uppy/companion's Provider interface
  6. */
  7. class MyCustomProvider {
  8. constructor (options) {
  9. this.authProvider = MyCustomProvider.authProvider
  10. }
  11. static get authProvider () {
  12. return 'mycustomprovider'
  13. }
  14. list (options, done) {
  15. const response = {
  16. body: {
  17. entries: [
  18. { name: 'file1.jpg' },
  19. { name: 'file2.jpg' },
  20. { name: 'file3.jpg' }
  21. ]
  22. }
  23. }
  24. return done(null, response, response.body)
  25. }
  26. download ({ id, token }, onData) {
  27. return fs.readFile(DUMM_FILE, (err, data) => {
  28. if (err) console.error(err)
  29. onData(data)
  30. })
  31. }
  32. size ({ id, token }, done) {
  33. return done(fs.statSync(DUMM_FILE).size)
  34. }
  35. }
  36. module.exports = MyCustomProvider