Builded server with latest changes
This commit is contained in:
@@ -20,18 +20,23 @@ export const getAccessToken = deemix.utils.deezer.getAccessToken
|
||||
export const getArlFromAccessToken = deemix.utils.deezer.getArlFromAccessToken
|
||||
|
||||
export const deemixVersion = require('../../node_modules/deemix/package.json').version
|
||||
export let deezerAvailable: boolean | null = null
|
||||
let deezerAvailable: boolean | null = null
|
||||
|
||||
export async function isDeezerAvailable(): Promise<undefined>{
|
||||
let response
|
||||
try {
|
||||
response = await got.get('https://www.deezer.com/', {headers: {'Cookie': 'dz_lang=en; Domain=deezer.com; Path=/; Secure; hostOnly=false;'}})
|
||||
} catch {
|
||||
deezerAvailable = false
|
||||
return
|
||||
export async function isDeezerAvailable(): Promise<boolean> {
|
||||
if (deezerAvailable === null) {
|
||||
let response
|
||||
try {
|
||||
response = await got.get('https://www.deezer.com/', {
|
||||
headers: { Cookie: 'dz_lang=en; Domain=deezer.com; Path=/; Secure; hostOnly=false;' }
|
||||
})
|
||||
} catch {
|
||||
deezerAvailable = false
|
||||
return deezerAvailable
|
||||
}
|
||||
const title = (response.body.match(/<title[^>]*>([^<]+)<\/title>/)![1] || '').trim()
|
||||
deezerAvailable = title !== 'Deezer will soon be available in your country.'
|
||||
}
|
||||
const title = (response.body.match(/<title[^>]*>([^<]+)<\/title>/)![1] || "").trim()
|
||||
deezerAvailable = title !== "Deezer will soon be available in your country."
|
||||
return deezerAvailable
|
||||
}
|
||||
|
||||
export const plugins: any = {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { RequestHandler } from 'express'
|
||||
// @ts-expect-error
|
||||
import { Deezer } from 'deezer-js'
|
||||
import { sessionDZ, startQueue, deezerAvailable, isDeezerAvailable } from '../../../main'
|
||||
import { sessionDZ, startQueue, isDeezerAvailable } from '../../../main'
|
||||
import { ApiHandler } from '../../../types'
|
||||
|
||||
export interface RawLoginArlQuery {
|
||||
@@ -22,7 +22,6 @@ const path: ApiHandler['path'] = '/login-arl'
|
||||
const handler: RequestHandler<{}, {}, {}, RawLoginArlQuery> = async (req, res, _) => {
|
||||
if (!sessionDZ[req.session.id]) sessionDZ[req.session.id] = new Deezer()
|
||||
const dz = sessionDZ[req.session.id]
|
||||
if (deezerAvailable === null) await isDeezerAvailable()
|
||||
|
||||
if (!req.query) {
|
||||
return res.status(400).send()
|
||||
@@ -53,7 +52,7 @@ const handler: RequestHandler<{}, {}, {}, RawLoginArlQuery> = async (req, res, _
|
||||
const testDz = new Deezer()
|
||||
response = await testDz.login_via_arl(...loginParams)
|
||||
}
|
||||
if (!deezerAvailable) response = LoginStatus.NOT_AVAILABLE
|
||||
if (!(await isDeezerAvailable())) response = LoginStatus.NOT_AVAILABLE
|
||||
const returnValue = { status: response, arl: req.query.arl, user: dz.current_user }
|
||||
|
||||
startQueue(dz)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import express from 'express'
|
||||
// @ts-expect-error
|
||||
import { Deezer } from 'deezer-js'
|
||||
import { sessionDZ, getQueue, deemixVersion, isDeezerAvailable, deezerAvailable } from '../main'
|
||||
import { sessionDZ, getQueue, deemixVersion, isDeezerAvailable } from '../main'
|
||||
|
||||
const router = express.Router()
|
||||
let update: any = null
|
||||
@@ -27,13 +27,12 @@ router.get('/connect', async (req, res) => {
|
||||
deemixVersion
|
||||
}
|
||||
}
|
||||
if (deezerAvailable === null) await isDeezerAvailable()
|
||||
|
||||
const result: any = {
|
||||
update,
|
||||
autologin: !dz.logged_in,
|
||||
currentUser: dz.current_user,
|
||||
deezerAvailable
|
||||
deezerAvailable: await isDeezerAvailable()
|
||||
}
|
||||
|
||||
const queue = getQueue()
|
||||
|
||||
Reference in New Issue
Block a user