최동원

.

...@@ -115,4 +115,5 @@ dist ...@@ -115,4 +115,5 @@ dist
115 .yarn/install-state.gz 115 .yarn/install-state.gz
116 .pnp.* 116 .pnp.*
117 117
118 -backend/routes/modules/s3/download/*
...\ No newline at end of file ...\ No newline at end of file
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) {
23 - } else {
24 - let pathSplit = curPath.split('/')
25 - console.log(pathSplit);
26 - parentPath = '/';
27 - for (let i = 1; i < pathSplit.length - 2; i++) {
28 - parentPath += pathSplit[i];
29 - parentPath += '/';
30 - }
31 - }
32 - let checkfolder = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;';
33 - connection.query(checkfolder, [curPath, user_id], function(err, rows, fields) {
34 if (err) { 50 if (err) {
35 - console.log('select error'); 51 + console.log('select1 error');
36 res.status(400).send({ err: err }); 52 res.status(400).send({ err: err });
37 } else { 53 } else {
38 - res.status(200).send({ 54 + let location = rows[0].location + rows[0].folder_name + '/';
39 - folders: rows, 55 + if (rows.length == 0) {
40 - cur: curPath, 56 + console.log('does not exist');
41 - parentPath: parentPath 57 + res.status(400).send({ err: 'does not exist' });
42 - }) 58 + } else {
59 + let gerFolder = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;';
60 + connection.query(gerFolder, [location, user_id], function(err, folder) {
61 + if (err) {
62 + console.log('select2 error');
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) {
67 + if (err) {
68 + console.log('select3 error');
69 + res.status(400).send({ err: err });
70 + } else {
71 + res.status(200).send({
72 + folders: folder,
73 + files: file
74 + });
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,40 +143,53 @@ router.post('/delfolder', function(req, res, next) { ...@@ -107,40 +143,53 @@ 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 };
110 - let checksql = 'SELECT * FROM folders WHERE location = ? AND folder_name = ? AND user_id = ?;'; 146 + let infolderpath = cur + name + '/';
111 - let values = [cur, folder_name, user_id]; 147 + let checkinfolder = 'SELECT location FROM folders WHERE location = ? AND user_id = ? UNION ALL SELECT location FROM files WHERE location = ? AND user_id = ?;';
112 - connection.query(checksql, values, function(err, rows, fields) { 148 + connection.query(checkinfolder, [infolderpath, user_id, infolderpath, user_id], function(err, infolder) {
113 if (err) { 149 if (err) {
114 - res.status(404).send({ error: "error" }); 150 + console.log("copy error");
151 + res.status(304).send({ error: "checkinfolder error" });
115 } else { 152 } else {
116 - if (rows.length != 0) { 153 + if (infolder.length != 0) {
117 - s3.deleteObject(params, function(err, data) { 154 + res.status(204).send({ error: "infolder exist!" })
155 + } else {
156 + let checksql = 'SELECT * FROM folders WHERE location = ? AND folder_name = ? AND user_id = ?;';
157 + let values = [cur, folder_name, user_id];
158 + connection.query(checksql, values, function(err, rows, fields) {
118 if (err) { 159 if (err) {
119 - console.log('s3 error'); 160 + res.status(404).send({ error: "error" });
120 - res.status(400).send({ err: err });
121 } else { 161 } else {
122 - console.log(data); 162 + if (rows.length != 0) {
123 - let sql = 'DELETE FROM folders WHERE location = ? AND folder_name = ? AND user_id = ?;'; 163 + s3.deleteObject(params, function(err, data) {
124 - connection.query(sql, values, function(err, result, field) { 164 + if (err) {
125 - if (err) { 165 + console.log('s3 error');
126 - res.status(400).send({ err: err }); 166 + res.status(400).send({ err: err });
127 - } else { 167 + } else {
128 - console.log(cur); 168 + console.log(data);
129 - console.log(user_id); 169 + let sql = 'DELETE FROM folders WHERE location = ? AND folder_name = ? AND user_id = ?;';
130 - let checkfolder = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;'; 170 + connection.query(sql, values, function(err, result, field) {
131 - connection.query(checkfolder, [cur, user_id], function(err, rows, fields) { 171 + if (err) {
132 - res.status(200).send({ 172 + res.status(400).send({ err: err });
133 - folders: rows 173 + } else {
134 - }) 174 + console.log(cur);
135 - }); 175 + console.log(user_id);
176 + let checkfolder = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;';
177 + connection.query(checkfolder, [cur, user_id], function(err, rows, fields) {
178 + res.status(200).send({
179 + folders: rows
180 + })
181 + });
136 182
137 - } 183 + }
138 - }); 184 + });
185 + }
186 + });
187 + } else {
188 + console.log(req.body);
189 + res.status(304).send({ error: "Does not exist" });
190 + }
139 } 191 }
140 }); 192 });
141 - } else {
142 - console.log(req.body);
143 - res.status(304).send({ error: "Does not exist" });
144 } 193 }
145 } 194 }
146 }); 195 });
...@@ -155,53 +204,66 @@ router.post('/move', function(req, res, next) { ...@@ -155,53 +204,66 @@ 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) {
158 - let checkfolder = 'SELECT * FROM folders WHERE location = ? AND folder_name = ? AND user_id = ?;'; 207 + let infolderpath = cur + name + '/';
159 - connection.query(checkfolder, [cur, name, user_id], function(err1, rows, fields) { 208 + let checkinfolder = 'SELECT location FROM folders WHERE location = ? AND user_id = ? UNION ALL SELECT location FROM files WHERE location = ? AND user_id = ?;';
160 - console.log(rows); 209 + connection.query(checkinfolder, [infolderpath, user_id, infolderpath, user_id], function(err, infolder) {
161 - if (rows.length != 0) { 210 + if (err) {
162 - let copy_params = { 211 + console.log("copy error");
163 - Bucket: BUCKET_NAME, 212 + res.status(304).send({ error: "checkinfolder error" });
164 - CopySource: BUCKET_NAME + '/drive/' + curPath + name + '/',
165 - Key: 'drive/' + newPath + name + '/'
166 - };
167 - let del_params = {
168 - Bucket: BUCKET_NAME,
169 - Key: 'drive/' + curPath + name + '/'
170 - };
171 - s3.copyObject(copy_params, function(err, data) {
172 - if (err) {
173 - console.log(err, data);
174 - console.log("copy error");
175 - res.status(304).send({ error: "copy error" });
176 - } else {
177 - s3.deleteObject(del_params, function(err, data) {
178 - if (err) {
179 - console.log(err, data);
180 - console.log("delete error");
181 - res.status(304).send({ error: "delete error" });
182 - } else {
183 - let values = [req.body.newPath, cur, name, user_id];
184 - let updatesql = 'UPDATE folders SET location = ? WHERE location = ? AND folder_name = ? AND user_id = ?;';
185 - connection.query(updatesql, values, function(err3, result, field) {
186 - if (err3) {
187 - console.log("updatesql error");
188 - res.status(304).send({ error: "updatesql error" });
189 - } else {
190 - let resultsql = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;';
191 - connection.query(resultsql, [cur, user_id], function(err, rows, fields) {
192 - res.status(200).send({
193 - folders: rows
194 - });
195 - });
196 - }
197 - });
198 - }
199 - });
200 - }
201 - });
202 } else { 213 } else {
203 - console.log("Does not exist folder"); 214 + if (infolder.length != 0) {
204 - res.status(304).send({ error: "Does not exist" }); 215 + res.status(204).send({ error: "infolder exist!" })
216 + } else {
217 + let checkfolder = 'SELECT * FROM folders WHERE location = ? AND folder_name = ? AND user_id = ?;';
218 + connection.query(checkfolder, [cur, name, user_id], function(err1, rows, fields) {
219 + console.log(rows);
220 + if (rows.length != 0) {
221 + let copy_params = {
222 + Bucket: BUCKET_NAME,
223 + CopySource: BUCKET_NAME + '/drive/' + curPath + name + '/',
224 + Key: 'drive/' + newPath + name + '/'
225 + };
226 + let del_params = {
227 + Bucket: BUCKET_NAME,
228 + Key: 'drive/' + curPath + name + '/'
229 + };
230 + s3.copyObject(copy_params, function(err, data) {
231 + if (err) {
232 + console.log(err, data);
233 + console.log("copy error");
234 + res.status(304).send({ error: "copy error" });
235 + } else {
236 + s3.deleteObject(del_params, function(err, data) {
237 + if (err) {
238 + console.log(err, data);
239 + console.log("delete error");
240 + res.status(304).send({ error: "delete error" });
241 + } else {
242 + let values = [req.body.newPath, cur, name, user_id];
243 + let updatesql = 'UPDATE folders SET location = ? WHERE location = ? AND folder_name = ? AND user_id = ?;';
244 + connection.query(updatesql, values, function(err3, result, field) {
245 + if (err3) {
246 + console.log("updatesql error");
247 + res.status(304).send({ error: "updatesql error" });
248 + } else {
249 + let resultsql = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;';
250 + connection.query(resultsql, [cur, user_id], function(err, rows, fields) {
251 + res.status(200).send({
252 + folders: rows
253 + });
254 + });
255 + }
256 + });
257 + }
258 + });
259 + }
260 + });
261 + } else {
262 + console.log("Does not exist folder");
263 + res.status(304).send({ error: "Does not exist" });
264 + }
265 + });
266 + }
205 } 267 }
206 }); 268 });
207 } else { 269 } else {
...@@ -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);
...@@ -340,4 +402,4 @@ router.get('/search', function(req, res, next) { ...@@ -340,4 +402,4 @@ router.get('/search', function(req, res, next) {
340 402
341 }); 403 });
342 404
343 -module.exports = router; 405 +module.exports = router;
...\ No newline at end of file ...\ No newline at end of file
......
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) {
......