2022-02-22 17:33:55 -06:00
|
|
|
export default class AudioTrack {
|
2024-05-04 20:26:05 +01:00
|
|
|
constructor(track, userToken) {
|
|
|
|
|
this.index = track.index || 0
|
|
|
|
|
this.startOffset = track.startOffset || 0 // Total time of all previous tracks
|
|
|
|
|
this.duration = track.duration || 0
|
|
|
|
|
this.title = track.title || ''
|
|
|
|
|
this.contentUrl = track.contentUrl || null
|
|
|
|
|
this.mimeType = track.mimeType
|
|
|
|
|
this.metadata = track.metadata || {}
|
|
|
|
|
|
|
|
|
|
this.userToken = userToken
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
get fullContentUrl() {
|
|
|
|
|
if (!this.contentUrl || this.contentUrl.startsWith('http')) return this.contentUrl
|
|
|
|
|
|
|
|
|
|
if (process.env.NODE_ENV === 'development') {
|
|
|
|
|
return `${process.env.serverUrl}${this.contentUrl}?token=${this.userToken}`
|
2024-05-04 11:00:30 +01:00
|
|
|
}
|
2024-05-04 20:26:05 +01:00
|
|
|
return `${window.location.origin}${this.contentUrl}?token=${this.userToken}`
|
|
|
|
|
}
|
2024-05-04 11:00:30 +01:00
|
|
|
|
2024-05-04 20:26:05 +01:00
|
|
|
get relativeContentUrl() {
|
|
|
|
|
if (!this.contentUrl || this.contentUrl.startsWith('http')) return this.contentUrl
|
2024-05-04 11:00:30 +01:00
|
|
|
|
2024-05-04 20:26:05 +01:00
|
|
|
if (process.env.NODE_ENV === 'development') {
|
|
|
|
|
return `${process.env.serverUrl}${this.contentUrl}?token=${this.userToken}`
|
2022-02-22 17:33:55 -06:00
|
|
|
}
|
2022-03-04 18:44:20 -06:00
|
|
|
|
2024-05-04 20:26:05 +01:00
|
|
|
return this.contentUrl + `?token=${this.userToken}`
|
|
|
|
|
}
|
2022-03-04 18:44:20 -06:00
|
|
|
|
2024-05-04 20:26:05 +01:00
|
|
|
get relativeTranscriptionUrl() {
|
|
|
|
|
if (!this.transcriptUrl || this.transcriptUrl.startsWith('http')) return this.transcriptUrl
|
2024-05-04 11:00:30 +01:00
|
|
|
|
2024-05-04 20:26:05 +01:00
|
|
|
if (process.env.NODE_ENV === 'development') {
|
|
|
|
|
return `${process.env.serverUrl}${this.transcriptUrl}?token=${this.userToken}`
|
2022-03-04 18:44:20 -06:00
|
|
|
}
|
|
|
|
|
|
2024-05-04 20:26:05 +01:00
|
|
|
return this.transcriptUrl + `?token=${this.userToken}`
|
|
|
|
|
}
|
2024-05-04 11:00:30 +01:00
|
|
|
}
|