# 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 |