Source code for clinvar_api.msg.query_response

"""Data structures for the status update query communication."""

import datetime
from enum import Enum
import typing

from pydantic import BaseModel
from pydantic.config import ConfigDict


[docs] class ErrorCode(Enum): SUCCESS = "0" PARTIAL_SUCCESS = "1" ALL_FAILURE = "2"
[docs] class ProcessingStatus(Enum): ERROR = "Error" SUCCESS = "Success"
[docs] class SubmissionStatusFile(BaseModel): """Type for ``SubmissionStatus`` entry ``actions[*].response[*].files[*]``.""" model_config = ConfigDict(frozen=True) #: File URL url: str
[docs] class SubmissionStatusObjectContent(BaseModel): """type for ``SubmissionStatusObjectContent`` entry in ``actions[*].response[*].objects[*].content``.""" model_config = ConfigDict(frozen=True) #: Processing status clinvarProcessingStatus: str #: Release status clinvarReleaseStatus: str
[docs] class SubmissionStatusObject(BaseModel): """Type for ``SubmissionStatusObject`` entry in ``actions[*].response[*].objects[*]``.""" model_config = ConfigDict(frozen=True) #: Optional object accession. accession: typing.Optional[str] #: Object content. content: SubmissionStatusObjectContent #: Target database, usually "clinvar" per the docs. targetDb: str
[docs] class SubmissionStatusResponseMessage(BaseModel): """Type for ``SubmissionStatusResponseMessage`` entry in ``actions[*].response[*].message``.""" model_config = ConfigDict(frozen=True) #: The error code. errorCode: typing.Optional[ErrorCode] #: The message severity. severity: str #: The message text. text: str
[docs] class SubmissionStatusResponse(BaseModel): """Type for ``SubmissionStatus`` entry ``actions[*].response[*]``.""" model_config = ConfigDict(frozen=True) #: Status, one of "processing", "processed", "error", status: str #: Files files: typing.List[SubmissionStatusFile] #: Message message: typing.Optional[SubmissionStatusResponseMessage] #: Objects objects: typing.List[SubmissionStatusObject]
[docs] class SubmissionStatusActions(BaseModel): """Type for ``SubmissionStatus`` entry ``actions[*]``.""" model_config = ConfigDict(frozen=True) #: Identifier of the submission id: str #: Entries in ``actions[*].responses``, only one entry per the docs. responses: typing.List[SubmissionStatusResponse] #: Status of the submission, one of "submitted", "processing", "processed", "error" status: str #: Target database, usually "clinvar" targetDb: str #: Last updated time updated: datetime.datetime
[docs] class SubmissionStatus(BaseModel): """Representation of server's response to a submission status query.""" model_config = ConfigDict(frozen=True) #: The list of actions (one element only by the docs). actions: typing.List[SubmissionStatusActions]