Coverage for dj/api/cubes.py: 100%

13 statements  

« prev     ^ index     » next       coverage.py v7.2.3, created at 2023-04-17 20:05 -0700

1""" 

2Cube related APIs. 

3""" 

4import logging 

5 

6from fastapi import APIRouter, Depends 

7from sqlmodel import Session 

8 

9from dj.api.helpers import get_node_by_name 

10from dj.models.cube import CubeRevisionMetadata 

11from dj.models.node import NodeType 

12from dj.utils import get_session 

13 

14_logger = logging.getLogger(__name__) 

15router = APIRouter() 

16 

17 

18@router.get("/cubes/{name}/", response_model=CubeRevisionMetadata) 

19def get_a_cube( 

20 name: str, *, session: Session = Depends(get_session) 

21) -> CubeRevisionMetadata: 

22 """ 

23 Get information on a cube 

24 """ 

25 node = get_node_by_name(session=session, name=name, node_type=NodeType.CUBE) 

26 return node.current