summaryrefslogtreecommitdiff
path: root/src/misc/get-drive-file-url.ts
blob: 067db8a5d03429d5a275f68e8799a4953877e342 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { IDriveFile } from '../models/drive-file';
import config from '../config';

export default function(file: IDriveFile, thumbnail = false): string {
	if (file == null) return null;

	const isImage = file.contentType && file.contentType.startsWith('image/');

	if (file.metadata.withoutChunks) {
		if (thumbnail) {
			return file.metadata.thumbnailUrl || file.metadata.webpublicUrl || (isImage ? file.metadata.url : null);
		} else {
			return file.metadata.webpublicUrl || file.metadata.url;
		}
	} else {
		if (thumbnail) {
			return `${config.driveUrl}/${file._id}?thumbnail`;
		} else {
			return `${config.driveUrl}/${file._id}?web`;
		}
	}
}

export function getOriginalUrl(file: IDriveFile) {
	if (file.metadata && file.metadata.url) {
		return file.metadata.url;
	}

	const accessKey = file.metadata ? file.metadata.accessKey : null;
	return `${config.driveUrl}/${file._id}${accessKey ? '?original=' + accessKey : ''}`;
}