Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(Improve order flow) Fix workflow models #3671

Merged
merged 1 commit into from
Aug 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
from pydantic import Discriminator, Tag
from typing_extensions import Annotated

from cg.services.order_validation_service.models.case import Case
from cg.services.order_validation_service.workflows.balsamic.models.sample import BalsamicSample
from cg.services.order_validation_service.models.discriminators import has_internal_id
from cg.services.order_validation_service.models.existing_sample import ExistingSample
from cg.services.order_validation_service.workflows.balsamic.models.sample import (
BalsamicSample,
)

NewSample = Annotated[BalsamicSample, Tag("new")]
OldSample = Annotated[ExistingSample, Tag("existing")]


class BalsamicCase(Case):
samples: list[BalsamicSample]
cohorts: list[str] | None = None
samples: list[Annotated[NewSample | OldSample, Discriminator(has_internal_id)]]
synopsis: str | None = None
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
from pydantic import Discriminator, Tag
from typing_extensions import Annotated

from cg.services.order_validation_service.models.discriminators import has_internal_id
from cg.services.order_validation_service.models.existing_case import ExistingCase
from cg.services.order_validation_service.models.order_with_cases import OrderWithCases
from cg.services.order_validation_service.workflows.balsamic.constants import BalsamicDeliveryType
from cg.services.order_validation_service.workflows.balsamic.models.case import BalsamicCase
from cg.services.order_validation_service.workflows.balsamic.constants import (
BalsamicDeliveryType,
)
from cg.services.order_validation_service.workflows.balsamic.models.case import (
BalsamicCase,
)

NewCase = Annotated[BalsamicCase, Tag("new")]
OldCase = Annotated[ExistingCase, Tag("existing")]


class BalsamicOrder(OrderWithCases):
cases: list[BalsamicCase]
cases: list[Annotated[NewCase | OldCase, Discriminator(has_internal_id)]]
delivery_type: BalsamicDeliveryType
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
from pydantic import Discriminator, Tag
from typing_extensions import Annotated

from cg.services.order_validation_service.models.case import Case
from cg.services.order_validation_service.workflows.mip_dna.models.sample import MipDnaSample
from cg.services.order_validation_service.models.discriminators import has_internal_id
from cg.services.order_validation_service.models.existing_sample import ExistingSample
from cg.services.order_validation_service.workflows.mip_dna.models.sample import (
MipDnaSample,
)

NewSample = Annotated[MipDnaSample, Tag("new")]
OldSample = Annotated[ExistingSample, Tag("existing")]


class MipDnaCase(Case):
samples: list[MipDnaSample]
cohorts: list[str] | None = None
panels: list[str]
synopsis: str | None = None
samples: list[Annotated[NewSample | OldSample, Discriminator(has_internal_id)]]
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
from pydantic import Discriminator, Tag
from typing_extensions import Annotated

from cg.services.order_validation_service.models.discriminators import has_internal_id
from cg.services.order_validation_service.models.existing_case import ExistingCase
from cg.services.order_validation_service.models.order_with_cases import OrderWithCases
from cg.services.order_validation_service.workflows.mip_dna.models.case import MipDnaCase
from cg.services.order_validation_service.workflows.mip_dna.models.case import (
MipDnaCase,
)

NewCase = Annotated[MipDnaCase, Tag("new")]
OldCase = Annotated[ExistingCase, Tag("existing")]


class MipDnaOrder(OrderWithCases):
cases: list[MipDnaCase]
cases: list[Annotated[NewCase | OldCase, Discriminator(has_internal_id)]]
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from pydantic import Field

from cg.models.orders.sample_base import NAME_PATTERN, ControlEnum, SexEnum, StatusEnum
from cg.services.order_validation_service.constants import TissueBlockEnum
from cg.services.order_validation_service.models.sample import Sample
Expand All @@ -14,9 +15,9 @@ class MipDnaSample(Sample):
phenotype_groups: list[str] | None = None
phenotype_terms: list[str] | None = None
post_formalin_fixation_time: int | None = None
sex: SexEnum | None = None
source: str | None = None
status: StatusEnum | None = None
sex: SexEnum
source: str
status: StatusEnum
subject_id: str = Field(pattern=NAME_PATTERN, max_length=128)
tissue_block_size: TissueBlockEnum | None = None
concentration_ng_ul: float | None = None
Loading