'''Contains all networking constants for microservices to communicate to each other.'''

from env_info import is_running_locally

# run locally if env var ARTICONF_LOCAL=1
server = not is_running_locally()

#region Rabbit MQ
if server:
    RABBIT_MQ_HOSTNAME = 'rabbit-mq'
    RABBIT_MQ_PORT = 5672
else:
    RABBIT_MQ_HOSTNAME = 'articonf1.itec.aau.at'
    RABBIT_MQ_PORT = 30302

#endregion Rabbit MQ

#region Transaction Hub In
## Trace Retrieval
if server:
    TRACE_RETRIEVAL_HOSTNAME = 'trace-retrieval'
    TRACE_RETRIEVAL_REST_PORT = 80
    TRACE_RETRIEVAL_DB_HOSTNAME = f'{TRACE_RETRIEVAL_HOSTNAME}-db'
    TRACE_RETRIEVAL_DB_PORT = 27017
else:
    TRACE_RETRIEVAL_HOSTNAME = 'articonf1.itec.aau.at'
    TRACE_RETRIEVAL_REST_PORT = 30001
    TRACE_RETRIEVAL_DB_HOSTNAME = 'articonf1.itec.aau.at'
    TRACE_RETRIEVAL_DB_PORT = 30003

#endregion Transaction Hub In

#region Data Hub
## Semantic Linking
if server:
    SEMANTIC_LINKING_HOSTNAME = 'semantic-linking'
    SEMANTIC_LINKING_REST_PORT = 80
    SEMANTIC_LINKING_DB_HOSTNAME = f'{SEMANTIC_LINKING_HOSTNAME}-db'
    SEMANTIC_LINKING_DB_PORT = 27017
else:
    SEMANTIC_LINKING_HOSTNAME = 'articonf1.itec.aau.at'
    SEMANTIC_LINKING_REST_PORT = 30101
    SEMANTIC_LINKING_DB_HOSTNAME = 'articonf1.itec.aau.at'
    SEMANTIC_LINKING_DB_PORT = 30102

## Role Stage Discovery
if server:
    ROLESTAGE_DISCOVERY_HOSTNAME = 'role-stage-discovery'
    ROLESTAGE_DISCOVERY_REST_PORT = 80
    ROLESTAGE_DISCOVERY_DB_HOSTNAME = f'{ROLESTAGE_DISCOVERY_HOSTNAME}-db'
    ROLESTAGE_DISCOVERY_DB_PORT = 27017
else:
    ROLESTAGE_DISCOVERY_HOSTNAME = 'articonf1.itec.aau.at'
    ROLESTAGE_DISCOVERY_REST_PORT = 30103
    ROLESTAGE_DISCOVERY_DB_HOSTNAME = 'articonf1.itec.aau.at'
    ROLESTAGE_DISCOVERY_DB_PORT = 30104

#endregion Data Hub

#region Rest Gateway
if server:
    REST_GATEWAY_HOSTNAME = 'rest-gateway'
    REST_GATEWAY_REST_PORT = 80
    REST_GATEWAY_DB_HOSTNAME = f'{REST_GATEWAY_HOSTNAME}-db'
    REST_GATEWAY_DB_PORT = 27017
else:
    REST_GATEWAY_HOSTNAME = 'articonf1.itec.aau.at'
    REST_GATEWAY_REST_PORT = 30401
    REST_GATEWAY_DB_HOSTNAME = 'articonf1.itec.aau.at'
    REST_GATEWAY_DB_PORT = 30402

#endregion Rest Gateway    

#region Participation Hub
## Business Logic
if server:
    BUSINESS_LOGIC_HOSTNAME = 'business-logic'
    BUSINESS_LOGIC_DB_HOSTNAME = f'{BUSINESS_LOGIC_HOSTNAME}-db'
    BUSINESS_LOGIC_REST_PORT = 80
    BUSINESS_LOGIC_DB_PORT = 27017
else:
    BUSINESS_LOGIC_HOSTNAME = 'articonf1.itec.aau.at'
    BUSINESS_LOGIC_DB_HOSTNAME = 'articonf1.itec.aau.at'
    BUSINESS_LOGIC_REST_PORT = 30420
    BUSINESS_LOGIC_DB_PORT = 30421

#endregion Participation Hub
