mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			25 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const express = require('express')
 | 
						|
const ShareController = require('../controllers/ShareController')
 | 
						|
const SessionController = require('../controllers/SessionController')
 | 
						|
 | 
						|
class PublicRouter {
 | 
						|
  constructor(playbackSessionManager) {
 | 
						|
    /** @type {import('../managers/PlaybackSessionManager')} */
 | 
						|
    this.playbackSessionManager = playbackSessionManager
 | 
						|
 | 
						|
    this.router = express()
 | 
						|
    this.router.disable('x-powered-by')
 | 
						|
    this.init()
 | 
						|
  }
 | 
						|
 | 
						|
  init() {
 | 
						|
    this.router.get('/share/:slug', ShareController.getMediaItemShareBySlug.bind(this))
 | 
						|
    this.router.get('/share/:slug/track/:index', ShareController.getMediaItemShareAudioTrack.bind(this))
 | 
						|
    this.router.get('/share/:slug/cover', ShareController.getMediaItemShareCoverImage.bind(this))
 | 
						|
    this.router.get('/share/:slug/download', ShareController.downloadMediaItemShare.bind(this))
 | 
						|
    this.router.patch('/share/:slug/progress', ShareController.updateMediaItemShareProgress.bind(this))
 | 
						|
    this.router.get('/session/:id/track/:index', SessionController.getTrack.bind(this))
 | 
						|
  }
 | 
						|
}
 | 
						|
module.exports = PublicRouter
 |