Skip to content

pixano.app.routers.views

create_view(dataset_id, table, id, view, settings) async

Add an view in a table of a dataset.

Parameters:

Name Type Description Default
dataset_id str

Dataset ID containing the table.

required
table str

Table name.

required
id str

ID of the view.

required
view ViewModel

View to add.

required
settings Annotated[Settings, Depends(get_settings)]

App settings.

required

Returns:

Type Description
ViewModel

The view added.

Source code in pixano/app/routers/views.py
@router.post("/{dataset_id}/{table}/{id}", response_model=ViewModel)
async def create_view(
    dataset_id: str,
    table: str,
    id: str,
    view: ViewModel,
    settings: Annotated[Settings, Depends(get_settings)],
) -> ViewModel:
    """Add an view in a table of a dataset.

    Args:
        dataset_id: Dataset ID containing the table.
        table: Table name.
        id: ID of the view.
        view: View to add.
        settings: App settings.

    Returns:
        The view added.
    """
    return await create_row_handler(dataset_id, SchemaGroup.VIEW, table, id, view, settings)

create_views(dataset_id, table, views, settings) async

Add views in a table of a dataset.

Parameters:

Name Type Description Default
dataset_id str

Dataset ID containing the table.

required
table str

Table name.

required
views list[ViewModel]

Views to add.

required
settings Annotated[Settings, Depends(get_settings)]

App settings.

required

Returns:

Type Description
list[ViewModel]

List of views added.

Source code in pixano/app/routers/views.py
@router.post("/{dataset_id}/{table}/", response_model=list[ViewModel])
async def create_views(
    dataset_id: str,
    table: str,
    views: list[ViewModel],
    settings: Annotated[Settings, Depends(get_settings)],
) -> list[ViewModel]:
    """Add views in a table of a dataset.

    Args:
        dataset_id: Dataset ID containing the table.
        table: Table name.
        views: Views to add.
        settings: App settings.

    Returns:
        List of views added.
    """
    return await create_rows_handler(dataset_id, SchemaGroup.VIEW, table, views, settings)

delete_view(dataset_id, table, id, settings) async

Delete an view from a table of a dataset.

Parameters:

Name Type Description Default
dataset_id str

Dataset ID containing the table.

required
table str

Table name.

required
id str

ID of the view to delete.

required
settings Annotated[Settings, Depends(get_settings)]

App settings.

required
Source code in pixano/app/routers/views.py
@router.delete("/{dataset_id}/{table}/{id}")
async def delete_view(
    dataset_id: str, table: str, id: str, settings: Annotated[Settings, Depends(get_settings)]
) -> None:
    """Delete an view from a table of a dataset.

    Args:
        dataset_id: Dataset ID containing the table.
        table: Table name.
        id: ID of the view to delete.
        settings: App settings.
    """
    return await delete_row_handler(dataset_id, SchemaGroup.VIEW, table, id, settings)

delete_views(dataset_id, table, ids, settings) async

Delete views from a table of a dataset.

Parameters:

Name Type Description Default
dataset_id str

Dataset ID containing the table.

required
table str

Table name.

required
ids Annotated[list[str], Query()]

IDs of the views to delete.

required
settings Annotated[Settings, Depends(get_settings)]

App settings.

required
Source code in pixano/app/routers/views.py
@router.delete("/{dataset_id}/{table}/")
async def delete_views(
    dataset_id: str,
    table: str,
    ids: Annotated[list[str], Query()],
    settings: Annotated[Settings, Depends(get_settings)],
) -> None:
    """Delete views from a table of a dataset.

    Args:
        dataset_id: Dataset ID containing the table.
        table: Table name.
        ids: IDs of the views to delete.
        settings: App settings.
    """
    return await delete_rows_handler(dataset_id, SchemaGroup.VIEW, table, ids, settings)

get_view(dataset_id, table, id, settings) async

Get an view from a table of a dataset.

Parameters:

Name Type Description Default
dataset_id str

Dataset ID containing the table.

required
table str

Table name.

required
id str

ID of the view.

required
settings Annotated[Settings, Depends(get_settings)]

App settings.

required

Returns:

Type Description
ViewModel

The view.

