Fixes for db migration & local playback sessions

This commit is contained in:
advplyr 2023-07-16 15:05:51 -05:00
parent 63e5cf2e60
commit d99b2c25e8
13 changed files with 750 additions and 119 deletions

View file

@ -22,6 +22,7 @@ module.exports = (sequelize) => {
})
return new oldLibrary({
id: libraryExpanded.id,
oldLibraryId: libraryExpanded.extraData?.oldLibraryId || null,
name: libraryExpanded.name,
folders,
displayOrder: libraryExpanded.displayOrder,
@ -92,6 +93,10 @@ module.exports = (sequelize) => {
}
static getFromOld(oldLibrary) {
const extraData = {}
if (oldLibrary.oldLibraryId) {
extraData.oldLibraryId = oldLibrary.oldLibraryId
}
return {
id: oldLibrary.id,
name: oldLibrary.name,
@ -101,7 +106,8 @@ module.exports = (sequelize) => {
provider: oldLibrary.provider,
settings: oldLibrary.settings?.toJSON() || {},
createdAt: oldLibrary.createdAt,
updatedAt: oldLibrary.lastUpdate
updatedAt: oldLibrary.lastUpdate,
extraData
}
}
@ -127,7 +133,8 @@ module.exports = (sequelize) => {
provider: DataTypes.STRING,
lastScan: DataTypes.DATE,
lastScanVersion: DataTypes.STRING,
settings: DataTypes.JSON
settings: DataTypes.JSON,
extraData: DataTypes.JSON
}, {
sequelize,
modelName: 'library'

View file

@ -49,6 +49,7 @@ module.exports = (sequelize) => {
return new oldLibraryItem({
id: libraryItemExpanded.id,
ino: libraryItemExpanded.ino,
oldLibraryItemId: libraryItemExpanded.extraData?.oldLibraryItemId || null,
libraryId: libraryItemExpanded.libraryId,
folderId: libraryItemExpanded.libraryFolderId,
path: libraryItemExpanded.path,
@ -261,6 +262,10 @@ module.exports = (sequelize) => {
}
static getFromOld(oldLibraryItem) {
const extraData = {}
if (oldLibraryItem.oldLibraryItemId) {
extraData.oldLibraryItemId = oldLibraryItem.oldLibraryItemId
}
return {
id: oldLibraryItem.id,
ino: oldLibraryItem.ino,
@ -278,7 +283,8 @@ module.exports = (sequelize) => {
lastScanVersion: oldLibraryItem.scanVersion,
libraryId: oldLibraryItem.libraryId,
libraryFolderId: oldLibraryItem.folderId,
libraryFiles: oldLibraryItem.libraryFiles?.map(lf => lf.toJSON()) || []
libraryFiles: oldLibraryItem.libraryFiles?.map(lf => lf.toJSON()) || [],
extraData
}
}
@ -317,7 +323,8 @@ module.exports = (sequelize) => {
birthtime: DataTypes.DATE(6),
lastScan: DataTypes.DATE,
lastScanVersion: DataTypes.STRING,
libraryFiles: DataTypes.JSON
libraryFiles: DataTypes.JSON,
extraData: DataTypes.JSON
}, {
sequelize,
modelName: 'libraryItem'

View file

@ -15,6 +15,7 @@ module.exports = (sequelize) => {
libraryItemId: libraryItemId || null,
podcastId: this.podcastId,
id: this.id,
oldEpisodeId: this.extraData?.oldEpisodeId || null,
index: this.index,
season: this.season,
episode: this.episode,
@ -38,6 +39,10 @@ module.exports = (sequelize) => {
}
static getFromOld(oldEpisode) {
const extraData = {}
if (oldEpisode.oldEpisodeId) {
extraData.oldEpisodeId = oldEpisode.oldEpisodeId
}
return {
id: oldEpisode.id,
index: oldEpisode.index,
@ -54,7 +59,8 @@ module.exports = (sequelize) => {
publishedAt: oldEpisode.publishedAt,
podcastId: oldEpisode.podcastId,
audioFile: oldEpisode.audioFile?.toJSON() || null,
chapters: oldEpisode.chapters
chapters: oldEpisode.chapters,
extraData
}
}
}
@ -79,7 +85,8 @@ module.exports = (sequelize) => {
publishedAt: DataTypes.DATE,
audioFile: DataTypes.JSON,
chapters: DataTypes.JSON
chapters: DataTypes.JSON,
extraData: DataTypes.JSON
}, {
sequelize,
modelName: 'podcastEpisode'