dto.users

User-related DTOs for SecretVaults API.

class AclDto(*, grantee: Did, read: bool, write: bool, execute: bool)[source]

Bases: BaseModel

Access control list (ACL) entry specifying permissions for a grantee DID.

grantee: Did
read: bool
write: bool
execute: bool
class UserProfileLogEntry(*, op: str, collection: Uuid, acl: AclDto | None = None)[source]

Bases: BaseModel

A log entry for user profile operations, including collection and ACL.

op: str
collection: Uuid
acl: AclDto | None
class UserProfileDto(*, _id: Did, _created: datetime, _updated: datetime, logs: List[UserProfileLogEntry])[source]

Bases: BaseModel

Profile information for a user, including logs and timestamps.

id: Did
created: datetime
updated: datetime
logs: List[UserProfileLogEntry]
classmethod allow_id_or__id(data)[source]

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

class ReadUserProfileResponse(*, data: UserProfileDto)[source]

Bases: BaseModel

Response model for reading a user’s profile.

data: UserProfileDto
class ReadDataRequestParams(*, collection: Uuid, document: Uuid, subject: Uuid | None = None)[source]

Bases: BaseModel

Request parameters for reading a user’s data document.

collection: Uuid
document: Uuid
subject: Uuid | None
class OwnedDataDto(*, _id: Uuid, _created: datetime, _updated: datetime, _owner: Did, _acl: List[AclDto], **extra_data: Any)[source]

Bases: BaseModel

A data document owned by a user, including ACL and timestamps.

id: Uuid
created: datetime
updated: datetime
owner: Did
acl: List[AclDto]
class ReadDataResponse(*, data: OwnedDataDto)[source]

Bases: BaseModel

Response model for reading a user’s owned data document.

data: OwnedDataDto
class DataDocumentReference(*, builder: Did, collection: Uuid, document: Uuid)[source]

Bases: BaseModel

Reference to a data document, including builder, collection, and document IDs.

builder: Did
collection: Uuid
document: Uuid
class ListDataReferencesResponse(*, data: List[DataDocumentReference])[source]

Bases: BaseModel

Response model for listing all data document references for a user.

data: List[DataDocumentReference]
class GrantAccessToDataRequest(*, collection: Uuid, document: Uuid, acl: AclDto)[source]

Bases: BaseModel

Request model for granting access to a data document.

collection: Uuid
document: Uuid
acl: AclDto
class RevokeAccessToDataRequest(*, grantee: Did, collection: Uuid, document: Uuid)[source]

Bases: BaseModel

Request model for revoking access from a data document.

grantee: Did
collection: Uuid
document: Uuid
class DeleteDocumentRequestParams(*, collection: Uuid, document: Uuid)[source]

Bases: BaseModel

Request parameters for deleting a user’s data document.

collection: Uuid
document: Uuid
class UpdateUserDataRequest(*, document: Uuid, collection: Uuid, update: Dict[str, Any])[source]

Bases: BaseModel

Request model for updating a user’s data document.

document: Uuid
collection: Uuid
update: Dict[str, Any]