Olá, John!
Pelo que você descreveu, parece que você está tentando enviar números decimais para um campo que está definido como inteiro no seu banco de dados PostgreSQL. Se a sua propriedade valorTotal e taxa estão definidas como number na entidade produto e você deseja que elas aceitem valores decimais, você precisa garantir que o tipo de dado no banco de dados seja compatível com números decimais.
No PostgreSQL, você pode usar os tipos DECIMAL ou NUMERIC para armazenar números com precisão decimal fixa, ou REAL e DOUBLE PRECISION para precisão decimal variável (números de ponto flutuante). Se você está usando um ORM (Object-Relational Mapping) como Sequelize, TypeORM ou similar, você deve verificar na documentação como definir esses tipos para suas entidades.
Por exemplo, se estiver usando TypeORM, você poderia definir suas propriedades assim:
@Entity()
export class Produto {
// ...
@Column({ type: 'decimal', precision: 10, scale: 2 })
valorTotal: number;
@Column({ type: 'decimal', precision: 5, scale: 2 })
taxa: number;
// ...
}
Aqui, precision é o número total de dígitos que o número pode ter, e scale é o número de dígitos após a vírgula.
Certifique-se de que, ao fazer a alteração no banco de dados, você também atualize suas entidades e migrações correspondentes para refletir essa mudança de tipo de dado.
Lembre-se de fazer um backup do seu banco de dados antes de realizar qualquer alteração de esquema para evitar perda de dados.
Espero ter ajudado e bons estudos!