from dbconnectors.CommonDB import CommonDB
import settings

class AccessController:
    
    def __init__(self, auth_token, logger_id):
        #settings.logger.info('AccessController initialized 1')
        self.auth_token = auth_token
        self.default_db = None
        self.logger_id = logger_id
        self.db_connector = CommonDB(settings.hostname, settings.username, settings.psw, settings.commondb)
        self.db_connector.connect()
        #settings.logger.info('AccessController initialized 2')
   
    # make a call to the authentication table in the DB and check if the token and user exist
    def check_auth(self):

        res = self.db_connector.checkToken(self.auth_token)

        if res!=None:
            self.default_db = res[1]
            return True
        else:
            return False
    
    def get_routing_info(self):
        
        return self.db_connector.get_routing_data(self.logger_id, self.default_db, self.auth_token)

    def check_logger(self):
        
        res = self.db_connector.checkLoggerId(self.logger_id, self.auth_token)
        
        if res:
            return True
        else:
            return False
        
    def disconnect(self):
        self.db_connector.disconnect()
