wisemonkeys-co / wise-billing

Wise Monkeys Online Charging System
0 stars 0 forks source link

Correção de componente de inserção em coleções chave/valor #135

Closed paulowhyte closed 2 months ago

paulowhyte commented 3 months ago

Descrição

Para o banco de dados vazio a inserção de novas chaves/valores não funciona

Objetivos

Serviços

Tarefas relacionadas aos serviços/domínios:

Detalhamento

Screenshot 2024-07-04 at 11 37 44

athmatias commented 3 months ago

@paulowhyte nós precisamos definir um esquema para cada um desses componentes de crud, o component hoje assume que temos dados no banco (pelo menos 1 row) e cria os campos de form bem como as colunas de acordo com esse arranjo.

Como o banco é vazio não temos nenhuma row na collection e logo não temos nenhum meio de "deduzir" o schema.

Existem duas maneiras que pensei em fazer essa tarefa:

1 - A forma mais trabalhosa e menos segura é criar o esquema pelo frontend, ai teríamos um modal que iria abrir quando clicarmos no + e ao invés do modal convencional, abriria esse modal de definição do esquema, o backend valida o esquema dessas tabelas dinâmicas? O problema disso seria as validações iniciais pois teríamos que guiar o usuário sobre qual o tipo de cada campo ele estaria criando (string, number, object etc). Isso abre brechas de segurança para inserir scripts maliciosos, ai o trabalho extra para sanitizar tudo antes de enviar ao backend.

2 - Teriamos uma tabela de esquemas onde o FE iria receber esses esquemas e iria montar as tabelas e forms de acordo com o esquema definido no BE, mais seguro e só teria que receber esse esquema via um GET schemes por exemplo.

Se você tiver algum outra sugestão ou direcionamento é só me falar.

alvarobhz commented 2 months ago

Homologação

ícone de criar funcionado após a limpeza da collection. Criado um provedor "teste" para validação
Screenshot from 2024-08-19 16-19-37