yusueketk 7 년 전
부모
커밋
21fd67c257
3개의 변경된 파일15개의 추가작업 그리고 27개의 파일을 삭제
  1. 0 1
      package.json
  2. 15 20
      src/server/service/file-uploader/gridfs.js
  3. 0 6
      yarn.lock

+ 0 - 1
package.json

@@ -87,7 +87,6 @@
     "express-webpack-assets": "^0.1.0",
     "googleapis": "^34.0.0",
     "graceful-fs": "^4.1.11",
-    "gridfs-stream": "^1.1.1",
     "growi-pluginkit": "^1.1.0",
     "helmet": "^3.13.0",
     "i18next": "^11.1.1",

+ 15 - 20
src/server/service/file-uploader/gridfs.js

@@ -4,9 +4,7 @@ module.exports = function(crowi) {
   'use strict';
 
   var debug = require('debug')('growi:service:fileUploaderLocal')
-  var fs = require('fs');
   var mongoose = require('mongoose');
-  var gridfs = require('gridfs-stream');
   var path = require('path');
   var lib = {};
   var AttachmentFile = {};
@@ -19,34 +17,31 @@ module.exports = function(crowi) {
   });
 
   // obtain a model
-  AttachmentFile= gridfs.model;
+  AttachmentFile = gridfs.model;
 
   // delete a file
-  lib.deleteFile = function (fileId, filePath) {
+  lib.deleteFile = async function(fileId, filePath) {
     debug('File deletion: ' + fileId);
-    return new Promise(function (resolve, reject) {
-      AttachmentFile.unlinkById(fileId, function (error, unlinkedAttachment) {
-        resolve();
-      });
+    await AttachmentFile.unlinkById(fileId, function(error, unlinkedAttachment) {
+      if (error) {
+        throw new Error(error);
+      }
     });
   };
 
   // create or save a file
-  lib.uploadFile = function (filePath, contentType, fileStream, options) {
-    return new Promise(function (resolve, reject) {
-      AttachmentFile.write({
-        filename: filePath,
-        contentType: contentType
-      },
-      fileStream,
-      function (error, createdFile) {
-        debug('Failed to upload ' + createdFile + 'to gridFS', error);
-        resolve(createdFile._id);
+  lib.uploadFile = async function(filePath, contentType, fileStream, options) {
+    debug('File uploading: ' + filePath);
+    await AttachmentFile.write({filename: filePath, contentType: contentType}, fileStream,
+      function(error, createdFile) {
+        if (error) {
+          throw new Error('Failed to upload ' + createdFile + 'to gridFS', error);
+        }
+        return createdFile._id;
       });
-    });
   };
 
-  lib.generateUrl = function (filePath) {
+  lib.generateUrl = function(filePath) {
     return path.posix.join('/uploads', filePath);
   };
 

+ 0 - 6
yarn.lock

@@ -4021,12 +4021,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
   version "4.1.11"
   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
 
-gridfs-stream@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/gridfs-stream/-/gridfs-stream-1.1.1.tgz#3dd3a100ec2021a181282f6eb46709636074df89"
-  dependencies:
-    flushwritable "^1.0.0"
-
 growi-pluginkit@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/growi-pluginkit/-/growi-pluginkit-1.1.0.tgz#8e837cd0ba50e6a13eacc75882e09c96eda10679"