mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	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:
		
							parent
							
								
									c2a4b32192
								
							
						
					
					
						commit
						220bbc3d2d
					
				| @ -44,6 +44,14 @@ export default { | ||||
|           this.$nextTick(this.init) | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     width: { | ||||
|       handler(newVal) { | ||||
|         if (newVal) { | ||||
|           this.isInit = false | ||||
|           this.$nextTick(this.init) | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   computed: { | ||||
|  | ||||
| @ -106,12 +106,6 @@ export default { | ||||
|         } | ||||
|       } | ||||
|       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 | ||||
|  | ||||
| @ -48,8 +48,15 @@ export default { | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     setUser(user, defaultLibraryId) { | ||||
|       this.$store.commit('libraries/setCurrentLibrary', defaultLibraryId) | ||||
|     setUser({ user, userDefaultLibraryId, serverSettings }) { | ||||
|       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) | ||||
|     }, | ||||
|     async submitForm() { | ||||
| @ -69,7 +76,7 @@ export default { | ||||
|       if (authRes && authRes.error) { | ||||
|         this.error = authRes.error | ||||
|       } else if (authRes) { | ||||
|         this.setUser(authRes.user, authRes.userDefaultLibraryId) | ||||
|         this.setUser(authRes) | ||||
|       } | ||||
|       this.processing = false | ||||
|     }, | ||||
| @ -87,7 +94,7 @@ export default { | ||||
|               } | ||||
|             }) | ||||
|             .then((res) => { | ||||
|               this.setUser(res.user, res.userDefaultLibraryId) | ||||
|               this.setUser(res) | ||||
|               this.processing = false | ||||
|             }) | ||||
|             .catch((error) => { | ||||
|  | ||||
| @ -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) { | ||||
|     var username = (req.body.username || '').toLowerCase() | ||||
|     var password = req.body.password || '' | ||||
| @ -120,17 +128,14 @@ class Auth { | ||||
|       if (password) { | ||||
|         return res.status(401).send('Invalid root password (hint: there is none)') | ||||
|       } else { | ||||
|         return res.json({ user: user.toJSONForBrowser(), userDefaultLibraryId: user.getDefaultLibraryId(this.db.libraries) }) | ||||
|         return res.json(this.getUserLoginResponsePayload(user)) | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     // Check password match
 | ||||
|     var compare = await bcrypt.compare(password, user.pash) | ||||
|     if (compare) { | ||||
|       res.json({ | ||||
|         user: user.toJSONForBrowser(), | ||||
|         userDefaultLibraryId: user.getDefaultLibraryId(this.db.libraries) | ||||
|       }) | ||||
|       res.json(this.getUserLoginResponsePayload(user)) | ||||
|     } else { | ||||
|       Logger.debug(`[Auth] Failed login attempt ${req.rateLimit.current} of ${req.rateLimit.limit}`) | ||||
|       if (req.rateLimit.remaining <= 2) { | ||||
|  | ||||
| @ -409,6 +409,7 @@ class Server { | ||||
|     await this.db.updateEntity('user', user) | ||||
| 
 | ||||
|     const initialPayload = { | ||||
|       // TODO: this is sent with user auth now, update mobile app to use that then remove this
 | ||||
|       serverSettings: this.db.serverSettings.toJSON(), | ||||
|       audiobookPath: global.AudiobookPath, | ||||
|       metadataPath: global.MetadataPath, | ||||
|  | ||||
| @ -230,7 +230,12 @@ class MiscController { | ||||
|       Logger.error('Invalid user in authorize') | ||||
|       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) { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user