diff options
Diffstat (limited to 'packages/backend/src/server/api/endpoints/drive.ts')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/drive.ts | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/packages/backend/src/server/api/endpoints/drive.ts b/packages/backend/src/server/api/endpoints/drive.ts new file mode 100644 index 0000000000..2974ccfab9 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/drive.ts @@ -0,0 +1,38 @@ +import define from '../define'; +import { fetchMeta } from '@/misc/fetch-meta'; +import { DriveFiles } from '@/models/index'; + +export const meta = { + tags: ['drive', 'account'], + + requireCredential: true as const, + + kind: 'read:drive', + + res: { + type: 'object' as const, + optional: false as const, nullable: false as const, + properties: { + capacity: { + type: 'number' as const, + optional: false as const, nullable: false as const, + }, + usage: { + type: 'number' as const, + optional: false as const, nullable: false as const, + } + } + } +}; + +export default define(meta, async (ps, user) => { + const instance = await fetchMeta(true); + + // Calculate drive usage + const usage = await DriveFiles.calcDriveUsageOf(user.id); + + return { + capacity: 1024 * 1024 * instance.localDriveCapacityMb, + usage: usage + }; +}); |