mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	* Formatting updates * Add: backup completion notification * Fix: comment for backup * Add: backup size units to notification * Add: failed backup notification * Add: calls to failed backup notification * Update: notification OpenAPI spec * Update notifications to first check if any are active for an event, update JS docs --------- Co-authored-by: advplyr <advplyr@protonmail.com>
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const { version } = require('../../package.json')
 | 
						|
 | 
						|
module.exports.notificationData = {
 | 
						|
  events: [
 | 
						|
    {
 | 
						|
      name: 'onPodcastEpisodeDownloaded',
 | 
						|
      requiresLibrary: true,
 | 
						|
      libraryMediaType: 'podcast',
 | 
						|
      description: 'Triggered when a podcast episode is auto-downloaded',
 | 
						|
      variables: ['libraryItemId', 'libraryId', 'podcastTitle', 'podcastAuthor', 'podcastDescription', 'podcastGenres', 'episodeTitle', 'episodeSubtitle', 'episodeDescription', 'libraryName', 'episodeId', 'mediaTags'],
 | 
						|
      defaults: {
 | 
						|
        title: 'New {{podcastTitle}} Episode!',
 | 
						|
        body: '{{episodeTitle}} has been added to {{libraryName}} library.'
 | 
						|
      },
 | 
						|
      testData: {
 | 
						|
        libraryItemId: 'li_notification_test',
 | 
						|
        libraryId: 'lib_test',
 | 
						|
        libraryName: 'Podcasts',
 | 
						|
        mediaTags: 'TestTag1, TestTag2',
 | 
						|
        podcastTitle: 'Abs Test Podcast',
 | 
						|
        podcastAuthor: 'Audiobookshelf',
 | 
						|
        podcastDescription: 'Description of the Abs Test Podcast belongs here.',
 | 
						|
        podcastGenres: 'TestGenre1, TestGenre2',
 | 
						|
        episodeId: 'ep_notification_test',
 | 
						|
        episodeTitle: 'Successful Test Episode',
 | 
						|
        episodeSubtitle: 'Episode Subtitle',
 | 
						|
        episodeDescription: 'Some description of the podcast episode.'
 | 
						|
      }
 | 
						|
    },
 | 
						|
    {
 | 
						|
      name: 'onBackupCompleted',
 | 
						|
      requiresLibrary: false,
 | 
						|
      description: 'Triggered when a backup is completed',
 | 
						|
      variables: ['completionTime', 'backupPath', 'backupSize', 'backupCount', 'removedOldest'],
 | 
						|
      defaults: {
 | 
						|
        title: 'Backup Completed',
 | 
						|
        body: 'Backup has been completed successfully.\n\nPath: {{backupPath}}\nSize: {{backupSize}} bytes\nCount: {{backupCount}}\nRemoved Oldest: {{removedOldest}}'
 | 
						|
      },
 | 
						|
      testData: {
 | 
						|
        completionTime: '12:00 AM',
 | 
						|
        backupPath: 'path/to/backup',
 | 
						|
        backupSize: '1.23 MB',
 | 
						|
        backupCount: '1',
 | 
						|
        removedOldest: 'false'
 | 
						|
      }
 | 
						|
    },
 | 
						|
    {
 | 
						|
      name: 'onBackupFailed',
 | 
						|
      requiresLibrary: false,
 | 
						|
      description: 'Triggered when a backup fails',
 | 
						|
      variables: ['errorMsg'],
 | 
						|
      defaults: {
 | 
						|
        title: 'Backup Failed',
 | 
						|
        body: 'Backup failed, check ABS logs for more information.\nError message: {{errorMsg}}'
 | 
						|
      },
 | 
						|
      testData: {
 | 
						|
        errorMsg: 'Example error message'
 | 
						|
      }
 | 
						|
    },
 | 
						|
    {
 | 
						|
      name: 'onTest',
 | 
						|
      requiresLibrary: false,
 | 
						|
      description: 'Event for testing the notification system',
 | 
						|
      variables: ['version'],
 | 
						|
      defaults: {
 | 
						|
        title: 'Test Notification on Abs {{version}}',
 | 
						|
        body: 'Test notificataion body for abs {{version}}.'
 | 
						|
      },
 | 
						|
      testData: {
 | 
						|
        version: 'v' + version
 | 
						|
      }
 | 
						|
    }
 | 
						|
  ]
 | 
						|
}
 |