Skip to content

Routes

interfaces.entity.routes

Summary

Entity REST handlers — thin API entry points for the entity resource, wired to openapi.yaml operationIds by the OpenAPI-first router. All handlers delegate to EntityCrudsService via request.app.state.db_resources.

Classes

Functions

create_entity async

create_entity(request: Request, body: dict)

Create a new entity.

Parameters:

Name Type Description Default
request Request

Incoming HTTP request; carries app.state.db_resources.

required
body dict

Entity payload forwarded to the service.

required

Returns:

Name Type Description
EntityDocument

The created entity.

delete_entity async

delete_entity(request: Request, id: str)

Delete an entity by id.

Parameters:

Name Type Description Default
request Request

Incoming HTTP request; carries app.state.db_resources.

required
id str

Entity id.

required

Returns:

Name Type Description
Response

Empty 204 response on successful delete.

Raises:

Type Description
HTTPException

404 when no entity matches the id.

get_entity async

get_entity(request: Request, id: str)

Get an entity by id.

Parameters:

Name Type Description Default
request Request

Incoming HTTP request; carries app.state.db_resources.

required
id str

Entity id.

required

Returns:

Name Type Description
EntityDocument

The matching entity.

Raises:

Type Description
HTTPException

404 when no entity matches the id.

list_entities async

1
2
3
list_entities(
    request: Request, skip: int = 0, limit: int = 100
)

List entities with pagination.

Parameters:

Name Type Description Default
request Request

Incoming HTTP request; carries app.state.db_resources.

required
skip int

Number of entities to skip (offset). Defaults to 0.

0
limit int

Maximum number of entities to return. Defaults to 100.

100

Returns:

Type Description

list[EntityDocument]: Matching entities from EntityCrudsService.search.

update_entity async

update_entity(request: Request, id: str, body: dict)

Update an entity by id.

Parameters:

Name Type Description Default
request Request

Incoming HTTP request; carries app.state.db_resources.

required
id str

Entity id.

required
body dict

Fields to update, forwarded to the service.

required

Returns:

Name Type Description
EntityDocument

The updated entity.

Raises:

Type Description
HTTPException

404 when no entity matches the id.

1
2
3
upload_entity_logo(
    request: Request, id: str, file: UploadFile
)

Upload a logo for an entity and persist it to the logo directory.

The file contents are hashed to derive a stable filename, written under LOGO_DIR, and the entity's logo field is updated with the served URL.

Parameters:

Name Type Description Default
request Request

Incoming HTTP request; carries app.state.db_resources.

required
id str

Entity id.

required
file UploadFile

Uploaded logo image.

required

Returns:

Name Type Description
dict

A mapping with keys id, url, logo, and status.

Raises:

Type Description
HTTPException

404 when no entity matches the id.