LinkedFilesHandler.coffee 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. LinkedFilesErrors = require './LinkedFilesErrors'
  2. FileWriter = require '../../infrastructure/FileWriter'
  3. EditorController = require '../Editor/EditorController'
  4. _ = require 'underscore'
  5. module.exports = LinkedFilesHandler =
  6. importFromStream: (
  7. project_id,
  8. readStream,
  9. linkedFileData,
  10. name,
  11. parent_folder_id,
  12. user_id,
  13. callback=(err, file)->
  14. ) ->
  15. callback = _.once(callback)
  16. FileWriter.writeStreamToDisk project_id, readStream, (err, fsPath) ->
  17. return callback(err) if err?
  18. EditorController.upsertFile project_id,
  19. parent_folder_id,
  20. name,
  21. fsPath,
  22. linkedFileData,
  23. "upload",
  24. user_id,
  25. (err, file) =>
  26. return callback(err) if err?
  27. callback(null, file)
  28. importContent: (
  29. project_id,
  30. content,
  31. linkedFileData,
  32. name,
  33. parent_folder_id,
  34. user_id,
  35. callback=(err, file)->
  36. ) ->
  37. callback = _.once(callback)
  38. FileWriter.writeContentToDisk project_id, content, (err, fsPath) ->
  39. return callback(err) if err?
  40. EditorController.upsertFile project_id,
  41. parent_folder_id,
  42. name,
  43. fsPath,
  44. linkedFileData,
  45. "upload",
  46. user_id,
  47. (err, file) =>
  48. return callback(err) if err?
  49. callback(null, file)