Showing
7 changed files
with
111 additions
and
61 deletions
... | @@ -3,7 +3,7 @@ var router = express.Router(); | ... | @@ -3,7 +3,7 @@ var router = express.Router(); |
3 | 3 | ||
4 | var AWS = require('aws-sdk'); | 4 | var AWS = require('aws-sdk'); |
5 | AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); | 5 | AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); |
6 | -var S3 = require('../modules/s3/s3'); | 6 | +var S3 = require('../modules/s3/s3_new'); |
7 | 7 | ||
8 | 8 | ||
9 | // /file/delete/:name | 9 | // /file/delete/:name |
... | @@ -15,30 +15,17 @@ router.get('/:name', function (req, res) { | ... | @@ -15,30 +15,17 @@ router.get('/:name', function (req, res) { |
15 | var targetPath = 'trashcan'; | 15 | var targetPath = 'trashcan'; |
16 | var sourceFile = curPath.substring(1) + file_name; | 16 | var sourceFile = curPath.substring(1) + file_name; |
17 | 17 | ||
18 | - var sql1 = 'DELETE FROM files WHERE file_name = (?) AND location=(?) AND user_Id = (?)'; | 18 | + var sql1 = 'UPDATE files SET location = ? WHERE location = ? AND file_name = ? AND user_id = ?;'; |
19 | - var sql2 = 'INSERT INTO trashcan (trash_name, location, user_Id) VALUES (?, ?, ?)'; | 19 | + connection.query(sql1, ['/trashcan/', curPath, file_name, user_id], function (err) { |
20 | - | ||
21 | - connection.query(sql1, [file_name, curPath, user_id], function (err) { | ||
22 | if (err) { | 20 | if (err) { |
23 | - console.log('delete db error'); | 21 | + console.log('update db error'); |
24 | - res.send({erorr: 'db delete error'}); | 22 | + res.send({ erorr: 'db update error' }); |
25 | - } | 23 | + } else { |
26 | - else { | 24 | + S3.moveFile4(S3.BUCKET_NAME, user_id, sourceFile, targetPath, function (result) { |
27 | - //connection.query(sql2, [file_name, '/trashcan'+curPath, user_id], function (err) { | 25 | + if (result) { |
28 | - connection.query(sql2, [file_name, '/trashcan/', user_id], function (err) { | 26 | + res.send("move to trashcan success"); |
29 | - if (err) { | 27 | + } else { |
30 | - console.log('insert in trashcan db error'); | 28 | + res.send({ err: "no such file" }) |
31 | - res.send({error: 'db insert error'}); | ||
32 | - } | ||
33 | - else { | ||
34 | - // /drive/user_id/sourceFile --> /drive/user_id/trashcan/sourceFile | ||
35 | - S3.moveFile4(S3.BUCKET_NAME, user_id, sourceFile, targetPath, function (result) { | ||
36 | - if (result) { | ||
37 | - res.send({message: "move to trashcan success"}); | ||
38 | - }else{ | ||
39 | - res.send({err: "no such file"}) | ||
40 | - } | ||
41 | - }) | ||
42 | } | 29 | } |
43 | }) | 30 | }) |
44 | } | 31 | } |
... | @@ -46,4 +33,67 @@ router.get('/:name', function (req, res) { | ... | @@ -46,4 +33,67 @@ router.get('/:name', function (req, res) { |
46 | }); | 33 | }); |
47 | 34 | ||
48 | 35 | ||
36 | +// /file/delete/:name | ||
37 | +// router.get('/:name', function (req, res) { | ||
38 | +// console.log(req.query); | ||
39 | +// console.log(req.params); | ||
40 | +// var file_name = req.params.name; | ||
41 | +// var user_id = req.query.id; | ||
42 | +// var curPath = req.query.cur; | ||
43 | + | ||
44 | +// var targetPath = 'trashcan'; | ||
45 | +// var sourceFile = curPath.substring(1) + file_name; | ||
46 | + | ||
47 | +// var sql1 = 'UPDATE files SET location = ? WHERE location = ? AND file_name = ? AND user_id = ?;'; | ||
48 | +// connection.query(sql1, ['/trashcan/', curPath, file_name, user_id], function (err) { | ||
49 | +// if (err) { | ||
50 | +// console.log('update db error'); | ||
51 | +// res.send({ erorr: 'db update error' }); | ||
52 | +// } else { | ||
53 | +// S3.moveFile2(S3.BUCKET_NAME, user_id, sourceFile, file_name, targetPath, function (result) { | ||
54 | +// if (result) { | ||
55 | +// res.send("move to trashcan success"); | ||
56 | +// } | ||
57 | +// }) | ||
58 | +// } | ||
59 | +// }) | ||
60 | +// }); | ||
61 | + | ||
62 | +// // /file/delete/:name | ||
63 | +// router.get('/:name', function (req, res) { | ||
64 | +// var file_name = req.params.name; | ||
65 | +// var user_id = req.query.id; | ||
66 | +// var curPath = req.query.cur; | ||
67 | + | ||
68 | +// var targetPath = 'trashcan'; | ||
69 | +// var sourceFile = curPath.substring(1) + file_name; | ||
70 | + | ||
71 | +// var sql1 = 'DELETE FROM files WHERE file_name = (?) AND location=(?) AND user_Id = (?)'; | ||
72 | +// var sql2 = 'INSERT INTO trashcan (trash_name, location, user_Id) VALUES (?, ?, ?)'; | ||
73 | + | ||
74 | +// connection.query(sql1, [file_name, curPath, user_id], function (err) { | ||
75 | +// if (err) { | ||
76 | +// console.log('delete db error'); | ||
77 | +// res.send({erorr: 'db delete error'}); | ||
78 | +// } | ||
79 | +// else { | ||
80 | +// connection.query(sql2, [file_name, '/trashcan'+curPath, user_id], function (err) { | ||
81 | +// if (err) { | ||
82 | +// console.log('insert in trashcan db error'); | ||
83 | +// res.send({error: 'db insert error'}); | ||
84 | +// } | ||
85 | +// else { | ||
86 | +// // /drive/user_id/sourceFile --> /drive/user_id/trashcan/sourceFile | ||
87 | +// S3.moveFile2(S3.BUCKET_NAME, user_id, sourceFile, targetPath, function (result) { | ||
88 | +// if (result) { | ||
89 | +// res.send("move to trashcan success"); | ||
90 | +// } | ||
91 | +// }) | ||
92 | +// } | ||
93 | +// }) | ||
94 | +// } | ||
95 | +// }) | ||
96 | +// }); | ||
97 | + | ||
98 | + | ||
49 | module.exports = router; | 99 | module.exports = router; |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -6,7 +6,7 @@ var moment = require('moment'); | ... | @@ -6,7 +6,7 @@ var moment = require('moment'); |
6 | 6 | ||
7 | var AWS = require('aws-sdk'); | 7 | var AWS = require('aws-sdk'); |
8 | AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); | 8 | AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); |
9 | -var S3 = require('../modules/s3/s3'); | 9 | +var S3 = require('../modules/s3/s3_new'); |
10 | 10 | ||
11 | 11 | ||
12 | 12 | ... | ... |
... | @@ -3,7 +3,7 @@ var router = express.Router(); | ... | @@ -3,7 +3,7 @@ var router = express.Router(); |
3 | 3 | ||
4 | var AWS = require('aws-sdk'); | 4 | var AWS = require('aws-sdk'); |
5 | AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); | 5 | AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); |
6 | -var S3 = require('../modules/s3/s3'); | 6 | +var S3 = require('../modules/s3/s3_new'); |
7 | 7 | ||
8 | var fs = require('fs'); | 8 | var fs = require('fs'); |
9 | 9 | ... | ... |
... | @@ -3,7 +3,7 @@ var router = express.Router(); | ... | @@ -3,7 +3,7 @@ var router = express.Router(); |
3 | 3 | ||
4 | var AWS = require('aws-sdk'); | 4 | var AWS = require('aws-sdk'); |
5 | AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); | 5 | AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); |
6 | -var S3 = require('../modules/s3/s3'); | 6 | +var S3 = require('../modules/s3/s3_new'); |
7 | 7 | ||
8 | var fs = require('fs'); | 8 | var fs = require('fs'); |
9 | var moment = require('moment'); | 9 | var moment = require('moment'); | ... | ... |
... | @@ -6,7 +6,7 @@ var moment = require('moment'); | ... | @@ -6,7 +6,7 @@ var moment = require('moment'); |
6 | 6 | ||
7 | var AWS = require('aws-sdk'); | 7 | var AWS = require('aws-sdk'); |
8 | AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); | 8 | AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json"); |
9 | -var S3 = require('../modules/s3/s3'); | 9 | +var S3 = require('../modules/s3/s3_new'); |
10 | 10 | ||
11 | 11 | ||
12 | 12 | ... | ... |
... | @@ -16,7 +16,7 @@ | ... | @@ -16,7 +16,7 @@ |
16 | var AWS = require('aws-sdk'); | 16 | var AWS = require('aws-sdk'); |
17 | AWS.config.update({ region: 'ap-northeast-2' }); | 17 | AWS.config.update({ region: 'ap-northeast-2' }); |
18 | 18 | ||
19 | -var BUCKET_NAME = 'khuloud'; | 19 | +var BUCKET_NAME = 'qkrrlqja-test'; |
20 | 20 | ||
21 | var s3 = new AWS.S3(); | 21 | var s3 = new AWS.S3(); |
22 | var fs = require('fs'); | 22 | var fs = require('fs'); |
... | @@ -73,7 +73,7 @@ var S3 = { | ... | @@ -73,7 +73,7 @@ var S3 = { |
73 | }, | 73 | }, |
74 | 74 | ||
75 | // 파일 덮어쓰기 | 75 | // 파일 덮어쓰기 |
76 | - coverFile: function(bucketName, userId, sourceFile, targetPath, body, callback) { | 76 | + coverFile: function (bucketName, userId, sourceFile, targetPath, body, callback) { |
77 | var pathbody = fs.createReadStream(body); | 77 | var pathbody = fs.createReadStream(body); |
78 | 78 | ||
79 | if (targetPath != '' && targetPath[targetPath.length - 1] != '/') { | 79 | if (targetPath != '' && targetPath[targetPath.length - 1] != '/') { |
... | @@ -136,17 +136,17 @@ var S3 = { | ... | @@ -136,17 +136,17 @@ var S3 = { |
136 | }, | 136 | }, |
137 | 137 | ||
138 | // /routes/modules/s3/download에 저장 | 138 | // /routes/modules/s3/download에 저장 |
139 | - downloadFile2: function(bucketName, userId, targetFile, callback){ | 139 | + downloadFile2: function (bucketName, userId, targetFile, callback) { |
140 | tempDownloadDir = __dirname + '/download/' + userId + '/' + targetFile; | 140 | tempDownloadDir = __dirname + '/download/' + userId + '/' + targetFile; |
141 | - S3.downloadFile(bucketName, userId, targetFile, function(result, data){ | 141 | + S3.downloadFile(bucketName, userId, targetFile, function (result, data) { |
142 | if (result) { | 142 | if (result) { |
143 | - makeFolder(tempDownloadDir, function(result){ | 143 | + makeFolder(tempDownloadDir, function (result) { |
144 | if (result) { | 144 | if (result) { |
145 | fs.writeFileSync(tempDownloadDir, data); | 145 | fs.writeFileSync(tempDownloadDir, data); |
146 | callback(true, tempDownloadDir); | 146 | callback(true, tempDownloadDir); |
147 | } | 147 | } |
148 | }) | 148 | }) |
149 | - }else{ | 149 | + } else { |
150 | console.log('Download File Error'); | 150 | console.log('Download File Error'); |
151 | callback(false); | 151 | callback(false); |
152 | } | 152 | } |
... | @@ -154,12 +154,12 @@ var S3 = { | ... | @@ -154,12 +154,12 @@ var S3 = { |
154 | }, | 154 | }, |
155 | 155 | ||
156 | // 최종 | 156 | // 최종 |
157 | - downloadFile3: function(bucketName, userId, targetFile, callback){ | 157 | + downloadFile3: function (bucketName, userId, targetFile, callback) { |
158 | // targetFile 예1 => test.txt | 158 | // targetFile 예1 => test.txt |
159 | // targetFile 예2 => folder1/folder2/test.txt | 159 | // targetFile 예2 => folder1/folder2/test.txt |
160 | var tempDownloadDir = __dirname + '/download/' + userId + '/' + targetFile; | 160 | var tempDownloadDir = __dirname + '/download/' + userId + '/' + targetFile; |
161 | - makeFolder(tempDownloadDir, function(result){ | 161 | + makeFolder(tempDownloadDir, function (result) { |
162 | - if (result){ | 162 | + if (result) { |
163 | var file = fs.createWriteStream(tempDownloadDir); | 163 | var file = fs.createWriteStream(tempDownloadDir); |
164 | var params = { | 164 | var params = { |
165 | Bucket: bucketName, | 165 | Bucket: bucketName, |
... | @@ -167,15 +167,15 @@ var S3 = { | ... | @@ -167,15 +167,15 @@ var S3 = { |
167 | }; | 167 | }; |
168 | try { | 168 | try { |
169 | var stream = s3.getObject(params).createReadStream().pipe(file); | 169 | var stream = s3.getObject(params).createReadStream().pipe(file); |
170 | - stream.on('end', function(){ | 170 | + stream.on('end', function () { |
171 | console.log('end!'); | 171 | console.log('end!'); |
172 | callback(true, tempDownloadDir); | 172 | callback(true, tempDownloadDir); |
173 | }); | 173 | }); |
174 | - }catch(err){ | 174 | + } catch (err) { |
175 | console.log('no such file', err); | 175 | console.log('no such file', err); |
176 | callback(false); | 176 | callback(false); |
177 | } | 177 | } |
178 | - }else{ | 178 | + } else { |
179 | callback(false); | 179 | callback(false); |
180 | } | 180 | } |
181 | }) | 181 | }) |
... | @@ -230,9 +230,9 @@ var S3 = { | ... | @@ -230,9 +230,9 @@ var S3 = { |
230 | if (fullpath.substring(index) == targetFile) { | 230 | if (fullpath.substring(index) == targetFile) { |
231 | answer = true; | 231 | answer = true; |
232 | var splited = targetFile.split('(').join(',').split(')').join(',').split(','); | 232 | var splited = targetFile.split('(').join(',').split(')').join(',').split(','); |
233 | - if (splited.length != 3){ | 233 | + if (splited.length != 3) { |
234 | lvNum = 0; | 234 | lvNum = 0; |
235 | - }else{ | 235 | + } else { |
236 | lvNum = parseInt(splited[1]); | 236 | lvNum = parseInt(splited[1]); |
237 | console.log('isNum', lvNum); | 237 | console.log('isNum', lvNum); |
238 | } | 238 | } |
... | @@ -305,17 +305,17 @@ var S3 = { | ... | @@ -305,17 +305,17 @@ var S3 = { |
305 | 305 | ||
306 | // 파일 이름이 달라지는 경우 | 306 | // 파일 이름이 달라지는 경우 |
307 | moveFile3: function (bucketName, userId, oldFile, newFile, targetPath, callback) { | 307 | moveFile3: function (bucketName, userId, oldFile, newFile, targetPath, callback) { |
308 | - if (targetPath != ''){ | 308 | + if (targetPath != '') { |
309 | targetPath = targetPath + '/'; | 309 | targetPath = targetPath + '/'; |
310 | } | 310 | } |
311 | sourceFile = targetPath + oldFile; // test.txt or folder1/test.txt | 311 | sourceFile = targetPath + oldFile; // test.txt or folder1/test.txt |
312 | var targetFile = targetPath + newFile; | 312 | var targetFile = targetPath + newFile; |
313 | 313 | ||
314 | - S3.copyFile2(bucketName, userId, sourceFile, targetFile, function(result){ | 314 | + S3.copyFile2(bucketName, userId, sourceFile, targetFile, function (result) { |
315 | - if (!result){ | 315 | + if (!result) { |
316 | console.log("Move Error on Copying File3"); | 316 | console.log("Move Error on Copying File3"); |
317 | callback(false); | 317 | callback(false); |
318 | - }else{ | 318 | + } else { |
319 | S3.deleteFile(bucketName, userId, sourceFile, function (res) { | 319 | S3.deleteFile(bucketName, userId, sourceFile, function (res) { |
320 | if (!res) { | 320 | if (!res) { |
321 | console.log("Move Error on Deleting File"); | 321 | console.log("Move Error on Deleting File"); |
... | @@ -329,14 +329,14 @@ var S3 = { | ... | @@ -329,14 +329,14 @@ var S3 = { |
329 | }) | 329 | }) |
330 | }, | 330 | }, |
331 | 331 | ||
332 | - renameFile: function(bucketName, userId, sourceFile, modiFile, targetPath, callback){ | 332 | + renameFile: function (bucketName, userId, sourceFile, modiFile, targetPath, callback) { |
333 | // sourceFile = test.txt | 333 | // sourceFile = test.txt |
334 | // modiFile = test2.txt | 334 | // modiFile = test2.txt |
335 | // targetPath = '' or 'folder1/folder2' | 335 | // targetPath = '' or 'folder1/folder2' |
336 | 336 | ||
337 | - if (sourceFile == modiFile){ // 이름 변경되지 않은 경우 | 337 | + if (sourceFile == modiFile) { // 이름 변경되지 않은 경우 |
338 | callback(true, sourceFile); | 338 | callback(true, sourceFile); |
339 | - }else{ | 339 | + } else { |
340 | if (targetPath != '') { | 340 | if (targetPath != '') { |
341 | targetPath = targetpath + '/'; | 341 | targetPath = targetpath + '/'; |
342 | } | 342 | } |
... | @@ -375,7 +375,7 @@ var S3 = { | ... | @@ -375,7 +375,7 @@ var S3 = { |
375 | uploadFile: function (bucketName, userId, sourceFile, targetPath, body, callback) { | 375 | uploadFile: function (bucketName, userId, sourceFile, targetPath, body, callback) { |
376 | var pathbody = fs.createReadStream(body); | 376 | var pathbody = fs.createReadStream(body); |
377 | 377 | ||
378 | - if (targetPath!='' && targetPath[targetPath.length-1]!='/') { | 378 | + if (targetPath != '' && targetPath[targetPath.length - 1] != '/') { |
379 | targetPath = targetPath + '/'; | 379 | targetPath = targetPath + '/'; |
380 | } | 380 | } |
381 | var targetFile = targetPath + sourceFile; | 381 | var targetFile = targetPath + sourceFile; |
... | @@ -393,11 +393,11 @@ var S3 = { | ... | @@ -393,11 +393,11 @@ var S3 = { |
393 | } else { | 393 | } else { |
394 | if (ans) { | 394 | if (ans) { |
395 | console.log("File Duplication"); | 395 | console.log("File Duplication"); |
396 | - S3.makeVersion(bucketName, userId, sourceFile, lvNum+1, function(res, versionedSourceFile){ | 396 | + S3.makeVersion(bucketName, userId, sourceFile, lvNum + 1, function (res, versionedSourceFile) { |
397 | - if (!res){ | 397 | + if (!res) { |
398 | console.log("Make version failed"); | 398 | console.log("Make version failed"); |
399 | callback(false, sourceFile); | 399 | callback(false, sourceFile); |
400 | - }else{ | 400 | + } else { |
401 | S3.uploadFile(bucketName, userId, versionedSourceFile, targetPath, body, callback); | 401 | S3.uploadFile(bucketName, userId, versionedSourceFile, targetPath, body, callback); |
402 | } | 402 | } |
403 | }) | 403 | }) |
... | @@ -423,7 +423,7 @@ var S3 = { | ... | @@ -423,7 +423,7 @@ var S3 = { |
423 | if (!res) { | 423 | if (!res) { |
424 | errFiles.push(sourceFiles[iter]); | 424 | errFiles.push(sourceFiles[iter]); |
425 | } | 425 | } |
426 | - if (sourceFiles[iter] != resSourceFile){ // 파일 중복으로 다른 버전이 생긴 경우 | 426 | + if (sourceFiles[iter] != resSourceFile) { // 파일 중복으로 다른 버전이 생긴 경우 |
427 | sourceFiles[iter] = resSourceFile; | 427 | sourceFiles[iter] = resSourceFile; |
428 | } | 428 | } |
429 | S3.uploadFiles(iter + 1, errFiles, bucketName, userId, sourceFiles, targetPath, bodies, callback); | 429 | S3.uploadFiles(iter + 1, errFiles, bucketName, userId, sourceFiles, targetPath, bodies, callback); |
... | @@ -440,21 +440,21 @@ var S3 = { | ... | @@ -440,21 +440,21 @@ var S3 = { |
440 | }, | 440 | }, |
441 | } | 441 | } |
442 | 442 | ||
443 | -var makeFolder = function(dir, callback){ | 443 | +var makeFolder = function (dir, callback) { |
444 | - var paths = dir.substring(__dirname.length+1); // download/userId/folder1/folder2/test.txt | 444 | + var paths = dir.substring(__dirname.length + 1); // download/userId/folder1/folder2/test.txt |
445 | paths = paths.split('/'); | 445 | paths = paths.split('/'); |
446 | 446 | ||
447 | var folders = __dirname; | 447 | var folders = __dirname; |
448 | - for(var i=0; i<paths.length-1; i++){ | 448 | + for (var i = 0; i < paths.length - 1; i++) { |
449 | - folders += '/'+paths[i]; | 449 | + folders += '/' + paths[i]; |
450 | - if(!fs.existsSync(folders)){ | 450 | + if (!fs.existsSync(folders)) { |
451 | fs.mkdirSync(folders) | 451 | fs.mkdirSync(folders) |
452 | } | 452 | } |
453 | } | 453 | } |
454 | 454 | ||
455 | - if (fs.existsSync(folders)){ | 455 | + if (fs.existsSync(folders)) { |
456 | callback(true); | 456 | callback(true); |
457 | - }else{ | 457 | + } else { |
458 | callback(false); | 458 | callback(false); |
459 | } | 459 | } |
460 | } | 460 | } | ... | ... |
backend/routes/modules/s3/s3_new.js
0 → 100644
This diff is collapsed. Click to expand it.
-
Please register or login to post a comment