Update db model references

This commit is contained in:
advplyr 2023-08-20 13:34:03 -05:00
parent 21343ffbd1
commit 6c1b4e3a36
30 changed files with 298 additions and 243 deletions

View file

@ -52,9 +52,9 @@ module.exports = {
const { libraryItems, count } = await libraryItemsBookFilters.getFilteredLibraryItems(library.id, user, 'progress', 'in-progress', 'progress', true, false, include, limit, 0)
return {
items: libraryItems.map(li => {
const oldLibraryItem = Database.models.libraryItem.getOldLibraryItem(li).toJSONMinified()
const oldLibraryItem = Database.libraryItemModel.getOldLibraryItem(li).toJSONMinified()
if (li.rssFeed) {
oldLibraryItem.rssFeed = Database.models.feed.getOldFeed(li.rssFeed).toJSONMinified()
oldLibraryItem.rssFeed = Database.feedModel.getOldFeed(li.rssFeed).toJSONMinified()
}
return oldLibraryItem
}),
@ -65,7 +65,7 @@ module.exports = {
return {
count,
items: libraryItems.map(li => {
const oldLibraryItem = Database.models.libraryItem.getOldLibraryItem(li).toJSONMinified()
const oldLibraryItem = Database.libraryItemModel.getOldLibraryItem(li).toJSONMinified()
oldLibraryItem.recentEpisode = li.recentEpisode
return oldLibraryItem
})
@ -86,9 +86,9 @@ module.exports = {
const { libraryItems, count } = await libraryItemsBookFilters.getFilteredLibraryItems(library.id, user, 'recent', null, 'addedAt', true, false, include, limit, 0)
return {
libraryItems: libraryItems.map(li => {
const oldLibraryItem = Database.models.libraryItem.getOldLibraryItem(li).toJSONMinified()
const oldLibraryItem = Database.libraryItemModel.getOldLibraryItem(li).toJSONMinified()
if (li.rssFeed) {
oldLibraryItem.rssFeed = Database.models.feed.getOldFeed(li.rssFeed).toJSONMinified()
oldLibraryItem.rssFeed = Database.feedModel.getOldFeed(li.rssFeed).toJSONMinified()
}
if (li.size && !oldLibraryItem.media.size) {
oldLibraryItem.media.size = li.size
@ -101,9 +101,9 @@ module.exports = {
const { libraryItems, count } = await libraryItemsPodcastFilters.getFilteredLibraryItems(library.id, user, 'recent', null, 'addedAt', true, include, limit, 0)
return {
libraryItems: libraryItems.map(li => {
const oldLibraryItem = Database.models.libraryItem.getOldLibraryItem(li).toJSONMinified()
const oldLibraryItem = Database.libraryItemModel.getOldLibraryItem(li).toJSONMinified()
if (li.rssFeed) {
oldLibraryItem.rssFeed = Database.models.feed.getOldFeed(li.rssFeed).toJSONMinified()
oldLibraryItem.rssFeed = Database.feedModel.getOldFeed(li.rssFeed).toJSONMinified()
}
if (li.size && !oldLibraryItem.media.size) {
oldLibraryItem.media.size = li.size
@ -127,9 +127,9 @@ module.exports = {
const { libraryItems, count } = await libraryItemsBookFilters.getContinueSeriesLibraryItems(library.id, user, include, limit, 0)
return {
libraryItems: libraryItems.map(li => {
const oldLibraryItem = Database.models.libraryItem.getOldLibraryItem(li).toJSONMinified()
const oldLibraryItem = Database.libraryItemModel.getOldLibraryItem(li).toJSONMinified()
if (li.rssFeed) {
oldLibraryItem.rssFeed = Database.models.feed.getOldFeed(li.rssFeed).toJSONMinified()
oldLibraryItem.rssFeed = Database.feedModel.getOldFeed(li.rssFeed).toJSONMinified()
}
if (li.series) {
oldLibraryItem.media.metadata.series = li.series
@ -153,9 +153,9 @@ module.exports = {
const { libraryItems, count } = await libraryItemsBookFilters.getFilteredLibraryItems(library.id, user, 'progress', 'finished', 'progress', true, false, include, limit, 0)
return {
items: libraryItems.map(li => {
const oldLibraryItem = Database.models.libraryItem.getOldLibraryItem(li).toJSONMinified()
const oldLibraryItem = Database.libraryItemModel.getOldLibraryItem(li).toJSONMinified()
if (li.rssFeed) {
oldLibraryItem.rssFeed = Database.models.feed.getOldFeed(li.rssFeed).toJSONMinified()
oldLibraryItem.rssFeed = Database.feedModel.getOldFeed(li.rssFeed).toJSONMinified()
}
return oldLibraryItem
}),
@ -166,7 +166,7 @@ module.exports = {
return {
count,
items: libraryItems.map(li => {
const oldLibraryItem = Database.models.libraryItem.getOldLibraryItem(li).toJSONMinified()
const oldLibraryItem = Database.libraryItemModel.getOldLibraryItem(li).toJSONMinified()
oldLibraryItem.recentEpisode = li.recentEpisode
return oldLibraryItem
})
@ -188,7 +188,7 @@ module.exports = {
const seriesIncludes = []
if (include.includes('rssfeed')) {
seriesIncludes.push({
model: Database.models.feed
model: Database.feedModel
})
}
@ -230,12 +230,12 @@ module.exports = {
replacements: userPermissionBookWhere.replacements,
include: [
{
model: Database.models.bookSeries,
model: Database.bookSeriesModel,
include: {
model: Database.models.book,
model: Database.bookModel,
where: userPermissionBookWhere.bookWhere,
include: {
model: Database.models.libraryItem
model: Database.libraryItemModel
}
},
separate: true
@ -252,7 +252,7 @@ module.exports = {
const oldSeries = s.getOldSeries().toJSON()
if (s.feeds?.length) {
oldSeries.rssFeed = Database.models.feed.getOldFeed(s.feeds[0]).toJSONMinified()
oldSeries.rssFeed = Database.feedModel.getOldFeed(s.feeds[0]).toJSONMinified()
}
// TODO: Sort books by sequence in query
@ -268,7 +268,7 @@ module.exports = {
const libraryItem = bs.book.libraryItem.toJSON()
delete bs.book.libraryItem
libraryItem.media = bs.book
const oldLibraryItem = Database.models.libraryItem.getOldLibraryItem(libraryItem).toJSONMinified()
const oldLibraryItem = Database.libraryItemModel.getOldLibraryItem(libraryItem).toJSONMinified()
return oldLibraryItem
})
allOldSeries.push(oldSeries)
@ -299,7 +299,7 @@ module.exports = {
}
},
include: {
model: Database.models.bookAuthor,
model: Database.bookAuthorModel,
required: true // Must belong to a book
},
limit,
@ -332,9 +332,9 @@ module.exports = {
const { libraryItems, count } = await libraryItemsBookFilters.getDiscoverLibraryItems(library.id, user, include, limit)
return {
libraryItems: libraryItems.map(li => {
const oldLibraryItem = Database.models.libraryItem.getOldLibraryItem(li).toJSONMinified()
const oldLibraryItem = Database.libraryItemModel.getOldLibraryItem(li).toJSONMinified()
if (li.rssFeed) {
oldLibraryItem.rssFeed = Database.models.feed.getOldFeed(li.rssFeed).toJSONMinified()
oldLibraryItem.rssFeed = Database.feedModel.getOldFeed(li.rssFeed).toJSONMinified()
}
return oldLibraryItem
}),
@ -356,7 +356,7 @@ module.exports = {
return {
count,
libraryItems: libraryItems.map(li => {
const oldLibraryItem = Database.models.libraryItem.getOldLibraryItem(li).toJSONMinified()
const oldLibraryItem = Database.libraryItemModel.getOldLibraryItem(li).toJSONMinified()
oldLibraryItem.recentEpisode = li.recentEpisode
return oldLibraryItem
})
@ -417,9 +417,9 @@ module.exports = {
}
if (oldLibrary.isPodcast) {
const podcasts = await Database.models.podcast.findAll({
const podcasts = await Database.podcastModel.findAll({
include: {
model: Database.models.libraryItem,
model: Database.libraryItemModel,
attributes: [],
where: {
libraryId: oldLibrary.id
@ -436,9 +436,9 @@ module.exports = {
}
}
} else {
const books = await Database.models.book.findAll({
const books = await Database.bookModel.findAll({
include: {
model: Database.models.libraryItem,
model: Database.libraryItemModel,
attributes: ['isMissing', 'isInvalid'],
where: {
libraryId: oldLibrary.id

View file

@ -11,7 +11,7 @@ module.exports = {
*/
async getAllLibraryItemsWithTags(tags) {
const libraryItems = []
const booksWithTag = await Database.models.book.findAll({
const booksWithTag = await Database.bookModel.findAll({
where: Sequelize.where(Sequelize.literal(`(SELECT count(*) FROM json_each(tags) WHERE json_valid(tags) AND json_each.value IN (:tags))`), {
[Sequelize.Op.gte]: 1
}),
@ -20,16 +20,16 @@ module.exports = {
},
include: [
{
model: Database.models.libraryItem
model: Database.libraryItemModel
},
{
model: Database.models.author,
model: Database.authorModel,
through: {
attributes: []
}
},
{
model: Database.models.series,
model: Database.seriesModel,
through: {
attributes: ['sequence']
}
@ -41,7 +41,7 @@ module.exports = {
libraryItem.media = book
libraryItems.push(libraryItem)
}
const podcastsWithTag = await Database.models.podcast.findAll({
const podcastsWithTag = await Database.podcastModel.findAll({
where: Sequelize.where(Sequelize.literal(`(SELECT count(*) FROM json_each(tags) WHERE json_valid(tags) AND json_each.value IN (:tags))`), {
[Sequelize.Op.gte]: 1
}),
@ -50,10 +50,10 @@ module.exports = {
},
include: [
{
model: Database.models.libraryItem
model: Database.libraryItemModel
},
{
model: Database.models.podcastEpisode
model: Database.podcastEpisodeModel
}
]
})
@ -72,7 +72,7 @@ module.exports = {
*/
async getAllLibraryItemsWithGenres(genres) {
const libraryItems = []
const booksWithGenre = await Database.models.book.findAll({
const booksWithGenre = await Database.bookModel.findAll({
where: Sequelize.where(Sequelize.literal(`(SELECT count(*) FROM json_each(genres) WHERE json_valid(genres) AND json_each.value IN (:genres))`), {
[Sequelize.Op.gte]: 1
}),
@ -81,16 +81,16 @@ module.exports = {
},
include: [
{
model: Database.models.libraryItem
model: Database.libraryItemModel
},
{
model: Database.models.author,
model: Database.authorModel,
through: {
attributes: []
}
},
{
model: Database.models.series,
model: Database.seriesModel,
through: {
attributes: ['sequence']
}
@ -102,7 +102,7 @@ module.exports = {
libraryItem.media = book
libraryItems.push(libraryItem)
}
const podcastsWithGenre = await Database.models.podcast.findAll({
const podcastsWithGenre = await Database.podcastModel.findAll({
where: Sequelize.where(Sequelize.literal(`(SELECT count(*) FROM json_each(genres) WHERE json_valid(genres) AND json_each.value IN (:genres))`), {
[Sequelize.Op.gte]: 1
}),
@ -111,10 +111,10 @@ module.exports = {
},
include: [
{
model: Database.models.libraryItem
model: Database.libraryItemModel
},
{
model: Database.models.podcastEpisode
model: Database.podcastEpisodeModel
}
]
})
@ -133,7 +133,7 @@ module.exports = {
*/
async getAllLibraryItemsWithNarrators(narrators) {
const libraryItems = []
const booksWithGenre = await Database.models.book.findAll({
const booksWithGenre = await Database.bookModel.findAll({
where: Sequelize.where(Sequelize.literal(`(SELECT count(*) FROM json_each(narrators) WHERE json_valid(narrators) AND json_each.value IN (:narrators))`), {
[Sequelize.Op.gte]: 1
}),
@ -142,16 +142,16 @@ module.exports = {
},
include: [
{
model: Database.models.libraryItem
model: Database.libraryItemModel
},
{
model: Database.models.author,
model: Database.authorModel,
through: {
attributes: []
}
},
{
model: Database.models.series,
model: Database.seriesModel,
through: {
attributes: ['sequence']
}

View file

@ -290,7 +290,7 @@ module.exports = {
where: seriesWhere,
include: [
{
model: Database.models.book,
model: Database.bookModel,
attributes: ['id', 'title'],
through: {
attributes: ['id', 'seriesId', 'bookId', 'sequence']
@ -374,10 +374,10 @@ module.exports = {
}
let seriesInclude = {
model: Database.models.bookSeries,
model: Database.bookSeriesModel,
attributes: ['id', 'seriesId', 'sequence', 'createdAt'],
include: {
model: Database.models.series,
model: Database.seriesModel,
attributes: ['id', 'name', 'nameIgnorePrefix']
},
order: [
@ -387,10 +387,10 @@ module.exports = {
}
let authorInclude = {
model: Database.models.bookAuthor,
model: Database.bookAuthorModel,
attributes: ['authorId', 'createdAt'],
include: {
model: Database.models.author,
model: Database.authorModel,
attributes: ['id', 'name']
},
order: [
@ -405,13 +405,13 @@ module.exports = {
const bookIncludes = []
if (includeRSSFeed) {
libraryItemIncludes.push({
model: Database.models.feed,
model: Database.feedModel,
required: filterGroup === 'feed-open'
})
}
if (filterGroup === 'feed-open' && !includeRSSFeed) {
libraryItemIncludes.push({
model: Database.models.feed,
model: Database.feedModel,
required: true
})
} else if (filterGroup === 'ebooks' && filterValue === 'supplementary') {
@ -421,7 +421,7 @@ module.exports = {
}
} else if (filterGroup === 'missing' && filterValue === 'authors') {
authorInclude = {
model: Database.models.author,
model: Database.authorModel,
attributes: ['id'],
through: {
attributes: []
@ -429,7 +429,7 @@ module.exports = {
}
} else if ((filterGroup === 'series' && filterValue === 'no-series') || (filterGroup === 'missing' && filterValue === 'series')) {
seriesInclude = {
model: Database.models.series,
model: Database.seriesModel,
attributes: ['id'],
through: {
attributes: []
@ -437,7 +437,7 @@ module.exports = {
}
} else if (filterGroup === 'authors') {
bookIncludes.push({
model: Database.models.author,
model: Database.authorModel,
attributes: ['id', 'name'],
where: {
id: filterValue
@ -448,7 +448,7 @@ module.exports = {
})
} else if (filterGroup === 'series') {
bookIncludes.push({
model: Database.models.series,
model: Database.seriesModel,
attributes: ['id', 'name'],
where: {
id: filterValue
@ -472,7 +472,7 @@ module.exports = {
]
} else if (filterGroup === 'progress' && user) {
bookIncludes.push({
model: Database.models.mediaProgress,
model: Database.mediaProgressModel,
attributes: ['id', 'isFinished', 'currentTime', 'ebookProgress', 'updatedAt'],
where: {
userId: user.id
@ -513,7 +513,7 @@ module.exports = {
where: seriesBookWhere,
include: [
{
model: Database.models.libraryItem,
model: Database.libraryItemModel,
required: true,
where: libraryItemWhere,
include: libraryItemIncludes
@ -542,7 +542,7 @@ module.exports = {
}
}
const { rows: books, count } = await Database.models.book.findAndCountAll({
const { rows: books, count } = await Database.bookModel.findAndCountAll({
where: bookWhere,
distinct: true,
attributes: bookAttributes,
@ -553,7 +553,7 @@ module.exports = {
},
include: [
{
model: Database.models.libraryItem,
model: Database.libraryItemModel,
required: true,
where: libraryItemWhere,
include: libraryItemIncludes
@ -633,7 +633,7 @@ module.exports = {
const libraryItemIncludes = []
if (include.includes('rssfeed')) {
libraryItemIncludes.push({
model: Database.models.feed
model: Database.feedModel
})
}
@ -670,7 +670,7 @@ module.exports = {
...userPermissionBookWhere.replacements
},
include: {
model: Database.models.bookSeries,
model: Database.bookSeriesModel,
attributes: ['bookId', 'sequence'],
separate: true,
subQuery: false,
@ -683,21 +683,21 @@ module.exports = {
}
},
include: {
model: Database.models.book,
model: Database.bookModel,
where: bookWhere,
include: [
{
model: Database.models.libraryItem,
model: Database.libraryItemModel,
include: libraryItemIncludes
},
{
model: Database.models.author,
model: Database.authorModel,
through: {
attributes: []
}
},
{
model: Database.models.mediaProgress,
model: Database.mediaProgressModel,
where: {
userId: user.id
},
@ -765,12 +765,12 @@ module.exports = {
},
attributes: ['id'],
include: {
model: Database.models.bookSeries,
model: Database.bookSeriesModel,
attributes: ['bookId', 'sequence'],
separate: true,
required: true,
include: {
model: Database.models.book,
model: Database.bookModel,
where: userPermissionBookWhere.bookWhere
},
order: [
@ -789,12 +789,12 @@ module.exports = {
const libraryItemIncludes = []
if (include.includes('rssfeed')) {
libraryItemIncludes.push({
model: Database.models.feed
model: Database.feedModel
})
}
// Step 2: Get books not started and not in a series OR is the first book of a series not started (ordered randomly)
const { rows: books, count } = await Database.models.book.findAndCountAll({
const { rows: books, count } = await Database.bookModel.findAndCountAll({
where: [
{
'$mediaProgresses.isFinished$': {
@ -817,32 +817,32 @@ module.exports = {
replacements: userPermissionBookWhere.replacements,
include: [
{
model: Database.models.libraryItem,
model: Database.libraryItemModel,
where: {
libraryId
},
include: libraryItemIncludes
},
{
model: Database.models.mediaProgress,
model: Database.mediaProgressModel,
where: {
userId: user.id
},
required: false
},
{
model: Database.models.bookAuthor,
model: Database.bookAuthorModel,
attributes: ['authorId'],
include: {
model: Database.models.author
model: Database.authorModel
},
separate: true
},
{
model: Database.models.bookSeries,
model: Database.bookSeriesModel,
attributes: ['seriesId', 'sequence'],
include: {
model: Database.models.series
model: Database.seriesModel
},
separate: true
}
@ -884,10 +884,10 @@ module.exports = {
return []
}
const books = await Database.models.book.findAll({
const books = await Database.bookModel.findAll({
include: [
{
model: Database.models.libraryItem,
model: Database.libraryItemModel,
where: {
id: {
[Sequelize.Op.in]: collection.books
@ -895,13 +895,13 @@ module.exports = {
}
},
{
model: Database.models.author,
model: Database.authorModel,
through: {
attributes: []
}
},
{
model: Database.models.series,
model: Database.seriesModel,
through: {
attributes: ['sequence']
}
@ -925,7 +925,7 @@ module.exports = {
*/
async getLibraryItemsForSeries(oldSeries, oldUser) {
const { libraryItems } = await this.getFilteredLibraryItems(oldSeries.libraryId, oldUser, 'series', oldSeries.id, null, null, false, [], null, null)
return libraryItems.map(li => Database.models.libraryItem.getOldLibraryItem(li))
return libraryItems.map(li => Database.libraryItemModel.getOldLibraryItem(li))
},
/**
@ -978,14 +978,14 @@ module.exports = {
}
},
{
model: Database.models.bookSeries,
model: Database.bookSeriesModel,
include: {
model: Database.seriesModel
},
separate: true
},
{
model: Database.models.bookAuthor,
model: Database.bookAuthorModel,
include: {
model: Database.authorModel
},
@ -1071,7 +1071,7 @@ module.exports = {
replacements: userPermissionBookWhere.replacements,
include: {
separate: true,
model: Database.models.bookSeries,
model: Database.bookSeriesModel,
include: {
model: Database.bookModel,
where: userPermissionBookWhere.bookWhere,

View file

@ -112,7 +112,7 @@ module.exports = {
const libraryItemIncludes = []
if (includeRSSFeed) {
libraryItemIncludes.push({
model: Database.models.feed,
model: Database.feedModel,
required: filterGroup === 'feed-open'
})
}
@ -146,7 +146,7 @@ module.exports = {
replacements = { ...replacements, ...userPermissionPodcastWhere.replacements }
podcastWhere.push(...userPermissionPodcastWhere.podcastWhere)
const { rows: podcasts, count } = await Database.models.podcast.findAndCountAll({
const { rows: podcasts, count } = await Database.podcastModel.findAndCountAll({
where: podcastWhere,
replacements,
distinct: true,
@ -158,7 +158,7 @@ module.exports = {
},
include: [
{
model: Database.models.libraryItem,
model: Database.libraryItemModel,
required: true,
where: libraryItemWhere,
include: libraryItemIncludes
@ -219,7 +219,7 @@ module.exports = {
}
if (filterGroup === 'progress') {
podcastEpisodeIncludes.push({
model: Database.models.mediaProgress,
model: Database.mediaProgressModel,
where: {
userId: user.id
},
@ -255,16 +255,16 @@ module.exports = {
const userPermissionPodcastWhere = this.getUserPermissionPodcastWhereQuery(user)
const { rows: podcastEpisodes, count } = await Database.models.podcastEpisode.findAndCountAll({
const { rows: podcastEpisodes, count } = await Database.podcastEpisodeModel.findAndCountAll({
where: podcastEpisodeWhere,
replacements: userPermissionPodcastWhere.replacements,
include: [
{
model: Database.models.podcast,
model: Database.podcastModel,
where: userPermissionPodcastWhere.podcastWhere,
include: [
{
model: Database.models.libraryItem,
model: Database.libraryItemModel,
where: libraryItemWhere
}
]

View file

@ -34,7 +34,7 @@ module.exports = {
const seriesIncludes = []
if (include.includes('rssfeed')) {
seriesIncludes.push({
model: Database.models.feed
model: Database.feedModel
})
}
@ -149,13 +149,13 @@ module.exports = {
replacements: userPermissionBookWhere.replacements,
include: [
{
model: Database.models.bookSeries,
model: Database.bookSeriesModel,
include: {
model: Database.models.book,
model: Database.bookModel,
where: userPermissionBookWhere.bookWhere,
include: [
{
model: Database.models.libraryItem
model: Database.libraryItemModel
}
]
},
@ -176,7 +176,7 @@ module.exports = {
}
if (s.feeds?.length) {
oldSeries.rssFeed = Database.models.feed.getOldFeed(s.feeds[0]).toJSONMinified()
oldSeries.rssFeed = Database.feedModel.getOldFeed(s.feeds[0]).toJSONMinified()
}
// TODO: Sort books by sequence in query
@ -192,7 +192,7 @@ module.exports = {
const libraryItem = bs.book.libraryItem.toJSON()
delete bs.book.libraryItem
libraryItem.media = bs.book
const oldLibraryItem = Database.models.libraryItem.getOldLibraryItem(libraryItem).toJSONMinified()
const oldLibraryItem = Database.libraryItemModel.getOldLibraryItem(libraryItem).toJSONMinified()
return oldLibraryItem
})
allOldSeries.push(oldSeries)