From 61994f165dcb560a3c6ed9c3232992bffb6d2604 Mon Sep 17 00:00:00 2001 From: Adhiraj Date: Mon, 7 Sep 2020 12:16:51 +0530 Subject: [PATCH] updated filters --- package.json | 2 +- src/Tests/Tests.Messages.ts | 7 +++++++ src/WAConnection/5.User.ts | 12 ++++++------ yarn.lock | 24 ++++++++++++------------ 4 files changed, 26 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index 27a9139..43a8cc0 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "url": "git@github.com:adiwajshing/baileys.git" }, "dependencies": { - "@adiwajshing/keyed-db": "^0.1.2", + "@adiwajshing/keyed-db": "^0.1.4", "curve25519-js": "^0.0.4", "futoin-hkdf": "^1.3.2", "https-proxy-agent": "^5.0.0", diff --git a/src/Tests/Tests.Messages.ts b/src/Tests/Tests.Messages.ts index 3fb84ba..b149790 100644 --- a/src/Tests/Tests.Messages.ts +++ b/src/Tests/Tests.Messages.ts @@ -39,6 +39,13 @@ WAConnectionTest('Messages', conn => { quoted.key.fromMe ? conn.user.jid : quoted.key.id ) }) + it('should upload media successfully', async () => { + const content = await fs.readFile('./Media/sonata.mp3') + // run 10 uploads + for (let i = 0; i < 10;i++) { + await conn.prepareMessageContent (content, MessageType.audio, { filename: 'audio.mp3', mimetype: Mimetype.mp4Audio }) + } + }) it('should send a gif', async () => { const content = await fs.readFile('./Media/ma_gif.mp4') const message = await sendAndRetreiveMessage(conn, content, MessageType.video, { mimetype: Mimetype.gif }) diff --git a/src/WAConnection/5.User.ts b/src/WAConnection/5.User.ts index bc10209..5f35d17 100644 --- a/src/WAConnection/5.User.ts +++ b/src/WAConnection/5.User.ts @@ -95,12 +95,12 @@ export class WAConnection extends Base { * @param searchString optionally search for users * @returns the chats & the cursor to fetch the next page */ - async loadChats (count: number, before: number | null, searchString?: string) { - let db = this.chats - if (searchString) { - db = db.filter (value => value.name?.includes (searchString) || value.jid?.startsWith(searchString)) - } - const chats = db.paginated (before, count) + async loadChats (count: number, before: number | null, filters?: {searchString?: string, archived?: boolean, unread?: boolean}) { + const chats = this.chats.paginated (before, count, filters && (chat => ( + (typeof filters?.archived === 'undefined' || chat.archive === filters.archived.toString()) && + (typeof filters?.searchString === 'undefined' || chat.name?.includes (filters.searchString) || chat.jid?.startsWith(filters.searchString)) && + (typeof filters?.unread === 'undefined' || (filters?.unread ? chat.count !== 0 : chat.count === 0)) + ))) await Promise.all ( chats.map (async chat => ( chat.imgUrl === undefined && await this.setProfilePicture (chat) diff --git a/yarn.lock b/yarn.lock index 3d031b3..984754a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,9 +3,9 @@ "@adiwajshing/keyed-db@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@adiwajshing/keyed-db/-/keyed-db-0.1.3.tgz#37346e5896cfa0d22d9d595f24f47dd2f245e4ec" - integrity sha512-859vfq9EOK207Ob3F722wFT0tSLBHhavdo2KnFlHVgDusNAWuELyisk8rKnLOkhDxyWLnX/3LdK9D8iTUje3zg== + version "0.1.4" + resolved "https://registry.yarnpkg.com/@adiwajshing/keyed-db/-/keyed-db-0.1.4.tgz#ed82563d8738cf2877a3c7c53a8739aa52f5efbf" + integrity sha512-Sed2xppK0b1Ayfwy+ONl4GKTUahzIRmaxHULzraPbIiRx9QHOQ3PJon9ZT1qtkebGdSRX9uHvwruz2VU03/sCQ== "@babel/runtime@^7.7.2": version "7.11.2" @@ -373,9 +373,9 @@ integrity sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w== "@types/node@*", "@types/node@^14.6.2": - version "14.6.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.3.tgz#cc4f979548ca4d8e7b90bc0180052ab99ee64224" - integrity sha512-pC/hkcREG6YfDfui1FBmj8e20jFU5Exjw4NYDm8kEdrW+mOh0T1Zve8DWKnS7ZIZvgncrctcNCXF4Q2I+loyww== + version "14.6.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a" + integrity sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ== "@types/node@^13.7.0": version "13.13.16" @@ -1356,9 +1356,9 @@ neo-async@^2.6.0: integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== node-fetch@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.5.0" @@ -1959,9 +1959,9 @@ typescript@^3.9.7: integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== uglify-js@^3.1.4: - version "3.10.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.3.tgz#f0d2f99736c14de46d2d24649ba328be3e71c3bf" - integrity sha512-Lh00i69Uf6G74mvYpHCI9KVVXLcHW/xu79YTvH7Mkc9zyKUeSPz0owW0dguj0Scavns3ZOh3wY63J0Zb97Za2g== + version "3.10.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.4.tgz#dd680f5687bc0d7a93b14a3482d16db6eba2bfbb" + integrity sha512-kBFT3U4Dcj4/pJ52vfjCSfyLyvG9VYYuGYPmrPvAxRw/i7xHiT4VvCev+uiEMcEEiu6UNB6KgWmGtSUYIWScbw== universalify@^1.0.0: version "1.0.0"