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(); await loadUsers();
} }
usersForChatOptions.value = users.value 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) => { .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.firstName }}</p>
<p>{{ user.lastName }}</p> <p>{{ user.lastName }}</p>
<p>{{ user.username }}</p> <p>{{ user.username }}</p>
<p>{{ user.keycloakID }}</p> <p>{{ user.id }}</p>
</div> </div>
<q-btn @click="logout()" label="Logout"/> <q-btn @click="logout()" label="Logout"/>
<q-btn @click="loadUsers()" label="Print Users"/> <q-btn @click="loadUsers()" label="Print Users"/>
<div v-if="usersLoaded"> <div v-if="usersLoaded">
<p>Users:</p> <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.firstName }}</p>
<p>{{ user.lastName }}</p> <p>{{ user.lastName }}</p>
<p>{{ user.username }}</p> <p>{{ user.username }}</p>
<p>{{ user.keycloakID }}</p> <p>{{ user.id }}</p>
</div> </div>
</div> </div>
<br> <br>
@@ -166,8 +166,8 @@ export default defineComponent({
<p>Chats:</p> <p>Chats:</p>
<div v-for="chat in chats" :key="chat.id"> <div v-for="chat in chats" :key="chat.id">
<h5>{{ chat.displayName }}</h5> <h5>{{ chat.displayName }}</h5>
<div v-for="ptpUser in chat.members" :key="ptpUser.keycloakID"> <div v-for="ptpUser in chat.members" :key="ptpUser.id">
<p>{{ ptpUser.keycloakID }}</p> <p>{{ ptpUser.id }}</p>
</div> </div>
</div> </div>
</div> </div>

View File

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

View File

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

View File

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

View File

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