Conversation
| type: TaskType; | ||
| weekDays: DaysOfWeek; | ||
| accountId: string; | ||
| updatedAt?: Date; |
There was a problem hiding this comment.
o updatedAt e o createdAt são informações desnecessarias para o negocio então nãotem porque estar aqui
| } | ||
| const currentDate = new Date(); | ||
| currentDate.setHours(0, 0, 0, 0); | ||
| return parsedDate >= currentDate; |
There was a problem hiding this comment.
essa validação vai causar comflito pois ao recuperar do repository podem vir tasks com datas passadas e vai gerar falhas.
apenas quando é uma nova task que deve-se validar se a data é anterior a presente
| import TaskFinallyDateError from '../../error/invalid-final-date'; | ||
| import { CustomError } from '@/shared'; | ||
|
|
||
| export type Props = { |
There was a problem hiding this comment.
valores de objeto devem validar apenaas os dados necessarios para si, nesse caso, finallyDate, deve validar apenas a data, a comparação entre date e finallyDate é de responsanbilidade da entidade que orquestra esses dados.
O date e o finellyDate tem as mesmas validações pode criar um VO central de data para validar ambas, inclusive ja existe um em domain/value-objects/datetime que pose ser reaproveitado, crie outros metodos se preciso, como o que verifica se uma data é passada, esse metodo pode receber, opcionalmente, uma data base, caso contrario usa a data atual como padrão.
| "type" "TaskType" NOT NULL, | ||
| "weekDays" "DaysOfWeek"[], | ||
| "account_id" TEXT NOT NULL, | ||
| "updated_at" TIMESTAMPTZ(3) NOT NULL, |
There was a problem hiding this comment.
Eu comentei anteriormente que o updateAt e o createAt não são importantes para o negocio, isso não significa que não deve ser salvo no db.
No db esses dados devem ser mantidos para que futuramente, se necessario, tenhamos acesso
| }; | ||
| } | ||
|
|
||
| toJson() { |
There was a problem hiding this comment.
Por que achou necessario esse toJson?
| "@typescript-eslint/explicit-module-boundary-types": "off", | ||
| "@typescript-eslint/no-explicit-any": "off", | ||
| "no-console": "error", | ||
| "no-console": "off", |
There was a problem hiding this comment.
Colocar error pra manter o padrão pfv
Criado a entidade Task, seus objetos de valores e seus testes unitários.