qobuz sample erroring

This commit is contained in:
aria blue
2024-04-18 20:52:41 -04:00
parent 5c849e16a7
commit 5a702afcf9

View File

@@ -91,20 +91,19 @@ export default class Qobuz implements StreamerWithLogin {
} }
async login(username: string, password: string) { async login(username: string, password: string) {
if (!this.token) { if (this.token) return
const params: { [key: string]: string } = { const params: { [key: string]: string } = {
username, username,
password: md5(password), password: md5(password),
extra: 'partner', extra: 'partner',
app_id: this.appId app_id: this.appId
}
interface LoginResponse {
user_auth_token: string
}
const loginResponse = <LoginResponse>await this.#getSigned('user/login', params)
this.token = loginResponse.user_auth_token
} }
interface LoginResponse {
user_auth_token: string
}
const loginResponse = <LoginResponse>await this.#getSigned('user/login', params)
this.token = loginResponse.user_auth_token
} }
async search(query: string, limit = 10): Promise<SearchResults> { async search(query: string, limit = 10): Promise<SearchResults> {
@@ -140,11 +139,13 @@ export default class Qobuz implements StreamerWithLogin {
} }
interface RawTrackFileResponse { interface RawTrackFileResponse {
url: string url: string
mime_type: string mime_type: string,
sample: boolean
} }
const trackFileResponse = <RawTrackFileResponse>( const trackFileResponse = <RawTrackFileResponse>(
await this.#getSigned('track/getFileUrl', params) await this.#getSigned('track/getFileUrl', params)
) )
if (trackFileResponse.sample == true) throw new Error('Could not get non-sample file. Check your token.')
const streamResponse = await fetch(trackFileResponse.url) const streamResponse = await fetch(trackFileResponse.url)
return { return {
mimeType: trackFileResponse.mime_type, mimeType: trackFileResponse.mime_type,