API desenvolvida nas aulas de NodeJS, usada para CRUD de usuários em qualquer aplicação que necessite de sistema de cadastro e login de usuários.
Em todas as rotas a API retorna um json com o statuscode da requisição e um json com pelo menos 1 propriedade chamada info, onde informa o erro na requisição.
Todo usuário é salvo no banco de dados com as informações: name, email, password, role, id.
Pode conter 2 valores: - 0: Usuário comum, não tem acesso as a put, delete e listagem de usuários. - 1: Admin, tem acesso a todas as rotas.
Usada para realizar login na API e ter acesso a rotas com autenticação.
Nenhum
Login realizado com sucesso, retorna um json com o token de autenticação, esse token não tem tempo para expirar:
{
info: 'Sign in success!',
token:'HDUIAHUBWDUASBD37BA7DBASDIBD27AB9D37DBVA87GD8AYGS8DGBASD738DAV237VF7AVSBDDFAFDSA8DFVG893VFA7S.DV873VAD7VA8DFVSA87DVAS8VD8ASV397GABD7G7AGD'
}
Login incorreto, email ou senha inválidos. Retorna um json:
{
info: 'Email or Password invalid!'
}
Usuário não existe no banco de dados. Retorna um json:
{
info: 'User not exist.'
}
Listagem de todos os usuários. Requer autenticação de admin (role: 1);
Nenhum
Autenticado e retorna um json com a lista de todos os usuários.
{
"info": "Access authorized",
"listUsers": [
{
"id": 1,
"email": "[email protected]",
"name": "Galencar",
"role": 0
},
{
"id": 2,
"email": "[email protected]",
"name": "Alencar Gabriel",
"role": 0
},
{
"id": 4,
"email": "[email protected]",
"name": "Antonio Machado",
"role": 0
},
{
"id": 12,
"email": "[email protected]",
"name": "Victor Lima",
"role": 0
},
{
"id": 13,
"email": "[email protected]",
"name": "Fulano da Silva",
"role": 0
},
{
"id": 14,
"email": "[email protected]",
"name": "Cicrano Souza",
"role": 1
},
... 333 more
]
}
Usuário não autorizado. Retorna um json:
{
info: 'User not Authorized'
}
Ocorre quando não é enviado um token de autorização. Retorna um json:
{
info: 'Send the token for authorization'
}
Token inválido, não aceito. Retorna um json:
{
info: 'Invalid Token!'
}
Retorna apenas o usuário com o id informado.
Necessita do id do usuário seja informado nos paramêtros da URL.
Retorna um json com os dados do usuário.
{
info: 'User found',
user: result
}
Usuário não encontrado. Retorna um json:
{
info: 'User not found!'
}
Criação de usuários. Exige envio de um corpo com as informações do usuário, qualquer usuário tem acesso.
Um json com as informações do usuário, seguindo o modelo:
{
name: string;
email: string;
password: string;
role: number;
}
Retorna um json informando que usuário foi criado.
{
info: 'All Right! User created.'
}
Algum dos campos não foi preenchido ou o email não é um email válido. Retorna um json
{
info: 'Fields can't be empty or email invalid.'
}
Email já existe. Esta API não permite cadastro de dois emails iguais. Retorna um json:
{
info: 'Email exists'
}
Atualização de dados do usuário, requer autorização de admin.
Um json com os dados do usuários, alterados ou não.
{
name: string;
email: string;
password: string;
role: number;
}
Atualização realizada com sucesso. Retorna um json:
{
info: 'Update user with success'
}
Usuário não encontrado. Retorno:
{
info: 'User not found.'
}
Usuário não encontrado. Retorno:
{
info: 'User not found.'
}
Email informado já existe. Retorno:
{
info: 'Email exists!'
}
Nome ou senha ou email não informados. Retorno:
{
info: 'Insert a name or password or email or role correctly.'
}
Problemas com servidor, tente mais tarde. Retorno:
{
info: 'Server with problems.'
}
Usuário não autorizado. Retorna um json:
{
info: 'User not Authorized'
}
Ocorre quando não é enviado um token de autorização. Retorna um json:
{
info: 'Send the token for authorization'
}
Token inválido, não aceito. Retorna um json:
{
info: 'Invalid Token!'
}
Atualização de dados do usuário, requer autorização de admin.
Deve informar o id do usuário nos parâmetros da url.
Usuário excluido com sucesso. Retorna um json:
{
info: 'User deleted with success!'
}
Usuário não encontrado. Retorno:
{
info: 'User not found!'
}
Id informado é inválido. Retorno:
{
info: 'Invalid id!'
}
Usuário não autorizado. Retorna um json:
{
info: 'User not Authorized'
}
Ocorre quando não é enviado um token de autorização. Retorna um json:
{
info: 'Send the token for authorization'
}
Token inválido, não aceito. Retorna um json:
{
info: 'Invalid Token!'
}