최동원

.

...@@ -116,3 +116,4 @@ dist ...@@ -116,3 +116,4 @@ dist
116 .pnp.* 116 .pnp.*
117 117
118 backend/routes/modules/s3/download/* 118 backend/routes/modules/s3/download/*
119 +backend/routes/modules/awsconfig.json
......
...@@ -4,9 +4,6 @@ const router = express.Router(); ...@@ -4,9 +4,6 @@ const router = express.Router();
4 router.get('/show', function(req, res, next) { 4 router.get('/show', function(req, res, next) {
5 console.log(req.query); 5 console.log(req.query);
6 user_id = req.query.id; 6 user_id = req.query.id;
7 - let folders = [];
8 - let files = [];
9 -
10 let checkfolder = 'SELECT * FROM folders WHERE user_id = ? AND favorite = 1;'; 7 let checkfolder = 'SELECT * FROM folders WHERE user_id = ? AND favorite = 1;';
11 let checkfiles = 'SELECT * FROM files WHERE user_id = ? AND favorite = 1;'; 8 let checkfiles = 'SELECT * FROM files WHERE user_id = ? AND favorite = 1;';
12 connection.query(checkfolder, [user_id], function(err, folder, fields) { 9 connection.query(checkfolder, [user_id], function(err, folder, fields) {
...@@ -14,13 +11,11 @@ router.get('/show', function(req, res, next) { ...@@ -14,13 +11,11 @@ router.get('/show', function(req, res, next) {
14 console.log('select error'); 11 console.log('select error');
15 res.status(404).send(); 12 res.status(404).send();
16 } else { 13 } else {
17 - // folders.push(folder);
18 connection.query(checkfiles, [user_id], function(err, file, fields) { 14 connection.query(checkfiles, [user_id], function(err, file, fields) {
19 if (err) { 15 if (err) {
20 console.log('select error'); 16 console.log('select error');
21 res.status(404).send(); 17 res.status(404).send();
22 } else { 18 } else {
23 - // files.push(file);
24 res.status(200).send({ 19 res.status(200).send({
25 folders: folder, 20 folders: folder,
26 files: file 21 files: file
......
...@@ -2,49 +2,85 @@ const express = require('express'); ...@@ -2,49 +2,85 @@ const express = require('express');
2 const router = express.Router(); 2 const router = express.Router();
3 const AWS = require("aws-sdk"); 3 const AWS = require("aws-sdk");
4 const moment = require("moment"); 4 const moment = require("moment");
5 +AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json");
5 6
6 -const BUCKET_NAME = "qkrrlqja-test"; 7 +const BUCKET_NAME = "hong-s3-cloud";
7 let curPath = ""; 8 let curPath = "";
8 let user_id = ""; 9 let user_id = "";
9 let parentPath = ""; 10 let parentPath = "";
10 11
11 -const s3 = new AWS.S3({ 12 +const s3 = new AWS.S3();
12 - accessKeyId: process.env.AWS_ACCESS_KEY_ID, 13 +
13 - secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, 14 +// router.get('/show', function(req, res, next) {
14 - region: "ap-northeast-2" 15 +// console.log(req.query);
15 -}); 16 +// user_id = req.query.id;
17 +// curPath = req.query.cur;
18 +// if (curPath == '/') {
19 +// parentPath = '/';
20 +// } else {
21 +// let pathSplit = curPath.split('/')
22 +// console.log(pathSplit);
23 +// parentPath = '/';
24 +// for (let i = 1; i < pathSplit.length - 2; i++) {
25 +// parentPath += pathSplit[i];
26 +// parentPath += '/';
27 +// }
28 +// }
29 +// let checkfolder = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;';
30 +// connection.query(checkfolder, [curPath, user_id], function(err, rows, fields) {
31 +// if (err) {
32 +// console.log('select error');
33 +// res.status(400).send({ err: err });
34 +// } else {
35 +// res.status(200).send({
36 +// folders: rows,
37 +// cur: curPath,
38 +// parentPath: parentPath
39 +// })
40 +// }
41 +// });
42 +// });
16 43
17 router.get('/show', function(req, res, next) { 44 router.get('/show', function(req, res, next) {
18 console.log(req.query); 45 console.log(req.query);
19 - user_id = req.query.id; 46 + user_id = req.query.user_id;
20 - curPath = req.query.cur; 47 + folder_id = req.query.folder_id;
21 - if (curPath == '/') { 48 + let checkfolder = 'SELECT * FROM folders WHERE folder_id = ? AND user_id = ?;';
22 - parentPath = '/'; 49 + connection.query(checkfolder, [curPath, user_id], function(err, rows) {
50 + if (err) {
51 + console.log('select1 error');
52 + res.status(400).send({ err: err });
23 } else { 53 } else {
24 - let pathSplit = curPath.split('/') 54 + let location = rows[0].location + rows[0].folder_name + '/';
25 - console.log(pathSplit); 55 + if (rows.length == 0) {
26 - parentPath = '/'; 56 + console.log('does not exist');
27 - for (let i = 1; i < pathSplit.length - 2; i++) { 57 + res.status(400).send({ err: 'does not exist' });
28 - parentPath += pathSplit[i]; 58 + } else {
29 - parentPath += '/'; 59 + let gerFolder = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;';
30 - } 60 + connection.query(gerFolder, [location, user_id], function(err, folder) {
31 - } 61 + if (err) {
32 - let checkfolder = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;'; 62 + console.log('select2 error');
33 - connection.query(checkfolder, [curPath, user_id], function(err, rows, fields) { 63 + res.status(400).send({ err: err });
64 + } else {
65 + let gerFile = 'SELECT * FROM files WHERE location = ? AND user_id = ?;';
66 + connection.query(gerFile, [location, user_id], function(err, folder) {
34 if (err) { 67 if (err) {
35 - console.log('select error'); 68 + console.log('select3 error');
36 res.status(400).send({ err: err }); 69 res.status(400).send({ err: err });
37 } else { 70 } else {
38 res.status(200).send({ 71 res.status(200).send({
39 - folders: rows, 72 + folders: folder,
40 - cur: curPath, 73 + files: file
41 - parentPath: parentPath 74 + });
42 - }) 75 + }
76 + });
77 + }
78 + });
79 + }
43 } 80 }
44 }); 81 });
45 }); 82 });
46 83
47 -
48 router.post('/makefolder', function(req, res, next) { 84 router.post('/makefolder', function(req, res, next) {
49 85
50 user_id = req.body.user_id; 86 user_id = req.body.user_id;
...@@ -107,6 +143,16 @@ router.post('/delfolder', function(req, res, next) { ...@@ -107,6 +143,16 @@ router.post('/delfolder', function(req, res, next) {
107 Bucket: BUCKET_NAME, 143 Bucket: BUCKET_NAME,
108 Key: 'drive/' + curPath + folder_name + '/' 144 Key: 'drive/' + curPath + folder_name + '/'
109 }; 145 };
146 + let infolderpath = cur + name + '/';
147 + let checkinfolder = 'SELECT location FROM folders WHERE location = ? AND user_id = ? UNION ALL SELECT location FROM files WHERE location = ? AND user_id = ?;';
148 + connection.query(checkinfolder, [infolderpath, user_id, infolderpath, user_id], function(err, infolder) {
149 + if (err) {
150 + console.log("copy error");
151 + res.status(304).send({ error: "checkinfolder error" });
152 + } else {
153 + if (infolder.length != 0) {
154 + res.status(204).send({ error: "infolder exist!" })
155 + } else {
110 let checksql = 'SELECT * FROM folders WHERE location = ? AND folder_name = ? AND user_id = ?;'; 156 let checksql = 'SELECT * FROM folders WHERE location = ? AND folder_name = ? AND user_id = ?;';
111 let values = [cur, folder_name, user_id]; 157 let values = [cur, folder_name, user_id];
112 connection.query(checksql, values, function(err, rows, fields) { 158 connection.query(checksql, values, function(err, rows, fields) {
...@@ -144,6 +190,9 @@ router.post('/delfolder', function(req, res, next) { ...@@ -144,6 +190,9 @@ router.post('/delfolder', function(req, res, next) {
144 } 190 }
145 } 191 }
146 }); 192 });
193 + }
194 + }
195 + });
147 }); 196 });
148 197
149 198
...@@ -155,6 +204,16 @@ router.post('/move', function(req, res, next) { ...@@ -155,6 +204,16 @@ router.post('/move', function(req, res, next) {
155 let name = req.body.name; 204 let name = req.body.name;
156 let newPath = user_id + req.body.newPath; 205 let newPath = user_id + req.body.newPath;
157 if (req.body.isfolder) { 206 if (req.body.isfolder) {
207 + let infolderpath = cur + name + '/';
208 + let checkinfolder = 'SELECT location FROM folders WHERE location = ? AND user_id = ? UNION ALL SELECT location FROM files WHERE location = ? AND user_id = ?;';
209 + connection.query(checkinfolder, [infolderpath, user_id, infolderpath, user_id], function(err, infolder) {
210 + if (err) {
211 + console.log("copy error");
212 + res.status(304).send({ error: "checkinfolder error" });
213 + } else {
214 + if (infolder.length != 0) {
215 + res.status(204).send({ error: "infolder exist!" })
216 + } else {
158 let checkfolder = 'SELECT * FROM folders WHERE location = ? AND folder_name = ? AND user_id = ?;'; 217 let checkfolder = 'SELECT * FROM folders WHERE location = ? AND folder_name = ? AND user_id = ?;';
159 connection.query(checkfolder, [cur, name, user_id], function(err1, rows, fields) { 218 connection.query(checkfolder, [cur, name, user_id], function(err1, rows, fields) {
160 console.log(rows); 219 console.log(rows);
...@@ -204,6 +263,9 @@ router.post('/move', function(req, res, next) { ...@@ -204,6 +263,9 @@ router.post('/move', function(req, res, next) {
204 res.status(304).send({ error: "Does not exist" }); 263 res.status(304).send({ error: "Does not exist" });
205 } 264 }
206 }); 265 });
266 + }
267 + }
268 + });
207 } else { 269 } else {
208 let checkfile = 'SELECT * FROM files WHERE location = ? AND file_name = ? AND user_id = ?;'; 270 let checkfile = 'SELECT * FROM files WHERE location = ? AND file_name = ? AND user_id = ?;';
209 connection.query(checkfile, [cur, name, user_id], function(err1, rows, fields) { 271 connection.query(checkfile, [cur, name, user_id], function(err1, rows, fields) {
...@@ -255,66 +317,66 @@ router.post('/move', function(req, res, next) { ...@@ -255,66 +317,66 @@ router.post('/move', function(req, res, next) {
255 }); 317 });
256 318
257 319
258 -router.post('/modify', function(req, res, next) { 320 +// router.post('/modify', function(req, res, next) {
259 - console.log(req.body); 321 +// console.log(req.body);
260 - user_id = req.body.id; 322 +// user_id = req.body.id;
261 - let cur = req.body.cur; 323 +// let cur = req.body.cur;
262 - curPath = user_id + cur; 324 +// curPath = user_id + cur;
263 - let name = req.body.folder_name; 325 +// let name = req.body.folder_name;
264 - let newName = req.body.newName; 326 +// let newName = req.body.newName;
265 327
266 - let checkfolder = 'SELECT * FROM folders WHERE location = ? AND folder_name = ? AND user_id = ?;'; 328 +// let checkfolder = 'SELECT * FROM folders WHERE location = ? AND folder_name = ? AND user_id = ?;';
267 - connection.query(checkfolder, [cur, name, user_id], function(err1, rows, fields) { 329 +// connection.query(checkfolder, [cur, name, user_id], function(err1, rows, fields) {
268 - console.log(rows); 330 +// console.log(rows);
269 - if (rows.length != 0) { 331 +// if (rows.length != 0) {
270 - let copy_params = { 332 +// let copy_params = {
271 - Bucket: BUCKET_NAME, 333 +// Bucket: BUCKET_NAME,
272 - CopySource: BUCKET_NAME + '/drive/' + curPath + name + '/', 334 +// CopySource: BUCKET_NAME + '/drive/' + curPath + name + '/',
273 - Key: 'drive/' + curPath + newName + '/' 335 +// Key: 'drive/' + curPath + newName + '/'
274 - }; 336 +// };
275 - let del_params = { 337 +// let del_params = {
276 - Bucket: BUCKET_NAME, 338 +// Bucket: BUCKET_NAME,
277 - Key: 'drive/' + curPath + name + '/' 339 +// Key: 'drive/' + curPath + name + '/'
278 - }; 340 +// };
279 - s3.copyObject(copy_params, function(err, data) { 341 +// s3.copyObject(copy_params, function(err, data) {
280 - if (err) { 342 +// if (err) {
281 - console.log(err, data); 343 +// console.log(err, data);
282 - console.log("copy error"); 344 +// console.log("copy error");
283 - res.status(304).send({ error: "copy error" }); 345 +// res.status(304).send({ error: "copy error" });
284 - } else { 346 +// } else {
285 - s3.deleteObject(del_params, function(err, data) { 347 +// s3.deleteObject(del_params, function(err, data) {
286 - if (err) { 348 +// if (err) {
287 - console.log(err, data); 349 +// console.log(err, data);
288 - console.log("delete error"); 350 +// console.log("delete error");
289 - res.status(304).send({ error: "delete error" }); 351 +// res.status(304).send({ error: "delete error" });
290 - } else { 352 +// } else {
291 - let date = moment().format(); 353 +// let date = moment().format();
292 - let values = [newName, date, cur, name, user_id]; 354 +// let values = [newName, date, cur, name, user_id];
293 - let updatesql = 'UPDATE folders SET folder_name = ? AND modify = ? WHERE location = ? AND folder_name = ? AND user_id = ?;'; 355 +// let updatesql = 'UPDATE folders SET folder_name = ? AND modify = ? WHERE location = ? AND folder_name = ? AND user_id = ?;';
294 - connection.query(updatesql, values, function(err3, result, field) { 356 +// connection.query(updatesql, values, function(err3, result, field) {
295 - if (err3) { 357 +// if (err3) {
296 - console.log("updatesql error"); 358 +// console.log("updatesql error");
297 - res.status(304).send({ error: "updatesql error" }); 359 +// res.status(304).send({ error: "updatesql error" });
298 - } else { 360 +// } else {
299 - let resultsql = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;'; 361 +// let resultsql = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;';
300 - connection.query(resultsql, [cur, user_id], function(err, rows, fields) { 362 +// connection.query(resultsql, [cur, user_id], function(err, rows, fields) {
301 - res.status(200).send({ 363 +// res.status(200).send({
302 - folders: rows 364 +// folders: rows
303 - }); 365 +// });
304 - }); 366 +// });
305 - } 367 +// }
306 - }); 368 +// });
307 - } 369 +// }
308 - }); 370 +// });
309 - } 371 +// }
310 - }); 372 +// });
311 - } else { 373 +// } else {
312 - console.log("Does not exist"); 374 +// console.log("Does not exist");
313 - res.status(304).send({ error: "Does not exist" }); 375 +// res.status(304).send({ error: "Does not exist" });
314 - } 376 +// }
315 - }); 377 +// });
316 378
317 -}); 379 +// });
318 380
319 router.get('/search', function(req, res, next) { 381 router.get('/search', function(req, res, next) {
320 console.log(req.query); 382 console.log(req.query);
......
1 { 1 {
2 - "accessKeyId": "ASIAXZL2SWFEWQZ6ZNEU", 2 + "accessKeyId": "",
3 - "secretAccessKey": "lqUJTmGVElVEJ6RIgacZd1n1ARvVSNrT3JisfpsO", 3 + "secretAccessKey": "",
4 - "sessionToken": "FwoGZXIvYXdzEJv//////////wEaDJAjP1JBdrIxgxqlTyLDAQCU1f4zp5nu4cNnp4U0pRa9ZGqjQKlxjsUWwH478XU6XUNJcN2NMmmZ0Cl8/kHz+GMvmgax7RxSpo0VsaReh/9+1SMcOB3Kcc+sqRivkCBAZAXfaKrdKhuR2WyCe+M+sZKXdqXNpzHPa/6tUVDBNIMC/aH1KMCwi6XChO3M4BBMZNeY73bu7dLcvPVfaBmRQpaTrqTRky7YiwcPHnnMabOLR6k8OX7Uq/gIYx4pWCJ7AGbVts/quDqoK4nWMs+9Ah6A1CjP4Pn2BTItGKcDLysH3w7vuuw+5dcrxRcFawD0sbOGkJ2YX7fvxHPf410Sm4Vyo2Jf94hM", 4 + "sessionToken": "",
5 - "region": "us-east-1" 5 + "region": "ap-northeast-2"
6 } 6 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -2,14 +2,11 @@ const express = require('express'); ...@@ -2,14 +2,11 @@ const express = require('express');
2 const router = express.Router(); 2 const router = express.Router();
3 const AWS = require("aws-sdk"); 3 const AWS = require("aws-sdk");
4 const moment = require("moment"); 4 const moment = require("moment");
5 +AWS.config.loadFromPath(__dirname + "/../modules/awsconfig.json");
5 6
6 const BUCKET_NAME = "hong-s3-cloud"; 7 const BUCKET_NAME = "hong-s3-cloud";
7 8
8 -const s3 = new AWS.S3({ 9 +const s3 = new AWS.S3();
9 - accessKeyId: process.env.AWS_ACCESS_KEY_ID,
10 - secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
11 - region: "ap-northeast-2"
12 -});
13 10
14 11
15 router.post('/', function(req, res, next) { 12 router.post('/', function(req, res, next) {
...@@ -25,15 +22,15 @@ router.post('/', function(req, res, next) { ...@@ -25,15 +22,15 @@ router.post('/', function(req, res, next) {
25 if (rows.length != 0) { 22 if (rows.length != 0) {
26 let copy_params = { 23 let copy_params = {
27 Bucket: BUCKET_NAME, 24 Bucket: BUCKET_NAME,
28 - CopySource: BUCKET_NAME + '/' + curPath + name, 25 + CopySource: BUCKET_NAME + '/drive/' + curPath + name,
29 - Key: target_id + '/share/' + name 26 + Key: 'drive/' + target_id + '/share/' + name
30 }; 27 };
31 s3.copyObject(copy_params, function(err, data) { 28 s3.copyObject(copy_params, function(err, data) {
32 if (err) { 29 if (err) {
33 console.log(err, data); 30 console.log(err, data);
34 res.status(304).send({ error: "copy error" }); 31 res.status(304).send({ error: "copy error" });
35 } else { 32 } else {
36 - let values = [name, cur, target_id]; 33 + let values = [name, '/share/', target_id];
37 let sharesql = 'INSERT INTO files (file_name,location,user_id) values (?,?,?);'; 34 let sharesql = 'INSERT INTO files (file_name,location,user_id) values (?,?,?);';
38 connection.query(sharesql, values, function(err3, result, field) { 35 connection.query(sharesql, values, function(err3, result, field) {
39 if (err3) { 36 if (err3) {
......