{"version":3,"sources":["webpack:///./src/services/AssetLabels/GetAssetLabels.js","webpack:///./src/store/usersStore.js","webpack:///./src/services/Users/GetUsers.js","webpack:///./src/views/VVVNew/UsersNew/VVVUpdateUsersNew.vue?e818","webpack:///./src/services/UserSocialMediaPages/PostUserSocialMediaPages.js","webpack:///./src/services/Contents/PostClaimsList.js","webpack:///./src/services/YoutubeChannelInformation/PostYoutubeChannelInformation.js","webpack:///./src/store/youtubeStore.js","webpack:///./src/views/VVVNew/UsersNew/VVVUpdateUsersNew.vue?abb4","webpack:///./src/helpers/youtubeScraper.js","webpack:///./src/views/VVVNew/UsersNew/VVVUpdateUsersNew.vue","webpack:///./src/views/VVVNew/UsersNew/VVVUpdateUsersNew.vue?38e2","webpack:///./src/assets/VVV/vvv-loader.png","webpack:///./src/services/UserSocialMediaPages/GetUserSocialMediaPages.js","webpack:///./src/services/UserSocialMediaPages/DeleteUserSocialMediaPages.js"],"names":["GetAssetLabels","async","data","HttpClient","get","params","UserId","id","Promise","resolve","err","reject","useUsersStore","defineStore","users","ref","email","firstName","lastName","userTypeId","isDistributor","googleSheetLink","partnerPercentage","sheetName","youtube","twitch","instagram","tiktok","facebook","twitter","douyin","kuaishou","rumble","others","profilePictureUrl","csCode","isAdmin","computed","value","isSuperAdmin","isUser","assetLabels","assetLabelDataTable","columns","label","field","rows","getUsers","payload","getUserById","then","response","setIsDistributor","GetUsers","getAssetLabels","setSelectedAssetLabels","setDropdownValues","assignedDashboard","selectedArray","newArray","map","item","selected","item2","find","i2","PostUserSocialMediaPages","post","channelInfo","PostClaimsList","claimsList","PostYoutubeChannelInformation","useYoutubeStore","userDetailStore","useUserDetailStore","userDetail","storeToRefs","youtubeVideo","url","title","thumbnail","thumbnailWidth","viewCount","channelId","channelName","channelThumbnail","youtubeChannelList","selectedYoutubeChannelId","setYoutubeVideo","videoResponse","fetchVideoDetails","videoUrl","channelDetails","fetchChannelDetails","videoId","thumbnailUrl","channelTitle","resetYoutubeVideo","resetYoutubeChannel","resetClipList","clipList","clipTitle","startTime","endTime","clipURL","description","class","errorMessage","displayText","ifHasUnsavedChanges","getChannelNameFromSelection","channel","submitVideo","parseClipList","claim","TimeStamp","clipLink","postBody","youtubeChannel","name","youtubeUrl","AssetLabel","assetLabelName","claims","submitResponse","isAdded","youtubeVideoDuration","convertToMinutes","timeString","parts","split","Number","totalMinutes","length","hours","minutes","seconds","hasHour","videoDuration","apiKey","isYouTubeUrl","youtubePattern","test","extractVideoId","urlObj","URL","hostname","toLowerCase","pathname","substring","searchParams","error","videoIdPattern","match","console","axios","videoDetails","items","snippet","thumbnails","high","width","duration","convertYTVideoDuration","contentDetails","formatCount","statistics","default","subscriberCount","toFixed","toString","hoursMatch","minutesMatch","secondsMatch","parseInt","pad","num","padStart","formattedDuration","fetchChannelIdFromUrl","youtubeChannelUrl","fetchChannelDetailsDirectly","channelData","channelUsername","customUrl","fetchChannelDetailsBatch","channelIds","join","useTitle","usersStore","route","useRoute","userId","assetLabelModal","tableLoader","dataTableSearch","onMounted","catch","toastObject","state","message","color","icon","handleSelectedRow","selectedModalArray","Set","clickDelete","filter","element","loadingSpinner","selectedAssetLabels","watch","newSelectedAssetLabels","tableHeaders","header","isUpdateBtnDisabled","submit","event","preventDefault","formData","getUserTypeId","assignedAssetLabels","put","status","dashboard","text","avatarLetter","_usersStore$users","_usersStore$users$fir","charAt","toUpperCase","newUser","getYoutubeChannelInformationList","ytLoader","GetUserSocialMediaPages","channels","detailedChannels","details","detail","deleteModal","channelTableIdentifier","toggleDeleteModal","tableIdentifier","deleteChannel","DeleteUserSocialMediaPages","errorToastMessage","errorToast","youtubeStore","ytChannelModal","channelUrl","channelLoader","isChannel","previewVideo","submitChannel","Link","ChannelId","SocialMediaPlatformId","__exports__","module","exports","rowsPerPage","patch","Id","TableIdentifier"],"mappings":"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","file":"js/chunk-11f86d92.d0fb2348.js","sourcesContent":["import { HttpClient } from \"../HttpClient\";\r\n/**\r\n * * Get Asset Label\r\n */\r\nexport const GetAssetLabels = async (id) => {\r\n\ttry {\r\n\t\tconst { data } = await HttpClient.get(\"api/assetLabels/List\", {\r\n\t\t\tparams: {\r\n\t\t\t\tUserId: id,\r\n\t\t\t},\r\n\t\t});\r\n\t\treturn await Promise.resolve(data);\r\n\t} catch (err) {\r\n\t\treturn Promise.reject(err);\r\n\t}\r\n};\r\n","import { defineStore } from \"pinia\";\r\nimport { computed, ref } from \"vue\";\r\nimport { GetUsers } from \"../services/Users/GetUsers\";\r\nimport { GetAssetLabels } from \"../services/AssetLabels/GetAssetLabels\";\r\n\r\nexport const useUsersStore = defineStore(\"users\", () => {\r\n const users = ref({\r\n email: \"\",\r\n firstName: \"\",\r\n id: \"\",\r\n lastName: \"\",\r\n userTypeId: \"\",\r\n isDistributor: false,\r\n googleSheetLink: null,\r\n partnerPercentage: \"\",\r\n sheetName: null,\r\n youtube: \"\",\r\n twitch: \"\",\r\n instagram: \"\",\r\n tiktok: \"\",\r\n facebook: \"\",\r\n twitter: \"\",\r\n douyin: \"\",\r\n kuaishou: \"\",\r\n rumble: \"\",\r\n others: \"\",\r\n profilePictureUrl: null,\r\n csCode: \"\",\r\n });\r\n const isAdmin = computed(() => {\r\n return users.value.userTypeId == 1;\r\n });\r\n const isSuperAdmin = computed(() => {\r\n return users.value.userTypeId == 4;\r\n });\r\n const isUser = computed(() => {\r\n return users.value.userTypeId == 2 || users.value.userTypeId == 3;\r\n });\r\n const assetLabels = ref([]);\r\n const assetLabelDataTable = ref({\r\n columns: [{ label: \"Name\", field: \"name\" }],\r\n rows: [],\r\n });\r\n const getUsers = (payload) => {\r\n getUserById(payload?.UserId).then((response) => {\r\n users.value = response;\r\n setIsDistributor(users.value.userTypeId);\r\n });\r\n };\r\n const getUserById = async (id) => {\r\n const response = await GetUsers(id);\r\n return response;\r\n };\r\n const setIsDistributor = (id) => {\r\n if (id == 3) users.value.isDistributor = true;\r\n };\r\n const getAssetLabels = (payload) => {\r\n GetAssetLabels(payload?.UserId).then((response) => {\r\n setSelectedAssetLabels(response.data);\r\n setDropdownValues();\r\n });\r\n };\r\n const assignedDashboard = ref(1);\r\n const setSelectedAssetLabels = (selectedArray) => {\r\n const newArray = selectedArray.map((item) => {\r\n return {\r\n ...item,\r\n selected: true,\r\n assignedDashboard:\r\n item.assignedDashboard != null ? item.assignedDashboard : null,\r\n };\r\n });\r\n assetLabels.value = newArray;\r\n };\r\n\r\n const setDropdownValues = () => {\r\n assetLabelDataTable.value.rows = assetLabelDataTable.value.rows.map(\r\n (item) => {\r\n const item2 = assetLabels.value.find((i2) => {\r\n if (i2.id == item.id) return i2;\r\n });\r\n return item2 ? { ...item, ...item2 } : item;\r\n }\r\n );\r\n };\r\n return {\r\n getUsers,\r\n getUserById,\r\n users,\r\n getAssetLabels,\r\n assetLabels,\r\n assignedDashboard,\r\n setDropdownValues,\r\n assetLabelDataTable,\r\n isAdmin,\r\n isUser,\r\n isSuperAdmin,\r\n };\r\n});\r\n","import { HttpClient } from \"../HttpClient\";\r\n/**\r\n * * Get Users\r\n */\r\nexport const GetUsers = async (id) => {\r\n\ttry {\r\n\t\tconst { data } = await HttpClient.get(`api/users/${id}`);\r\n\t\treturn await Promise.resolve(data);\r\n\t} catch (err) {\r\n\t\treturn Promise.reject(err);\r\n\t}\r\n};\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./VVVUpdateUsersNew.vue?vue&type=style&index=1&id=2f601999&scoped=true&lang=css\"","import { HttpClient } from \"../HttpClient\";\r\n/**\r\n * * Post Youtube Channel Information\r\n */\r\nexport const PostUserSocialMediaPages = async (channelInfo) => {\r\n try {\r\n const { data } = await HttpClient.post(`api/UserSocialMediaPages`, {\r\n ...channelInfo,\r\n });\r\n return await Promise.resolve(data);\r\n } catch (err) {\r\n return Promise.reject(err);\r\n }\r\n};\r\n","import { HttpClient } from \"../HttpClient\";\r\n/**\r\n * * Post Claims List\r\n */\r\nexport const PostClaimsList = async (claimsList) => {\r\n try {\r\n const { data } = await HttpClient.post(\"api/contents/ClaimsList\", {\r\n ...claimsList,\r\n });\r\n return await Promise.resolve(data);\r\n } catch (err) {\r\n return Promise.reject(err);\r\n }\r\n};\r\n","import { HttpClient } from \"../HttpClient\";\r\n/**\r\n * * Post Youtube Channel Information\r\n */\r\nexport const PostYoutubeChannelInformation = async (channelInfo) => {\r\n try {\r\n const { data } = await HttpClient.post(`api/YoutubeChannelInformation`, {\r\n ...channelInfo,\r\n });\r\n return await Promise.resolve(data);\r\n } catch (err) {\r\n return Promise.reject(err);\r\n }\r\n};\r\n","import { defineStore, storeToRefs } from \"pinia\";\r\nimport { computed, ref } from \"vue\";\r\nimport {\r\n fetchVideoDetails,\r\n fetchChannelDetails,\r\n} from \"@/helpers/youtubeScraper\";\r\nimport { PostClaimsList } from \"../services/Contents/PostClaimsList\";\r\nimport { useUserDetailStore } from \"@/store/userDetailStore\";\r\nimport { PostYoutubeChannelInformation } from \"@/services/YoutubeChannelInformation/PostYoutubeChannelInformation\";\r\n\r\nexport const useYoutubeStore = defineStore(\"youtube\", () => {\r\n const userDetailStore = useUserDetailStore();\r\n const { userDetail } = storeToRefs(userDetailStore);\r\n\r\n const youtubeVideo = ref({\r\n id: \"\",\r\n url: \"\",\r\n title: \"\",\r\n thumbnail: \"\",\r\n thumbnailWidth: \"\",\r\n viewCount: null,\r\n channelId: \"\",\r\n channelName: \"\",\r\n channelThumbnail: \"\",\r\n });\r\n const youtubeChannelList = ref([]);\r\n const selectedYoutubeChannelId = ref(\"GetFromVideo\");\r\n const setYoutubeVideo = async (videoUrl) => {\r\n const videoResponse = await fetchVideoDetails(videoUrl);\r\n const channelDetails = await fetchChannelDetails(\r\n videoResponse.channelId\r\n );\r\n youtubeVideo.value = {\r\n id: videoResponse.videoId,\r\n url: videoUrl,\r\n title: videoResponse.title,\r\n thumbnail: videoResponse.thumbnailUrl,\r\n thumbnailWidth: videoResponse.thumbnailWidth,\r\n viewCount: videoResponse.viewCount,\r\n channelId: videoResponse.channelId,\r\n channelName: videoResponse.channelTitle,\r\n channelThumbnail: channelDetails.thumbnail,\r\n };\r\n };\r\n const resetYoutubeVideo = () => {\r\n youtubeVideo.value = {\r\n id: \"\",\r\n url: \"\",\r\n title: \"\",\r\n thumbnail: \"\",\r\n thumbnailWidth: \"\",\r\n viewCount: null,\r\n channelId: \"\",\r\n };\r\n };\r\n const resetYoutubeChannel = () => {\r\n selectedYoutubeChannelId.value = null;\r\n };\r\n const resetClipList = () => {\r\n clipList.value = [\r\n {\r\n clipTitle: \"\",\r\n startTime: \"\",\r\n endTime: \"\",\r\n clipURL: \"\",\r\n description: \"\",\r\n class: {\r\n clipTitle: \"form-control\",\r\n startTime: \"form-control\",\r\n endTime: \"form-control\",\r\n clipURL: \"form-control\",\r\n },\r\n errorMessage: {\r\n clipTitle: { class: \"d-none\", displayText: \"\" },\r\n startTime: { class: \"d-none\", displayText: \"\" },\r\n endTime: { class: \"d-none\", displayText: \"\" },\r\n clipURL: { class: \"d-none\", displayText: \"\" },\r\n },\r\n },\r\n ];\r\n };\r\n const ifHasUnsavedChanges = computed(\r\n () =>\r\n youtubeVideo.value.id !== \"\" ||\r\n youtubeVideo.value.url !== \"\" ||\r\n youtubeVideo.value.title !== \"\" ||\r\n youtubeVideo.value.thumbnail !== \"\" ||\r\n youtubeVideo.value.thumbnailWidth !== \"\" ||\r\n youtubeVideo.value.viewCount !== null\r\n );\r\n const clipList = ref([\r\n {\r\n clipTitle: \"\",\r\n startTime: \"\",\r\n endTime: \"\",\r\n clipURL: \"\",\r\n description: \"\",\r\n class: {\r\n clipTitle: \"form-control\",\r\n startTime: \"form-control\",\r\n endTime: \"form-control\",\r\n clipURL: \"form-control\",\r\n },\r\n errorMessage: {\r\n clipTitle: { class: \"d-none\", displayText: \"\" },\r\n startTime: { class: \"d-none\", displayText: \"\" },\r\n endTime: { class: \"d-none\", displayText: \"\" },\r\n clipURL: { class: \"d-none\", displayText: \"\" },\r\n },\r\n },\r\n ]);\r\n const getChannelNameFromSelection = computed(() => {\r\n return youtubeChannelList.value.find(\r\n (channel) => channel.channelId == selectedYoutubeChannelId.value\r\n );\r\n });\r\n const submitVideo = async () => {\r\n const parseClipList = clipList.value.map((claim) => {\r\n return {\r\n TimeStamp: `${claim.startTime}-${claim.endTime}`,\r\n clipLink: claim.clipURL,\r\n clipTitle: claim.clipTitle,\r\n };\r\n });\r\n const postBody = {\r\n youtubeChannel:\r\n selectedYoutubeChannelId.value == \"GetFromVideo\"\r\n ? youtubeVideo.value.channelName\r\n : getChannelNameFromSelection.value.name,\r\n youtubeUrl: youtubeVideo.value.url,\r\n AssetLabel: userDetail.value.assetLabelName,\r\n claims: parseClipList,\r\n };\r\n const submitResponse = await PostClaimsList(postBody);\r\n if (submitResponse) {\r\n if (selectedYoutubeChannelId.value == \"GetFromVideo\") {\r\n await PostYoutubeChannelInformation({\r\n channelId: youtubeVideo.value.channelId,\r\n name: youtubeVideo.value.channelName,\r\n thumbnail: youtubeVideo.value.channelThumbnail,\r\n });\r\n }\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n const isAdded = ref(false);\r\n const youtubeVideoDuration = ref(null);\r\n const convertToMinutes = (timeString) => {\r\n const parts = timeString.split(\":\").map(Number);\r\n let totalMinutes = 0;\r\n\r\n if (parts.length === 3) {\r\n const [hours, minutes, seconds] = parts;\r\n totalMinutes = hours * 60 + minutes + seconds / 60;\r\n } else if (parts.length === 2) {\r\n const [minutes, seconds] = parts;\r\n totalMinutes = minutes + seconds / 60;\r\n } else if (parts.length === 1) {\r\n const [seconds] = parts;\r\n totalMinutes = seconds / 60;\r\n }\r\n\r\n return totalMinutes;\r\n };\r\n const hasHour = (videoDuration) => {\r\n return videoDuration.split(\":\").length === 3;\r\n };\r\n return {\r\n youtubeVideo,\r\n youtubeChannelList,\r\n selectedYoutubeChannelId,\r\n setYoutubeVideo,\r\n resetYoutubeVideo,\r\n resetYoutubeChannel,\r\n resetClipList,\r\n ifHasUnsavedChanges,\r\n clipList,\r\n submitVideo,\r\n isAdded,\r\n youtubeVideoDuration,\r\n convertToMinutes,\r\n hasHour,\r\n };\r\n});\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./VVVUpdateUsersNew.vue?vue&type=style&index=0&id=2f601999&lang=css\"","import axios from \"axios\";\r\n\r\nconst apiKey = \"AIzaSyAHfRRvUqf-L2nT4nFFRVc1OyneC4D3-nE\"; // To be moved to environment variable\r\n\r\nexport const isYouTubeUrl = (url) => {\r\n const youtubePattern = /^(https?:\\/\\/)?(www\\.)?(youtube\\.com|youtu\\.be)\\/.+$/;\r\n return youtubePattern.test(url);\r\n};\r\n\r\nexport const extractVideoId = (url) => {\r\n try {\r\n const urlObj = new URL(url);\r\n const hostname = urlObj.hostname.toLowerCase();\r\n\r\n if (hostname === \"youtu.be\") {\r\n return urlObj.pathname.substring(1);\r\n }\r\n\r\n if (hostname === \"youtube.com\" || hostname === \"www.youtube.com\") {\r\n const videoId = urlObj.searchParams.get(\"v\");\r\n if (videoId) return videoId;\r\n }\r\n } catch (error) {\r\n const videoIdPattern =\r\n // eslint-disable-next-line no-useless-escape\r\n /(?:https?:\\/\\/)?(?:www\\.)?(?:youtube\\.com\\/(?:[^\\/\\n\\s]+\\/\\S+\\/|(?:v|e(?:mbed)?)\\/|\\S*?[?&]v=)|youtu\\.be\\/)([a-zA-Z0-9_-]{11})/;\r\n const match = url.match(videoIdPattern);\r\n return match ? match[1] : null;\r\n }\r\n\r\n // Return null if no method succeeds\r\n return null;\r\n};\r\n\r\nexport const fetchVideoDetails = async (videoUrl) => {\r\n if (!isYouTubeUrl(videoUrl)) {\r\n console.error(\"Invalid YouTube URL\");\r\n return;\r\n }\r\n const videoId = extractVideoId(videoUrl);\r\n if (!videoId) {\r\n console.error(\"Invalid YouTube URL\");\r\n return false;\r\n }\r\n const url = `https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,statistics&id=${videoId}&key=${apiKey}`;\r\n\r\n try {\r\n const response = await axios.get(url);\r\n const videoDetails = response.data.items[0];\r\n\r\n const title = videoDetails.snippet.title;\r\n const channelTitle = videoDetails.snippet.channelTitle;\r\n const channelId = videoDetails.snippet.channelId;\r\n const thumbnailUrl = videoDetails.snippet.thumbnails.high.url;\r\n const thumbnailWidth = videoDetails.snippet.thumbnails.high.width;\r\n const duration = convertYTVideoDuration(\r\n videoDetails.contentDetails.duration\r\n );\r\n const viewCount = formatCount(videoDetails.statistics.viewCount);\r\n\r\n return await Promise.resolve({\r\n videoId,\r\n title,\r\n channelTitle,\r\n channelId,\r\n thumbnailUrl,\r\n thumbnailWidth,\r\n duration,\r\n viewCount,\r\n });\r\n } catch (err) {\r\n return Promise.reject(err);\r\n }\r\n};\r\n\r\nexport const fetchChannelDetails = async (channelId) => {\r\n const url = `https://www.googleapis.com/youtube/v3/channels?part=snippet,statistics&id=${channelId}&key=${apiKey}`;\r\n\r\n try {\r\n const response = await axios.get(url);\r\n const channelDetails = response.data.items[0];\r\n const id = channelDetails.id;\r\n const title = channelDetails.snippet.title;\r\n const thumbnail = channelDetails.snippet.thumbnails.default.url;\r\n const subscriberCount = formatCount(\r\n channelDetails.statistics.subscriberCount\r\n );\r\n\r\n return await Promise.resolve({\r\n id,\r\n title,\r\n thumbnail,\r\n subscriberCount,\r\n });\r\n } catch (err) {\r\n return Promise.reject(err);\r\n }\r\n};\r\n\r\nconst formatCount = (subscriberCount) => {\r\n if (subscriberCount >= 1000000) {\r\n return (subscriberCount / 1000000).toFixed(1) + \"M\";\r\n } else if (subscriberCount >= 1000) {\r\n return (subscriberCount / 1000).toFixed(1) + \"K\";\r\n } else {\r\n return subscriberCount.toString();\r\n }\r\n};\r\n\r\nconst convertYTVideoDuration = (duration) => {\r\n let hours = 0,\r\n minutes = 0,\r\n seconds = 0;\r\n\r\n const hoursMatch = duration.match(/(\\d+)H/);\r\n const minutesMatch = duration.match(/(\\d+)M/);\r\n const secondsMatch = duration.match(/(\\d+)S/);\r\n\r\n if (hoursMatch) hours = parseInt(hoursMatch[1]);\r\n if (minutesMatch) minutes = parseInt(minutesMatch[1]);\r\n if (secondsMatch) seconds = parseInt(secondsMatch[1]);\r\n\r\n const pad = (num) => num.toString().padStart(2, \"0\");\r\n\r\n let formattedDuration;\r\n if (hours > 0) {\r\n formattedDuration = `${pad(hours)}:${pad(minutes)}:${pad(seconds)}`;\r\n } else if (minutes > 0) {\r\n formattedDuration = `${pad(minutes)}:${pad(seconds)}`;\r\n } else {\r\n formattedDuration = `${seconds}`;\r\n }\r\n\r\n return formattedDuration;\r\n};\r\n\r\nexport const fetchChannelIdFromUrl = async (youtubeChannelUrl) => {\r\n const url = `https://www.googleapis.com/youtube/v3/search?part=snippet&q=${youtubeChannelUrl}&type=channel&key=${apiKey}`;\r\n\r\n try {\r\n const response = await axios.get(url);\r\n const channel = response.data.items[0];\r\n\r\n if (channel) {\r\n return channel.id.channelId;\r\n } else {\r\n console.error(\"Channel not found for the provided username.\");\r\n return null;\r\n }\r\n } catch (error) {\r\n console.error(\"Error fetching channel ID:\", error);\r\n return [];\r\n }\r\n};\r\n\r\nexport const fetchChannelDetailsDirectly = async (youtubeChannelUrl) => {\r\n const channelId = await fetchChannelIdFromUrl(youtubeChannelUrl);\r\n\r\n if (!channelId) {\r\n console.error(\"Channel ID could not be found.\");\r\n return null;\r\n }\r\n\r\n const url = `https://www.googleapis.com/youtube/v3/channels?part=snippet,statistics&id=${channelId}&key=${apiKey}`;\r\n\r\n try {\r\n const response = await axios.get(url);\r\n const channelData = response.data.items[0];\r\n\r\n const channelDetails = {\r\n channelId: channelData.id,\r\n channelName: channelData.snippet.title,\r\n thumbnail: channelData.snippet.thumbnails.default.url,\r\n subscriberCount: formatCount(channelData.statistics.subscriberCount),\r\n channelUsername: channelData.snippet.customUrl,\r\n };\r\n\r\n return channelDetails;\r\n } catch (error) {\r\n console.error(\"Error fetching channel details:\", error);\r\n throw error;\r\n }\r\n};\r\n\r\nexport const fetchChannelDetailsBatch = async (channelIds) => {\r\n const url = `https://www.googleapis.com/youtube/v3/channels?part=snippet,statistics&id=${channelIds.join(\r\n \",\"\r\n )}&key=${apiKey}`;\r\n\r\n try {\r\n const response = await axios.get(url);\r\n if (!response.data.items || response.data.items.length === 0) {\r\n return [];\r\n }\r\n return response.data.items.map((channel) => ({\r\n channelId: channel.id,\r\n channelName: channel.snippet.title,\r\n thumbnail: channel.snippet.thumbnails.default.url,\r\n subscriberCount: formatCount(channel.statistics.subscriberCount),\r\n channelUsername: channel.snippet.customUrl,\r\n }));\r\n } catch (error) {\r\n console.error(\"Error in batch fetching channel details:\", error);\r\n return [];\r\n }\r\n};\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import script from \"./VVVUpdateUsersNew.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./VVVUpdateUsersNew.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./VVVUpdateUsersNew.vue?vue&type=style&index=0&id=2f601999&lang=css\"\nimport \"./VVVUpdateUsersNew.vue?vue&type=style&index=1&id=2f601999&scoped=true&lang=css\"\n\nimport exportComponent from \"D:\\\\a\\\\1\\\\s\\\\CSD.SPA\\\\ClientApp\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2f601999\"]])\n\nexport default __exports__","module.exports = __webpack_public_path__ + \"img/vvv-loader.6f59db4a.png\";","import { HttpClient } from \"../HttpClient\";\r\n/**\r\n * * Get Youtube Channel Information List From User Profile\r\n */\r\nexport const GetUserSocialMediaPages = async (userId) => {\r\n try {\r\n const { data } = await HttpClient.get(\r\n `api/UserSocialMediaPages/List`,\r\n {\r\n params: {\r\n UserId: userId,\r\n rowsPerPage: 100,\r\n },\r\n }\r\n );\r\n return await Promise.resolve(data);\r\n } catch (err) {\r\n return Promise.reject(err);\r\n }\r\n};\r\n","import { HttpClient } from \"../HttpClient\";\r\n/**\r\n * * Delete Youtube Channel Information From User Profile\r\n */\r\nexport const DeleteUserSocialMediaPages = async (id, tableIdentifier) => {\r\n try {\r\n const { data } = await HttpClient.patch(`api/UserSocialMediaPages`, {\r\n Id: id,\r\n TableIdentifier: tableIdentifier,\r\n });\r\n return await Promise.resolve(data);\r\n } catch (err) {\r\n return Promise.reject(err);\r\n }\r\n};\r\n"],"sourceRoot":""}