from zgw_consumers.models import Service from bptl.tasks.models import BaseTask from bptl.tasks.registry import register from ..clients import JSONClient, get_client as _get_client from ..services import get_alias_service logger = logging.getLogger(__name__) XENTIAL_ALIAS = "xential" DRC_ALIAS = "DRC" require_xential_service = register.require_service( APITypes.orc, description=_("The Xential API to use."), alias=XENTIAL_ALIAS, ) require_drc_service = register.require_service( APITypes.drc, description=_("The DRC API to use."), alias=DRC_ALIAS, ) class XentialClient(JSONClient): def __init__(self, service: Service, auth_header: Dict[str, str]): super().__init__(service, auth_header) self.cookie_header = self.set_cookie_header()
from django.utils.translation import gettext_lazy as _ from zgw_consumers.client import ZGWClient from zgw_consumers.constants import APITypes from bptl.credentials.api import get_credentials from bptl.tasks.base import BaseTask, check_variable from bptl.tasks.models import DefaultService from bptl.tasks.registry import register from bptl.work_units.zgw.client import ( # TODO: move exceptions to more generic place NoService, ) ALIAS = "kownsl" PROCESS_VAR_NAME = "bptlAppId" require_kownsl_service = register.require_service( APITypes.orc, description=_("The Kownsl instance to use."), alias=ALIAS) def get_client(task: BaseTask) -> ZGWClient: # find the configured service task_variables = task.get_variables() app_id = task_variables.get(PROCESS_VAR_NAME) topic_name = task.topic_name default_services = DefaultService.objects.filter( task_mapping__topic_name=topic_name, service__api_type=APITypes.orc, alias=ALIAS).select_related("service") if not default_services: raise NoService(
from django.utils.translation import gettext_lazy as _ from zgw_consumers.constants import APITypes from bptl.tasks.models import BaseTask from bptl.tasks.registry import register from ..clients import JSONClient, get_client as _get_client from ..services import get_alias_service logger = logging.getLogger(__name__) ALIAS = "zac" require_zac_service = register.require_service( APITypes.orc, description=_("The ZAC API to use."), alias=ALIAS, ) def get_client(task: BaseTask) -> "ZACClient": # get the service and credentials service = get_alias_service(task, ALIAS) return _get_client(task, service, cls=ZACClient) class ZACClient(JSONClient): pass
import warnings from django.utils.translation import gettext_lazy as _ from zgw_consumers.constants import APITypes from bptl.credentials.api import get_credentials from bptl.tasks.base import WorkUnit from bptl.tasks.models import DefaultService from bptl.tasks.registry import register from ..client import MultipleServices, NoAuth, NoService PROCESS_VAR_NAME = "bptlAppId" require_zrc = register.require_service(APITypes.zrc, description=_("The Zaken API to use.")) require_ztc = register.require_service( APITypes.ztc, description=_("The Catalogi API to use.")) require_drc = register.require_service( APITypes.drc, description=_("The Documenten API to use.")) require_brc = register.require_service( APITypes.brc, description=_("The Besluiten API to use.")) class ZGWWorkUnit(WorkUnit): def get_client(self, service_type: str): """ create ZGW client with requested parameters """ task_variables = self.task.get_variables() topic_name = self.task.topic_name
from django.utils.translation import gettext_lazy as _ from zgw_consumers.constants import APITypes from bptl.tasks.models import BaseTask from bptl.tasks.registry import register from ..clients import JSONClient, get_client as _get_client from ..services import get_alias_service logger = logging.getLogger(__name__) ALIAS = "brp" require_brp_service = register.require_service( APITypes.orc, description=_("The BRP API to use."), alias=ALIAS, ) def get_client(task: BaseTask) -> "BRPClient": # get the service and credentials service = get_alias_service(task, ALIAS) return _get_client(task, service, cls=BRPClient) class BRPClient(JSONClient): pass
from zgw_consumers.client import ZGWClient from zgw_consumers.constants import APITypes from zgw_consumers.models import Service from bptl.credentials.api import get_credentials from bptl.tasks.models import BaseTask, DefaultService from bptl.tasks.registry import register from ..clients import APP_ID_PROCESS_VAR_NAME from ..services import get_alias_service ALIAS = "ValidSignAPI" require_validsign_service = register.require_service( APITypes.orc, description=_("The ValidSign API to use."), alias=ALIAS, ) def get_client(task: BaseTask) -> ZGWClient: service = get_alias_service(task, ALIAS) client = service.build_client() client._log.task = task # set the auth if we have the bptlAppId set app_id = task.get_variables().get(APP_ID_PROCESS_VAR_NAME) if app_id: auth_headers = get_credentials(app_id, service)[service] if auth_headers:
from bptl.tasks.base import BaseTask, check_variable from bptl.tasks.registry import register from bptl.work_units.zgw.tasks.base import NoService from ..clients import get_client as _get_client from ..services import get_alias_service from .client import BRTClient # support old situation until 1.1 API_ROOT = "https://brt.basisregistraties.overheid.nl/api/v2" ALIAS = "BRT" require_brt_service = register.require_service( APITypes.orc, description=_("The BRT instance to use."), alias=ALIAS ) def get_brt_service(task: BaseTask) -> Service: """ Extract the BRT Service object to use for the client. """ try: return get_alias_service(task, ALIAS, service__api_type=APITypes.orc) except NoService: warnings.warn( "Falling back to static configuration, this support will be removed " "in BPTL 1.1", DeprecationWarning, )