adapter.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. const mime = require('mime-types')
  2. const querystring = require('querystring')
  3. exports.getUsername = (data) => {
  4. return data.login
  5. }
  6. exports.isFolder = (item) => {
  7. return item.type === 'folder'
  8. }
  9. exports.getItemSize = (item) => {
  10. return item.size
  11. }
  12. exports.getItemIcon = (item) => {
  13. return item.type
  14. }
  15. exports.getItemSubList = (item) => {
  16. return item.entries
  17. }
  18. exports.getItemName = (item) => {
  19. return item.name || ''
  20. }
  21. exports.getMimeType = (item) => {
  22. return mime.lookup(exports.getItemName(item)) || null
  23. }
  24. exports.getItemId = (item) => {
  25. return item.id
  26. }
  27. exports.getItemRequestPath = (item) => {
  28. return item.id
  29. }
  30. exports.getItemModifiedDate = (item) => {
  31. return item.modified_at
  32. }
  33. exports.getItemThumbnailUrl = (item) => {
  34. return `/box/thumbnail/${exports.getItemRequestPath(item)}`
  35. }
  36. exports.getNextPagePath = (data) => {
  37. if (data.total_count < data.limit || data.offset + data.limit > data.total_count) {
  38. return null
  39. }
  40. const query = { offset: data.offset + data.limit }
  41. return `?${querystring.stringify(query)}`
  42. }