dto.collections

Collection-related DTOs for SecretVaults API.

class CollectionDocumentDto(*, id: Uuid, type: Literal['standard', 'owned'], name: str)[source]

Bases: BaseModel

A summary of a collection, including its ID, type, and name.

id: Uuid
type: Literal['standard', 'owned']
name: str
class ListCollectionsResponse(*, data: List[CollectionDocumentDto])[source]

Bases: BaseModel

Response model for listing all collections.

data: List[CollectionDocumentDto]
class CreateCollectionRequest(*, _id: Uuid, type: Literal['standard', 'owned'], name: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=None, pattern=None)], schema: Dict[str, object])[source]

Bases: BaseModel

Request model for creating a new collection.

id: Uuid
type: Literal['standard', 'owned']
name: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=None, pattern=None)]
schema_data: Dict[str, object]
classmethod allow_id_or__id(data)[source]

Allow both ‘id’ and ‘_id’ fields for backward compatibility.

class DeleteCollectionRequestParams(*, id: Uuid)[source]

Bases: BaseModel

Request parameters for deleting a collection by ID.

id: Uuid
class CreateCollectionIndexRequest(*, collection: Uuid, name: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=4, max_length=None, pattern=None)], keys: List[Dict[str, Literal[1, -1]]], unique: bool, ttl: float | None = 0)[source]

Bases: BaseModel

Request model for creating an index on a collection.

collection: Uuid
name: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=4, max_length=None, pattern=None)]
keys: List[Dict[str, Literal[1, -1]]]
unique: bool
ttl: float | None
class CollectionIndexDto(*, v: int, key: Dict[str, str | int | float], name: str, unique: bool)[source]

Bases: BaseModel

Details of a collection index, including its name and uniqueness.

v: int
key: Dict[str, str | int | float]
name: str
unique: bool
class DropCollectionIndexParams(*, id: Uuid, name: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=4, max_length=50, pattern=None)])[source]

Bases: BaseModel

Request parameters for dropping a collection index by name.

id: Uuid
name: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=4, max_length=50, pattern=None)]
class ReadCollectionMetadataRequestParams(*, id: Uuid)[source]

Bases: BaseModel

Request parameters for reading collection metadata by ID.

id: Uuid
class CollectionMetadataDto(*, _id: Uuid, count: int, size: int, first_write: datetime, last_write: datetime, indexes: List[CollectionIndexDto])[source]

Bases: BaseModel

Metadata for a collection, including size, count, and indexes.

id: Uuid
count: int
size: int
first_write: datetime
last_write: datetime
indexes: List[CollectionIndexDto]
classmethod allow_id_or__id(data)[source]

Allow both ‘id’ and ‘_id’ fields for backward compatibility.

class ReadCollectionMetadataResponse(*, data: CollectionMetadataDto)[source]

Bases: BaseModel

Response model for reading collection metadata.

data: CollectionMetadataDto