‫Instrutor: Acabamos de aprender muito sobre
‫MVC e, portanto, vamos refatorar rapidamente nosso código
‫para que se encaixe um pouco melhor nessa arquitetura.
‫E, na verdade, já temos nossa pasta de controladores aqui, e
‫os controladores de tour e de usuário neles, e
‫já temos as rotas aqui na
‫pasta de rotas.
‫E então o que realmente precisamos fazer neste
‫vídeo é criar uma
‫pasta de modelo e um modelo de passeio nela.
‫Então, vamos fazer isso.
‫(clicando) Então, modelos
‫e lá o tourModel.
‫js Vamos fechar
‫esses caras e, então, seguir em frente e copiar, ou
‫cortar, na verdade, esse esquema e
‫toda a declaração do modelo
‫aqui e colocá-lo no modelo de passeio.
‫Também queremos a importação do Mongoose aqui.
‫Tudo bem, de fato,
‫vamos nos livrar completamente desse código.
‫Tudo bem, então isso aqui era apenas para
‫teste e não precisamos mais disso.
‫Então ele cumpriu seu dever, e
‫tudo o que
‫realmente queremos fazer neste arquivo aqui é conectar-se ao banco de
‫dados, mas tudo que é sobre os
‫próprios modelos, sempre viverá dentro de um arquivo,
‫dentro da pasta de modelos.
‫Tudo bem, agora aqui o eslint nos diz
‫que essa variável aqui
‫não foi usada, mas na
‫verdade queremos usá-la porque queremos exportar o modelo deste arquivo.
‫Portanto, módulo. exportações, e esta
‫deve ser a única coisa que exportamos deste arquivo, então usamos
‫o tipo de exportação padrão com módulo. exportações Ok, então este é
‫nosso modelo de tour muito simples que criamos
‫em nossa última
‫aula e agora colocamos em seu próprio
‫arquivo autônomo e, finalmente, o exportamos daqui.
‫Ok, agora, onde realmente precisamos dessa turnê.
‫Em outras palavras, onde vamos
‫realmente criar e consultar, excluir e atualizar os tours.
‫Bem, vamos fazer isso no tourController, certo?
‫Bem aqui,
‫vamos prosseguir e realmente importar o modelo aqui.
‫Bem aqui no topo, (clicando)
‫e estou dando exatamente
‫o mesmo nome.
‫Então, ainda passeio,
‫e agora eu quero exigir, então, a pasta atual, em seguida,
‫para cima uma pasta e,
‫em seguida, para baixo na pasta de
‫modelos e, lá, modelo de passeio.
‫Ok, agora é claro que ele está me
‫dizendo que não estou usando essa
‫variável, mas não se preocupe com isso por enquanto.
‫Então, em seguida, quero me
‫livrar deste lugar onde realmente importamos os dados como
‫um arquivo json.
‫Então, é claro, não precisamos mais disso.
‫Isso aqui foi apenas para fins de teste.
‫Então, vamos nos livrar disso.
‫Você também pode
‫comentar se quiser deixá-lo como uma referência para você.
‫Então vá em frente e comente.
‫Então aqui embaixo
‫recebemos este erro porque a variável
‫que acabamos de excluir não está mais definida,
‫então deixe-me comentar este trecho de código aqui porque,
‫novamente, vamos precisar de algo semelhante a isso.
‫Ok, faça um tour,
‫vamos comentar tudo isso aqui também para que não
‫tenhamos erros assim que salvarmos este arquivo.
‫Então aqui, na verdade, podemos nos livrar, bem
‫mais ou menos, de tudo isso.
‫Então, não vamos mais usar nada disso.
‫Então, deixe-me manter esta peça aqui.
‫Vou copiá-lo, deletar todo o
‫resto e colocá-lo de
‫volta aqui.
‫Ainda temos esse
‫erro, então estou comentando este trecho de código.
‫Tudo bem, e aqui não temos nenhum erro.
‫Então vamos deixar assim por enquanto, ok?
‫Então, o que acabei de fazer aqui
‫foi basicamente limpar o código que escrevemos antes
‫para não depender mais dos dados que
‫tínhamos no arquivo json.
‫Tudo bem, então agora não devemos ter mais
‫erros, ou na verdade devemos nesta função checkID,
‫e esta função checkID,
‫nós, de fato, não precisaremos mais dela, ok?
‫Porque a partir de agora vamos começar
‫a trabalhar com os IDs que estão vindo do MongoDB,
‫e o próprio Mongo nos dará um erro
‫se usarmos um ID inválido, então esta
‫função que temos aqui foi realmente muito útil
‫para mostrar como O middleware realmente funciona,
‫dando a você este
‫exemplo muito prático aqui, e mais tarde no curso,
‫as pessoas,
‫é claro, usam mais
‫middleware, mas essa função específica
‫aqui, não precisaremos mais dela.
‫Então, vamos nos livrar
‫disso, e também dessa importação do sistema de arquivos, novamente,
‫porque não estamos mais usando o arquivo aqui.
‫Portanto, ainda temos alguns erros aqui.
‫Vamos ver o
‫que está acontecendo e parece que está
‫nas rotas do tour, ok?
‫E então, na verdade, esse
‫era o que eu iria mudar a seguir.
‫Portanto, o problema
‫aqui é que este tourController. checkID, claro que não
‫existe mais porque acabamos de
‫excluí-lo, então vamos nos livrar disso
‫também ou, na verdade, deixe-me apenas comentá-lo, ok?
‫Portanto, lembre-se de que você
‫pode usar isso. param a função
‫aqui para definir o middleware de parâmetro em seus próprios aplicativos, ok?
‫Então, não quero que
‫você se esqueça disso, então apenas deixe aqui
‫no seu código para que talvez mais
‫tarde, quando você voltar, você ainda saiba que está lá, ok?
‫Então, agora eu salvei
‫e estamos de volta ao caminho certo.
‫Então, tudo voltou a funcionar, e nosso
‫código agora está suficientemente bem refatorado para que
‫no próximo vídeo possamos realmente
‫começar a implementar as funções corretas em nossa API.
‫Basicamente, obter todos os
‫tours, criar, excluir e atualizar os tours.
‫Então, um por
‫um, começaremos a implementar essas funções
‫de controlador, ou funções de manipulador, se você
‫preferir, começando no próximo vídeo.