2020-08-28 09:57:04 +03:00
|
|
|
import * as Data from "~/node_common/data";
|
|
|
|
import * as Utilities from "~/node_common/utilities";
|
|
|
|
|
|
|
|
export default async (req, res) => {
|
|
|
|
const id = Utilities.getIdFromCookie(req);
|
|
|
|
if (!id) {
|
|
|
|
return res
|
|
|
|
.status(403)
|
2020-09-03 03:21:29 +03:00
|
|
|
.send({ decorator: "SERVER_REMOVE_DATA_NOT_ALLOWED", error: true });
|
2020-08-28 09:57:04 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
const user = await Data.getUserById({
|
|
|
|
id,
|
|
|
|
});
|
|
|
|
|
|
|
|
if (!user) {
|
2020-09-03 03:21:29 +03:00
|
|
|
return res.status(404).send({
|
2020-08-28 09:57:04 +03:00
|
|
|
decorator: "SERVER_BUCKET_ARCHIVE_DEAL_USER_NOT_FOUND",
|
|
|
|
error: true,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
if (user.error) {
|
2020-09-03 03:21:29 +03:00
|
|
|
return res.status(500).send({
|
2020-08-28 09:57:04 +03:00
|
|
|
decorator: "SERVER_BUCKET_ARCHIVE_DEAL_USER_NOT_FOUND",
|
|
|
|
error: true,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
const {
|
|
|
|
buckets,
|
|
|
|
bucketKey,
|
|
|
|
bucketName,
|
|
|
|
bucketRoot,
|
|
|
|
} = await Utilities.getBucketAPIFromUserToken(user.data.tokens.api);
|
|
|
|
|
|
|
|
// bucketRoot.root.key
|
|
|
|
// bucketRoot.root.path
|
|
|
|
|
2020-09-09 20:56:35 +03:00
|
|
|
let response = {};
|
|
|
|
let error = {};
|
|
|
|
try {
|
|
|
|
response = await buckets.archive(bucketRoot.root.key);
|
|
|
|
} catch (e) {
|
|
|
|
error.message = e.message;
|
|
|
|
error.code = e.code;
|
|
|
|
}
|
2020-08-28 09:57:04 +03:00
|
|
|
|
|
|
|
return res.status(200).send({
|
|
|
|
decorator: "SERVER_BUCKET_ARCHIVE_DEAL",
|
2020-09-09 20:56:35 +03:00
|
|
|
data: { response, error },
|
2020-08-28 09:57:04 +03:00
|
|
|
});
|
|
|
|
};
|