whatsapp-store-db 1.3.45 → 1.3.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/handlers/chat.js +1 -16
- package/dist/handlers/contact.js +4 -14
- package/package.json +1 -1
package/dist/handlers/chat.js
CHANGED
|
@@ -72,11 +72,9 @@ function chatHandler(sessionId, event, getJid = undefined) {
|
|
|
72
72
|
}
|
|
73
73
|
logger.error({ id, sessionId }, 'Failed to persist chat record after repeated retries');
|
|
74
74
|
};
|
|
75
|
-
const set = async ({ chats
|
|
75
|
+
const set = async ({ chats }) => {
|
|
76
76
|
try {
|
|
77
77
|
await prisma.$transaction(async (tx) => {
|
|
78
|
-
if (isLatest)
|
|
79
|
-
await tx.chat.deleteMany({ where: { sessionId } });
|
|
80
78
|
// Process chats in batches to avoid timeout
|
|
81
79
|
const BATCH_SIZE = 100;
|
|
82
80
|
const normalizedChats = chats.map((c) => {
|
|
@@ -165,24 +163,12 @@ function chatHandler(sessionId, event, getJid = undefined) {
|
|
|
165
163
|
}
|
|
166
164
|
}
|
|
167
165
|
};
|
|
168
|
-
const del = async (ids) => {
|
|
169
|
-
try {
|
|
170
|
-
const normalizedIds = ids.map((id) => resolveChatId(id).resolvedId);
|
|
171
|
-
await prisma.chat.deleteMany({
|
|
172
|
-
where: { id: { in: normalizedIds } },
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
catch (e) {
|
|
176
|
-
logger.error(e, 'An error occured during chats delete');
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
166
|
const listen = () => {
|
|
180
167
|
if (listening)
|
|
181
168
|
return;
|
|
182
169
|
event.on('messaging-history.set', set);
|
|
183
170
|
event.on('chats.upsert', upsert);
|
|
184
171
|
event.on('chats.update', update);
|
|
185
|
-
// event.on('chats.delete', del);
|
|
186
172
|
listening = true;
|
|
187
173
|
};
|
|
188
174
|
const unlisten = () => {
|
|
@@ -191,7 +177,6 @@ function chatHandler(sessionId, event, getJid = undefined) {
|
|
|
191
177
|
event.off('messaging-history.set', set);
|
|
192
178
|
event.off('chats.upsert', upsert);
|
|
193
179
|
event.off('chats.update', update);
|
|
194
|
-
// event.off('chats.delete', del);
|
|
195
180
|
listening = false;
|
|
196
181
|
};
|
|
197
182
|
return { listen, unlisten };
|
package/dist/handlers/contact.js
CHANGED
|
@@ -63,23 +63,13 @@ function contactHandler(sessionId, event, getJid = undefined) {
|
|
|
63
63
|
const data = sanitizeContactData((0, utils_1.transformPrisma)(c));
|
|
64
64
|
return Object.assign(Object.assign({}, data), { id });
|
|
65
65
|
}));
|
|
66
|
-
|
|
67
|
-
const deletedOldContactIds = (await prisma.contact.findMany({
|
|
68
|
-
select: { id: true },
|
|
69
|
-
where: { id: { notIn: contactIds }, sessionId },
|
|
70
|
-
})).map((c) => c.id);
|
|
71
|
-
const upsertPromises = normalizedContacts
|
|
72
|
-
.map((data) => prisma.contact.upsert({
|
|
66
|
+
await Promise.all(normalizedContacts.map((data) => prisma.contact.upsert({
|
|
73
67
|
select: { pkId: true },
|
|
74
68
|
create: Object.assign(Object.assign({}, data), { sessionId }),
|
|
75
69
|
update: data,
|
|
76
70
|
where: { sessionId_id: { id: data.id, sessionId } },
|
|
77
|
-
}));
|
|
78
|
-
|
|
79
|
-
...upsertPromises,
|
|
80
|
-
prisma.contact.deleteMany({ where: { id: { in: deletedOldContactIds }, sessionId } }),
|
|
81
|
-
]);
|
|
82
|
-
logger.info({ deletedContacts: deletedOldContactIds.length, newContacts: contacts.length }, 'Synced contacts');
|
|
71
|
+
})));
|
|
72
|
+
logger.info({ contactsProcessed: contacts.length }, 'Synced contacts');
|
|
83
73
|
}
|
|
84
74
|
catch (e) {
|
|
85
75
|
logger.error(e, 'An error occured during contacts set');
|
|
@@ -92,7 +82,7 @@ function contactHandler(sessionId, event, getJid = undefined) {
|
|
|
92
82
|
const data = sanitizeContactData((0, utils_1.transformPrisma)(c));
|
|
93
83
|
return Object.assign(Object.assign({}, data), { id });
|
|
94
84
|
}));
|
|
95
|
-
await Promise.
|
|
85
|
+
await Promise.all(normalizedContacts.map((data) => prisma.contact.upsert({
|
|
96
86
|
select: { pkId: true },
|
|
97
87
|
create: Object.assign(Object.assign({}, data), { sessionId }),
|
|
98
88
|
update: data,
|