Skip to content

camillacorreia/API-school-graphql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GraphQL e Apollo Logo

💻 Projeto

API em GraphQL de uma escola de inglês.

O servidor GraphQL faz uma interface entre fontes de dados e disponibiliza esses dados para qualquer plataforma. Ou seja, ele pode selecionar dados de uma API REST, de microsserviços, de uma database.

ℹ️ How To Use

# Install dependencies
$ npm install

# Run API Rest
$ npx json-server --watch api/data/dados.json

# Start Server
$ npm start

# running on port http://localhost:4000/

Queries

Users

  query() {
    users {
      nome
      ativo
      email
      role {
        id
        type
      }
    }
  }

User

  query($userId: ID!) {
    user(id: $userId) {
      nome
      ativo
      email
      role {
        id
        type
      }
    }
  }

  # variables
  {
    "userId": 1
  }

Turmas

  query() {
    turmas {
      id
      descricao
      horario
      vagas
      inicio
      docente
      createdAt
    }
  }

Turma

  query($turmaId: ID!) {
    turma(id: $turmaId) {
      id
      descricao
      horario
      vagas
      inicio
      docente
      createdAt
    }
  }

  # variables
  {
    "turmaId": 1
  }

Mutations

Adicionar User

  mutation($user: UserInput) {
    adicionarUser(user: $user) {
      nome
      ativo
      email
      role {
        type
      }
    }
  }

  # variables
  {
    "user": {
      "nome": "Camilla",
      "ativo": true,
      "email": "[email protected]",
      "role": "DOCENTE"
    }
  }

Atualizar User

  mutation($userId: ID!, $user: UserInput) {
    atualizarUser(id: $userId, user: $user) {
      code
      message
    }
  }

  # variables
  {
    "userId": 1,
    "user": {
      "nome": "Marcos",
      "ativo": true,
      "email": "[email protected]",
      "role": "ESTUDANTE"
    }
  }

Deletar User

  mutation($userId: ID!) {
    deletarUser(id: $userId) {
      code
      message
    }
  }

  # variables
  {
    "userId": 1
  }

Adicionar Turma

  mutation($turma: TurmaInput) {
    adicionarTurma(turma: $turma) {
      id
      descricao
      horario
      vagas
      inicio
      docente
      createdAt
    }
  }

  # variables
  {
    "turma": {
      "descricao": "super avançado",
      "horario": "noturno",
      "vagas": 5,
      "inicio": "2020-12-01T00:00:00.000Z",
      "docente_id": 5
    }
  }

Atualizar Turma

  mutation($turmaId: ID!, $turma: TurmaInput) {
    atualizarTurma(id: $turmaId, turma: $turma) {
      id
      descricao
      horario
      vagas
      inicio
      docente
      createdAt
    }
  }

  # variables
  {
    "turmaId": 1,
    "turma": {
      "descricao": "super avançado",
      "horario": "noturno",
      "vagas": 8,
      "inicio": "2020-12-01T00:00:00.000Z",
      "docente_id": 5
    }
  }

Deletar Turma

  mutation($turmaId: ID!) {
    deletarTurma(id: $turmaId) {
      message
    }
  }

  # variables
  {
    "turmaId": 1
  }

About

API em GraphQL de uma escola de inglês.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published