# Fórum - Monit de Lavoura
## Retornar fórum
**GET** - /forum/:targetTable/:targetId
**⚠️ endpoint eager** - irá retornar toda as relações envolvidas no fórum, de comentários a anexos
| Parâmetro | Explicação |
| -------- | -------- |
| targetTable | Tabela que está referenciado o fórum em questão, ex: *Issue* |
| targetId | Id que será buscado para retornar o fórum, ex: *1* |
> OBS: Para a feature que entrará no Monitoramento de Lavoura usaremos sempre **targetTable**=Issue e **targetId**=id do chamado
**Retorno:**
```json
{
"id": 1,
"targetTable": "Issue",
"targetId": 1,
"createdAt": "2020-12-12T11:36:47.062Z",
"updatedAt": "2020-12-12T11:36:47.062Z",
"comments": [
{
"id": 1,
"message": "Um comentário pai com attachments",
"userId": 112,
"forumId": 1,
"forumCommentId": null,
"answerCommentId": null,
"createdAt": "2020-12-12T11:37:01.240Z",
"updatedAt": "2020-12-12T11:37:01.240Z",
"user_id": 112,
"answer_comment_id": null,
"forum_id": 1,
"user": {
"id": 112,
"name": "Adm",
"lastname": "reader",
"email": "adm@adm.com",
"password": "$2a$08$bHyu9JcJhLK7FAqNtNJSjuhLxwWMODKvGbD5Kxi4yy7IEB802BmYm",
"cpf": "00000000000",
"rg": "0",
"cellphone": "adm@adm.com",
"type": "ADM",
"enable": true,
"verificationCode": null,
"approved": true,
"company": 1,
"createdAt": "2020-05-11T06:37:56.743Z",
"updatedAt": "2020-05-11T06:37:56.743Z"
},
"attachments": [
{
"id": 1,
"file_uri": "https://maxxidata.s3.us-east-2.amazonaws.com/harvest/safra360-c97ae2ec3d6bd6a4d4d0203713fb4297-_.png",
"file_name": "_.png",
"createdAt": "2020-12-12T11:37:43.080Z",
"updatedAt": "2020-12-12T11:37:43.080Z"
},
{
"id": 2,
"file_uri": "https://maxxidata.s3.us-east-2.amazonaws.com/harvest/safra360-d682f7ce22f2b87febdf1d159b1fff87-_.png",
"file_name": "_.png",
"createdAt": "2020-12-12T11:38:35.286Z",
"updatedAt": "2020-12-12T11:38:35.286Z"
}
],
"answers": [
{
"id": 2,
"message": "Uma resposta a um comentário pai",
"userId": 112,
"forumId": 1,
"forumCommentId": 1,
"answerCommentId": 1,
"createdAt": "2020-12-12T11:37:19.091Z",
"updatedAt": "2020-12-12T11:37:19.091Z",
"user_id": 112,
"answer_comment_id": 1,
"forum_id": 1,
"user": {
"id": 112,
"name": "Adm",
"lastname": "reader",
"email": "adm@adm.com",
"password": "$2a$08$bHyu9JcJhLK7FAqNtNJSjuhLxwWMODKvGbD5Kxi4yy7IEB802BmYm",
"cpf": "00000000000",
"rg": "0",
"cellphone": "adm@adm.com",
"type": "ADM",
"enable": true,
"verificationCode": null,
"approved": true,
"company": 1,
"createdAt": "2020-05-11T06:37:56.743Z",
"updatedAt": "2020-05-11T06:37:56.743Z"
},
"answerComment": {
"id": 1,
"user": {
"id": 112,
"name": "Adm",
"lastname": "reader",
"email": "adm@adm.com",
"password": "$2a$08$bHyu9JcJhLK7FAqNtNJSjuhLxwWMODKvGbD5Kxi4yy7IEB802BmYm",
"cpf": "00000000000",
"rg": "0",
"cellphone": "adm@adm.com",
"type": "ADM",
"enable": true,
"verificationCode": null,
"approved": true,
"company": 1,
"createdAt": "2020-05-11T06:37:56.743Z",
"updatedAt": "2020-05-11T06:37:56.743Z"
}
},
"attachments": []
},
{
"id": 3,
"message": "Uma resposta a uma resposta de um comentário pai",
"userId": 112,
"forumId": 1,
"forumCommentId": 1,
"answerCommentId": 2,
"createdAt": "2020-12-12T11:37:32.181Z",
"updatedAt": "2020-12-12T11:37:32.181Z",
"user_id": 112,
"answer_comment_id": 2,
"forum_id": 1,
"user": {
"id": 112,
"name": "Adm",
"lastname": "reader",
"email": "adm@adm.com",
"password": "$2a$08$bHyu9JcJhLK7FAqNtNJSjuhLxwWMODKvGbD5Kxi4yy7IEB802BmYm",
"cpf": "00000000000",
"rg": "0",
"cellphone": "adm@adm.com",
"type": "ADM",
"enable": true,
"verificationCode": null,
"approved": true,
"company": 1,
"createdAt": "2020-05-11T06:37:56.743Z",
"updatedAt": "2020-05-11T06:37:56.743Z"
},
"answerComment": {
"id": 2,
"user": {
"id": 112,
"name": "Adm",
"lastname": "reader",
"email": "adm@adm.com",
"password": "$2a$08$bHyu9JcJhLK7FAqNtNJSjuhLxwWMODKvGbD5Kxi4yy7IEB802BmYm",
"cpf": "00000000000",
"rg": "0",
"cellphone": "adm@adm.com",
"type": "ADM",
"enable": true,
"verificationCode": null,
"approved": true,
"company": 1,
"createdAt": "2020-05-11T06:37:56.743Z",
"updatedAt": "2020-05-11T06:37:56.743Z"
}
},
"attachments": []
}
]
}
]
}
```
| Campo | Descrição |
| -------- | -------- |
| comments | Comentários "pai", que não tem relação de resposta com nenhum outro comentário. São os comentários criados quando clicar em "Nova mensagem" |
| comments[0] | Exemplo de comentário "pai" |
| comments[0].user | Autor do comentário "pai" |
| comments[0].createdAt | Data e Hora de publicação do comentário |
| comments[0].attachments | Anexos que foram incluídos a este comentário |
| comments[0].answers | Respostas a um comentário "pai". São os comentários criados quando clicar em "Responder" |
| comments[0].answers[0] | Respostas a um comentário "pai" |
| comments[0].answers[0].user | Autor do comentário "filho" |
| comments[0].answers[0].createdAt | Data e Hora de publicação do comentário |
| comments[0].answers[0].attachments | Anexos que foram incluídos a este comentário |
| comments[0].answers[0].answerComment | Referência do comentário ao qual está relacionada esta resposta |
| comments[0].answers[0].answerComment.user | Autor do comentário ao qual está relacionada esta resposta. Isto servirá para mostrar o "respondendo a Fulano de Tal" no mobile |
## Criar novo comentário
**POST** - /forum-comments
**Body:**
```JSON
{
"message": "Resposta inicial criando uma thread no fórum",
"forumId": 1
}
```
| Parâmetro | Explicação |
| -------- | -------- |
| message | Resposta que criará uma thread no fórum |
| forumId | Id do fórum |
## Criar nova resposta
**POST** - /forum-comments
**eager** - irá retornar toda as relações envolvidas no fórum, de comentários a anexos
**Body:**
```JSON
{
"message": "Resposta inicial criando uma thread no fórum",
"forumId": 1,
"forumCommentId": 1,
"answerCommentId": 2
}
```
| Parâmetro | Explicação |
| -------- | -------- |
| message | Resposta que criará uma thread no fórum |
| forumId | Id do fórum |
| forumCommentId | Id do comentário pai que gerou aquela thread |
| answerCommentId | Se estiver respondendo outro comentário que não o pai esta propriedade deve enviar o id deste comentário, caso contrário deverá enviar o id do pai que gerou aquela thread |