# By: Riasat Ullah
# This file contains functions that will generate the context of configurations pages.

from constants import label_names as lbl
from translators import label_translator as lt


def get_datadog_authorization_context(lang):
    '''
    Context for the Datadog authorization page.
    '''
    page_labels = [lbl.det_select_service_to_integrate_with, lbl.err_integration_name_invalid,
                   lbl.err_service_count_zero, lbl.ins_integrate, lbl.ttl_authorization, lbl.ttl_integration_name]

    final_context = lt.get_context(page_labels, lang)
    return final_context


def get_freshdesk_user_login_context(lang):
    '''
    Context for confirming Freshdesk user login access to the TaskCall Freshdesk app.
    '''
    page_labels = [lbl.desc_freshdesk_user_login, lbl.err_freshdesk_organization_permission,
                   lbl.err_freshdesk_user_permission, lbl.ins_allow, lbl.ins_no, lbl.ttl_log_in]

    final_context = lt.get_context(page_labels, lang)
    return final_context


def get_google_chat_authorization_context(lang):
    '''
    Context for the Google Chat authorization page.
    '''
    page_labels = [lbl.det_select_service_to_integrate_with, lbl.err_integration_name_invalid,
                   lbl.err_service_count_zero, lbl.ins_integrate, lbl.ttl_authorization, lbl.ttl_integration_name]

    final_context = lt.get_context(page_labels, lang)
    return final_context


def get_microsoft_teams_authorization_context(lang):
    '''
    Context for the Microsoft Teams authorization page.
    '''
    page_labels = [lbl.det_select_service_to_integrate_with, lbl.err_integration_name_invalid,
                   lbl.err_service_count_zero, lbl.ins_integrate, lbl.ttl_authorization, lbl.ttl_integration_name]

    final_context = lt.get_context(page_labels, lang)
    return final_context


def get_sentry_authorization_context(lang):
    '''
    Context for the Sentry authorization page.
    '''
    page_labels = [lbl.det_select_service_to_integrate_with, lbl.err_integration_name_invalid,
                   lbl.err_service_count_zero, lbl.ins_integrate, lbl.ttl_authorization, lbl.ttl_integration_name]

    final_context = lt.get_context(page_labels, lang)
    return final_context


def get_zendesk_user_login_context(lang):
    '''
    Context for confirming Zendesk user login access to the TaskCall Zendesk app.
    '''
    page_labels = [lbl.desc_zendesk_user_login, lbl.err_zendesk_organization_permission,
                   lbl.err_zendesk_user_permission, lbl.ins_allow, lbl.ins_no, lbl.ttl_log_in]

    final_context = lt.get_context(page_labels, lang)
    return final_context
