Fix: book id length & check duplicate ids, Change: library to lazy load book cards

This commit is contained in:
advplyr 2021-11-15 20:09:42 -06:00
parent ca6f2c01f6
commit 72f9732b67
18 changed files with 466 additions and 86 deletions

View file

@ -1,7 +1,7 @@
const Path = require('path')
const fs = require('fs-extra')
const { bytesPretty, elapsedPretty, readTextFile } = require('../utils/fileUtils')
const { comparePaths, getIno } = require('../utils/index')
const { comparePaths, getIno, getId } = require('../utils/index')
const { parseOpfMetadataXML } = require('../utils/parseOpfMetadata')
const { extractCoverArt } = require('../utils/ffmpegHelpers')
const nfoGenerator = require('../utils/nfoGenerator')
@ -317,7 +317,7 @@ class Audiobook {
}
setData(data) {
this.id = (Math.trunc(Math.random() * 1000) + Date.now()).toString(36)
this.id = getId('ab')
this.libraryId = data.libraryId || 'main'
this.folderId = data.folderId || 'audiobooks'
this.ino = data.ino || null

View file

@ -1,3 +1,5 @@
const { getId } = require("../utils")
class Folder {
constructor(folder = null) {
this.id = null
@ -27,7 +29,7 @@ class Folder {
}
setData(data) {
this.id = data.id ? data.id : 'fol' + (Math.trunc(Math.random() * 1000) + Date.now()).toString(36)
this.id = data.id ? data.id : getId('fol')
this.fullPath = data.fullPath
this.libraryId = data.libraryId
this.addedAt = Date.now()

View file

@ -1,4 +1,5 @@
const Folder = require('./Folder')
const { getId } = require('../utils/index')
class Library {
constructor(library = null) {
@ -46,7 +47,7 @@ class Library {
}
setData(data) {
this.id = data.id ? data.id : 'lib' + (Math.trunc(Math.random() * 1000) + Date.now()).toString(36)
this.id = data.id ? data.id : getId('lib')
this.name = data.name
if (data.folder) {
this.folders = [

View file

@ -32,6 +32,7 @@ class ServerSettings {
this.loggerScannerLogsToKeep = 2
this.logLevel = Logger.logLevel
this.version = null
if (settings) {
this.construct(settings)
@ -56,6 +57,7 @@ class ServerSettings {
this.loggerScannerLogsToKeep = settings.loggerScannerLogsToKeep || 2
this.logLevel = settings.logLevel || Logger.logLevel
this.version = settings.version || null
if (this.logLevel !== Logger.logLevel) {
Logger.setLogLevel(this.logLevel)
@ -78,7 +80,8 @@ class ServerSettings {
backupMetadataCovers: this.backupMetadataCovers,
loggerDailyLogsToKeep: this.loggerDailyLogsToKeep,
loggerScannerLogsToKeep: this.loggerScannerLogsToKeep,
logLevel: this.logLevel
logLevel: this.logLevel,
version: this.version
}
}

View file

@ -3,6 +3,7 @@ const EventEmitter = require('events')
const Path = require('path')
const fs = require('fs-extra')
const Logger = require('../Logger')
const { getId } = require('../utils/index')
const { secondsToTimestamp } = require('../utils/fileUtils')
const { writeConcatFile } = require('../utils/ffmpegHelpers')
const hlsPlaylistGenerator = require('../utils/hlsPlaylistGenerator')
@ -13,7 +14,7 @@ class Stream extends EventEmitter {
constructor(streamPath, client, audiobook, transcodeOptions = {}) {
super()
this.id = (Date.now() + Math.trunc(Math.random() * 1000)).toString(36)
this.id = getId('str')
this.client = client
this.audiobook = audiobook

View file

@ -1,4 +1,5 @@
const Logger = require('../Logger')
const { getId } = require('../utils/index')
class UserCollection {
constructor(collection) {
@ -62,7 +63,7 @@ class UserCollection {
if (!data.userId || !data.libraryId || !data.name) {
return false
}
this.id = (Math.trunc(Math.random() * 1000) + Date.now()).toString(36)
this.id = getId('usr')
this.userId = data.userId
this.libraryId = data.libraryId
this.name = data.name

View file

@ -1,5 +1,6 @@
const Logger = require('../Logger')
const date = require('date-and-time')
const { getId } = require('../utils/index')
class UserListeningSession {
constructor(session) {
@ -58,7 +59,7 @@ class UserListeningSession {
}
setData(audiobook, user) {
this.id = 'ls_' + (Math.trunc(Math.random() * 1000) + Date.now()).toString(36)
this.id = getId('ls')
this.userId = user.id
this.audiobookId = audiobook.id
this.audiobookTitle = audiobook.title || ''