Skip to content
Snippets Groups Projects
Commit 210e7a12 authored by Planoetscher Daniel (Student Com20)'s avatar Planoetscher Daniel (Student Com20)
Browse files

register now using promises

parent b8f894df
No related branches found
No related tags found
No related merge requests found
......@@ -21,20 +21,23 @@ export function setAccesstoken(token: string): void {
localStorage.setItem('access-token', token);
}
export function registerUser(username: string, password: string): boolean {
axios.post(`${baseUrl}/auth/register`, {
username: username,
password: password
}).then(() => {
axios.post(`${baseUrl}/auth/token`, {
export function registerUser(username: string, password: string) {
return new Promise(function (resolve, reject) {
axios.post(`${baseUrl}/auth/register`, {
username: username,
password: password
}).then(({ data }) => {
setAccesstoken(data.token);
return true;
}).catch(() => {
}).then(() => {
axios.post(`${baseUrl}/auth/token`, {
username: username,
password: password
}).then(({ data }) => {
setAccesstoken(data.token);
resolve(true);
}).catch((e) => {
reject(e);
});
}).catch((e) => {
reject(e);
});
}).catch(() => {
});
return false;
})
}
......@@ -2,7 +2,7 @@ import Page from 'components/ui/Page';
import TextInput from 'components/ui/TextInput';
import Button from 'components/ui/Button';
import { FormEvent, useState } from 'react';
import { Link } from 'react-router-dom';
import { Link, useHistory } from 'react-router-dom';
import { registerUser } from 'adapters/api';
import './register.scss';
......@@ -20,19 +20,26 @@ export default function Register() {
const [password, setPassword] = useState<string>('');
const [passwordError, setPasswordError] = useState<string>('');
const history = useHistory();
const register = (e: FormEvent) => {
const register = async (e: FormEvent) => {
e.preventDefault();
if (usernameIsValid(username) && passwordIsValid(password)) {
setPasswordError('');
setUsernameError('');
if (registerUser(username, password)) {
console.log('success');
}
await registerUser(username, password).then((data) => {
console.log(data);
history.push('/tasks');
}).catch(() => {
setUsernameError('This username is already used.');
});
} else {
if (!usernameIsValid(username))
setUsernameError('Your username has to be at least 4 characters long');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment