updated db structure

This commit is contained in:
Jona Kläß
2024-05-10 15:24:19 +02:00
parent fbfbfb77be
commit ec91c9f04a
5 changed files with 24 additions and 32 deletions

View File

@@ -33,9 +33,9 @@ export default defineComponent({
await loadUsers();
}
usersForChatOptions.value = users.value
.filter((u, index) => u.keycloakID !== user.value.keycloakID && index < 5)
.filter((u, index) => u.id !== user.value.id && index < 5)
.map((u) => {
return {label: u.firstName + ' ' + u.lastName, value: u.keycloakID};
return {label: u.firstName + ' ' + u.lastName, value: u.id};
});
}
@@ -106,17 +106,17 @@ export default defineComponent({
<p>{{ user.firstName }}</p>
<p>{{ user.lastName }}</p>
<p>{{ user.username }}</p>
<p>{{ user.keycloakID }}</p>
<p>{{ user.id }}</p>
</div>
<q-btn @click="logout()" label="Logout"/>
<q-btn @click="loadUsers()" label="Print Users"/>
<div v-if="usersLoaded">
<p>Users:</p>
<div v-for="user in users" :key="user.keycloakID">
<div v-for="user in users" :key="user.id">
<p>{{ user.firstName }}</p>
<p>{{ user.lastName }}</p>
<p>{{ user.username }}</p>
<p>{{ user.keycloakID }}</p>
<p>{{ user.id }}</p>
</div>
</div>
<br>
@@ -166,8 +166,8 @@ export default defineComponent({
<p>Chats:</p>
<div v-for="chat in chats" :key="chat.id">
<h5>{{ chat.displayName }}</h5>
<div v-for="ptpUser in chat.members" :key="ptpUser.keycloakID">
<p>{{ ptpUser.keycloakID }}</p>
<div v-for="ptpUser in chat.members" :key="ptpUser.id">
<p>{{ ptpUser.id }}</p>
</div>
</div>
</div>

View File

@@ -18,14 +18,9 @@ const keycloak: Keycloak = await userStore.initKeycloak();
// Anfrage ans Backend
if (keycloak.subject) {
userStore.keycloakId = keycloak.subject;
//userStore.loadPtpUsersByKeycloakID(keycloak.subject);
await userStore.getPtpUserByKeycloakID(keycloak.subject);
/*console.log(userStore.userLoaded);
if(userStore.userLoaded) {
console.log("Hier ist der Bruder: " + JSON.stringify(userStore.user));
}*/
userStore.loadPtpUsersByKeycloakID(keycloak.subject).then(user => {
userStore.id = keycloak.subject;
await userStore.getPtpUserById(keycloak.subject);
userStore.loadPtpUsersById(keycloak.subject).then(user => {
console.log(JSON.stringify(user));
})
} else {

View File

@@ -1,5 +1,5 @@
export interface ptpUser {
keycloakID: string;
id: string;
firstName: string;
lastName: string;
username: string;
@@ -19,8 +19,7 @@ export interface chat{
}
export interface user{
id: number;
keycloakID: string;
id: string;
firstName: string;
lastName: string;
username: string;

View File

@@ -17,19 +17,17 @@ export const useChatStore = defineStore('chatStore',{
return this.chats;
},
async loadChatsByUser() : Promise<chat[]>{
this.chats = (await api.get("/users/chat/" + userStore.keycloakId)).data.response;
this.chats = (await api.get("/users/chat/" + userStore.id)).data.response;
return this.chats;
},
async createChat(chatName: string, members: string[]){
if(userStore.keycloakId) {
console.log("keycloakId is defined");
if (!members.includes(userStore.keycloakId)) {
members.push(userStore.keycloakId);
if(userStore.id) {
if (!members.includes(userStore.id)) {
members.push(userStore.id);
}
}else if(userStore.user?.keycloakID){
console.log("user is defined");
if (! members.includes(userStore.user.keycloakID)) {
members.push(userStore.user.keycloakID);
}else if(userStore.user?.id){
if (! members.includes(userStore.user.id)) {
members.push(userStore.user.id);
}
}
console.log(members);

View File

@@ -31,18 +31,18 @@ export const useUserStore = defineStore('userStore', {
user: null as ptpUser | null,
userLoaded: false,
keycloak: null as Keycloak | null,
keycloakId: "",
id: "",
users: [] as ptpUser[],
}),
actions: {
async getPtpUserByKeycloakID(keycloakID : string) {
await this.loadPtpUsersByKeycloakID(keycloakID).then((response : responseModel) => {
async getPtpUserById(id : string) {
await this.loadPtpUsersById(id).then((response : responseModel) => {
this.user = response.response;
this.userLoaded = true;
});
},
async loadPtpUsersByKeycloakID(keycloakID : string) : Promise<responseModel> {
return (await api.get("/users/login/"+keycloakID)).data;
async loadPtpUsersById(id : string) : Promise<responseModel> {
return (await api.get("/users/login/"+id)).data;
},
async loadAllUsers(): Promise<ptpUser[]> {
this.users = (await api.get("/users/user")).data;