Added --singleuser flag to server
replaces the old --serverwide-arl flag of deemix-pyweb it's always off on the gui
This commit is contained in:
@@ -4,6 +4,7 @@ import { Deezer } from 'deezer-js'
|
||||
import { sessionDZ } from '../../../app'
|
||||
import { ApiHandler } from '../../../types'
|
||||
import { logger } from '../../../helpers/logger'
|
||||
import { saveLoginCredentials, resetLoginCredentials } from '../../../helpers/loginStorage'
|
||||
|
||||
export interface RawLoginArlBody {
|
||||
arl: string
|
||||
@@ -24,6 +25,7 @@ const handler: RequestHandler<{}, {}, RawLoginArlBody, {}> = async (req, res, _)
|
||||
if (!sessionDZ[req.session.id]) sessionDZ[req.session.id] = new Deezer()
|
||||
const deemix = req.app.get('deemix')
|
||||
const dz = sessionDZ[req.session.id]
|
||||
const isSingleUser = req.app.get('isSingleUser')
|
||||
|
||||
if (!req.body) {
|
||||
return res.status(400).send()
|
||||
@@ -69,7 +71,14 @@ const handler: RequestHandler<{}, {}, RawLoginArlBody, {}> = async (req, res, _)
|
||||
currentChild: dz.selected_account
|
||||
}
|
||||
|
||||
if (response !== LoginStatus.NOT_AVAILABLE && response !== LoginStatus.FAILED) deemix.startQueue(dz)
|
||||
if (response !== LoginStatus.NOT_AVAILABLE && response !== LoginStatus.FAILED) {
|
||||
deemix.startQueue(dz)
|
||||
if (isSingleUser)
|
||||
saveLoginCredentials({
|
||||
accessToken: null,
|
||||
arl: returnValue.arl
|
||||
})
|
||||
} else if (isSingleUser) resetLoginCredentials()
|
||||
return res.status(200).send(returnValue)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
import { ApiHandler } from '../../../types'
|
||||
import { getAccessToken, getArlFromAccessToken } from '../../../app'
|
||||
import { saveLoginCredentials } from '../../../helpers/loginStorage'
|
||||
|
||||
const path = '/loginEmail'
|
||||
|
||||
const handler: ApiHandler['handler'] = async (req, res) => {
|
||||
const isSingleUser = req.app.get('isSingleUser')
|
||||
const { email, password } = req.body
|
||||
let accessToken = req.body.accessToken
|
||||
|
||||
@@ -14,6 +16,12 @@ const handler: ApiHandler['handler'] = async (req, res) => {
|
||||
let arl
|
||||
if (accessToken) arl = await getArlFromAccessToken(accessToken)
|
||||
|
||||
if (isSingleUser && accessToken)
|
||||
saveLoginCredentials({
|
||||
accessToken,
|
||||
arl: arl || null
|
||||
})
|
||||
|
||||
res.send({ accessToken, arl })
|
||||
}
|
||||
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
import { Deezer } from 'deezer-js'
|
||||
import { ApiHandler } from '../../../types'
|
||||
import { sessionDZ } from '../../../app'
|
||||
import { resetLoginCredentials } from '../../../helpers/loginStorage'
|
||||
|
||||
const path: ApiHandler['path'] = '/logout'
|
||||
|
||||
const handler: ApiHandler['handler'] = (req, res) => {
|
||||
sessionDZ[req.session.id] = new Deezer()
|
||||
res.send({ logged_out: true })
|
||||
if (req.app.get('isSingleUser')) resetLoginCredentials()
|
||||
}
|
||||
|
||||
const apiHandler: ApiHandler = { path, handler }
|
||||
|
||||
Reference in New Issue
Block a user