devlikeapro / waha

WAHA - WhatsApp HTTP API (REST API) that you can configure in a click!
https://waha.devlike.pro/
Apache License 2.0
806 stars 247 forks source link

[Feature Request] GET /api/contacts/profile-picture returns "not-authorized" error when get profile from blocked account #381

Open devlikepro opened 1 week ago

devlikepro commented 1 week ago

[Feature Request] GET /api/contacts/profile-picture returns "not-authorized" error when get profile from blocked account

We need to handle it properly and return well structured message instead of traceback and 500

{"statusCode":500,"timestamp":"2024-06-14T15:56:41.070Z","exception":{"stack":"Error: not-authorized\n at assertNodeErrorFree (/app/node_modules/@adiwajshing/baileys/lib/WABinary/generic-utils.js:56:15)\n at query (/app/node_modules/@adiwajshing/baileys/lib/Socket/socket.js:145:48)\n at process.processTicksAndRejections (node
/process/task_queues:95:5)\n at async Object.profilePictureUrl (/app/node_modules/@adiwajshing/baileys/lib/Socket/chats.js:442:24)\n at async WhatsappSessionNoWebPlus.getContactProfilePicture (/app/dist/core/engines/noweb/session.noweb.core.js:463:21)","message":"not-authorized","data":401,"isBoom"
,"isServer"
,"output":{},"name":"Error"},"request":{"path":"/api/contacts/profile-picture?contactId=number@c.us&session=25204","method":"GET","body":{},"query":{"contactId":"number@c.us","session":"25204"}},"version":{"version":"2024.6.3","engine":"NOWEB","tier":"PLUS","browser":"/usr/bin/chromium"}}

Steps:

  1. Block account
  2. Get profile picture for that account

TODO:

patron:PRO

devlikepro commented 1 week ago

Return profilePictureUrl empty with error like

profilePictureUrl: none
error: 
   msg: Text description
   key: not-authorized

patron:PRO

devlikepro commented 1 week ago

There's one more for not-found

{
  "statusCode": 500,
  "timestamp": "2024-06-19T06:19:08.419Z",
  "exception": {
    "stack": "Error: item-not-found\n    at assertNodeErrorFree (/home/ps/git/whatsapp-http-api/node_modules/@adiwajshing/baileys/lib/WABinary/generic-utils.js:56:15)\n    at query (/home/ps/git/whatsapp-http-api/node_modules/@adiwajshing/baileys/lib/Socket/socket.js:145:48)\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at Object.profilePictureUrl (/home/ps/git/whatsapp-http-api/node_modules/@adiwajshing/baileys/lib/Socket/chats.js:442:24)\n    at WhatsappSessionNoWebPlus.getContactProfilePicture (/home/ps/git/whatsapp-http-api/src/core/engines/noweb/session.noweb.core.ts:701:17)",
    "message": "item-not-found",
    "data": 404,
    "isBoom": true,
    "isServer": true,
    "output": {},
    "name": "Error"
  },
  "request": {
    "path": "/api/contacts/profile-picture?contactId=123123123&session=default",
    "method": "GET",
    "body": {},
    "query": {
      "contactId": "123123123",
      "session": "default"
    }
  },
  "version": {
    "version": "2024.6.6",
    "engine": "NOWEB",
    "tier": "PLUS",
    "browser": "/usr/bin/google-chrome-stable"
  }
}

patron:PRO