def format_outbound()

in Backend/src/app/models.py [0:0]


    def format_outbound(self) -> schemas.OutboundSchema:
        def unnest_justificativa_object(justificativa_str):
            """helper function to transform justificativas as objects to NL"""
            try:
                justficativa_as_dict: dict = json.loads(justificativa_str)
                return "\n".join(justficativa_as_dict.values())
            except Exception as e:
                return justificativa_str

        return schemas.OutboundSchema(
            id=self.id_requisicao,
            criteria_2=schemas.CriteriaGrading(
                grade=self.competencia_2_nota,
                reason=unnest_justificativa_object(self.competencia_2_justificativa),
            ),
            criteria_3=schemas.CriteriaGrading(
                grade=self.competencia_3_nota,
                reason=unnest_justificativa_object(self.competencia_3_justificativa),
            ),
            criteria_4=schemas.CriteriaGrading(
                grade=self.competencia_4_nota,
                reason=unnest_justificativa_object(self.competencia_4_justificativa),
            ),
            criteria_5=schemas.CriteriaGrading(
                grade=self.competencia_5_nota,
                reason=unnest_justificativa_object(self.competencia_5_justificativa),
            ),
            final_reason=schemas.CriteriaGrading(
                grade=sum(
                    (
                        self.competencia_2_nota,
                        self.competencia_3_nota,
                        self.competencia_4_nota,
                        self.competencia_5_nota,
                    )
                ),
                reason=unnest_justificativa_object(
                    self.justificativa_final_justificativa
                ),
            ),
            status=self.status,
            Plagio=self.Plagio,
            Validacao=self.Validacao,
        )