mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			32 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| export default class VideoTrack {
 | |
|   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}`
 | |
|     }
 | |
|     return `${window.location.origin}${this.contentUrl}?token=${this.userToken}`
 | |
|   }
 | |
| 
 | |
|   get relativeContentUrl() {
 | |
|     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}`
 | |
|     }
 | |
| 
 | |
|     return this.contentUrl + `?token=${this.userToken}`
 | |
|   }
 | |
| } |