some work on api calls of profile and team
This commit is contained in:
parent
c99b929076
commit
20dfcd6ceb
@ -106,11 +106,6 @@
|
|||||||
return {
|
return {
|
||||||
tab: 'startedCaches',
|
tab: 'startedCaches',
|
||||||
startedCaches: [],
|
startedCaches: [],
|
||||||
inviteMail: "",
|
|
||||||
currentTeamStatus: "Dienstag 15:00 Treffen zum Blumencache",
|
|
||||||
teamStatus: "",
|
|
||||||
userName: null,
|
|
||||||
email: null,
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted: function () {
|
mounted: function () {
|
||||||
@ -194,73 +189,6 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getPersonalRanking() {
|
|
||||||
const name = JSON.parse(localStorage.getItem('userToken')).name;
|
|
||||||
console.log(JSON.parse(localStorage.getItem('userToken')).name);
|
|
||||||
this.$axios.get('/api/hello', {params: {name}})
|
|
||||||
.then((response) => {
|
|
||||||
this.userRanking = response.data;
|
|
||||||
console.log(response.data);
|
|
||||||
}).catch((error) => {
|
|
||||||
// Error
|
|
||||||
let msg;
|
|
||||||
let title;
|
|
||||||
if (error.response) {
|
|
||||||
// The request was made and the server responded with a status code
|
|
||||||
title = "Problem with response!";
|
|
||||||
msg = error.response;
|
|
||||||
} else if (error.request) {
|
|
||||||
// The request was made but no response was received
|
|
||||||
title = "Problem with request!";
|
|
||||||
msg = "Error occured due to wrong server request!"
|
|
||||||
console.log(error.request);
|
|
||||||
} else {
|
|
||||||
// Something happened in setting up the request that triggered an Error
|
|
||||||
title = "Error";
|
|
||||||
msg = error.message;
|
|
||||||
console.log('Error', error.message);
|
|
||||||
}
|
|
||||||
console.log(error.config);
|
|
||||||
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {message: msg, title: title,});
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getTeamData() {
|
|
||||||
const userName = {name: JSON.parse(localStorage.getItem('userToken')).name};
|
|
||||||
this.$axios.get('/api/getTeam', {params: userName})
|
|
||||||
.then(response => {
|
|
||||||
console.log("getTeam: " + response);
|
|
||||||
}).catch((error) => {
|
|
||||||
// Error
|
|
||||||
let msg;
|
|
||||||
let title;
|
|
||||||
if (error.response) {
|
|
||||||
// The request was made and the server responded with a status code
|
|
||||||
title = "Problem with response!";
|
|
||||||
msg = error.response;
|
|
||||||
} else if (error.request) {
|
|
||||||
// The request was made but no response was received
|
|
||||||
title = "Problem with request!";
|
|
||||||
msg = "Error occured due to wrong server request!"
|
|
||||||
console.log(error.request);
|
|
||||||
} else {
|
|
||||||
// Something happened in setting up the request that triggered an Error
|
|
||||||
title = "Error";
|
|
||||||
msg = error.message;
|
|
||||||
console.log('Error', error.message);
|
|
||||||
}
|
|
||||||
console.log(error.config);
|
|
||||||
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {message: msg, title: title,});
|
|
||||||
})
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
dropDownSelectItem(item) {
|
|
||||||
if (item === 'team') {
|
|
||||||
this.dropDownSelectedItem = this.teamName;
|
|
||||||
} else {
|
|
||||||
this.dropDownSelectedItem = item;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -50,7 +50,8 @@
|
|||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
|
|
||||||
<q-item clickable v-close-popup @click="dropDownSelectItem('Neues Team erstellen')">
|
<q-item clickable v-close-popup :disabled="boolAlreadyInTeam"
|
||||||
|
@click="dropDownSelectItem('Neues Team erstellen')">
|
||||||
<q-item-section avatar>
|
<q-item-section avatar>
|
||||||
<q-avatar icon="add" color="primary" text-color="white"/>
|
<q-avatar icon="add" color="primary" text-color="white"/>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
@ -78,6 +79,8 @@
|
|||||||
:rules="[val=>validateEmail(val)||'Bitte Email verwenden']"/>
|
:rules="[val=>validateEmail(val)||'Bitte Email verwenden']"/>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<q-btn label="Einladung versenden"
|
<q-btn label="Einladung versenden"
|
||||||
|
@click="sendTeamInvite()"
|
||||||
|
:disabled="!teamInviteChecked"
|
||||||
color="primary"
|
color="primary"
|
||||||
type="submit"/>
|
type="submit"/>
|
||||||
</div>
|
</div>
|
||||||
@ -89,17 +92,45 @@
|
|||||||
:rules="[val=>val.length<=160||'Status zu lang!']"/>
|
:rules="[val=>val.length<=160||'Status zu lang!']"/>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<q-btn label="Teamstatus aktualisieren"
|
<q-btn label="Teamstatus aktualisieren"
|
||||||
|
:disabled="!teamStatusChecked"
|
||||||
|
@click="setTeamStatus()"
|
||||||
color="primary"
|
color="primary"
|
||||||
type="submit"/>
|
type="submit"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-show="boolInvites">
|
<div v-show="boolInvites">
|
||||||
|
<q-list>
|
||||||
|
<q-card class="q-mb-md" v-for="teamInvite in teamInvites" :key="teamInvite.id">
|
||||||
|
<q-expansion-item
|
||||||
|
class=""
|
||||||
|
expand-icon-toggle
|
||||||
|
expand-separator
|
||||||
|
icon="location_on"
|
||||||
|
:label="teamInvite.teamName"
|
||||||
|
caption="Tritt diesem Team bei"
|
||||||
|
>
|
||||||
|
<q-item class="q-pr-sm reverse q-gutter-x-sm">
|
||||||
|
<q-btn @click="joinTeam(teamInvite.id)" unelevated color="positive" stack icon="arrow_forward"
|
||||||
|
label="Anfrage annehmen" size="sm"/>
|
||||||
|
<q-btn @click="deleteTeamInvite(teamInvite.id)" unelevated color="negative" stack icon="delete"
|
||||||
|
label="Anfrage ablehnen" size="sm"/>
|
||||||
|
</q-item>
|
||||||
|
</q-expansion-item>
|
||||||
|
</q-card>
|
||||||
|
</q-list>
|
||||||
</div>
|
</div>
|
||||||
<div v-show="boolCreateTeam">
|
<div v-show="boolCreateTeam">
|
||||||
<q-input outlined filled stack-label v-model="newTeamName" type="text"
|
<q-input outlined filled stack-label v-model="newTeamName" type="text"
|
||||||
label="Teamname eingeben"
|
label="Teamname eingeben"
|
||||||
:rules="[val=>val.length>=2||'Name muss mindestens 5 Zeichen lang sein!']"/>
|
:rules="[val=>val.length>=2||'Name muss mindestens 5 Zeichen lang sein!']"/>
|
||||||
|
<q-btn
|
||||||
|
:disabled="!newTeamNameValidationSuccesful"
|
||||||
|
label="Team anlegen"
|
||||||
|
color="primary"
|
||||||
|
class="full-width"
|
||||||
|
@click="createTeam()"
|
||||||
|
unelevated
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
|
|
||||||
@ -130,18 +161,21 @@
|
|||||||
return {
|
return {
|
||||||
tab: 'profile',
|
tab: 'profile',
|
||||||
inviteMail: "",
|
inviteMail: "",
|
||||||
currentTeamStatus: "Dienstag 15:00 Treffen zum Blumencache",
|
currentTeamStatus: "",
|
||||||
teamStatus: "",
|
teamStatus: "",
|
||||||
userName: null,
|
userName: null,
|
||||||
email: null,
|
email: null,
|
||||||
userRanking: null,
|
userRanking: null,
|
||||||
teamName: null,
|
teamName: null,
|
||||||
|
boolAlreadyInTeam: false,
|
||||||
teamRanking: null,
|
teamRanking: null,
|
||||||
dropDownSelectedItem: null,
|
dropDownSelectedItem: null,
|
||||||
boolMyTeam: true,
|
boolMyTeam: true,
|
||||||
boolInvites: false,
|
boolInvites: false,
|
||||||
boolCreateTeam: false,
|
boolCreateTeam: false,
|
||||||
newTeamName: "",
|
newTeamName: "",
|
||||||
|
teamMembers: [],
|
||||||
|
teamInvites: [],
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
name: 'desc',
|
name: 'desc',
|
||||||
@ -238,6 +272,24 @@
|
|||||||
hasAdminState() {
|
hasAdminState() {
|
||||||
return this.$store.getters['auth/GET_ADMINSTATE'];
|
return this.$store.getters['auth/GET_ADMINSTATE'];
|
||||||
},
|
},
|
||||||
|
newTeamNameValidationSuccesful() {
|
||||||
|
if (this.newTeamName.length >= 5) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
teamInviteChecked() {
|
||||||
|
if (this.validateEmail(this.inviteMail)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
teamStatusChecked() {
|
||||||
|
if (this.teamStatus.length <= 160) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
created: function () {
|
created: function () {
|
||||||
this.$store.commit('auth/SET_AUTHENTICATED');
|
this.$store.commit('auth/SET_AUTHENTICATED');
|
||||||
@ -248,11 +300,13 @@
|
|||||||
this.data[1].userData = this.email;
|
this.data[1].userData = this.email;
|
||||||
this.userRanking = 1234;
|
this.userRanking = 1234;
|
||||||
this.data[2].userData = this.userRanking;
|
this.data[2].userData = this.userRanking;
|
||||||
|
this.getTeamData();
|
||||||
this.teamName = "BuGa19Community";
|
this.teamName = "BuGa19Community";
|
||||||
this.data[3].userData = this.teamName;
|
this.data[3].userData = this.teamName;
|
||||||
this.dropDownSelectedItem = this.teamName;
|
this.dropDownSelectedItem = this.teamName;
|
||||||
this.teamRanking = 2019;
|
this.teamRanking = 2019;
|
||||||
this.data[4].userData = this.teamRanking;
|
this.data[4].userData = this.teamRanking;
|
||||||
|
this.currentTeamStatus = "Dienstag 15:00 Treffen zum Blumencache";
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
validateEmail(email) {
|
validateEmail(email) {
|
||||||
@ -260,60 +314,27 @@
|
|||||||
return re.test(String(email).toLowerCase());
|
return re.test(String(email).toLowerCase());
|
||||||
},
|
},
|
||||||
getPersonalRanking() {
|
getPersonalRanking() {
|
||||||
const token = JSON.parse(localStorage.getItem('userToken')).token;
|
let token = JSON.parse(localStorage.getItem('userToken')).token;
|
||||||
this.$axios.get('/api/getRankingPlace', {token})
|
this.$axios.get('/api/getRankingPlace', {token})
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
this.userRanking = response.data;
|
this.userRanking = response.data;
|
||||||
console.log(response.data);
|
console.log(response.data);
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
// Error
|
this.handleError(error);
|
||||||
let msg;
|
|
||||||
let title;
|
|
||||||
if (error.response) {
|
|
||||||
// The request was made and the server responded with a status code
|
|
||||||
title = "Problem with response!";
|
|
||||||
msg = error.response;
|
|
||||||
} else if (error.request) {
|
|
||||||
// The request was made but no response was received
|
|
||||||
title = "Problem with request!";
|
|
||||||
msg = "Error occured due to wrong server request!"
|
|
||||||
console.log(error.request);
|
|
||||||
} else {
|
|
||||||
// Something happened in setting up the request that triggered an Error
|
|
||||||
title = "Error";
|
|
||||||
msg = error.message;
|
|
||||||
console.log('Error', error.message);
|
|
||||||
}
|
|
||||||
console.log(error.config);
|
|
||||||
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {message: msg, title: title,});
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getTeamData() {
|
getTeamData() {
|
||||||
const userName = {name: JSON.parse(localStorage.getItem('userToken')).token};
|
let token = JSON.parse(localStorage.getItem('userToken')).token;
|
||||||
this.$axios.get('/api/getTeam', {params: userName})
|
this.$axios.get('/api/getTeamOfUser', {token})
|
||||||
.then(response => {
|
.then(response => {
|
||||||
|
this.teamName = response.data;
|
||||||
|
if (this.teamName.length >= 3) {
|
||||||
|
this.boolAlreadyInTeam = true;
|
||||||
|
}
|
||||||
console.log("getTeam: " + response);
|
console.log("getTeam: " + response);
|
||||||
|
this.currentTeamStatus = response.data.teamStatus;
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
// Error
|
this.handleError(error);
|
||||||
let msg;
|
|
||||||
let title;
|
|
||||||
if (error.response) {
|
|
||||||
// The request was made and the server responded with a status code
|
|
||||||
title = "Problem with response!";
|
|
||||||
msg = error.response;
|
|
||||||
} else if (error.request) {
|
|
||||||
// The request was made but no response was received
|
|
||||||
title = "Problem with request!";
|
|
||||||
msg = "Error occured due to wrong server request!"
|
|
||||||
console.log(error.request);
|
|
||||||
} else {
|
|
||||||
// Something happened in setting up the request that triggered an Error
|
|
||||||
title = "Error";
|
|
||||||
msg = error.message;
|
|
||||||
console.log('Error', error.message);
|
|
||||||
}
|
|
||||||
console.log(error.config);
|
|
||||||
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {message: msg, title: title,});
|
|
||||||
})
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
@ -336,6 +357,144 @@
|
|||||||
this.boolCreateTeam = true;
|
this.boolCreateTeam = true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
createTeam() {
|
||||||
|
let params = {};
|
||||||
|
if (localStorage.getItem('userToken')) {
|
||||||
|
params.token = JSON.parse(localStorage.getItem('userToken')).token;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
params.name = this.newTeamName;
|
||||||
|
this.$axios.post('/api/createTeam', {params})
|
||||||
|
.then(response => {
|
||||||
|
console.log("createTeam: " + response);
|
||||||
|
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {
|
||||||
|
message: "Das Team " + this.newTeamName + " wurde erfolgreich erstellt!",
|
||||||
|
title: "Teamerstellung",
|
||||||
|
color: "blue"
|
||||||
|
});
|
||||||
|
}).catch((error) => {
|
||||||
|
this.handleError(error);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
fetchTeamMembers() {
|
||||||
|
let name = this.teamName;
|
||||||
|
this.$axios.get('/api/getTeamMembers', {name})
|
||||||
|
.then((response) => {
|
||||||
|
console.log(response.data);
|
||||||
|
this.teamMembers = response.data;
|
||||||
|
}).catch((error) => {
|
||||||
|
this.handleError(error);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
fetchTeamInvites() {
|
||||||
|
let token;
|
||||||
|
if (localStorage.getItem('userToken')) {
|
||||||
|
token = JSON.parse(localStorage.getItem('userToken')).token;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.$axios.get('/api/getMyTeamInvites', {token})
|
||||||
|
.then((response) => {
|
||||||
|
console.log(response.data);
|
||||||
|
this.teamInvites = response.data;
|
||||||
|
}).catch((error) => {
|
||||||
|
this.handleError(error);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
joinTeam(inviteId) {
|
||||||
|
let params;
|
||||||
|
if (localStorage.getItem('userToken')) {
|
||||||
|
params.token = JSON.parse(localStorage.getItem('userToken')).token;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
params.teamID = inviteId;
|
||||||
|
this.$axios.put('/api/joinTeam', {params})
|
||||||
|
.then((response) => {
|
||||||
|
console.log(response.data);
|
||||||
|
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {
|
||||||
|
message: "Du bist dem Team " + response.data.teamName + " erfolgreich beigetreten!",
|
||||||
|
title: "Teambeitrittsanfrage",
|
||||||
|
color: "blue"
|
||||||
|
});
|
||||||
|
}).catch((error) => {
|
||||||
|
this.handleError(error);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
deleteTeamInvite(inviteId) {
|
||||||
|
let params;
|
||||||
|
if (localStorage.getItem('userToken')) {
|
||||||
|
params.token = JSON.parse(localStorage.getItem('userToken')).token;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
params.teamInviteID = inviteId;
|
||||||
|
this.$axios.delete('/api/deleteTeamInvite', {params})
|
||||||
|
.then((response) => {
|
||||||
|
console.log(response.data);
|
||||||
|
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {
|
||||||
|
message: "Du hast die Anfrage von Team " + response.data.teamName + " gelöscht!",
|
||||||
|
title: "Teambeitrittsanfrage",
|
||||||
|
color: "blue"
|
||||||
|
});
|
||||||
|
}).catch((error) => {
|
||||||
|
this.handleError(error);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
sendTeamInvite() {
|
||||||
|
let params;
|
||||||
|
if (localStorage.getItem('userToken')) {
|
||||||
|
params.token = JSON.parse(localStorage.getItem('userToken')).token;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
params.invitedUserEmail = this.inviteMail;
|
||||||
|
this.$axios.post('/api/sendTeamInvite', {params})
|
||||||
|
.then((response) => {
|
||||||
|
console.log(response.data);
|
||||||
|
}).catch((error) => {
|
||||||
|
this.handleError(error);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
setTeamStatus() {
|
||||||
|
let params;
|
||||||
|
if (localStorage.getItem('userToken')) {
|
||||||
|
params.token = JSON.parse(localStorage.getItem('userToken')).token;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
params.teamStatus = this.teamStatus;
|
||||||
|
this.$axios.put('/api/setTeamStatus', {params})
|
||||||
|
.then((response) => {
|
||||||
|
console.log(response.data);
|
||||||
|
this.getTeamData();
|
||||||
|
}).catch((error) => {
|
||||||
|
this.handleError(error);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleError(error) {
|
||||||
|
// Error
|
||||||
|
let msg;
|
||||||
|
let title;
|
||||||
|
if (error.response) {
|
||||||
|
// The request was made and the server responded with a status code
|
||||||
|
title = "Problem with response!";
|
||||||
|
msg = error.response;
|
||||||
|
} else if (error.request) {
|
||||||
|
// The request was made but no response was received
|
||||||
|
title = "Problem with request!";
|
||||||
|
msg = "Error occured due to wrong server request!";
|
||||||
|
console.log(error.request);
|
||||||
|
} else {
|
||||||
|
// Something happened in setting up the request that triggered an Error
|
||||||
|
title = "Error";
|
||||||
|
msg = error.message;
|
||||||
|
console.log('Error', error.message);
|
||||||
|
}
|
||||||
|
console.log(error.config);
|
||||||
|
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {message: msg, title: title,});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user