Builded server with latest changes

This commit is contained in:
RemixDev
2021-06-29 00:10:02 +02:00
parent 6183f9b7a6
commit 00e2d0724b
6 changed files with 65 additions and 24 deletions

View File

@@ -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 = {

View File

@@ -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)

View File

@@ -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()