@badzz88/baileys 8.4.6 → 8.4.9

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.
Files changed (250) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1055 -337
  3. package/WAProto/WAProto.proto +850 -32
  4. package/WAProto/index.d.ts +4913 -25
  5. package/WAProto/index.js +14074 -98
  6. package/package.json +96 -131
  7. package/src/Defaults/index.js +201 -0
  8. package/src/Defaults/phonenumber-mcc.json +223 -0
  9. package/src/Signal/Group/ciphertext-message.js +15 -0
  10. package/src/Signal/Group/group-session-builder.js +92 -0
  11. package/src/Signal/Group/group_cipher.js +89 -0
  12. package/src/Signal/Group/index.js +136 -0
  13. package/src/Signal/Group/keyhelper.js +73 -0
  14. package/src/Signal/Group/sender-chain-key.js +32 -0
  15. package/src/Signal/Group/sender-key-distribution-message.js +66 -0
  16. package/src/Signal/Group/sender-key-message.js +69 -0
  17. package/src/Signal/Group/sender-key-name.js +50 -0
  18. package/src/Signal/Group/sender-key-record.js +44 -0
  19. package/src/Signal/Group/sender-key-state.js +97 -0
  20. package/src/Signal/Group/sender-message-key.js +30 -0
  21. package/src/Signal/libsignal.js +470 -0
  22. package/src/Signal/lid-mapping.js +262 -0
  23. package/src/Socket/Client/index.js +30 -0
  24. package/src/Socket/Client/types.js +13 -0
  25. package/src/Socket/Client/websocket.js +62 -0
  26. package/src/Socket/aigroups.js +240 -0
  27. package/src/Socket/business.js +422 -0
  28. package/src/Socket/chats.js +2374 -0
  29. package/src/Socket/communities.js +580 -0
  30. package/src/Socket/graphql.js +915 -0
  31. package/src/Socket/groups.js +812 -0
  32. package/src/Socket/index.js +37 -0
  33. package/src/Socket/interactive-handler.js +579 -0
  34. package/src/Socket/interop.js +566 -0
  35. package/src/Socket/managed-account.js +214 -0
  36. package/src/Socket/messages-recv.js +3012 -0
  37. package/src/Socket/messages-send.js +2163 -0
  38. package/{lib → src}/Socket/mex.js +11 -5
  39. package/src/Socket/newsletter.js +1057 -0
  40. package/src/Socket/privacy.js +452 -0
  41. package/src/Socket/registration.js +434 -0
  42. package/src/Socket/socket.js +1079 -0
  43. package/src/Socket/text-router.js +67 -0
  44. package/src/Socket/username.js +234 -0
  45. package/src/Store/index.js +36 -0
  46. package/src/Store/make-cache-manager-store.js +90 -0
  47. package/src/Store/make-in-memory-store.js +506 -0
  48. package/src/Store/make-ordered-dictionary.js +81 -0
  49. package/src/Store/object-repository.js +29 -0
  50. package/src/Types/Auth.js +38 -0
  51. package/src/Types/Bussines.js +2 -0
  52. package/src/Types/Call.js +2 -0
  53. package/src/Types/Chat.js +4 -0
  54. package/src/Types/Contact.js +2 -0
  55. package/src/Types/Events.js +2 -0
  56. package/src/Types/GroupMetadata.js +2 -0
  57. package/src/Types/Label.js +27 -0
  58. package/src/Types/LabelAssociation.js +9 -0
  59. package/src/Types/Message.js +95 -0
  60. package/src/Types/Newsletter.js +152 -0
  61. package/src/Types/Product.js +2 -0
  62. package/src/Types/Signal.js +2 -0
  63. package/src/Types/Socket.js +2 -0
  64. package/src/Types/State.js +70 -0
  65. package/src/Types/USync.js +2 -0
  66. package/src/Types/index.js +54 -0
  67. package/src/Utils/auth-utils.js +306 -0
  68. package/src/Utils/browser-utils.js +114 -0
  69. package/src/Utils/business.js +247 -0
  70. package/src/Utils/chat-utils.js +1272 -0
  71. package/src/Utils/consumer-application.js +107 -0
  72. package/src/Utils/crypto.js +125 -0
  73. package/src/Utils/decode-wa-message.js +808 -0
  74. package/src/Utils/event-buffer.js +586 -0
  75. package/src/Utils/generics.js +640 -0
  76. package/src/Utils/group-history.js +60 -0
  77. package/src/Utils/history.js +244 -0
  78. package/src/Utils/identity-change-handler.js +52 -0
  79. package/src/Utils/index.js +53 -0
  80. package/src/Utils/jid-display-normalization.js +218 -0
  81. package/src/Utils/link-preview.js +143 -0
  82. package/src/Utils/logger.js +9 -0
  83. package/src/Utils/lt-hash.js +10 -0
  84. package/src/Utils/make-mutex.js +36 -0
  85. package/src/Utils/message-composer.js +479 -0
  86. package/src/Utils/message-inspect.js +400 -0
  87. package/src/Utils/message-retry-manager.js +231 -0
  88. package/src/Utils/messages-media.js +943 -0
  89. package/src/Utils/messages.js +2490 -0
  90. package/src/Utils/meta-ai-msmsg.js +133 -0
  91. package/src/Utils/noise-handler.js +194 -0
  92. package/src/Utils/offline-node-processor.js +42 -0
  93. package/src/Utils/pre-key-manager.js +107 -0
  94. package/src/Utils/process-message.js +1047 -0
  95. package/src/Utils/reporting-utils.js +262 -0
  96. package/src/Utils/signal.js +192 -0
  97. package/src/Utils/stanza-ack.js +74 -0
  98. package/src/Utils/sync-action-utils.js +54 -0
  99. package/src/Utils/tc-token-utils.js +161 -0
  100. package/src/Utils/use-multi-file-auth-state.js +121 -0
  101. package/src/Utils/validate-connection.js +248 -0
  102. package/src/Utils/voip-rekey.js +22 -0
  103. package/src/WABinary/constants.js +1304 -0
  104. package/src/WABinary/decode.js +377 -0
  105. package/src/WABinary/encode.js +58 -0
  106. package/src/WABinary/generic-utils.js +148 -0
  107. package/src/WABinary/index.js +33 -0
  108. package/src/WABinary/jid-utils.js +374 -0
  109. package/src/WABinary/types.js +2 -0
  110. package/src/WAM/BinaryInfo.js +13 -0
  111. package/src/WAM/constants.js +39486 -0
  112. package/src/WAM/encode.js +142 -0
  113. package/src/WAM/index.js +31 -0
  114. package/src/WAUSync/Protocols/USyncBotProfileProtocol.js +55 -0
  115. package/src/WAUSync/Protocols/USyncBusinessProtocol.js +100 -0
  116. package/src/WAUSync/Protocols/USyncContactProtocol.js +60 -0
  117. package/src/WAUSync/Protocols/USyncDeviceProtocol.js +65 -0
  118. package/src/WAUSync/Protocols/USyncDisappearingModeProtocol.js +27 -0
  119. package/src/WAUSync/Protocols/USyncFeatureProtocol.js +74 -0
  120. package/src/WAUSync/Protocols/USyncLIDProtocol.js +31 -0
  121. package/src/WAUSync/Protocols/USyncPictureProtocol.js +32 -0
  122. package/src/WAUSync/Protocols/USyncSidelistProtocol.js +29 -0
  123. package/src/WAUSync/Protocols/USyncStatusProtocol.js +44 -0
  124. package/src/WAUSync/Protocols/USyncTextStatusProtocol.js +38 -0
  125. package/src/WAUSync/Protocols/USyncUsernameProtocol.js +28 -0
  126. package/src/WAUSync/Protocols/index.js +40 -0
  127. package/src/WAUSync/USyncBackoff.js +31 -0
  128. package/src/WAUSync/USyncQuery.js +204 -0
  129. package/src/WAUSync/USyncUser.js +58 -0
  130. package/src/WAUSync/index.js +32 -0
  131. package/src/antiban.js +4726 -0
  132. package/{lib → src}/index.js +48 -16
  133. package/lib/Defaults/baileys-version.json +0 -3
  134. package/lib/Defaults/index.js +0 -137
  135. package/lib/Defaults/phonenumber-mcc.json +0 -223
  136. package/lib/Signal/Group/Protocols.js +0 -269
  137. package/lib/Signal/Group/ciphertext-message.js +0 -12
  138. package/lib/Signal/Group/group-session-builder.js +0 -30
  139. package/lib/Signal/Group/group_cipher.js +0 -82
  140. package/lib/Signal/Group/index.js +0 -12
  141. package/lib/Signal/Group/keyhelper.js +0 -18
  142. package/lib/Signal/Group/queue-job.js +0 -57
  143. package/lib/Signal/Group/sender-chain-key.js +0 -26
  144. package/lib/Signal/Group/sender-key-distribution-message.js +0 -63
  145. package/lib/Signal/Group/sender-key-message.js +0 -66
  146. package/lib/Signal/Group/sender-key-name.js +0 -48
  147. package/lib/Signal/Group/sender-key-record.js +0 -41
  148. package/lib/Signal/Group/sender-key-state.js +0 -84
  149. package/lib/Signal/Group/sender-message-key.js +0 -26
  150. package/lib/Signal/libsignal.js +0 -432
  151. package/lib/Signal/lid-mapping.js +0 -277
  152. package/lib/Socket/Client/abstract-socket-client.js +0 -13
  153. package/lib/Socket/Client/index.js +0 -3
  154. package/lib/Socket/Client/mobile-socket-client.js +0 -65
  155. package/lib/Socket/Client/types.js +0 -11
  156. package/lib/Socket/Client/web-socket-client.js +0 -62
  157. package/lib/Socket/Client/websocket.js +0 -54
  158. package/lib/Socket/business.js +0 -379
  159. package/lib/Socket/chats.js +0 -1193
  160. package/lib/Socket/communities.js +0 -431
  161. package/lib/Socket/community.js +0 -392
  162. package/lib/Socket/dugong.js +0 -637
  163. package/lib/Socket/groups.js +0 -374
  164. package/lib/Socket/index.js +0 -12
  165. package/lib/Socket/luxu.js +0 -387
  166. package/lib/Socket/messages-recv.js +0 -1916
  167. package/lib/Socket/messages-send.js +0 -1459
  168. package/lib/Socket/newsletter.js +0 -253
  169. package/lib/Socket/registration.js +0 -167
  170. package/lib/Socket/socket.js +0 -950
  171. package/lib/Socket/username.js +0 -146
  172. package/lib/Socket/usync.js +0 -69
  173. package/lib/Store/index.js +0 -10
  174. package/lib/Store/keyed-db.js +0 -108
  175. package/lib/Store/make-cache-manager-store.js +0 -85
  176. package/lib/Store/make-in-memory-store.js +0 -198
  177. package/lib/Store/make-ordered-dictionary.js +0 -75
  178. package/lib/Store/object-repository.js +0 -32
  179. package/lib/Types/Auth.js +0 -2
  180. package/lib/Types/Bussines.js +0 -2
  181. package/lib/Types/Call.js +0 -2
  182. package/lib/Types/Chat.js +0 -8
  183. package/lib/Types/Contact.js +0 -2
  184. package/lib/Types/Events.js +0 -2
  185. package/lib/Types/GroupMetadata.js +0 -2
  186. package/lib/Types/Label.js +0 -25
  187. package/lib/Types/LabelAssociation.js +0 -7
  188. package/lib/Types/Message.js +0 -11
  189. package/lib/Types/Mex.js +0 -37
  190. package/lib/Types/Newsletter.js +0 -38
  191. package/lib/Types/Product.js +0 -2
  192. package/lib/Types/Signal.js +0 -2
  193. package/lib/Types/Socket.js +0 -3
  194. package/lib/Types/State.js +0 -56
  195. package/lib/Types/USync.js +0 -2
  196. package/lib/Types/index.js +0 -26
  197. package/lib/Utils/auth-utils.js +0 -302
  198. package/lib/Utils/baileys-event-stream.js +0 -63
  199. package/lib/Utils/browser-utils.js +0 -48
  200. package/lib/Utils/business.js +0 -231
  201. package/lib/Utils/chat-utils.js +0 -873
  202. package/lib/Utils/companion-reg-client-utils.js +0 -35
  203. package/lib/Utils/crypto.js +0 -118
  204. package/lib/Utils/decode-wa-message.js +0 -350
  205. package/lib/Utils/event-buffer.js +0 -622
  206. package/lib/Utils/generics.js +0 -399
  207. package/lib/Utils/history.js +0 -134
  208. package/lib/Utils/identity-change-handler.js +0 -50
  209. package/lib/Utils/index.js +0 -23
  210. package/lib/Utils/link-preview.js +0 -85
  211. package/lib/Utils/logger.js +0 -3
  212. package/lib/Utils/lt-hash.js +0 -8
  213. package/lib/Utils/make-mutex.js +0 -33
  214. package/lib/Utils/message-composer.js +0 -273
  215. package/lib/Utils/message-retry-manager.js +0 -265
  216. package/lib/Utils/messages-media.js +0 -788
  217. package/lib/Utils/messages.js +0 -1260
  218. package/lib/Utils/noise-handler.js +0 -201
  219. package/lib/Utils/offline-node-processor.js +0 -40
  220. package/lib/Utils/pre-key-manager.js +0 -106
  221. package/lib/Utils/process-message.js +0 -630
  222. package/lib/Utils/reporting-utils.js +0 -258
  223. package/lib/Utils/signal.js +0 -202
  224. package/lib/Utils/stanza-ack.js +0 -38
  225. package/lib/Utils/sync-action-utils.js +0 -49
  226. package/lib/Utils/tc-token-utils.js +0 -163
  227. package/lib/Utils/use-multi-file-auth-state.js +0 -121
  228. package/lib/Utils/validate-connection.js +0 -204
  229. package/lib/WABinary/constants.js +0 -1301
  230. package/lib/WABinary/decode.js +0 -262
  231. package/lib/WABinary/encode.js +0 -220
  232. package/lib/WABinary/generic-utils.js +0 -204
  233. package/lib/WABinary/index.js +0 -6
  234. package/lib/WABinary/jid-utils.js +0 -98
  235. package/lib/WABinary/types.js +0 -2
  236. package/lib/WAM/BinaryInfo.js +0 -10
  237. package/lib/WAM/constants.js +0 -22853
  238. package/lib/WAM/encode.js +0 -150
  239. package/lib/WAM/index.js +0 -4
  240. package/lib/WAUSync/Protocols/USyncContactProtocol.js +0 -52
  241. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +0 -54
  242. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +0 -27
  243. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +0 -38
  244. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +0 -25
  245. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +0 -51
  246. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +0 -29
  247. package/lib/WAUSync/Protocols/index.js +0 -6
  248. package/lib/WAUSync/USyncQuery.js +0 -98
  249. package/lib/WAUSync/USyncUser.js +0 -31
  250. package/lib/WAUSync/index.js +0 -4
