/TypeGraphQL

Repositório voltado a estudo iniciado com workshop #GoWhile e finalizando como CRUD sobre a biblioteca TypeGraphQL 📘

Primary LanguageTypeScript

📕 About

Projeto CRUD voltado a estudo da biblioteca TypeGraphQL.

💻 Installation & play

Conexão com MongoDB

  • Cria conta no site e um cluster no mongo
  • Na Sandbox do Cluster vai em Connect -> Connect your application -> Copia código uri exibida na tela
  • No arquivo connection.ts coloque o código como string alterando os parametros com usuario, senha e nome do banco conforme foi criado no site.
    obs: Você pode usar nome de banco test por padrão caso não houver um criado.
moongose.connect('mongodb+srv://<usuario>:<senha_usuario>@cluster0.btnxp.mongodb.net/test?retryWrites=true&w=majority',...);

Instala dependencias & run

$ npm install
$ npm dev

No painel do GraphQL na porta 4100

  • Query - Busca de categorias ou videos
query {
  categories {
    name,
    description,
    _id
  }
}

query {
  videos {
    name,
    description,
    category
  }
}
  • Mutation - Adicionar categorias ou videos
mutation {
  createCategory(categoryInput: {
    name: "Drama",
    description: "Categoria de Drama"
  }) {
    _id
  }
}

mutation {
  createVideos(videoInput: {
    name: "Filme de drama",
    description: "descricao de drama",
    category: <id_da_categoria_criada>
  }) {
    _id
  }
}
  • Mutation - Alterar categoria
mutation {
  updateCategory(
    _id: "<ID_DA_CATEGORIA>"    
  	categoryInput: {
      name: "<nome_qualquer>",
    	description: "<descricao_qualquer>"
    }
  ){
    name,
    description,
    _id
  }
}
  • Mutation - Deletar categoria
mutation {
  deleteCategory(
    _id: "<ID_DA_CATEGORIA>"  
  ){
    	name,
    	description,
    	_id
  }
}

⚡ Techs

  • Node
  • GraphQL
  • TypeGraphQL
  • ApolloServer
  • mongoose