Um momento
Aula 10
Cursos / GraphQL com Express (Servidor Backend API JSON)
GraphQLList e resolve no GraphQL (Lista de Companhias)

Summary

# Resumo da Transcrição

O autor demonstra a implementação de um ORM simulado para acessar um banco de dados com uma lista de companhias. Ele aborda o processo de criação de uma query para recuperar todas as companhias usando GraphQL.

## Passos Principais:

1. **Modificação da Query**:
   - O autor altera a query `companhia.findAll` para `companhias`, permitindo a recuperação de todas as companhias.

2. **Atualização do Tipo de Retorno**:
   - O tipo de retorno é definido como uma lista de companhias usando `new GraphQL.List(companhiaType)`.

3. **Importação Necessária**:
   - O `GraphQL.List` é importado no início do arquivo.

4. **Função Resolve**:
   - A função `resolve` é configurada para usar `companhia.findAll`, que retorna uma promessa com a lista de companhias.

5. **Importação de Companhia**:
   - O autor mencionou a necessidade de importar a definição de `companhia` com `const companhia = require('bar/orm/companhia')`.

6. **Execução da Query**:
   - Após salvar as alterações e reiniciar, o usuário pode executar a query para obter a lista de companhias, retornando o `id` e o `nome`. O usuário pode personalizar a resposta removendo campos indesejados.

7. **Próximos Passos**:
   - Na próxima aula, será abordada a implementação de uma query para recuperar uma única companhia utilizando seu `id`.

## Conclusão
O autor finaliza a aula enfatizando que o GraphQL agora sabe como encontrar a lista de companhias através do configure `resolve`.

Video Transcript

Fala pessoal, acabamos de fazer aqui esse ORM simulado para poder acessar esse banco de dados simulado com a lista de companhias, sem três. Então vamos a esse find all, companhia ponto find all, aqui para poder fazer uma query para pegar todas as companhias. Então aquela companhia aqui query que você já tem, vamos mudar esse cara aqui e depois a gente faz só um só companhia. Então vamos mudar esse cara para companhias, eu estou no arquivo schema.js na query-raiz, tem o campo companhias que a gente vai fazer para poder pegar a lista de todas as companhias. Agora o tipo desse cara vai ser o quê? Não é mais só um objeto, né? Companha type. É vários. Então para poder fazer esse negócio você tem que fazer, definir esse cara não como um só companhia type, mas com uma lista de GraphQL. Então você vai fazer o seguinte, vai dizer new GraphQL list, tá? Aí você passa o companhia type para ele. Aí eu digitei dois queis. Vamos lá em cima importar o GraphQL list. GraphQL list lista, tá? Do GraphQL, dá o require lá em cima e aqui faz new GraphQL list com companhia type. Agora o resolve vai mudar, que resolve aquela função que é usada para poder dizer ao GraphQL como encontrar esse recurso. Então agora mudou. Para encontrar o recurso a gente tem que falar o quê? Companhia, find all, esse cara retorna a promessa, depois é resolvida com a lista de companhias. Agora você pode retornar isso do resolve, que o resolve já sabe, ah, você retornou a promessa, tá bom, vou esperar e vou retornar o valor resolvido pela promessa. Quando for fazer a resposta para o cliente, tá? Agora a companhia a gente tem que importar esse cara aqui. Então vamos lá em cima requerir com a companhia, é igual require.bar orrm.companhia, tá? Depois disso é só salvar. Vamos ver agora no que dá quando a gente fazer query para todas as companhias, olha aqui. Eu vou botar aqui no GraphQL companhias no plural, deixa eu reiniciar, tá? Então olhando o que dá, já abriu aqui e executou a query, está te dando a lista de companhias com o id e nome, se eu quiser só o id é só remover o nome. E se eu quiser só o nome é só remover o id, tá? Aí, então o GraphQL sabe, a gente disse o GraphQL como encontrar a lista de companhias, é só no resolve aqui. Tá legal? Agora, vamos ver aqui. Na próxima aula a gente vai ver como fazer uma query para uma só companhia usando o id daquela companhia para poder encontrá-la. Então até lá.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: