Desenvolva aplicações utilizando a linguagem nodejs e integre com as API's da UFVJM


Codigos de exemplo em como integrar com as API's da UFVJM utilizando a linguagem nodejs

nodejs - Exemplos

Vínculos de uma Pessoa

Busca de Pessoas

Realizando a busca de pessoas por nome, buscando os 3 primeiros registros (Para mais detalhes sobre Paginação).

Query

query buscaDePessoas($first: PaginationLimit!, $nome: String) {
  commonPessoas(pagination: {first: $first}, nome: $nome){
    edges { 
      node {
        idpessoa
        nome        
      }
    }
  }
}

Variáveis

{
  "first": 3,
  "nome": "JOAO"
}

HTTP Headers

{
  "Application": "Bearer <token-da-aplicacao>"
}

Retorno

{
  "data": {
    "commonPessoas": {
      "edges": [
        {
          "node": {
            "idpessoa": 693305,
            "nome": "JOAO ALEXANDRE FERREIRA"
          }
        },
        {
          "node": {
            "idpessoa": 811434,
            "nome": "JOAO ALEXANDRE REIS GONCALVES"
          }
        },
        {
          "node": {
            "idpessoa": 801312,
            "nome": "JOAO ALVES DOS SANTOS"
          }
        }
      ]
    }
  }
}

Pessoa é docente?

Realizando a busca de pessoas por nome, possui o termo MARCUS, e identificando se ela possui vínculo de docente com a instituição:

Query

query pessoaDocente(
    $firstPessoas: PaginationLimit!, 
    $nome: String, 
    $firstDocentes: PaginationLimit!
    ) {
  commonPessoas(pagination: {first: $firstPessoas}, nome: $nome){
    edges { 
      node {
        idpessoa
        nome
        docentes(pagination: {first: $firstDocentes}){
          edges {
            node {
              iddocente
              idpessoa
              idvinc
              situacao
            }
          }
        }
      }
    }
  }
}

Variáveis

{
  "firstPessoas": 3,
  "firstDocentes": 10,
  "nome": "MARCUS"
}

HTTP Headers

{
  "Application": "Bearer <token-da-aplicacao>"
}

Foram retornadas 3 pessoas. Dentre elas, apenas uma é docente.

Retorno

{
  "data": {
    "commonPessoas": {
      "edges": [
        {
          "node": {
            "idpessoa": 811794,
            "nome": "DANIEL MARCUS BATISTA FERRAZ PINTO",
            "docentes": {
              "edges": []
            }
          }
        },
        {
          "node": {
            "idpessoa": 795214,
            "nome": "JEAN MARCUS NOGUEIRA",
            "docentes": {
              "edges": []
            }
          }
        },
        {
          "node": {
            "idpessoa": 5428,
            "nome": "MARCUS ALESSANDRO DE ALCANTARA",
            "docentes": {
              "edges": [
                {
                  "node": {
                    "iddocente": 15475,
                    "idpessoa": 5428,
                    "idvinc": "1458576",
                    "situacao": "Ativo"
                  }
                }
              ]
            }
          }
        }
      ]
    }
  }
}

Note que a pessoa que possui vínculo de docente possui essa informação retornada dentro de docentes -> edges -> node.

Pessoa é aluno?

Realizando a busca de pessoas por nome, possui o termo OLIVEIRA PAIVA, e identificando se ela possui vínculo de aluno com a instituição:

Query

query pessoaAluno(
    $firstPessoas: PaginationLimit!, 
    $nome: String, 
    $firstAlunos: PaginationLimit!
    ) {
  commonPessoas(pagination: {first: $firstPessoas}, nome: $nome){
    edges { 
      node {
        idpessoa
        nome
        alunos(pagination: {first: $firstAlunos}){
          edges {
            node {
              matricula
              anoingresso
              semingresso
              idpessoa
            }
          }
        }
      }
    }
  }
}

Variáveis

{
  "firstPessoas": 3,
  "firstAlunos": 10,
  "nome": "OLIVEIRA PAIVA"
}

HTTP Headers

{
  "Application": "Bearer <token-da-aplicacao>"
}

Foram retornadas 3 pessoas. Dentre elas, apenas uma é docente.

Retorno

{
  "data": {
    "commonPessoas": {
      "edges": [
        {
          "node": {
            "idpessoa": 795610,
            "nome": "ALINE DE OLIVEIRA PAIVA ANTUNES",
            "alunos": {
              "edges": []
            }
          }
        },
        {
          "node": {
            "idpessoa": 656582,
            "nome": "ÉVERTON DE OLIVEIRA PAIVA",
            "alunos": {
              "edges": [
                {
                  "node": {
                    "matricula": "20142912005",
                    "anoingresso": "2014",
                    "semingresso": "2",
                    "idpessoa": 656582
                  }
                }
              ]
            }
          }
        }
      ]
    }
  }
}

Note que a pessoa que possui vínculo de docente possui essa informação retornada dentro de alunos -> edges -> node.

Voltar para Documentação - Consultas Frequentes