diff options
| author | CyberRex <hspwinx86@gmail.com> | 2023-03-20 12:58:06 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-20 12:58:06 +0900 |
| commit | 1d6f43aa30a932b1b7539f417f19d0b239cde511 (patch) | |
| tree | eaf1b2e27a69c6ac2764ecfe0238b9519f6c9ac7 /packages/backend/src/server/api | |
| parent | Update CHANGELOG.md (diff) | |
| download | sharkey-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.ts | 10 |
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 }); |