widget parole 22
This commit is contained in:
parent
312db59632
commit
7fe27f8b49
@ -137,7 +137,6 @@ export async function GET(request: Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const subscriptionsData = await subscriptionsResponse.json();
|
const subscriptionsData = await subscriptionsResponse.json();
|
||||||
console.log('Subscriptions response:', subscriptionsData);
|
|
||||||
|
|
||||||
if (!subscriptionsData.success || !Array.isArray(subscriptionsData.update)) {
|
if (!subscriptionsData.success || !Array.isArray(subscriptionsData.update)) {
|
||||||
console.error('Invalid subscriptions response structure');
|
console.error('Invalid subscriptions response structure');
|
||||||
@ -146,16 +145,14 @@ export async function GET(request: Request) {
|
|||||||
|
|
||||||
// Filter subscriptions for the current user
|
// Filter subscriptions for the current user
|
||||||
const userSubscriptions = subscriptionsData.update.filter((sub: any) => {
|
const userSubscriptions = subscriptionsData.update.filter((sub: any) => {
|
||||||
// For direct messages, only include if the user is a participant
|
// For direct messages (t: 'd')
|
||||||
if (sub.t === 'd') {
|
if (sub.t === 'd') {
|
||||||
// Check if the user is actually part of this direct message
|
// Make sure the room ID contains the current user's ID
|
||||||
return sub.rid.includes(currentUser._id);
|
const participants = sub.rid.split('');
|
||||||
|
return participants.includes(currentUser._id);
|
||||||
}
|
}
|
||||||
// For channels, only include if the user is a member
|
// For channels (t: 'c') and private groups (t: 'p')
|
||||||
if (sub.t === 'c') {
|
return ['c', 'p'].includes(sub.t) && sub.u._id === currentUser._id;
|
||||||
return sub.alert !== undefined; // This indicates the user is actually a member
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log('Filtered user subscriptions:', {
|
console.log('Filtered user subscriptions:', {
|
||||||
@ -166,7 +163,8 @@ export async function GET(request: Request) {
|
|||||||
type: sub.t,
|
type: sub.t,
|
||||||
name: sub.fname || sub.name,
|
name: sub.fname || sub.name,
|
||||||
rid: sub.rid,
|
rid: sub.rid,
|
||||||
alert: sub.alert
|
alert: sub.alert,
|
||||||
|
isOwn: sub.u._id === currentUser._id
|
||||||
}))
|
}))
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -179,8 +177,16 @@ export async function GET(request: Request) {
|
|||||||
processedRooms.add(subscription.rid);
|
processedRooms.add(subscription.rid);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Determine the correct endpoint and parameters based on room type
|
// Determine the correct endpoint based on room type
|
||||||
const endpoint = subscription.t === 'c' ? 'channels.messages' : 'im.messages';
|
let endpoint;
|
||||||
|
if (subscription.t === 'c') {
|
||||||
|
endpoint = 'channels.messages';
|
||||||
|
} else if (subscription.t === 'p') {
|
||||||
|
endpoint = 'groups.messages';
|
||||||
|
} else {
|
||||||
|
endpoint = 'im.messages';
|
||||||
|
}
|
||||||
|
|
||||||
const queryParams = new URLSearchParams({
|
const queryParams = new URLSearchParams({
|
||||||
roomId: subscription.rid,
|
roomId: subscription.rid,
|
||||||
count: '3'
|
count: '3'
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user