Hong

즐겨찾기추가

...@@ -10,6 +10,7 @@ var userRouter = require('./routes/userlogin/user'); ...@@ -10,6 +10,7 @@ var userRouter = require('./routes/userlogin/user');
10 var loginRouter = require('./routes/userlogin/login'); 10 var loginRouter = require('./routes/userlogin/login');
11 var registerRouter = require('./routes/userlogin/register'); 11 var registerRouter = require('./routes/userlogin/register');
12 var folderRouter = require('./routes/folders'); 12 var folderRouter = require('./routes/folders');
13 +var favoritesRouter = require('./routes/favorites');
13 14
14 15
15 var passport = require('passport'); 16 var passport = require('passport');
...@@ -56,6 +57,7 @@ app.use('/api/user', userRouter); ...@@ -56,6 +57,7 @@ app.use('/api/user', userRouter);
56 app.use('/api/login', loginRouter); 57 app.use('/api/login', loginRouter);
57 app.use('/api/RegistUser', registerRouter); 58 app.use('/api/RegistUser', registerRouter);
58 app.use('/api/folder', folderRouter); 59 app.use('/api/folder', folderRouter);
60 +app.use('/api/favorites', favoritesRouter);
59 //app.use('/users', usersRouter); 61 //app.use('/users', usersRouter);
60 62
61 // catch 404 and forward to error handler 63 // catch 404 and forward to error handler
......
1 +const express = require('express');
2 +const router = express.Router();
3 +
4 +router.get('/show', function(req, res, next) {
5 + console.log(req.query);
6 + user_id = req.query.id;
7 + folders = [];
8 + files = [];
9 +
10 + let checkfolder = 'SELECT * FROM Folder_Favorites WHERE user_id = ?;';
11 + let checkfiles = 'SELECT * FROM File_Favorites WHERE user_id = ?;';
12 + connection.query(checkfolder, [user_id], function(err, rows, fields) {
13 + if (err) {
14 + console.log('select error');
15 + res.status(404).send();
16 + } else {
17 + folders.push(rows);
18 + }
19 + });
20 + connection.query(checkfiles, [user_id], function(err, rows, fields) {
21 + if (err) {
22 + console.log('select error');
23 + res.status(404).send();
24 + } else {
25 + files.push(rows);
26 + }
27 + });
28 + res.status(200).send({
29 + folders: folders,
30 + files: files
31 + });
32 +});
33 +
34 +router.post('/addfolder', function(req, res, next) {
35 + let user_id = req.body.id;
36 + let folder_name = req.body.name;
37 + let checkfolder = 'SELECT * FROM Folder_Favorites JOIN folders ON (Folder_Favorites.folder_id = folders.folder_id AND Folder_Favorites.user_id = ? AND folders.folder_name = ?);';
38 +
39 + connection.query(checkfolder, [user_id, folder_name], function(err, rows, fields) {
40 + if (err) {
41 + console.log('select error');
42 + res.status(400).send({ error: err });
43 + } else {
44 + if (!rows) {
45 + let getid = 'SELECT folder_id FROM folders WHERE user_id = ? AND folder_name = ?;';
46 + connection.query(getid, [user_id, folder_name], function(err, folder, fields) {
47 + if (err) {
48 + console.log('getid error');
49 + res.status(400).send({ error: err });
50 + } else {
51 + let folder_id = folder[0].folder_id;
52 + let sql = 'INSERT INTO Folder_Favorites (folder_id,user_id) values (?,?);';
53 + connection.query(sql, [folder_id, user_id], function(err, result, fields) {
54 + if (err) {
55 + console.log('insert error');
56 + res.status(400).send({ error: err });
57 + } else {
58 + res.status(200).send({
59 + success: 'success',
60 + error: ''
61 + });
62 + }
63 + })
64 + }
65 + })
66 + } else {
67 + res.status(400).send({ error: err });
68 + }
69 + }
70 + });
71 +});
72 +
73 +router.post('/addfile', function(req, res, next) {
74 + let user_id = req.body.id;
75 + let file_name = req.body.name;
76 + let checkfile = 'SELECT * FROM File_Favorites JOIN files ON (File_Favorites.file_id = files.file_id AND File_Favorites.user_id = ? AND files.file_name = ?);';
77 +
78 + connection.query(checkfile, [user_id, file_name], function(err, rows, fields) {
79 + if (err) {
80 + console.log('select error');
81 + res.status(400).send({ error: err });
82 + } else {
83 + if (!rows) {
84 + let getid = 'SELECT file_id FROM files WHERE user_id = ? AND file_name = ?;';
85 + connection.query(getid, [user_id, folder_name], function(err, file, fields) {
86 + if (err) {
87 + console.log('getid error');
88 + res.status(400).send({ error: err });
89 + } else {
90 + let file_id = file[0].file_id;
91 + let sql = 'INSERT INTO File_Favorites (file_id,user_id) values (?,?);';
92 + connection.query(sql, [file_id, user_id], function(err, result, fields) {
93 + if (err) {
94 + console.log('insert error');
95 + res.status(400).send({ error: err });
96 + } else {
97 + res.status(200).send({
98 + success: 'success',
99 + error: ''
100 + });
101 + }
102 + })
103 + }
104 + })
105 + } else {
106 + res.status(400).send({ error: err });
107 + }
108 + }
109 + });
110 +});
111 +
112 +router.post('/delfolder', function(req, res, next) {
113 + let user_id = req.body.id;
114 + let folder_name = req.body.name;
115 + let checkfolder = 'SELECT * FROM Folder_Favorites JOIN folders ON (Folder_Favorites.folder_id = folders.folder_id AND Folder_Favorites.user_id = ? AND folders.folder_name = ?);';
116 +
117 + connection.query(checkfolder, [user_id, folder_name], function(err, rows, fields) {
118 + if (err) {
119 + console.log('select error');
120 + res.status(400).send({ error: err });
121 + } else {
122 + if (rows) {
123 + let folder_id = rows[0].folder_id;
124 + let sql = 'DELETE Folder_Favorites WHERE folder_id = ? AND user_id = ?;';
125 + connection.query(sql, [folder_id, user_id], function(err, result, fields) {
126 + if (err) {
127 + console.log('delete error');
128 + res.status(400).send({ error: err });
129 + } else {
130 + res.status(200).send({
131 + success: 'success',
132 + error: ''
133 + });
134 + }
135 + })
136 + } else {
137 + res.status(400).send({ error: err });
138 + }
139 + }
140 + });
141 +});
142 +
143 +router.post('/addfile', function(req, res, next) {
144 + let user_id = req.body.id;
145 + let file_name = req.body.name;
146 + let checkfile = 'SELECT * FROM File_Favorites JOIN files ON (File_Favorites.file_id = files.file_id AND File_Favorites.user_id = ? AND files.file_name = ?);';
147 +
148 + connection.query(checkfile, [user_id, file_name], function(err, rows, fields) {
149 + if (err) {
150 + console.log('select error');
151 + res.status(400).send({ error: err });
152 + } else {
153 + if (!rows) {
154 + let file_id = rows[0].file_id;
155 + let sql = 'DELETE File_Favorites WHERE file_id = ? AND user_id = ?;';
156 + connection.query(sql, [file_id, user_id], function(err, result, fields) {
157 + if (err) {
158 + console.log('insert error');
159 + res.status(400).send({ error: err });
160 + } else {
161 + res.status(200).send({
162 + success: 'success',
163 + error: ''
164 + });
165 + }
166 + })
167 + } else {
168 + res.status(400).send({ error: err });
169 + }
170 + }
171 + });
172 +});
173 +
174 +
175 +
176 +module.exports = router;
...\ No newline at end of file ...\ No newline at end of file
...@@ -254,6 +254,67 @@ router.post('/move', function(req, res, next) { ...@@ -254,6 +254,67 @@ router.post('/move', function(req, res, next) {
254 }); 254 });
255 255
256 256
257 +router.post('/modify', function(req, res, next) {
258 + console.log(req.body);
259 + user_id = req.body.id;
260 + let cur = req.body.cur;
261 + curPath = user_id + cur;
262 + let name = req.body.folder_name;
263 + let newName = req.body.newName;
264 +
265 + let checkfolder = 'SELECT * FROM folders WHERE location = ? AND folder_name = ? AND user_id = ?;';
266 + connection.query(checkfolder, [cur, name, user_id], function(err1, rows, fields) {
267 + console.log(rows);
268 + if (rows.length != 0) {
269 + let copy_params = {
270 + Bucket: BUCKET_NAME,
271 + CopySource: BUCKET_NAME + '/' + curPath + name + '/',
272 + Key: curPath + newName + '/'
273 + };
274 + let del_params = {
275 + Bucket: BUCKET_NAME,
276 + Key: curPath + name + '/'
277 + };
278 + s3.copyObject(copy_params, function(err, data) {
279 + if (err) {
280 + console.log(err, data);
281 + console.log("copy error");
282 + res.status(304).send({ error: "copy error" });
283 + } else {
284 + s3.deleteObject(del_params, function(err, data) {
285 + if (err) {
286 + console.log(err, data);
287 + console.log("delete error");
288 + res.status(304).send({ error: "delete error" });
289 + } else {
290 + let date = moment().format();
291 + let values = [newName, date, cur, name, user_id];
292 + let updatesql = 'UPDATE folders SET folder_name = ? AND modify = ? WHERE location = ? AND folder_name = ? AND user_id = ?;';
293 + connection.query(updatesql, values, function(err3, result, field) {
294 + if (err3) {
295 + console.log("updatesql error");
296 + res.status(304).send({ error: "updatesql error" });
297 + } else {
298 + let resultsql = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;';
299 + connection.query(resultsql, [cur, user_id], function(err, rows, fields) {
300 + res.status(200).send({
301 + folders: rows
302 + });
303 + });
304 + }
305 + });
306 + }
307 + });
308 + }
309 + });
310 + } else {
311 + console.log("Does not exist");
312 + res.status(304).send({ error: "Does not exist" });
313 + }
314 + });
315 +
316 +});
317 +
257 router.post('/search/:target', function(req, res, next) { 318 router.post('/search/:target', function(req, res, next) {
258 user_id = req.params.id; 319 user_id = req.params.id;
259 let cur = req.params.cur; 320 let cur = req.params.cur;
......