최동원

Merge branch 'share,favorite' of http://khuhub.khu.ac.kr/2020-1-CloudComputing/D…

…_Team_Khuloud into share,favorite
......@@ -15,6 +15,7 @@ var folderRouter = require('./routes/folders');
var quickRouter = require('./routes/quick');
var favoritesRouter = require('./routes/favorites');
var shareRouter = require('./routes/share');
var trashcanRouter = require('./routes/trashcan');
var passport = require('passport');
......@@ -64,6 +65,7 @@ app.use('/api/RegistUser', registerRouter);
app.use('/api/folder', folderRouter);
app.use('/api/favorites', favoritesRouter);
app.use('/api/share', shareRouter);
app.use('/api/trashcan', trashcanRouter);
//app.use('/users', usersRouter);
app.use('/api/file', fileRouter);
app.use('/api/quick', quickRouter);
......
......@@ -53,8 +53,8 @@ router.get('/show', function(req, res, next) {
console.log('select2 error');
res.status(400).send({ err: err });
} else {
let gerFile = 'SELECT * FROM files WHERE location = ? AND user_id = ?;';
connection.query(gerFile, [location, user_id], function(err, file) {
let gerFile = 'SELECT * FROM files WHERE location = ? AND user_id = ? AND folder_name != ?;';
connection.query(gerFile, [location, user_id, 'trashcan'], function(err, file) {
if (err) {
console.log('select3 error');
res.status(400).send({ err: err });
......
......@@ -18,7 +18,7 @@ router.post('/', function(req, res, next) {
let target_id = req.body.target_id;
let checkfile = 'SELECT * FROM files WHERE location = ? AND file_name = ? AND user_id = ?';
connection.query(checkfile, [curPath, name, user_id], function(err1, rows, fields) {
connection.query(checkfile, [cur, name, user_id], function(err1, rows, fields) {
if (rows.length != 0) {
let copy_params = {
Bucket: BUCKET_NAME,
......@@ -43,6 +43,7 @@ router.post('/', function(req, res, next) {
}
});
} else {
console.log("Does not exist");
res.status(304).send({ error: "Does not exist" });
}
});
......
......@@ -3,7 +3,35 @@ const router = express.Router();
const AWS = require("aws-sdk");
const moment = require("moment");
AWS.config.loadFromPath(__dirname + "/modules/awsconfig.json");
var S3 = require('../modules/s3/s3');
var S3 = require(__dirname + '/modules/s3/s3');
const s3 = new AWS.S3();
router.get('/show', function(req, res, next) {
console.log(req.query);
user_id = req.query.id;
let checkfolder = 'SELECT * FROM folders WHERE location = ? AND user_id = ?;';
connection.query(checkfolder, ['/trashcan/', user_id], function(err, folder) {
if (err) {
console.log('select error');
res.status(400).send({ err: err });
} else {
let checkfile = 'SELECT * FROM files WHERE location = ? AND user_id = ?;';
connection.query(checkfile, ['/trashcan/', user_id], function(err, file) {
if (err) {
console.log('select error');
res.status(400).send({ err: err });
} else {
res.status(200).send({
folders: folder,
files: file
})
}
});
}
});
});
router.get('/delfile', function(req, res, next) {
var file_id = req.query.file_id;
......@@ -20,7 +48,7 @@ router.get('/delfile', function(req, res, next) {
console.log('exist error');
res.send({ erorr: 'exist error' });
} else {
var curPath = rows[0].location;
var curPath = '/trashcan/';
var file_name = rows[0].file_name;
var sourceFile = curPath.substring(1) + file_name;
......@@ -65,7 +93,6 @@ router.get('/delfolder', function(req, res, next) {
} else {
var curPath = '/trashcan/'
var folder_name = rows[0].folder_name;
var sourcefolder = curPath.substring(1) + folder_name + '/';
var sql1 = 'DELETE FROM folders WHERE folder_name = (?) AND location=(?) AND user_Id = (?)';
connection.query(sql1, [folder_name, curPath, user_id], function(err) {
......@@ -97,5 +124,59 @@ router.get('/delfolder', function(req, res, next) {
})
});
router.get('/all', function(req, res, next) {
var user_id = req.query.id;
var getfolder = "SELECT * FROM folders WHERE user_id = ? AND location = ?;";
connection.query(getfolder, [user_id, '/trashcan/'], function(err, folders) {
if (err) {
console.log('select db error');
res.send({ erorr: 'db select error' });
} else {
var getfile = "SELECT * FROM files WHERE user_id = ? AND location = ?;";
connection.query(getfile, [user_id, '/trashcan/'], function(err, files) {
if (err) {
console.log('select db error');
res.send({ erorr: 'db select error' });
} else {
for (let i of files) {
var sql1 = 'DELETE FROM files WHERE file_id = ?;';
var sourceFile = 'trashcan/' + i.file_name;
connection.query(sql1, [i.file_id], function(err) {
if (err) {
console.log('delete db error');
res.send({ erorr: 'db delete error' });
} else {
S3.deleteFile(S3.BUCKET_NAME, user_id, sourceFile, function(result) {})
}
})
}
for (let j of folders) {
var curPath = '/trashcan/';
var sql1 = 'DELETE FROM folders WHERE folder_name = (?) AND location=(?) AND user_Id = (?)';
connection.query(sql1, [j.folder_name, curPath, user_id], function(err) {
if (err) {
console.log('delete db error');
res.send({ erorr: 'db delete error' });
} else {
var params = {
Bucket: S3.BUCKET_NAME,
Key: 'drive/' + user_id + curPath + j.folder_name + '/'
};
s3.deleteObject(params, function(err, data) {
if (err) {
res.status(400).send({ err: err });
}
});
}
});
}
res.send({ success: "success" });
}
});
}
});
});
module.exports = router;
\ No newline at end of file
......
......@@ -70,7 +70,7 @@
</v-list-item-action>
</v-list-item>
</v-list>
<!--file detial -->
<!--file detail -->
<v-dialog v-model="showdetailF" max-width="290">
<v-card>
<v-card-title class="headline">
......