Skip to content

Commit

Permalink
Added kadastraalpersoonidentificatie endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
foarsitter committed Jun 21, 2023
1 parent b4f406f commit 32c25f6
Show file tree
Hide file tree
Showing 4 changed files with 109 additions and 0 deletions.
26 changes: 26 additions & 0 deletions src/kikinzage/client/asyncio.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import datetime
from types import TracebackType
from typing import Any
from typing import Optional
Expand Down Expand Up @@ -449,3 +450,28 @@ async def datuminformatie(
)

return await self.send(request, models.Datuminformatie)

async def kadastraalpersoonidentificatie_persoonsgegevens(
self,
geslachtsnaam: str,
voornamen: str,
geboortedatum: datetime.date,
voorvoegselsgeslachtsnaam: Optional[str] = None,
*,
klantreferentie: Union[str, UseClientDefault] = USE_CLIENT_DEFAULT,
gebruikeridentificatie: Optional[str] = None,
inkoopnummer: Optional[str] = None,
referentienummer: Optional[str] = None,
) -> models.KadastraalPersoonIdentificatie:
request = self.request_kadastraalpersoonidentificatie_persoonsgegevens(
geslachtsnaam=geslachtsnaam,
voornamen=voornamen,
geboortedatum=geboortedatum,
voorvoegselsgeslachtsnaam=voorvoegselsgeslachtsnaam,
klantreferentie=klantreferentie,
gebruikeridentificatie=gebruikeridentificatie,
inkoopnummer=inkoopnummer,
referentienummer=referentienummer,
)

return await self.send(request, models.KadastraalPersoonIdentificatie)
27 changes: 27 additions & 0 deletions src/kikinzage/client/base.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import datetime
from abc import ABC
from json import JSONDecodeError
from typing import Any
Expand Down Expand Up @@ -588,3 +589,29 @@ def request_datuminformatie(
url="datuminformatie",
params=params,
)

def request_kadastraalpersoonidentificatie_persoonsgegevens(
self,
geslachtsnaam: str,
voornamen: str,
geboortedatum: datetime.date,
voorvoegselsgeslachtsnaam: Optional[str] = None,
*,
klantreferentie: Union[str, UseClientDefault] = USE_CLIENT_DEFAULT,
gebruikeridentificatie: Optional[str] = None,
inkoopnummer: Optional[str] = None,
referentienummer: Optional[str] = None,
) -> Request:
params = self._create_params(
voorvoegselsgeslachtsnaam=voorvoegselsgeslachtsnaam,
klantreferentie=klantreferentie,
gebruikeridentificatie=gebruikeridentificatie,
inkoopnummer=inkoopnummer,
referentienummer=referentienummer,
)

return self.client.build_request(
method="GET",
url=f"kadastraalpersoonidentificatie/persoonsgegevens/{geslachtsnaam}/{voornamen}/{geboortedatum.isoformat()}",
params=params,
)
26 changes: 26 additions & 0 deletions src/kikinzage/client/default.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import datetime
from typing import Any
from typing import Optional
from typing import Type
Expand Down Expand Up @@ -436,3 +437,28 @@ def datuminformatie(
)

return self.send(request, models.Datuminformatie)

def kadastraalpersoonidentificatie_persoonsgegevens(
self,
geslachtsnaam: str,
voornamen: str,
geboortedatum: datetime.date,
voorvoegselsgeslachtsnaam: Optional[str] = None,
*,
klantreferentie: Union[str, UseClientDefault] = USE_CLIENT_DEFAULT,
gebruikeridentificatie: Optional[str] = None,
inkoopnummer: Optional[str] = None,
referentienummer: Optional[str] = None,
) -> models.KadastraalPersoonIdentificatie:
request = self.request_kadastraalpersoonidentificatie_persoonsgegevens(
geslachtsnaam=geslachtsnaam,
voornamen=voornamen,
geboortedatum=geboortedatum,
voorvoegselsgeslachtsnaam=voorvoegselsgeslachtsnaam,
klantreferentie=klantreferentie,
gebruikeridentificatie=gebruikeridentificatie,
inkoopnummer=inkoopnummer,
referentienummer=referentienummer,
)

return self.send(request, models.KadastraalPersoonIdentificatie)
30 changes: 30 additions & 0 deletions tests/test_kadastraalpersoonidentificatie.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import datetime

import pytest

from kikinzage.client import AsyncClient
from kikinzage.client import DefaultClient
from kikinzage.models import KadastraalPersoonIdentificatie


def test_persoonsgegevens(kik: DefaultClient) -> None:
response = kik.kadastraalpersoonidentificatie_persoonsgegevens(
geslachtsnaam="Geslachtsnaam",
voornamen="Voornamen",
voorvoegselsgeslachtsnaam="van",
geboortedatum=datetime.date(2000, 1, 1),
)

assert isinstance(response, KadastraalPersoonIdentificatie)


@pytest.mark.asyncio
async def test_persoonsgegevens_async(akik: AsyncClient) -> None:
response = await akik.kadastraalpersoonidentificatie_persoonsgegevens(
geslachtsnaam="Geslachtsnaam",
voornamen="Voornamen",
voorvoegselsgeslachtsnaam="van",
geboortedatum=datetime.date(2000, 1, 1),
)

assert isinstance(response, KadastraalPersoonIdentificatie)

0 comments on commit 32c25f6

Please sign in to comment.