Browse Source

move file uploader to lib/service

Yuki Takei 7 years ago
parent
commit
1e00545728

+ 1 - 1
lib/models/attachment.js

@@ -2,7 +2,7 @@ module.exports = function(crowi) {
   var debug = require('debug')('growi:models:attachment')
   var debug = require('debug')('growi:models:attachment')
     , mongoose = require('mongoose')
     , mongoose = require('mongoose')
     , ObjectId = mongoose.Schema.Types.ObjectId
     , ObjectId = mongoose.Schema.Types.ObjectId
-    , fileUploader = require('../util/fileUploader')(crowi)
+    , fileUploader = require('../service/file-uploader')(crowi)
     , attachmentSchema
     , attachmentSchema
   ;
   ;
 
 

+ 2 - 2
lib/routes/admin.js

@@ -790,7 +790,7 @@ module.exports = function(crowi, app) {
   };
   };
 
 
   actions.userGroup.uploadGroupPicture = function(req, res) {
   actions.userGroup.uploadGroupPicture = function(req, res) {
-    var fileUploader = require('../util/fileUploader')(crowi, app);
+    var fileUploader = require('../service/file-uploader')(crowi, app);
     //var storagePlugin = new pluginService('storage');
     //var storagePlugin = new pluginService('storage');
     //var storage = require('../service/storage').StorageService(config);
     //var storage = require('../service/storage').StorageService(config);
 
 
@@ -891,7 +891,7 @@ module.exports = function(crowi, app) {
   actions.userGroup.removeCompletely = function(req, res) {
   actions.userGroup.removeCompletely = function(req, res) {
     const id = req.body.user_group_id;
     const id = req.body.user_group_id;
 
 
-    const fileUploader = require('../util/fileUploader')(crowi, app);
+    const fileUploader = require('../service/file-uploader')(crowi, app);
 
 
     UserGroup.removeCompletelyById(id)
     UserGroup.removeCompletelyById(id)
       //// TODO remove attachments
       //// TODO remove attachments

+ 1 - 1
lib/routes/attachment.js

@@ -8,7 +8,7 @@ module.exports = function(crowi, app) {
     , Page = crowi.model('Page')
     , Page = crowi.model('Page')
     , path = require('path')
     , path = require('path')
     , fs = require('fs')
     , fs = require('fs')
-    , fileUploader = require('../util/fileUploader')(crowi, app)
+    , fileUploader = require('../service/file-uploader')(crowi, app)
     , ApiResponse = require('../util/apiResponse')
     , ApiResponse = require('../util/apiResponse')
     , actions = {}
     , actions = {}
     , api = {};
     , api = {};

+ 1 - 1
lib/routes/login.js

@@ -233,7 +233,7 @@ module.exports = function(crowi, app) {
 
 
               if (googleImage) {
               if (googleImage) {
                 var axios = require('axios');
                 var axios = require('axios');
-                var fileUploader = require('../util/fileUploader')(crowi, app);
+                var fileUploader = require('../service/file-uploader')(crowi, app);
                 var filePath = User.createUserPictureFilePath(
                 var filePath = User.createUserPictureFilePath(
                   userData,
                   userData,
                   googleImage.replace(/^.+\/(.+\..+)$/, '$1')
                   googleImage.replace(/^.+\/(.+\..+)$/, '$1')

+ 1 - 1
lib/routes/me.js

@@ -17,7 +17,7 @@ module.exports = function(crowi, app) {
   actions.api = api;
   actions.api = api;
 
 
   api.uploadPicture = function(req, res) {
   api.uploadPicture = function(req, res) {
-    var fileUploader = require('../util/fileUploader')(crowi, app);
+    var fileUploader = require('../service/file-uploader')(crowi, app);
     //var storagePlugin = new pluginService('storage');
     //var storagePlugin = new pluginService('storage');
     //var storage = require('../service/storage').StorageService(config);
     //var storage = require('../service/storage').StorageService(config);
 
 

+ 1 - 1
local_modules/crowi-fileupload-aws/index.js → lib/service/file-uploader/aws.js

@@ -6,7 +6,7 @@ module.exports = function(crowi) {
   var aws = require('aws-sdk')
   var aws = require('aws-sdk')
     , fs = require('fs')
     , fs = require('fs')
     , path = require('path')
     , path = require('path')
-    , debug = require('debug')('growi:lib:fileUploaderAws')
+    , debug = require('debug')('growi:service:fileUploaderAws')
     , lib = {}
     , lib = {}
     , getAwsConfig = function() {
     , getAwsConfig = function() {
       var config = crowi.getConfig();
       var config = crowi.getConfig();

+ 18 - 0
lib/service/file-uploader/index.js

@@ -0,0 +1,18 @@
+class FileUploaderFactory {
+
+  getUploader(crowi) {
+    if (this.uploader == null) {
+      const method = process.env.FILE_UPLOAD || 'aws';
+      const modulePath = `./${method}`;
+      this.uploader = require(modulePath)(crowi);
+    }
+
+    return this.uploader;
+  }
+
+}
+
+const factory = new FileUploaderFactory();
+module.exports = (crowi) => {
+  return factory.getUploader(crowi);
+};

+ 1 - 1
local_modules/crowi-fileupload-local/index.js → lib/service/file-uploader/local.js

@@ -3,7 +3,7 @@
 module.exports = function(crowi) {
 module.exports = function(crowi) {
   'use strict';
   'use strict';
 
 
-  var debug = require('debug')('growi:lib:fileUploaderLocal')
+  var debug = require('debug')('growi:service:fileUploaderLocal')
     , fs = require('fs')
     , fs = require('fs')
     , path = require('path')
     , path = require('path')
     , mkdir = require('mkdirp')
     , mkdir = require('mkdirp')

+ 1 - 1
local_modules/crowi-fileupload-none/index.js → lib/service/file-uploader/none.js

@@ -3,7 +3,7 @@
 module.exports = function(crowi) {
 module.exports = function(crowi) {
   'use strict';
   'use strict';
 
 
-  var debug = require('debug')('growi:lib:fileUploaderNone')
+  var debug = require('debug')('growi:service:fileUploaderNone')
     , Config = crowi.model('Config')
     , Config = crowi.model('Config')
     , config = crowi.getConfig()
     , config = crowi.getConfig()
     , lib = {};
     , lib = {};

+ 0 - 13
lib/util/fileUploader.js

@@ -1,13 +0,0 @@
-/**
- * fileUploader
- */
-
-module.exports = function(crowi) {
-  'use strict';
-
-  var debug = require('debug')('growi:lib:fileUploader')
-    , method = crowi.env.FILE_UPLOAD || 'aws'
-    , lib = '../../local_modules/crowi-fileupload-' + method;
-
-  return require(lib)(crowi);
-};