feat: questions union

Allows responses to include questionnaire questions of multiple versions
This commit is contained in:
Chris Milne 2026-06-11 13:38:14 +01:00
parent 38c26cca7b
commit 8925280f96
2 changed files with 10 additions and 4 deletions

View file

@ -22,7 +22,10 @@ from src.schemas import (
from src.contact.schemas import ContactModel
from src.organisation.constants import Status, ContactType
from src.organisation.schemas_questionnaires import QuestionnaireQuestionsVersion0
from src.organisation.schemas_questionnaires import (
QuestionnaireQuestionsVersion0 as CurrentQuestions,
questionnaire_union,
)
class QuestionnaireMetadata(CustomBaseModel):
@ -32,7 +35,7 @@ class QuestionnaireMetadata(CustomBaseModel):
class Questionnaire(CustomBaseModel):
metadata: QuestionnaireMetadata
questions: QuestionnaireQuestionsVersion0
questions: questionnaire_union
class ContactSummary(CustomBaseModel):
@ -53,7 +56,7 @@ class OrgSchema(OrgIDMixin):
class OrgPostOrgRequest(CustomBaseModel):
name: str
intake_questionnaire: Optional[QuestionnaireQuestionsVersion0] = None
intake_questionnaire: Optional[CurrentQuestions] = None
class OrgPostOrgResponse(CustomBaseModel):
@ -63,7 +66,7 @@ class OrgPostOrgResponse(CustomBaseModel):
class OrgPatchQuestionnaireRequest(OrgIDMixin):
intake_questionnaire: QuestionnaireQuestionsVersion0
intake_questionnaire: CurrentQuestions
partial: bool

View file

@ -11,3 +11,6 @@ class QuestionnaireQuestionsVersion0(QuestionnaireQuestions):
question_one: Optional[str] = None
question_two: Optional[str] = None
question_three: Optional[str] = None
questionnaire_union = QuestionnaireQuestionsVersion0 # | QuestionnaireQuestionsVersion1