Hoje eu comecei o dia finalizando a implementação do repositório do modelo PlaceSuggestion.
E hoje eu tive o primeiro commit de um refactor meu, como eu adicionei o modelo do usuário e troquei o nome de um campo do modelo PendingReview, eu tive de mudar o código em 2 lugares por conta disto.
Isso é algo ruim da forma do actix-web, ele não é inteligente o suficiente para utilizar um único modelo tanto para inserção quanto para leitura. Então quando mudei o modelo, precisei mudar o código do modelo e também este modelo abaixo de inserção:

Apesar das vantagens da clareza de se ter um modelo de inserção, tive essa desvantagem de precisar modificar em mais de um lugar.
Contudo, é aqui que brilhou algo do rust: o compilador. Ele notificou todos os lugares (porque o diesel é fortemente tipado), que aquele campo que se referencia à (tem o macro diesel(table_name = X) ali em cima).
Isso é muito massa, pois eu não consegui compilar o código pois meu modelo de inserção ” NewPendingReview” tinha um campo que não tinha um equivalente na tabela. Esse foi o aprendizado de hoje.