Skip to content
Snippets Groups Projects
main.js 1.25 KiB
Newer Older
  • Learn to ignore specific revisions
  • Tobias Ullerich's avatar
    Tobias Ullerich committed
    const { InstanceBase, Regex, runEntrypoint, InstanceStatus } = require('@companion-module/base')
    const UpgradeScripts = require('./upgrades')
    const UpdateActions = require('./actions')
    const UpdateFeedbacks = require('./feedbacks')
    const UpdateVariableDefinitions = require('./variables')
    
    class ModuleInstance extends InstanceBase {
    	constructor(internal) {
    		super(internal)
    	}
    
    	async init(config) {
    		this.config = config
    
    		this.updateStatus(InstanceStatus.Ok)
    
    		this.updateActions() // export actions
    		this.updateFeedbacks() // export feedbacks
    		this.updateVariableDefinitions() // export variable definitions
    	}
    	// When module gets deleted
    	async destroy() {
    		this.log('debug', 'destroy')
    	}
    
    	async configUpdated(config) {
    		this.config = config
    	}
    
    	// Return config fields for web config
    	getConfigFields() {
    		return [
    			{
    				type: 'textinput',
    				id: 'host',
    				label: 'PlayWall IP',
    				width: 8,
    				regex: Regex.IP,
    			},
    			{
    				type: 'textinput',
    				id: 'port',
    				label: 'PlayWall Port',
    				width: 4,
    				regex: Regex.PORT,
    			},
    		]
    	}
    
    	updateActions() {
    		UpdateActions(this)
    	}
    
    	updateFeedbacks() {
    		UpdateFeedbacks(this)
    	}
    
    	updateVariableDefinitions() {
    		UpdateVariableDefinitions(this)
    	}
    }
    
    runEntrypoint(ModuleInstance, UpgradeScripts)