The-Bugger-Ducks / owl-partners-back

API do projeto "Owl Partners" (5º DSM - 2023, FATEC Profº Jessen Vidal - SJC)
https://owlpartners.onrender.com/api
2 stars 0 forks source link

[#0302] Adicionar comentários de atualização de uma parceria #12

Closed gioliveirass closed 1 year ago

gioliveirass commented 1 year ago

Descrição da atividade

Criar rota para adicionar comentários de atualização em parceria.

Informações para execução da atividade

Os comentários devem possuir as seguintes informações:

Somente o usuário administrador pode inserir comentários, mas todos no sistema podem ler. Somente o dono do comentário pode editar o comentário.

DoR

DoD

GabrielCamargoL commented 1 year ago

Documentação

Descrição

Criar rota para adicionar comentários de atualização em parceria.

Informações para execução da atividade

Os comentários devem possuir as seguintes informações:

Somente o usuário administrador pode inserir comentários, mas todos no sistema podem ler. Somente o dono do comentário pode editar o comentário.

Tecnologias

NestJS, Prisma, PostgresSQL e Insomnia

adicionar comentarios/notações sobre um parceiro

URL: domain.api.com.br/partners/comment Method: POST


@Post('comment')
  async addComment(@Body() commentData: CreateCommentDTO) {
    return await this.partnerCommentService.addComment(commentData);
  }

  async addComment(comment: CreateCommentDTO) {
    return await this.prismaService.partnerComment.create({
      data: comment
    })
  }

export class CreateCommentDTO {

  @IsNotEmpty({ message: 'O id do parceiro(partnerID) precisa ser fornecido.' })
  @ApiProperty()
  partnerId: string

  @IsNotEmpty({ message: 'O id do usuário(userID) precisa ser fornecido' })
  @ApiProperty()
  userId: string

  @IsNotEmpty({ message: 'O id do usuário(userID) precisa ser fornecido' })
  @ApiProperty()
  comment: string

  @IsNotEmpty({ message: 'O tipo do comentário(commentType) deve ser fornecido.' })
  @IsEnum(CommentType, { message: "O tipo do comentario(commentType) deve ser 'ATUALIZACAO' ou 'ANOTACAO'." })
  @ApiProperty()
  commentType: CommentType
}

model PartnerComment {
  id String @id @default(uuid())

  Partner   Partner? @relation(fields: [partnerId], references: [id])
  partnerId String?
  User      User?    @relation(fields: [userId], references: [id])
  userId    String?

  comment     String
  commentType partnerCommentsType

  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt

  @@map("partner_comments")
}

enum partnerCommentsType {
  ATUALIZACAO
  ANOTACAO
}
drisabelles commented 1 year ago

@gioliveirass

gioliveirass commented 1 year ago

@drisabelles ta aceito 🚀 assim que estiver testado e integrado pode passar pra done