From 366a6f6154f1652b585de8b5f5e1ad2816897d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ted=20=C3=85kerlund?= Date: Wed, 8 Dec 2021 10:40:56 +0100 Subject: [PATCH] Added support for videos treamed from google drive --- packages/common/constants.js | 1 + packages/common/utils/buildAutoSeekUrl.js | 3 ++- packages/common/utils/generatePageId.js | 4 +++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/common/constants.js b/packages/common/constants.js index 0229936..a44d2b1 100644 --- a/packages/common/constants.js +++ b/packages/common/constants.js @@ -13,6 +13,7 @@ export const TYPE_NOTES = 'notes'; export const TYPE_VIDEO_NOTE = 'video'; export const PROVIDER_YOUTUBE = 'youtube'; +export const PROVIDER_GOOGLEDRIVE = 'googledrive'; export const NODE_ENV_PLAYGROUND = 'playground'; diff --git a/packages/common/utils/buildAutoSeekUrl.js b/packages/common/utils/buildAutoSeekUrl.js index 17e2ac7..42f5fd9 100644 --- a/packages/common/utils/buildAutoSeekUrl.js +++ b/packages/common/utils/buildAutoSeekUrl.js @@ -5,7 +5,6 @@ export default (url, timestamp) => { if (timestamp < 0) { timestamp = 0; } - const { provider } = videoUrlParser.parse(url) || {}; const parsedUrl = new URL(url); const params = new URLSearchParams(parsedUrl.search); @@ -13,6 +12,8 @@ export default (url, timestamp) => { params.delete(QUERY_AUTO_JUMP); if (provider === 'youtube') { params.set('t', timestamp); + } else if (provider === 'googledrive') { + params.set('t', timestamp); } else { params.set(QUERY_AUTO_JUMP, timestamp); } diff --git a/packages/common/utils/generatePageId.js b/packages/common/utils/generatePageId.js index c0e8ef4..54710c6 100644 --- a/packages/common/utils/generatePageId.js +++ b/packages/common/utils/generatePageId.js @@ -1,7 +1,7 @@ import { fromString } from 'uuidv4'; import compose from 'compose-function'; import videoUrlParser from 'js-video-url-parser'; -import { PROVIDER_YOUTUBE } from '../constants'; +import { PROVIDER_GOOGLEDRIVE, PROVIDER_YOUTUBE } from '../constants'; const getUrlWithoutHash = url => { const parsedUrl = new URL(url); @@ -21,6 +21,8 @@ export default url => { )(url); if (provider === PROVIDER_YOUTUBE) { return fromString(`${provider}-${id}`); + } else if (provider === PROVIDER_GOOGLEDRIVE) { + return fromString(`${provider}-${id}`); } return fromString(urlWithoutHash);