@@ -1,379 +0,0 @@
1
- import { getRawMediaUploadData } from '../Utils/index.js';
2
- import { parseCatalogNode, parseCollectionsNode, parseOrderDetailsNode, parseProductNode, toProductNode, uploadingNecessaryImagesOfProduct } from '../Utils/business.js';
3
- import { jidNormalizedUser, S_WHATSAPP_NET } from '../WABinary/index.js';
4
- import { getBinaryNodeChild } from '../WABinary/generic-utils.js';
5
- import { makeMessagesRecvSocket } from './messages-recv.js';
6
- export const makeBusinessSocket = (config) => {
7
- const sock = makeMessagesRecvSocket(config);
8
- const { authState, query, waUploadToServer } = sock;
9
- const updateBussinesProfile = async (args) => {
10
- const node = [];
11
- const simpleFields = ['address', 'email', 'description'];
12
- node.push(...simpleFields
13
- .filter(key => args[key] !== undefined && args[key] !== null)
14
- .map(key => ({
15
- tag: key,
16
- attrs: {},
17
- content: args[key]
18
- })));
19
- if (args.websites !== undefined) {
20
- node.push(...args.websites.map(website => ({
21
- tag: 'website',
22
- attrs: {},
23
- content: website
24
- })));
25
- }
26
- if (args.hours !== undefined) {
27
- node.push({
28
- tag: 'business_hours',
29
- attrs: { timezone: args.hours.timezone },
30
- content: args.hours.days.map(dayConfig => {
31
- const base = {
32
- tag: 'business_hours_config',
33
- attrs: {
34
- day_of_week: dayConfig.day,
35
- mode: dayConfig.mode
36
- }
37
- };
38
- if (dayConfig.mode === 'specific_hours') {
39
- return {
40
- ...base,
41
- attrs: {
42
- ...base.attrs,
43
- open_time: dayConfig.openTimeInMinutes,
44
- close_time: dayConfig.closeTimeInMinutes
45
- }
46
- };
47
- }
48
- return base;
49
- })
50
- });
51
- }
52
- const result = await query({
53
- tag: 'iq',
54
- attrs: {
55
- to: S_WHATSAPP_NET,
56
- type: 'set',
57
- xmlns: 'w:biz'
58
- },
59
- content: [
60
- {
61
- tag: 'business_profile',
62
- attrs: {
63
- v: '3',
64
- mutation_type: 'delta'
65
- },
66
- content: node
67
- }
68
- ]
69
- });
70
- return result;
71
- };
72
- const updateCoverPhoto = async (photo) => {
73
- const { fileSha256, filePath } = await getRawMediaUploadData(photo, 'biz-cover-photo');
74
- const fileSha256B64 = fileSha256.toString('base64');
75
- const { meta_hmac, fbid, ts } = await waUploadToServer(filePath, {
76
- fileEncSha256B64: fileSha256B64,
77
- mediaType: 'biz-cover-photo'
78
- });
79
- await query({
80
- tag: 'iq',
81
- attrs: {
82
- to: S_WHATSAPP_NET,
83
- type: 'set',
84
- xmlns: 'w:biz'
85
- },
86
- content: [
87
- {
88
- tag: 'business_profile',
89
- attrs: {
90
- v: '3',
91
- mutation_type: 'delta'
92
- },
93
- content: [
94
- {
95
- tag: 'cover_photo',
96
- attrs: { id: String(fbid), op: 'update', token: meta_hmac, ts: String(ts) }
97
- }
98
- ]
99
- }
100
- ]
101
- });
102
- return fbid;
103
- };
104
- const removeCoverPhoto = async (id) => {
105
- return await query({
106
- tag: 'iq',
107
- attrs: {
108
- to: S_WHATSAPP_NET,
109
- type: 'set',
110
- xmlns: 'w:biz'
111
- },
112
- content: [
113
- {
114
- tag: 'business_profile',
115
- attrs: {
116
- v: '3',
117
- mutation_type: 'delta'
118
- },
119
- content: [
120
- {
121
- tag: 'cover_photo',
122
- attrs: { op: 'delete', id }
123
- }
124
- ]
125
- }
126
- ]
127
- });
128
- };
129
- const getCatalog = async ({ jid, limit, cursor }) => {
130
- jid = jid || authState.creds.me?.id;
131
- jid = jidNormalizedUser(jid);
132
- const queryParamNodes = [
133
- {
134
- tag: 'limit',
135
- attrs: {},
136
- content: Buffer.from((limit || 10).toString())
137
- },
138
- {
139
- tag: 'width',
140
- attrs: {},
141
- content: Buffer.from('100')
142
- },
143
- {
144
- tag: 'height',
145
- attrs: {},
146
- content: Buffer.from('100')
147
- }
148
- ];
149
- if (cursor) {
150
- queryParamNodes.push({
151
- tag: 'after',
152
- attrs: {},
153
- content: cursor
154
- });
155
- }
156
- const result = await query({
157
- tag: 'iq',
158
- attrs: {
159
- to: S_WHATSAPP_NET,
160
- type: 'get',
161
- xmlns: 'w:biz:catalog'
162
- },
163
- content: [
164
- {
165
- tag: 'product_catalog',
166
- attrs: {
167
- jid,
168
- allow_shop_source: 'true'
169
- },
170
- content: queryParamNodes
171
- }
172
- ]
173
- });
174
- return parseCatalogNode(result);
175
- };
176
- const getCollections = async (jid, limit = 51) => {
177
- jid = jid || authState.creds.me?.id;
178
- jid = jidNormalizedUser(jid);
179
- const result = await query({
180
- tag: 'iq',
181
- attrs: {
182
- to: S_WHATSAPP_NET,
183
- type: 'get',
184
- xmlns: 'w:biz:catalog',
185
- smax_id: '35'
186
- },
187
- content: [
188
- {
189
- tag: 'collections',
190
- attrs: {
191
- biz_jid: jid
192
- },
193
- content: [
194
- {
195
- tag: 'collection_limit',
196
- attrs: {},
197
- content: Buffer.from(limit.toString())
198
- },
199
- {
200
- tag: 'item_limit',
201
- attrs: {},
202
- content: Buffer.from(limit.toString())
203
- },
204
- {
205
- tag: 'width',
206
- attrs: {},
207
- content: Buffer.from('100')
208
- },
209
- {
210
- tag: 'height',
211
- attrs: {},
212
- content: Buffer.from('100')
213
- }
214
- ]
215
- }
216
- ]
217
- });
218
- return parseCollectionsNode(result);
219
- };
220
- const getOrderDetails = async (orderId, tokenBase64) => {
221
- const result = await query({
222
- tag: 'iq',
223
- attrs: {
224
- to: S_WHATSAPP_NET,
225
- type: 'get',
226
- xmlns: 'fb:thrift_iq',
227
- smax_id: '5'
228
- },
229
- content: [
230
- {
231
- tag: 'order',
232
- attrs: {
233
- op: 'get',
234
- id: orderId
235
- },
236
- content: [
237
- {
238
- tag: 'image_dimensions',
239
- attrs: {},
240
- content: [
241
- {
242
- tag: 'width',
243
- attrs: {},
244
- content: Buffer.from('100')
245
- },
246
- {
247
- tag: 'height',
248
- attrs: {},
249
- content: Buffer.from('100')
250
- }
251
- ]
252
- },
253
- {
254
- tag: 'token',
255
- attrs: {},
256
- content: Buffer.from(tokenBase64)
257
- }
258
- ]
259
- }
260
- ]
261
- });
262
- return parseOrderDetailsNode(result);
263
- };
264
- const productUpdate = async (productId, update) => {
265
- update = await uploadingNecessaryImagesOfProduct(update, waUploadToServer);
266
- const editNode = toProductNode(productId, update);
267
- const result = await query({
268
- tag: 'iq',
269
- attrs: {
270
- to: S_WHATSAPP_NET,
271
- type: 'set',
272
- xmlns: 'w:biz:catalog'
273
- },
274
- content: [
275
- {
276
- tag: 'product_catalog_edit',
277
- attrs: { v: '1' },
278
- content: [
279
- editNode,
280
- {
281
- tag: 'width',
282
- attrs: {},
283
- content: '100'
284
- },
285
- {
286
- tag: 'height',
287
- attrs: {},
288
- content: '100'
289
- }
290
- ]
291
- }
292
- ]
293
- });
294
- const productCatalogEditNode = getBinaryNodeChild(result, 'product_catalog_edit');
295
- const productNode = getBinaryNodeChild(productCatalogEditNode, 'product');
296
- return parseProductNode(productNode);
297
- };
298
- const productCreate = async (create) => {
299
- // ensure isHidden is defined
300
- create.isHidden = !!create.isHidden;
301
- create = await uploadingNecessaryImagesOfProduct(create, waUploadToServer);
302
- const createNode = toProductNode(undefined, create);
303
- const result = await query({
304
- tag: 'iq',
305
- attrs: {
306
- to: S_WHATSAPP_NET,
307
- type: 'set',
308
- xmlns: 'w:biz:catalog'
309
- },
310
- content: [
311
- {
312
- tag: 'product_catalog_add',
313
- attrs: { v: '1' },
314
- content: [
315
- createNode,
316
- {
317
- tag: 'width',
318
- attrs: {},
319
- content: '100'
320
- },
321
- {
322
- tag: 'height',
323
- attrs: {},
324
- content: '100'
325
- }
326
- ]
327
- }
328
- ]
329
- });
330
- const productCatalogAddNode = getBinaryNodeChild(result, 'product_catalog_add');
331
- const productNode = getBinaryNodeChild(productCatalogAddNode, 'product');
332
- return parseProductNode(productNode);
333
- };
334
- const productDelete = async (productIds) => {
335
- const result = await query({
336
- tag: 'iq',
337
- attrs: {
338
- to: S_WHATSAPP_NET,
339
- type: 'set',
340
- xmlns: 'w:biz:catalog'
341
- },
342
- content: [
343
- {
344
- tag: 'product_catalog_delete',
345
- attrs: { v: '1' },
346
- content: productIds.map(id => ({
347
- tag: 'product',
348
- attrs: {},
349
- content: [
350
- {
351
- tag: 'id',
352
- attrs: {},
353
- content: Buffer.from(id)
354
- }
355
- ]
356
- }))
357
- }
358
- ]
359
- });
360
- const productCatalogDelNode = getBinaryNodeChild(result, 'product_catalog_delete');
361
- return {
362
- deleted: +(productCatalogDelNode?.attrs.deleted_count || 0)
363
- };
364
- };
365
- return {
366
- ...sock,
367
- logger: config.logger,
368
- getOrderDetails,
369
- getCatalog,
370
- getCollections,
371
- productCreate,
372
- productDelete,
373
- productUpdate,
374
- updateBussinesProfile,
375
- updateCoverPhoto,
376
- removeCoverPhoto
377
- };
378
- };
379
- //# sourceMappingURL=business.js.map