Skip to content

feat(task): Creating task entity#11

Open
magnata19 wants to merge 3 commits into
devfrom
task
Open

feat(task): Creating task entity#11
magnata19 wants to merge 3 commits into
devfrom
task

Conversation

@magnata19

Copy link
Copy Markdown

Criado a entidade Task, seus objetos de valores e seus testes unitários.

type: TaskType;
weekDays: DaysOfWeek;
accountId: string;
updatedAt?: Date;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 = {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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() {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Por que achou necessario esse toJson?

Comment thread .eslintrc.json
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/no-explicit-any": "off",
"no-console": "error",
"no-console": "off",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Colocar error pra manter o padrão pfv

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants