|
|
|
|
@ -74,11 +74,33 @@ export class GroupSyncService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const groups = await this.fetchGroupsFromAPI();
|
|
|
|
|
const communityGroups = groups.filter(
|
|
|
|
|
(group) => group.linkedParent === communityId
|
|
|
|
|
);
|
|
|
|
|
console.log('ℹ️ Grupos crudos de la API:', JSON.stringify(groups, null, 2));
|
|
|
|
|
|
|
|
|
|
const communityGroups = groups.filter((group) => {
|
|
|
|
|
const matches = group.linkedParent === communityId;
|
|
|
|
|
console.log(`ℹ️ Grupo ${group.id} (${group.subject}):`, {
|
|
|
|
|
linkedParent: group.linkedParent,
|
|
|
|
|
matchesCommunity: matches,
|
|
|
|
|
isCommunityItself: group.id === communityId
|
|
|
|
|
});
|
|
|
|
|
return matches;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
console.log('ℹ️ Grupos que pasaron el filtro:', communityGroups.map(g => ({
|
|
|
|
|
id: g.id,
|
|
|
|
|
name: g.subject,
|
|
|
|
|
parent: g.linkedParent
|
|
|
|
|
})));
|
|
|
|
|
|
|
|
|
|
const dbGroupsBefore = db.prepare('SELECT id, active FROM groups').all();
|
|
|
|
|
console.log('ℹ️ Grupos en DB antes de upsert:', dbGroupsBefore);
|
|
|
|
|
|
|
|
|
|
return await this.upsertGroups(communityGroups);
|
|
|
|
|
const result = await this.upsertGroups(communityGroups);
|
|
|
|
|
|
|
|
|
|
const dbGroupsAfter = db.prepare('SELECT id, active FROM groups').all();
|
|
|
|
|
console.log('ℹ️ Grupos en DB después de upsert:', dbGroupsAfter);
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error('Group sync failed:', error);
|
|
|
|
|
throw error;
|
|
|
|
|
@ -259,8 +281,12 @@ export class GroupSyncService {
|
|
|
|
|
UPDATE groups
|
|
|
|
|
SET active = FALSE,
|
|
|
|
|
last_verified = CURRENT_TIMESTAMP
|
|
|
|
|
WHERE active = TRUE
|
|
|
|
|
`).run();
|
|
|
|
|
console.log('Marked groups inactive:', inactiveResult);
|
|
|
|
|
console.log('ℹ️ Grupos marcados como inactivos:', {
|
|
|
|
|
count: inactiveResult.changes,
|
|
|
|
|
lastId: inactiveResult.lastInsertRowid
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
for (const group of groups) {
|
|
|
|
|
const existing = db.prepare('SELECT 1 FROM groups WHERE id = ?').get(group.id);
|
|
|
|
|
|