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
« prev ^ index » next coverage.py v7.2.3, created at 2023-04-17 20:05 -0700
1"""
2Cube related APIs.
3"""
4import logging
6from fastapi import APIRouter, Depends
7from sqlmodel import Session
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
14_logger = logging.getLogger(__name__)
15router = APIRouter()
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