diff --git a/basta/src/authentication.js b/basta/src/authentication.js new file mode 100644 index 0000000..0457e85 --- /dev/null +++ b/basta/src/authentication.js @@ -0,0 +1,56 @@ +import router from '@/router' +import {API_ROOT} from '@/config.js' + +export default { + user: { + authenticated: false + }, + + // authentication status + authenticated() { + return (localStorage.getItem('user') !== null && JSON.parse(localStorage.getItem('user')).data.token !== '') + }, + + // Send a request to the login URL and save the returned JWT + login(creds) { + console.log('LOGIN'); + window.axios.post(API_ROOT.concat('/token-auth/token/create/'), creds) + .then((response) => { + this.user.authenticated = true; + console.log(response); + localStorage.setItem('user', JSON.stringify(response)); + // Redirect to a specified route + window.axios.defaults.headers.common = { + 'Authorization': ('Token ' + JSON.parse(localStorage.getItem('user')).data.auth_token) + }; + location.reload(); + }) + .catch(function (error) { + console.log(error); + alert(error.response.data.non_field_errors[0]); + }) + }, + + // To log out + logout: function (redirect) { + window.axios.post(API_ROOT.concat('/token-auth/token/destroy/'),) + .then((response) => { + this.user.authenticated = false; + localStorage.removeItem('user'); + console.log(response); + // Redirect to a specified route + window.axios.defaults.headers.common = { + 'Authorization': '', + }; + location.reload(); + if (redirect) { + router.push({name: 'home'}); + // router.go(redirect) + } + }) + .catch(function (error) { + console.log(error); + alert(error.response.data); + }); + } +} diff --git a/basta/src/components/account/AccountOverview.vue b/basta/src/components/account/AccountOverview.vue new file mode 100644 index 0000000..fce4136 --- /dev/null +++ b/basta/src/components/account/AccountOverview.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/basta/src/components/account/Activation.vue b/basta/src/components/account/Activation.vue new file mode 100644 index 0000000..5730780 --- /dev/null +++ b/basta/src/components/account/Activation.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/basta/src/components/account/Login.vue b/basta/src/components/account/Login.vue new file mode 100644 index 0000000..ffc34a7 --- /dev/null +++ b/basta/src/components/account/Login.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/basta/src/components/account/Logout.vue b/basta/src/components/account/Logout.vue new file mode 100644 index 0000000..f67d3e8 --- /dev/null +++ b/basta/src/components/account/Logout.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/basta/src/components/account/PasswordResetConfirmation.vue b/basta/src/components/account/PasswordResetConfirmation.vue new file mode 100644 index 0000000..ca8a4d1 --- /dev/null +++ b/basta/src/components/account/PasswordResetConfirmation.vue @@ -0,0 +1,101 @@ + + + + + diff --git a/basta/src/components/account/PasswordResetMail.vue b/basta/src/components/account/PasswordResetMail.vue new file mode 100644 index 0000000..8bc9cd7 --- /dev/null +++ b/basta/src/components/account/PasswordResetMail.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/basta/src/components/account/Registration.vue b/basta/src/components/account/Registration.vue new file mode 100644 index 0000000..116b229 --- /dev/null +++ b/basta/src/components/account/Registration.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/basta/src/components/account/utils/AccountDetails.vue b/basta/src/components/account/utils/AccountDetails.vue new file mode 100644 index 0000000..3445465 --- /dev/null +++ b/basta/src/components/account/utils/AccountDetails.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/basta/src/components/account/utils/AccountFormular.vue b/basta/src/components/account/utils/AccountFormular.vue new file mode 100644 index 0000000..df3a01a --- /dev/null +++ b/basta/src/components/account/utils/AccountFormular.vue @@ -0,0 +1,159 @@ + + + + + + diff --git a/basta/src/components/account/utils/Food.vue b/basta/src/components/account/utils/Food.vue new file mode 100644 index 0000000..9991678 --- /dev/null +++ b/basta/src/components/account/utils/Food.vue @@ -0,0 +1,139 @@ + + + + +