Closed gioliveirass closed 1 year ago
Tela
Resumo da atividade
O botão "Fazer Login" só fica ativo caso o formulário seja preenchido corretamente, campo email com dados do tipo email (incluso @ no texto) e senha devidamente preenchida.
Caso o usuário insira um email e senha que não reconhecido no backend os campos ficam marcados como inválidos.
Métodos principais
View
const onSubmit: SubmitHandler<IUserLogin> = async data => {
try {
setIsLoading(true);
await authRequest.authenticate(data);
goToApp();
} catch (error) {
if (error === "Unauthorized") {
setError("password", { message: "Senha incorreta. Tente novamente" });
}
} finally {
setIsLoading(false);
}
};
async function handleUserAuthentication() {
const token = await StorageController.getToken();
if (token) goToApp();
}
function goToApp() {
navigation.dispatch(StackActions.replace("HomeStack"));
}
Service
public async authenticate(payload: IUserLogin) {
try {
const response = await api.post<IUserAuthenticated>(USER_ENDPOINTS.USER_LOGIN, payload);
const user = response.data;
await StorageController.setToken(user.token)
await StorageController.setUserInfo(user)
return response;
} catch (error) {
if (isAxiosError(error)) {
if (error.response) {
if (error.response.status === 401) {
throw new Error("Unauthorized")
}
}
}
throw new Error("Algo inesperado aconteceu, tente novamente!")
}
}
@ThHenrique SHOW
Descrição da atividade
Criar interface para autenticação de usuários de acordo com o protótipo.
Informações necessárias para execução da atividade.
O usuário simples pode realizar as seguintes ações: • Vizualizar a dashboard; • Somente vizualizar as reuniões e suas anotações; • Somente vizualizar informações de parcerias (incluindo comentários); • Se cadastrar no sistema, uma vez que a aplicação é de utilização interna da empresa.
O usuário administrador pode realizar as seguintes ações: • Vizualizar a dashboard; • Cadastrar, editar e excluir reuniões; • Cadastrar, editar e excluir parcerias; • Adicionar comentários em parcerias; • Adicionar anotações em reuniões; • Deletar usuários; • Promover um usuário a administrador.
DoR
DoD