export const canUploadFile = (file, serverInfo) => {
	const { FileUpload_MediaTypeWhiteList, FileUpload_MaxFileSize } = serverInfo;
	if (!(file && file.path)) {
		return { success: true };
	}
	if (FileUpload_MaxFileSize > -1 && file.size > FileUpload_MaxFileSize) {
		return { success: false, error: 'error-file-too-large' };
	}
	// if white list is empty, all media types are enabled
	if (!FileUpload_MediaTypeWhiteList) {
		return { success: true };
	}
	const allowedMime = FileUpload_MediaTypeWhiteList.split(',');
	if (allowedMime.includes(file.mime)) {
		return { success: true };
	}
	const wildCardGlob = '/*';
	const wildCards = allowedMime.filter(item => item.indexOf(wildCardGlob) > 0);
	if (file.mime && wildCards.includes(file.mime.replace(/(\/.*)$/, wildCardGlob))) {
		return { success: true };
	}
	return { success: false, error: 'error-invalid-file-type' };
};