Closed ronaldo26rodrigues closed 2 years ago
Massa, @SteffanoP, quando fiz essa solução cheguei a pensar em quem teria essa responsabilidade, e acabei deixando por conta da empresa, mas como ainda temos esse questionamento, modifiquei para que tanto empresa quanto administrador pudessem publicar, nesse caso, se a empresa faz a requisição, a notícia é associada a ela, se o administrador faz, ele pode ou não fornecer o ID da empresa.
Também percebi que um método não pode ser acessado por mais de um tipo de usuário, então não consegui liberar o acesso para empresa e administrador ao mesmo tempo usando os decorators, e assim o método não funciona 100% como planejado se estiver restringindo o acesso. Imagino que isso seja uma coisa a ser verificada, acho que vale uma issue ;)
Um dos requisitos iniciais do projeto foi um mural de notícias, onde as empresas poderiam publicar manchetes mostrando ações e campanhas sobre Greenwashing e meio ambiente para que os clientes e qualquer um que acesse nosso portal possam conhecer melhor as empresas que recebem nossas análises e acompanharem as ações em prol da sustentabilidade. Esta Pull Request implementa as rotas e funções da API que gerenciam estas notícias
Implementação
O Model News
Rotas da API
partes dinâmicas da URL ficam entre <>
noticia/list
: lista todas as notíciasnoticia/list/<amount>
: lista uma certa quantidade de notícias (amount: quantidade de notícias)noticia/add
: cria uma nova notícia | JSON - {title, abstract, body} (o usuário logado precisa ser uma empresa)noticia/update
: edita uma notícia| JSON - {newsid, title, abstract, body} (o usuário logado precisa ser a empresa que publicou a notícia)noticia/company/<company>
: lista as notícias de uma empresa (company: id da empresa)noticia/<company>/<slug>
: detalha uma notícia, este é o caminho direto para ela (company: id da empresa, slug: slug da notícia)Como Testar
Pacote Postman com algumas requisições configuradas
Notas do desenvolvedor
Esta feature ainda pode evoluir muito mais, podendo encontrar uma forma de adicionar imagens e outros tipos de estilização para o corpo da notícia ficar ainda mais rico.
Também é necessário que o front-end possa direcionar corretamente as páginas de detalhes da notícia, já que os links para as noticias da api são dinâmicos, o front também deve acompanhar esta função, já que facilita para quem está recebendo a notícia e ajuda na descoberta em mecanismos de busca