Fix:Series covers on home page not spread out correctly #505, Update:Server settings are now returned with auth requests

This commit is contained in:
advplyr 2022-04-29 17:43:46 -05:00
parent c2a4b32192
commit 220bbc3d2d
6 changed files with 36 additions and 16 deletions

View File

@ -44,6 +44,14 @@ export default {
this.$nextTick(this.init) this.$nextTick(this.init)
} }
} }
},
width: {
handler(newVal) {
if (newVal) {
this.isInit = false
this.$nextTick(this.init)
}
}
} }
}, },
computed: { computed: {

View File

@ -106,12 +106,6 @@ export default {
} }
} }
if (payload.serverSettings) { if (payload.serverSettings) {
this.$store.commit('setServerSettings', payload.serverSettings)
if (payload.serverSettings.chromecastEnabled) {
console.log('Chromecast enabled import script')
require('@/plugins/chromecast.js').default(this)
}
} }
// Start scans currently running // Start scans currently running

View File

@ -48,8 +48,15 @@ export default {
} }
}, },
methods: { methods: {
setUser(user, defaultLibraryId) { setUser({ user, userDefaultLibraryId, serverSettings }) {
this.$store.commit('libraries/setCurrentLibrary', defaultLibraryId) this.$store.commit('setServerSettings', serverSettings)
if (serverSettings.chromecastEnabled) {
console.log('Chromecast enabled import script')
require('@/plugins/chromecast.js').default(this)
}
this.$store.commit('libraries/setCurrentLibrary', userDefaultLibraryId)
this.$store.commit('user/setUser', user) this.$store.commit('user/setUser', user)
}, },
async submitForm() { async submitForm() {
@ -69,7 +76,7 @@ export default {
if (authRes && authRes.error) { if (authRes && authRes.error) {
this.error = authRes.error this.error = authRes.error
} else if (authRes) { } else if (authRes) {
this.setUser(authRes.user, authRes.userDefaultLibraryId) this.setUser(authRes)
} }
this.processing = false this.processing = false
}, },
@ -87,7 +94,7 @@ export default {
} }
}) })
.then((res) => { .then((res) => {
this.setUser(res.user, res.userDefaultLibraryId) this.setUser(res)
this.processing = false this.processing = false
}) })
.catch((error) => { .catch((error) => {

View File

@ -100,6 +100,14 @@ class Auth {
}) })
} }
getUserLoginResponsePayload(user) {
return {
user: user.toJSONForBrowser(),
userDefaultLibraryId: user.getDefaultLibraryId(this.db.libraries),
serverSettings: this.db.serverSettings.toJSON()
}
}
async login(req, res) { async login(req, res) {
var username = (req.body.username || '').toLowerCase() var username = (req.body.username || '').toLowerCase()
var password = req.body.password || '' var password = req.body.password || ''
@ -120,17 +128,14 @@ class Auth {
if (password) { if (password) {
return res.status(401).send('Invalid root password (hint: there is none)') return res.status(401).send('Invalid root password (hint: there is none)')
} else { } else {
return res.json({ user: user.toJSONForBrowser(), userDefaultLibraryId: user.getDefaultLibraryId(this.db.libraries) }) return res.json(this.getUserLoginResponsePayload(user))
} }
} }
// Check password match // Check password match
var compare = await bcrypt.compare(password, user.pash) var compare = await bcrypt.compare(password, user.pash)
if (compare) { if (compare) {
res.json({ res.json(this.getUserLoginResponsePayload(user))
user: user.toJSONForBrowser(),
userDefaultLibraryId: user.getDefaultLibraryId(this.db.libraries)
})
} else { } else {
Logger.debug(`[Auth] Failed login attempt ${req.rateLimit.current} of ${req.rateLimit.limit}`) Logger.debug(`[Auth] Failed login attempt ${req.rateLimit.current} of ${req.rateLimit.limit}`)
if (req.rateLimit.remaining <= 2) { if (req.rateLimit.remaining <= 2) {

View File

@ -409,6 +409,7 @@ class Server {
await this.db.updateEntity('user', user) await this.db.updateEntity('user', user)
const initialPayload = { const initialPayload = {
// TODO: this is sent with user auth now, update mobile app to use that then remove this
serverSettings: this.db.serverSettings.toJSON(), serverSettings: this.db.serverSettings.toJSON(),
audiobookPath: global.AudiobookPath, audiobookPath: global.AudiobookPath,
metadataPath: global.MetadataPath, metadataPath: global.MetadataPath,

View File

@ -230,7 +230,12 @@ class MiscController {
Logger.error('Invalid user in authorize') Logger.error('Invalid user in authorize')
return res.sendStatus(401) return res.sendStatus(401)
} }
res.json({ user: req.user, userDefaultLibraryId: req.user.getDefaultLibraryId(this.db.libraries) }) const userResponse = {
user: req.user,
userDefaultLibraryId: req.user.getDefaultLibraryId(this.db.libraries),
serverSettings: this.db.serverSettings.toJSON()
}
res.json(userResponse)
} }
getAllTags(req, res) { getAllTags(req, res) {