Atualmente temos definição de campos e validadores em 5 locais
cli (argumentos dos comandos)
UI (formulário wtforms)
Admin (Formulario wtform do admin)
API (reqparse do Flask_Restful)
Apidocs (YAML do flasgger)
Precisamos criar em um local base /definitions.py uma classe Python usando descriptor ou algo do tipo que seja capaz de a partir de um unico modelo gerar specs para esses 5 locais. ex: @definition.generate_cli_specs() para ser usado ao inves de @click.option no cli e um equivalente para os outros locais.
Essa solução pode se transformar em uma library de uso geral externa.
Atualmente temos definição de campos e validadores em 5 locais
Precisamos criar em um local base
/definitions.py
uma classe Python usando descriptor ou algo do tipo que seja capaz de a partir de um unico modelo gerar specs para esses 5 locais. ex:@definition.generate_cli_specs()
para ser usado ao inves de@click.option
no cli e um equivalente para os outros locais.Essa solução pode se transformar em uma library de uso geral externa.