feat: add minio list detect
This commit is contained in:
@@ -12,6 +12,12 @@ const handlePrefix = (prefix: string) => {
|
||||
}
|
||||
return prefix;
|
||||
};
|
||||
/**
|
||||
* 根据用户名获取prefix
|
||||
* @param data
|
||||
* @param tokenUser
|
||||
* @returns
|
||||
*/
|
||||
const getPrefixByUser = (data: { prefix: string }, tokenUser: { username: string }) => {
|
||||
const prefixBase = '/' + tokenUser.username;
|
||||
const _prefix = handlePrefix(data.prefix);
|
||||
@@ -63,3 +69,28 @@ app
|
||||
return ctx;
|
||||
})
|
||||
.addTo(app);
|
||||
|
||||
app
|
||||
.route({
|
||||
path: 'file',
|
||||
key: 'me-all-file-stat',
|
||||
middleware: ['auth'],
|
||||
})
|
||||
.define(async (ctx) => {
|
||||
const tokenUser = ctx.state.tokenUser;
|
||||
const list = await getMinioList({ prefix: '' + tokenUser.username, recursive: true });
|
||||
const size = list.reduce((acc, item) => {
|
||||
if ('size' in item) {
|
||||
return acc + item.size;
|
||||
}
|
||||
return acc;
|
||||
}, 0);
|
||||
const sizeMb = size / 1024 / 1024;
|
||||
ctx.body = {
|
||||
list,
|
||||
total: list.length,
|
||||
size,
|
||||
sizeMb,
|
||||
};
|
||||
})
|
||||
.addTo(app);
|
||||
|
||||
Reference in New Issue
Block a user