Source code in pixano/app/routers/views.py
@router.get("/{dataset_id}/{table}/{id}", response_model=ViewModel)
async def get_view(
    dataset_id: str, table: str, id: str, settings: Annotated[Settings, Depends(get_settings)]
) -> ViewModel:
    """Get an view from a table of a dataset.

    Args:
        dataset_id: Dataset ID containing the table.
        table: Table name.
        id: ID of the view.
        settings: App settings.

    Returns:
        The view.
    """
    return await get_row_handler(dataset_id, SchemaGroup.VIEW, table, id, settings)

get_views(dataset_id, table, settings, ids=Query(None), limit=None, skip=0, where=None, item_ids=Query(None)) async

Get views from a table of a dataset.

They can be filtered by IDs, item IDs, a where clause or paginated.

Parameters:

Name Type Description Default
dataset_id str

Dataset ID containing the table.

required
table str

Table name.

required
settings Annotated[Settings, Depends(get_settings)]

App settings.

required
ids list[str] | None

IDs of the views.

Query(None)
limit int | None

Limit number of views.

None
skip int

Skip number of views.

0
where str | None

Where clause.

None
item_ids list[str] | None

Item IDs.

Query(None)

Returns:

Type Description
list[ViewModel]

List of views.

Source code in pixano/app/routers/views.py
@router.get("/{dataset_id}/{table}/", response_model=list[ViewModel])
async def get_views(
    dataset_id: str,
    table: str,
    settings: Annotated[Settings, Depends(get_settings)],
    ids: list[str] | None = Query(None),
    limit: int | None = None,
    skip: int = 0,
    where: str | None = None,
    item_ids: list[str] | None = Query(None),
) -> list[ViewModel]:
    """Get views from a table of a dataset.

    They can be filtered by IDs, item IDs, a where clause or paginated.

    Args:
        dataset_id: Dataset ID containing the table.
        table: Table name.
        settings: App settings.
        ids: IDs of the views.
        limit: Limit number of views.
        skip: Skip number of views.
        where: Where clause.
        item_ids: Item IDs.

    Returns:
        List of views.
    """
    return await get_rows_handler(
        dataset_id=dataset_id,
        group=SchemaGroup.VIEW,
        table=table,
        settings=settings,
        where=where,
        ids=ids,
        item_ids=item_ids,
        limit=limit,
        skip=skip,
    )

update_view(dataset_id, table, id, view, settings) async

Update an view in a table of a dataset.

Parameters:

Name Type Description Default
dataset_id str

Dataset ID containing the table.

required
table str

Table name.

required
id str

ID of the view.

required
view ViewModel

View to update.

required
settings Annotated[Settings, Depends(get_settings)]

App settings.

required

Returns:

Type Description
ViewModel

The view updated.

Source code in pixano/app/routers/views.py
@router.put("/{dataset_id}/{table}/{id}", response_model=ViewModel)
async def update_view(
    dataset_id: str,
    table: str,
    id: str,
    view: ViewModel,
    settings: Annotated[Settings, Depends(get_settings)],
) -> ViewModel:
    """Update an view in a table of a dataset.

    Args:
        dataset_id: Dataset ID containing the table.
        table: Table name.
        id: ID of the view.
        view: View to update.
        settings: App settings.

    Returns:
        The view updated.
    """
    return await update_row_handler(dataset_id, SchemaGroup.VIEW, table, id, view, settings)

update_views(dataset_id, table, views, settings) async

Update views in a table of a dataset.

Parameters:

Name Type Description Default
dataset_id str

Dataset ID containing the table.

required
table str

Table name.

required
views list[ViewModel]

Views to update.

required
settings Annotated[Settings, Depends(get_settings)]

App settings.

required

Returns:

Type Description
list[ViewModel]

List of views updated.

Source code in pixano/app/routers/views.py
@router.put("/{dataset_id}/{table}/", response_model=list[ViewModel])
async def update_views(
    dataset_id: str,
    table: str,
    views: list[ViewModel],
    settings: Annotated[Settings, Depends(get_settings)],
) -> list[ViewModel]:
    """Update views in a table of a dataset.

    Args:
        dataset_id: Dataset ID containing the table.
        table: Table name.
        views: Views to update.
        settings: App settings.

    Returns:
        List of views updated.
    """
    return await update_rows_handler(dataset_id, SchemaGroup.VIEW, table, views, settings)