Skip to content

dependencies

Application dependency providers.

create_collection_dependencies

create_collection_dependencies()

Creates a dictionary of provides for pagination endpoints. Returns


dict[str, Provide]

provide_created_filter

provide_created_filter(
    before=Parameter(query="created-before", default=None, required=False),
    after=Parameter(query="created-after", default=None, required=False),
)

Return type consumed by Repository.filter_on_datetime_field().

Parameters

datetime | None

Filter for records updated before this date/time.

datetime | None

Filter for records updated after this date/time.

provide_filter_dependencies

provide_filter_dependencies(
    created_filter=Dependency(skip_validation=True),
    updated_filter=Dependency(skip_validation=True),
    id_filter=Dependency(skip_validation=True),
    limit_offset=Dependency(skip_validation=True),
)

Common collection route filtering dependencies. Add all filters to any route by including this function as a dependency, e.g:

@get
def get_collection_handler(filters: Filters) -> ...:
    ...

The dependency is provided at the application layer, so only need to inject the dependency where necessary.

Parameters

repository.CollectionFilter

Filter for scoping query to limited set of identities.

repository.BeforeAfter

Filter for scoping query to instance creation date/time.

repository.BeforeAfter

Filter for scoping query to instance update date/time.

repository.LimitOffset

Filter for query pagination.

Returns

list[FilterTypes] List of filters parsed from connection.

provide_id_filter

provide_id_filter(ids=Parameter(query='ids', default=None, required=False))

Return type consumed by Repository.filter_in_collection().

Parameters

list[UUID] | None

Parsed out of comma separated list of values in query params.

Returns

CollectionFilter[UUID]

provide_limit_offset_pagination

provide_limit_offset_pagination(
    page=Parameter(ge=1, default=1, required=False),
    page_size=Parameter(
        query="page-size", ge=1, default=settings.api.DEFAULT_PAGINATION_LIMIT, required=False
    ),
)

Return type consumed by Repository.apply_limit_offset_pagination(). Parameters


int

LIMIT to apply to select.

int

OFFSET to apply to select.

provide_updated_filter

provide_updated_filter(
    before=Parameter(query="updated-before", default=None, required=False),
    after=Parameter(query="updated-after", default=None, required=False),
)

Return type consumed by Repository.filter_on_datetime_field(). Parameters


datetime | None

Filter for records updated before this date/time.

datetime | None

Filter for records updated after this date/time.