| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- FileWriter = require '../../infrastructure/FileWriter'
- EditorController = require '../Editor/EditorController'
- ProjectLocator = require '../Project/ProjectLocator'
- Project = require("../../models/Project").Project
- ProjectGetter = require("../Project/ProjectGetter")
- _ = require 'underscore'
- {
- ProjectNotFoundError,
- V1ProjectNotFoundError,
- BadDataError
- } = require './LinkedFilesErrors'
- module.exports = LinkedFilesHandler =
- getFileById: (project_id, file_id, callback=(err, file)->) ->
- ProjectLocator.findElement {
- project_id,
- element_id: file_id,
- type: 'file'
- }, (err, file, path, parentFolder) ->
- return callback(err) if err?
- callback(null, file, path, parentFolder)
- getSourceProject: (data, callback=(err, project)->) ->
- projection = {_id: 1, name: 1}
- if data.v1_source_doc_id?
- Project.findOne {'overleaf.id': data.v1_source_doc_id}, projection, (err, project) ->
- return callback(err) if err?
- if !project?
- return callback(new V1ProjectNotFoundError())
- callback(null, project)
- else if data.source_project_id?
- ProjectGetter.getProject data.source_project_id, projection, (err, project) ->
- return callback(err) if err?
- if !project?
- return callback(new ProjectNotFoundError())
- callback(null, project)
- else
- callback(new BadDataError('neither v1 nor v2 id present'))
- importFromStream: (
- project_id,
- readStream,
- linkedFileData,
- name,
- parent_folder_id,
- user_id,
- callback=(err, file)->
- ) ->
- callback = _.once(callback)
- FileWriter.writeStreamToDisk project_id, readStream, (err, fsPath) ->
- return callback(err) if err?
- EditorController.upsertFile project_id,
- parent_folder_id,
- name,
- fsPath,
- linkedFileData,
- "upload",
- user_id,
- (err, file) =>
- return callback(err) if err?
- callback(null, file)
- importContent: (
- project_id,
- content,
- linkedFileData,
- name,
- parent_folder_id,
- user_id,
- callback=(err, file)->
- ) ->
- callback = _.once(callback)
- FileWriter.writeContentToDisk project_id, content, (err, fsPath) ->
- return callback(err) if err?
- EditorController.upsertFile project_id,
- parent_folder_id,
- name,
- fsPath,
- linkedFileData,
- "upload",
- user_id,
- (err, file) =>
- return callback(err) if err?
- callback(null, file)
|