Edit BadGatewayException

This commit is contained in:
2026-09-29 15:27:14 +03:30
parent 2309e2c5ab
commit 032eb70524
3 changed files with 146 additions and 49 deletions
+36 -14
View File
@@ -66,27 +66,49 @@ async function bootstrap() {
loading.value = true;
error.value = '';
try {
const [accessRes, roomsRes, peersRes] = await Promise.all([
api.get<ConversationAccessDto>('/conversations/access'),
api.get<ConversationRoomDto[]>('/conversations/rooms'),
api.get<ConversationPeerDto[]>('/conversations/peers'),
]);
const accessRes = await api.get<ConversationAccessDto>('/conversations/access');
access.value = accessRes.data;
if (!accessRes.data.canUse) {
error.value = 'به گفتگوی درون‌سازمانی دسترسی ندارید.';
error.value = 'به گفتگو دسترسی ندارید.';
return;
}
rooms.value = roomsRes.data;
peers.value = peersRes.data;
const sessionRes = await api.get<{ chatUserId: string }>('/conversations/session');
chatUserId.value = sessionRes.data.chatUserId;
const [roomsOutcome, peersOutcome, sessionOutcome] = await Promise.allSettled([
api.get<ConversationRoomDto[]>('/conversations/rooms'),
api.get<ConversationPeerDto[]>('/conversations/peers'),
api.get<{ chatUserId: string }>('/conversations/session'),
]);
if (peersOutcome.status === 'fulfilled') {
peers.value = peersOutcome.value.data;
}
if (sessionOutcome.status === 'fulfilled') {
chatUserId.value = sessionOutcome.value.data.chatUserId;
}
if (roomsOutcome.status === 'fulfilled') {
rooms.value = roomsOutcome.value.data;
} else {
const e = roomsOutcome.reason;
if (axios.isAxiosError(e)) {
const msg = (e.response?.data as { message?: string | string[] })?.message;
error.value = Array.isArray(msg)
? msg.join('، ')
: msg ||
(e.response?.status === 503 || e.response?.status === 502
? 'اتصال به سرویس چت برقرار نشد. Host و API Key را در سوپرادمین بررسی کنید.'
: 'بارگذاری لیست گفتگو ناموفق بود.');
} else {
error.value = 'بارگذاری لیست گفتگو ناموفق بود.';
}
}
} catch (e) {
if (axios.isAxiosError(e) && e.response?.status === 403) {
error.value = 'ماژول گفتگو برای این محیط فعال نیست.';
} else if (axios.isAxiosError(e) && e.response?.status === 400) {
error.value =
(e.response.data as { message?: string })?.message ??
'ابتدا تنظیمات گفتگو را تکمیل کنید.';
} else if (axios.isAxiosError(e)) {
const msg = (e.response?.data as { message?: string | string[] })?.message;
error.value = Array.isArray(msg)
? msg.join('، ')
: msg || 'بارگذاری گفتگو ناموفق بود.';
} else {
error.value = 'بارگذاری گفتگو ناموفق بود.';
}