Coverage for microservice_websocket/app/blueprints/api/external_archiviation.py: 100%

21 statements  

« prev     ^ index     » next       coverage.py v7.0.0, created at 2022-12-20 14:31 +0000

1from fastapi import APIRouter, Depends 

2from pydantic import BaseModel 

3 

4from ...services.jwt import jwt_required 

5from ...utils.external_archiviation import ( 

6 add_external_endpoint, 

7 delete_external_endpoint, 

8 get_external_endpoints, 

9) 

10 

11ext_arch_router = APIRouter() 

12 

13 

14class GetExternalResponse(BaseModel): 

15 endpoints: list[str] 

16 

17 

18class ExternalPayload(BaseModel): 

19 endpoint: str 

20 

21 

22@ext_arch_router.get( 

23 "/external-archiviations", 

24 dependencies=[Depends(jwt_required)], 

25 response_model=GetExternalResponse, 

26) 

27def get_external_endpoint_route(): 

28 endpoints = get_external_endpoints() 

29 

30 return {"endpoints": endpoints} 

31 

32 

33@ext_arch_router.post("/external-archiviation", dependencies=[Depends(jwt_required)]) 

34def add_external_endpoint_route(payload: ExternalPayload): 

35 add_external_endpoint(payload.endpoint) 

36 

37 return {"message": "Inserted"} 

38 

39 

40@ext_arch_router.delete( 

41 "/external-archiviation/{endpoint}", dependencies=[Depends(jwt_required)] 

42) 

43def delete_external_endpoint_route(endpoint: str): 

44 delete_external_endpoint(endpoint) 

45 

46 return {"message": "Deleted"}