Skip to content

Commit cb11983

Browse files
authored
Merge pull request #486 from Police-Data-Accessibility-Project/mc_484_eliminate_contact_info_and_agency_meta_recrd_type
Add logic for synchronizing followed locations from Data Sources App
2 parents ae77cb4 + c068e3f commit cb11983

4 files changed

Lines changed: 38 additions & 0 deletions

File tree

src/external/pdap/impl/follows/__init__.py

Whitespace-only changes.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from pdap_access_manager import AccessManager, DataSourcesNamespaces, RequestInfo, RequestType, ResponseInfo
2+
3+
from src.external.pdap.impl.follows.response import GetFollowsResponse, LinkUserFollow
4+
5+
6+
async def get_user_followed_locations(
7+
access_manager: AccessManager,
8+
) -> GetFollowsResponse:
9+
10+
url: str = f"{access_manager.data_sources_url}/v3/v2/source-collector/follows"
11+
headers: dict[str, str] = await access_manager.jwt_header()
12+
request_info = RequestInfo(
13+
type_=RequestType.GET,
14+
url=url,
15+
headers=headers
16+
)
17+
response_info: ResponseInfo = await access_manager.make_request(request_info)
18+
return GetFollowsResponse(
19+
**response_info.data
20+
)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from pydantic import BaseModel
2+
3+
4+
class LinkUserFollow(BaseModel):
5+
user_id: int
6+
location_id: int
7+
8+
9+
class GetFollowsResponse(BaseModel):
10+
follows: list[LinkUserFollow]
11+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import pytest
2+
3+
4+
@pytest.mark.asyncio
5+
async def test_get_user_followed_locations(pdap_client_dev):
6+
response = await pdap_client_dev.get_user_followed_locations()
7+
print(response)

0 commit comments

Comments
 (0)