You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
1.1 KiB
Markdown
25 lines
1.1 KiB
Markdown
# Ajustar la sincronización de grupos y miembros
|
|
|
|
Configuración por entorno
|
|
- GROUP_SYNC_INTERVAL_MS: intervalo para refrescar lista de grupos activos.
|
|
- GROUP_MEMBERS_SYNC_INTERVAL_MS: intervalo para refrescar miembros de grupos activos.
|
|
- WHATSAPP_COMMUNITY_ID: comunidad a sincronizar desde Evolution API.
|
|
|
|
Operaciones comunes
|
|
- Forzar refresco de caché de grupos:
|
|
- Llama `GroupSyncService.refreshActiveGroupsCache()` tras cambios relevantes.
|
|
- Sincronizar miembros de un grupo concreto:
|
|
- `await GroupSyncService.syncMembersForGroup(groupId)`.
|
|
- Comprobar frescura de snapshot:
|
|
- `GroupSyncService.isSnapshotFresh(groupId)` en función de `MAX_SNAPSHOT_AGE_MS`.
|
|
|
|
Puntos de extensión
|
|
- API de origen:
|
|
- Implementa/ajusta `(GroupSyncService as any).fetchGroupMembersFromAPI(groupId)` si se mockea/inyecta.
|
|
- Reconciliación:
|
|
- `reconcileGroupMembers(groupId, snapshot)` espera objetos `{ userId, isAdmin }`.
|
|
|
|
Buenas prácticas
|
|
- No correr schedulers en test (el servicio ya lo evita).
|
|
- Usa transacciones al actualizar tablas de grupos/miembros (ya integrado en upsert).
|