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.
@@ -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, isLatest }) => {
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 };
@@ -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
- const contactIds = normalizedContacts.map((c) => c.id);
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
- await Promise.any([
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.any(normalizedContacts.map((data) => prisma.contact.upsert({
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,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whatsapp-store-db",
3
- "version": "1.3.45",
3
+ "version": "1.3.46",
4
4
  "description": "Minimal Baileys data storage for your favorite DBMS built with Prisma",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",