widget parole 15
This commit is contained in:
parent
1a7bdddac0
commit
ec4a0b7d7c
@ -98,15 +98,15 @@ export async function GET(request: Request) {
|
|||||||
id: currentUser._id
|
id: currentUser._id
|
||||||
});
|
});
|
||||||
|
|
||||||
// Step 3: Use admin token to get messages
|
// Step 3: Use admin token for all requests
|
||||||
const userHeaders = {
|
const userHeaders = {
|
||||||
'X-Auth-Token': process.env.ROCKET_CHAT_TOKEN!,
|
'X-Auth-Token': process.env.ROCKET_CHAT_TOKEN!,
|
||||||
'X-User-Id': process.env.ROCKET_CHAT_USER_ID!,
|
'X-User-Id': process.env.ROCKET_CHAT_USER_ID!,
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
};
|
};
|
||||||
|
|
||||||
// Step 4: Get user's subscriptions using admin token
|
// Step 4: Get user's subscriptions
|
||||||
const subscriptionsResponse = await fetch(`${baseUrl}/api/v1/subscriptions.get?userId=${currentUser._id}`, {
|
const subscriptionsResponse = await fetch(`${baseUrl}/api/v1/subscriptions.get`, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
headers: userHeaders
|
headers: userHeaders
|
||||||
});
|
});
|
||||||
@ -119,13 +119,7 @@ export async function GET(request: Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const subscriptionsData = await subscriptionsResponse.json();
|
const subscriptionsData = await subscriptionsResponse.json();
|
||||||
console.log('Subscriptions response:', {
|
console.log('Subscriptions response:', subscriptionsData);
|
||||||
success: subscriptionsData.success,
|
|
||||||
count: subscriptionsData.count,
|
|
||||||
subscriptionsCount: subscriptionsData.subscriptions?.length,
|
|
||||||
update: subscriptionsData.update,
|
|
||||||
remove: subscriptionsData.remove
|
|
||||||
});
|
|
||||||
|
|
||||||
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');
|
||||||
@ -138,8 +132,8 @@ export async function GET(request: Request) {
|
|||||||
if (sub.t === 'd') {
|
if (sub.t === 'd') {
|
||||||
return sub.rid.includes(currentUser._id);
|
return sub.rid.includes(currentUser._id);
|
||||||
}
|
}
|
||||||
// For channels (t: 'c'), include all channels
|
// For channels (t: 'c'), include if user has unread messages or mentions
|
||||||
return sub.t === 'c';
|
return sub.t === 'c' && (sub.unread > 0 || sub.userMentions > 0 || sub.alert);
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log('Filtered subscriptions:', {
|
console.log('Filtered subscriptions:', {
|
||||||
@ -156,7 +150,7 @@ export async function GET(request: Request) {
|
|||||||
const messages: any[] = [];
|
const messages: any[] = [];
|
||||||
const processedRooms = new Set();
|
const processedRooms = new Set();
|
||||||
|
|
||||||
// Step 5: Fetch messages using admin token
|
// Step 5: Fetch messages
|
||||||
for (const subscription of userSubscriptions) {
|
for (const subscription of userSubscriptions) {
|
||||||
if (messages.length >= 7 || processedRooms.has(subscription._id)) continue;
|
if (messages.length >= 7 || processedRooms.has(subscription._id)) continue;
|
||||||
processedRooms.add(subscription._id);
|
processedRooms.add(subscription._id);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user