@@ -1,5 +1,5 @@
 | 
			
		||||
import * as reflect from '@ccms/common/dist/reflect'
 | 
			
		||||
import { injectable } from '@ccms/container'
 | 
			
		||||
import { injectable, inject } from '@ccms/container'
 | 
			
		||||
 | 
			
		||||
import { NativePluginManager } from './native_plugin'
 | 
			
		||||
import { constants } from '../../constants'
 | 
			
		||||
@@ -41,6 +41,23 @@ export namespace server {
 | 
			
		||||
        tabComplete?(sender: string | any, input: string, index?: number): string[]
 | 
			
		||||
    }
 | 
			
		||||
    @injectable()
 | 
			
		||||
    export class ServerChecker {
 | 
			
		||||
        @inject(ServerType)
 | 
			
		||||
        private serverType: string
 | 
			
		||||
        check(servers: string[]) {
 | 
			
		||||
            // Not set servers -> allow
 | 
			
		||||
            if (!servers || !servers.length) return true
 | 
			
		||||
            // include !type -> deny
 | 
			
		||||
            let denyServers = servers.filter(svr => svr.startsWith("!"))
 | 
			
		||||
            if (denyServers.length !== 0) {
 | 
			
		||||
                return !denyServers.includes(`!${this.serverType}`)
 | 
			
		||||
            } else {
 | 
			
		||||
                // only include -> allow
 | 
			
		||||
                return servers.includes(this.serverType)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    @injectable()
 | 
			
		||||
    export abstract class ReflectServer implements server.Server {
 | 
			
		||||
        protected pipeline: any
 | 
			
		||||
        protected rootLogger: any
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user