added /objects

This commit is contained in:
SrGooglo 2023-03-06 02:15:53 +00:00
parent 0d1ecc5f03
commit 15a6126feb

View File

@ -4,8 +4,48 @@ import uploadBodyFiles from "./services/uploadBodyFiles"
export default class FilesController extends Controller { export default class FilesController extends Controller {
static refName = "FilesController" static refName = "FilesController"
static useRoute = "/files"
httpEndpoints = { httpEndpoints = {
get: {
"/objects": {
middlewares: ["withAuthentication"],
fn: async (req, res) => {
const user_id = req.user.id
let totalSize = 0
const objectsPath = `${user_id}/`
const objects = await new Promise((resolve, reject) => {
const objects = []
const objectsStream = global.storage.listObjects(global.storage.defaultBucket, objectsPath, true)
objectsStream.on("data", (obj) => {
objects.push(obj)
})
objectsStream.on("error", (err) => {
return reject(err)
})
objectsStream.on("end", () => {
return resolve(objects)
})
})
for await (const object of objects) {
totalSize += object.size
}
return res.json({
totalSize,
objects,
})
}
}
},
post: { post: {
"/upload": { "/upload": {
middlewares: ["withAuthentication"], middlewares: ["withAuthentication"],