Fixed error for importing old subscriptions, which added channels to the same profile multiple times

This commit is contained in:
Luca 2020-10-07 19:23:18 +02:00
parent 9a3334a855
commit 8773ab9661
1 changed files with 4 additions and 1 deletions

View File

@ -149,7 +149,6 @@ export default Vue.extend({
] ]
const profileObject = {} const profileObject = {}
Object.keys(profileData).forEach((key) => { Object.keys(profileData).forEach((key) => {
if (!requiredKeys.includes(key)) { if (!requiredKeys.includes(key)) {
const message = this.$t('Settings.Data Settings.Unknown data key') const message = this.$t('Settings.Data Settings.Unknown data key')
@ -772,6 +771,7 @@ export default Vue.extend({
async convertOldFreeTubeFormatToNew(oldData) { async convertOldFreeTubeFormatToNew(oldData) {
const convertedData = [] const convertedData = []
for (const channel of oldData) { for (const channel of oldData) {
const listOfProfilesAlreadyAdded = []
for (const profile of channel.profile) { for (const profile of channel.profile) {
let index = convertedData.findIndex(p => p.name === profile.value) let index = convertedData.findIndex(p => p.name === profile.value)
if (index === -1) { // profile doesn't exist yet if (index === -1) { // profile doesn't exist yet
@ -785,7 +785,10 @@ export default Vue.extend({
_id: channel._id _id: channel._id
}) })
index = convertedData.length - 1 index = convertedData.length - 1
} else if (listOfProfilesAlreadyAdded.indexOf(index) !== -1) {
continue
} }
listOfProfilesAlreadyAdded.push(index)
convertedData[index].subscriptions.push({ convertedData[index].subscriptions.push({
id: channel.channelId, id: channel.channelId,
name: channel.channelName, name: channel.channelName,