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

19 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.database import Application 

5from ...services.jwt import jwt_required 

6from ...utils.application import create_application, get_applications 

7 

8application_router = APIRouter() 

9 

10 

11class GetOrgsResponse(BaseModel): 

12 applications: list[Application.Serialized] 

13 

14 

15class CreateAppPayload(BaseModel): 

16 name: str 

17 organizationID: str 

18 

19 

20@application_router.get( 

21 "/applications", 

22 dependencies=[Depends(jwt_required)], 

23 response_model=GetOrgsResponse, 

24) 

25async def get_applications_route(organizationID: str): 

26 applications = await get_applications(organizationID) 

27 

28 return {"applications": [x.serialize() for x in applications]} 

29 

30 

31@application_router.post("/application") 

32async def create_application_route(payload: CreateAppPayload): 

33 await create_application(payload.organizationID, payload.name) 

34 

35 return {"message": "Created"}