diff --git a/bc_obps/reporting/schema/report_verification.py b/bc_obps/reporting/schema/report_verification.py index ddf30891ad..1bfca44721 100644 --- a/bc_obps/reporting/schema/report_verification.py +++ b/bc_obps/reporting/schema/report_verification.py @@ -1,13 +1,21 @@ -from ninja import ModelSchema, Field +from typing import Optional, List +from ninja import ModelSchema +from pydantic import Field + from reporting.models import ReportVerification, ReportVerificationVisit -from typing import List -class BaseReportVerification(ModelSchema): +class ReportVerificationBase(ModelSchema): """ Base schema for shared fields in ReportVerification schemas """ + verification_body_name: str + accredited_by: str + scope_of_verification: str + threats_to_independence: bool + verification_conclusion: str + class Meta: model = ReportVerification fields = [ @@ -24,6 +32,11 @@ class ReportVerificationVisitSchema(ModelSchema): Schema for ReportVerificationVisit model """ + visit_name: str + visit_type: Optional[str] = Field(None) + is_other_visit: bool + visit_coordinates: str + class Meta: model = ReportVerificationVisit fields = [ @@ -34,22 +47,21 @@ class Meta: ] -class ReportVerificationIn(BaseReportVerification): +class ReportVerificationIn(ReportVerificationBase): """ Schema for the input of report verification data """ report_verification_visits: List[ReportVerificationVisitSchema] = Field(default_factory=list) - class Meta(BaseReportVerification.Meta): - fields = BaseReportVerification.Meta.fields + class Meta(ReportVerificationBase.Meta): + fields = ReportVerificationBase.Meta.fields -class ReportVerificationOut(BaseReportVerification): + +class ReportVerificationOut(ReportVerificationBase): """ Schema for the output of report verification data """ - report_verification_visits: List[ReportVerificationVisitSchema] = Field(default_factory=list) - - class Meta(BaseReportVerification.Meta): - fields = BaseReportVerification.Meta.fields + ['report_version'] + class Meta(ReportVerificationBase.Meta): + fields = ReportVerificationBase.Meta.fields + ['report_version']