summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authorCyberRex <hspwinx86@gmail.com>2023-03-20 12:58:06 +0900
committerGitHub <noreply@github.com>2023-03-20 12:58:06 +0900
commit1d6f43aa30a932b1b7539f417f19d0b239cde511 (patch)
treeeaf1b2e27a69c6ac2764ecfe0238b9519f6c9ac7 /packages/backend/src/server/api
parentUpdate CHANGELOG.md (diff)
downloadsharkey-1d6f43aa30a932b1b7539f417f19d0b239cde511.tar.gz
sharkey-1d6f43aa30a932b1b7539f417f19d0b239cde511.tar.bz2
sharkey-1d6f43aa30a932b1b7539f417f19d0b239cde511.zip
feat: drive cleaner (#10366)
* feat: drive-cleaner * Update CHANGELOG.md
Diffstat (limited to 'packages/backend/src/server/api')
-rw-r--r--packages/backend/src/server/api/endpoints/drive/files.ts10
1 files changed, 10 insertions, 0 deletions
diff --git a/packages/backend/src/server/api/endpoints/drive/files.ts b/packages/backend/src/server/api/endpoints/drive/files.ts
index f6fad50fd9..4609307774 100644
--- a/packages/backend/src/server/api/endpoints/drive/files.ts
+++ b/packages/backend/src/server/api/endpoints/drive/files.ts
@@ -31,6 +31,7 @@ export const paramDef = {
untilId: { type: 'string', format: 'misskey:id' },
folderId: { type: 'string', format: 'misskey:id', nullable: true, default: null },
type: { type: 'string', nullable: true, pattern: /^[a-zA-Z\/\-*]+$/.toString().slice(1, -1) },
+ sort: { type: 'string', nullable: true, enum: ['+createdAt', '-createdAt', '+name', '-name', '+size', '-size'] },
},
required: [],
} as const;
@@ -63,6 +64,15 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
}
}
+ switch (ps.sort) {
+ case '+createdAt': query.orderBy('file.createdAt', 'DESC'); break;
+ case '-createdAt': query.orderBy('file.createdAt', 'ASC'); break;
+ case '+name': query.orderBy('file.name', 'DESC'); break;
+ case '-name': query.orderBy('file.name', 'ASC'); break;
+ case '+size': query.orderBy('file.size', 'DESC'); break;
+ case '-size': query.orderBy('file.size', 'ASC'); break;
+ }
+
const files = await query.take(ps.limit).getMany();
return await this.driveFileEntityService.packMany(files, { detail: false, self: true });