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

18 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 Organization 

5from ...services.jwt import jwt_required 

6from ...utils.organization import create_organization, get_organizations 

7 

8organization_router = APIRouter() 

9 

10 

11class GetOrgsResponse(BaseModel): 

12 organizations: list[Organization.Serialized] 

13 

14 

15class CreateOrgPayload(BaseModel): 

16 name: str 

17 

18 

19@organization_router.get( 

20 "/organizations", 

21 dependencies=[Depends(jwt_required)], 

22 response_model=GetOrgsResponse, 

23) 

24async def get_organizations_route(): 

25 organizations = await get_organizations() 

26 

27 return {"organizations": [x.serialize() for x in organizations]} 

28 

29 

30@organization_router.post("/organization", dependencies=[Depends(jwt_required)]) 

31async def create_organization_route(payload: CreateOrgPayload): 

32 await create_organization(payload.name) 

33 

34 return {"message": "Created"}