From 271228c1b98ac6ba3f3352f75e44f96e8593ab12 Mon Sep 17 00:00:00 2001 From: SebClem Date: Wed, 22 Jun 2022 21:19:35 +0200 Subject: [PATCH] :hammer: Add connect --- .../guild/home/AudioPreviewComponent.vue | 106 ++++++++++++++++-- src/services/audioService.ts | 34 +++++- 2 files changed, 128 insertions(+), 12 deletions(-) diff --git a/src/components/guild/home/AudioPreviewComponent.vue b/src/components/guild/home/AudioPreviewComponent.vue index c6bad22..7ea1227 100644 --- a/src/components/guild/home/AudioPreviewComponent.vue +++ b/src/components/guild/home/AudioPreviewComponent.vue @@ -4,9 +4,35 @@ mdi-music-circle @@ -140,12 +166,22 @@ variant="outlined" > + + + + + + + + + + + diff --git a/src/services/audioService.ts b/src/services/audioService.ts index 31dab16..aae5189 100644 --- a/src/services/audioService.ts +++ b/src/services/audioService.ts @@ -29,4 +29,36 @@ function getAudioStatus(guildId: string): Promise { }); } -export { getAudioStatus }; +function connect(guildId: string, voiceChannelId: string): Promise { + return new Promise((resolve, reject) => { + const userStore = useUserStore(); + axios + .post( + `/audio/${guildId}/connect`, + { + channelId: voiceChannelId, + }, + { + headers: { + authorization: `Bearer ${userStore.token}`, + }, + } + ) + .then(() => { + resolve(); + }) + .catch((reason) => { + console.error(`Fail to connect to voice channel !`); + console.log(reason); + const eventQueuStore = useEventQueuStore(); + eventQueuStore.push({ + uuid: undefined, + type: "error", + text: "Fail to connect to voice channel !", + }); + reject(reason); + }); + }); +} + +export { getAudioStatus, connect };