mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-11-04 03:17:00 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const { DataTypes, Model } = require('sequelize')
 | 
						|
 | 
						|
const oldEmailSettings = require('../objects/settings/EmailSettings')
 | 
						|
const oldServerSettings = require('../objects/settings/ServerSettings')
 | 
						|
const oldNotificationSettings = require('../objects/settings/NotificationSettings')
 | 
						|
 | 
						|
module.exports = (sequelize) => {
 | 
						|
  class Setting extends Model {
 | 
						|
    static async getOldSettings() {
 | 
						|
      const settings = (await this.findAll()).map(se => se.value)
 | 
						|
 | 
						|
 | 
						|
      const emailSettingsJson = settings.find(se => se.id === 'email-settings')
 | 
						|
      const serverSettingsJson = settings.find(se => se.id === 'server-settings')
 | 
						|
      const notificationSettingsJson = settings.find(se => se.id === 'notification-settings')
 | 
						|
 | 
						|
      return {
 | 
						|
        settings,
 | 
						|
        emailSettings: new oldEmailSettings(emailSettingsJson),
 | 
						|
        serverSettings: new oldServerSettings(serverSettingsJson),
 | 
						|
        notificationSettings: new oldNotificationSettings(notificationSettingsJson)
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    static updateSettingObj(setting) {
 | 
						|
      return this.upsert({
 | 
						|
        key: setting.id,
 | 
						|
        value: setting
 | 
						|
      })
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  Setting.init({
 | 
						|
    key: {
 | 
						|
      type: DataTypes.STRING,
 | 
						|
      primaryKey: true
 | 
						|
    },
 | 
						|
    value: DataTypes.JSON
 | 
						|
  }, {
 | 
						|
    sequelize,
 | 
						|
    modelName: 'setting'
 | 
						|
  })
 | 
						|
 | 
						|
  return Setting
 | 
						|
} |