12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- // @flow
- export * from './functions';
-
- import { getDisplayName, getSpaceUsage } from './functions';
- import logger from './logger';
-
- /**
- * Information related to the user's dropbox account.
- */
- type DropboxUserData = {
-
- /**
- * The available space left in MB into the user's Dropbox account.
- */
- spaceLeft: number,
-
- /**
- * The display name of the user in Dropbox.
- */
- userName: string
- };
-
- /**
- * Fetches information about the user's dropbox account.
- *
- * @param {string} token - The dropbox access token.
- * @param {string} appKey - The Jitsi Recorder dropbox app key.
- * @returns {Promise<DropboxUserData|undefined>}
- */
- export function getDropboxData(
- token: string,
- appKey: string
- ): Promise<?DropboxUserData> {
- return Promise.all(
- [ getDisplayName(token, appKey), getSpaceUsage(token, appKey) ]
- ).then(([ userName, space ]) => {
- const { allocated, used } = space;
-
- return {
- userName,
- spaceLeft: Math.floor((allocated - used) / 1048576)// 1MiB=1048576B
- };
-
- }, error => {
- logger.error(error);
-
- return undefined;
- });
- }
|