diff --git a/CHANGELOG.md b/CHANGELOG.md index d87f84a..f4c183d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -182,25 +182,20 @@ e este projeto adere ao [Semantic Versioning](https://semver.org/lang/pt-BR/). - Atualizado payload da Edge Function para incluir `language_type` - Melhorada tipagem para suporte a múltiplos idiomas -## [1.4.0] - 2024-01-31 +## [1.4.0] - 2024-03-28 ### Adicionado -- Integração completa com a tabela `languages` do banco de dados -- Suporte para ícones de bandeira nos seletores de idioma -- Instruções específicas por idioma na interface -- Hook `useLanguages` para gerenciamento centralizado de idiomas - -### Modificado -- Removido `LANGUAGE_OPTIONS` hard coded do `StoryGenerator` -- Atualizado `CreateStoryPage` para usar `DEFAULT_LANGUAGE` do type -- Melhorada a validação de idiomas usando dados do banco -- Aprimorada a UX do seletor de idiomas com ícones e instruções +- Novas competências na análise de redações: + - Domínio da língua (0-200 pontos) + - Compreensão da proposta (0-200 pontos) + - Seleção de argumentos (0-200 pontos) + - Mecanismos linguísticos (0-200 pontos) + - Proposta de intervenção (0-200 pontos) ### Técnico -- Refatorado o sistema de idiomas para usar dados dinâmicos do banco -- Adicionada tipagem forte para dados de idioma -- Implementada validação robusta de códigos de idioma -- Melhorada a estrutura de componentes para suportar dados dinâmicos +- Adicionados novos campos na tabela `essay_analyses` para armazenar as competências +- Atualizada a função `analyze-essay` para salvar as notas e justificativas das competências +- Adicionada restrição para garantir que os valores das competências estejam entre 0 e 200 ## [1.5.0] - 2024-03-19 diff --git a/supabase/functions/analyze-essay/index.ts b/supabase/functions/analyze-essay/index.ts index e609d54..1bfa47e 100644 --- a/supabase/functions/analyze-essay/index.ts +++ b/supabase/functions/analyze-essay/index.ts @@ -504,7 +504,18 @@ Responda em formato JSON seguindo exatamente esta estrutura: .insert({ essay_id, overall_score: analysis.overall_score, - suggestions: analysis.suggestions + suggestions: analysis.suggestions, + // Campos de competências + language_domain_value: analysis.competencies.language_domain.value, + language_domain_justification: analysis.competencies.language_domain.justification, + proposal_comprehension_value: analysis.competencies.proposal_comprehension.value, + proposal_comprehension_justification: analysis.competencies.proposal_comprehension.justification, + argument_selection_value: analysis.competencies.argument_selection.value, + argument_selection_justification: analysis.competencies.argument_selection.justification, + linguistic_mechanisms_value: analysis.competencies.linguistic_mechanisms.value, + linguistic_mechanisms_justification: analysis.competencies.linguistic_mechanisms.justification, + intervention_proposal_value: analysis.competencies.intervention_proposal.value, + intervention_proposal_justification: analysis.competencies.intervention_proposal.justification }) .select() .single()