# By: Riasat Ullah
# This file contains all variables and integrations for the Jira integration.

from constants import static_vars, var_names
from taskcallweb import settings


# jira s3 credential file variables
jira_s3_bucket = 'taskcall-prod-data'
jira_s3_key = 'credentials/jira_credentials.json'

# jira url paths
jira_cloud_oauth_path_format = 'https://auth.atlassian.com/authorize?audience=api.atlassian.com&client_id={0}&' +\
                               'scope=offline_access%20read%3Ajira-user%20read%3Ajira-work%20write%3Ajira-work%20' +\
                               'manage%3Ajira-webhook%20manage%3Ajira-project%20manage%3Ajira-configuration&' +\
                               'redirect_uri=https%3A%2F%2Fapp.taskcallapp.com%2Fconfigurations%2Fservices%2F' +\
                               'integrations%2Fjira-cloud%2Fauthorize&state={1}&response_type=code&prompt=consent'

jira_cloud_id_retrieval_path = 'https://api.atlassian.com/oauth/token/accessible-resources'
jira_taskcall_callback_url = 'https://app.taskcallapp.com/configurations/services/integrations/jira-cloud/authorize'
jira_token_retrieval_path = 'https://auth.atlassian.com/oauth/token'

# string variable names
str_jira_access_token = 'access_token'
str_jira_client_id = 'client_id'
str_jira_client_secret = 'client_secret'
str_jira_code = 'code'
str_jira_grant_type = 'grant_type'
str_jira_id = 'id'
str_jira_redirect_uri = 'redirect_uri'
str_jira_refresh_token = 'refresh_token'


def get_web_path_us_tc_jira_cloud_authorization(code, state):
    ref_dict = static_vars.regional_urls
    if settings.TEST_SERVER:
        ref_dict = static_vars.regional_test_server_urls
    path = ref_dict[static_vars.aws_us_ohio][var_names.redirect_base] + \
        '/configurations/services/integrations/jira-cloud/authorize?code={0}&state={1}'.format(code, state)
    return path
