diff --git a/pyispyb/core/modules/events.py b/pyispyb/core/modules/events.py index affd00ec..9ca3c0e2 100644 --- a/pyispyb/core/modules/events.py +++ b/pyispyb/core/modules/events.py @@ -47,6 +47,8 @@ class EntityType: models.DataCollection.DataCollectionGroup, models.DataCollectionGroup.Workflow, ], + models.DataCollection.SSXDataCollection, + models.DataCollection.Detector, ], ), "robot": EntityType( diff --git a/pyispyb/core/schemas/datacollections.py b/pyispyb/core/schemas/datacollections.py index 4e1d1075..57eadc46 100644 --- a/pyispyb/core/schemas/datacollections.py +++ b/pyispyb/core/schemas/datacollections.py @@ -5,6 +5,10 @@ from pydantic import BaseModel, Field +from pydantic_sqlalchemy import sqlalchemy_to_pydantic + +from ispyb import models + class Workflow(BaseModel): workflowId: int @@ -42,7 +46,8 @@ class Config: class DataCollectionGroup(BaseModel): dataCollectionGroupId: int - experimentType: str + experimentType: Optional[str] + blSampleId: Optional[int] Workflow: Optional[Workflow] @@ -128,6 +133,13 @@ class DataCollectionBase(BaseModel): xBeamPix: Optional[float] = Field(title="Beam size X", unit="pixels") yBeamPix: Optional[float] = Field(title="Beam size Y", unit="pixels") + undulatorGap1: Optional[float] + undulatorGap2: Optional[float] + undulatorGap3: Optional[float] + beamShape: Optional[str] + polarisation: Optional[float] + imagePrefix: Optional[str] + # EM magnification: Optional[int] = Field(title="Magnification", unit="x") binning: Optional[int] = Field(title="Binning") @@ -155,6 +167,8 @@ class DataCollection(DataCollectionBase): DataCollectionGroup: DataCollectionGroup GridInfo: Optional[list[GridInfo]] + SSXDataCollection: Optional[sqlalchemy_to_pydantic(models.SSXDataCollection)] + Detector: Optional[sqlalchemy_to_pydantic(models.Detector)] metadata: DataCollectionMetaData = Field(alias="_metadata") diff --git a/requirements.txt b/requirements.txt index 750fe688..2b3fc173 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -ispyb-models==1.0.6 +ispyb-models==1.1.0 fastapi pydantic[dotenv]