app.model.export_audit_log module¶
- class app.model.export_audit_log.ExportAuditLog(*, id=<factory>, created_at=<factory>, updated_at=<factory>, apiKey_used=None, oauth_user_id=None, datasetType, format, filters, rowLimit, rowCount, status, requestedBy)[source]¶
Bases:
BaseModelRecords every data export request made through /v1/exports.
Written at the moment the streaming response starts so that interrupted downloads are still auditable.
- Parameters:
id (Annotated[str, FieldInfoMetadata(primary_key=PydanticUndefined, nullable=PydanticUndefined, foreign_key=PydanticUndefined, ondelete=PydanticUndefined, unique=PydanticUndefined, index=PydanticUndefined, sa_type=UUID(), sa_column=PydanticUndefined, sa_column_args=PydanticUndefined, sa_column_kwargs={'primary_key': True, 'index': True})])
created_at (Annotated[datetime, FieldInfoMetadata(primary_key=PydanticUndefined, nullable=PydanticUndefined, foreign_key=PydanticUndefined, ondelete=PydanticUndefined, unique=PydanticUndefined, index=PydanticUndefined, sa_type=DateTime(timezone=True), sa_column=PydanticUndefined, sa_column_args=PydanticUndefined, sa_column_kwargs={'server_default': <sqlalchemy.sql.functions.now at 0x7fa8900484a0; now>})])
updated_at (Annotated[datetime, FieldInfoMetadata(primary_key=PydanticUndefined, nullable=PydanticUndefined, foreign_key=PydanticUndefined, ondelete=PydanticUndefined, unique=PydanticUndefined, index=PydanticUndefined, sa_type=DateTime(timezone=True), sa_column=PydanticUndefined, sa_column_args=PydanticUndefined, sa_column_kwargs={'server_default': <sqlalchemy.sql.functions.now at 0x7fa88fa2a840; now>, 'onupdate': <sqlalchemy.sql.functions.now at 0x7fa88fa2ad20; now>})])
apiKey_used (Annotated[str | None, FieldInfoMetadata(primary_key=PydanticUndefined, nullable=True, foreign_key=apikey.apiKey, ondelete=PydanticUndefined, unique=PydanticUndefined, index=PydanticUndefined, sa_type=PydanticUndefined, sa_column=PydanticUndefined, sa_column_args=PydanticUndefined, sa_column_kwargs=PydanticUndefined)])
oauth_user_id (Annotated[str | None, FieldInfoMetadata(primary_key=PydanticUndefined, nullable=True, foreign_key=oauthusers.provider_user_id, ondelete=PydanticUndefined, unique=PydanticUndefined, index=PydanticUndefined, sa_type=PydanticUndefined, sa_column=PydanticUndefined, sa_column_args=PydanticUndefined, sa_column_kwargs=PydanticUndefined)])
- datasetType¶
Dataset exported (“users”, “user-points”, “user-interactions”, “wallet-transactions”).
- Type:
str
- format¶
Output format (“csv”, “xlsx”, “json”).
- Type:
str
- filters¶
Filter parameters used (gameId, taskId, dateFrom, dateTo, limit) serialized as JSON.
- Type:
dict
- rowLimit¶
Effective row cap applied to the query.
- Type:
int
- rowCount¶
Rows actually emitted; -1 while streaming, set on completion when the caller closes the stream cleanly.
- Type:
int
- status¶
One of “started”, “completed”, “failed”.
- Type:
str
- requestedBy¶
Best-effort identifier for who triggered it (oauth sub or api key prefix).
- Type:
str
- model_config: ClassVar[ConfigDict] = {'from_attributes': True, 'read_from_attributes': True, 'read_with_orm_mode': True, 'registry': PydanticUndefined, 'table': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].