refactor: document endpoints
This commit is contained in:
parent
61491019cf
commit
8263ffb942
9 changed files with 1696 additions and 1022 deletions
|
|
@ -16,19 +16,6 @@ const { sendErrorResponse } = require('../utils')
|
|||
const getClassInfo = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the chat'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the given Chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
|
|
@ -40,15 +27,6 @@ const getClassInfo = async (req, res) => {
|
|||
}
|
||||
res.json({ success: true, chat })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -68,19 +46,6 @@ const getClassInfo = async (req, res) => {
|
|||
const clearMessages = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Clear all messages from the chat'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the given Chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
|
|
@ -93,15 +58,6 @@ const clearMessages = async (req, res) => {
|
|||
const result = await chat.clearMessages()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -121,19 +77,6 @@ const clearMessages = async (req, res) => {
|
|||
const clearState = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Stop typing or recording in chat immediately'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the given Chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
|
|
@ -146,15 +89,6 @@ const clearState = async (req, res) => {
|
|||
const result = await chat.clearState()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -175,19 +109,6 @@ const clearState = async (req, res) => {
|
|||
const deleteChat = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Delete the chat'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the given Chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
|
|
@ -200,15 +121,6 @@ const deleteChat = async (req, res) => {
|
|||
const result = await chat.delete()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -264,15 +176,6 @@ const fetchMessages = async (req, res) => {
|
|||
const messages = Object.keys(searchOptions).length ? await chat.fetchMessages(searchOptions) : await chat.fetchMessages()
|
||||
res.json({ success: true, messages })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -291,19 +194,6 @@ const fetchMessages = async (req, res) => {
|
|||
const getContact = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the contact'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the given Chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
|
|
@ -316,15 +206,6 @@ const getContact = async (req, res) => {
|
|||
const contact = await chat.getContact()
|
||||
res.json({ success: true, contact })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -345,19 +226,6 @@ const sendStateRecording = async (req, res) => {
|
|||
/*
|
||||
#swagger.summary = 'Simulate recording audio'
|
||||
#swagger.description = 'Simulate recording audio in chat. This will last for 25 seconds'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the given Chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
|
|
@ -370,15 +238,6 @@ const sendStateRecording = async (req, res) => {
|
|||
const result = await chat.sendStateRecording()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -399,19 +258,6 @@ const sendStateTyping = async (req, res) => {
|
|||
/*
|
||||
#swagger.summary = 'Simulate typing in chat'
|
||||
#swagger.description = 'Simulate typing in chat. This will last for 25 seconds.'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the given Chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
|
|
@ -424,15 +270,6 @@ const sendStateTyping = async (req, res) => {
|
|||
const result = await chat.sendStateTyping()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -452,19 +289,6 @@ const sendStateTyping = async (req, res) => {
|
|||
const sendSeen = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Set the message as seen'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the given Chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
|
|
@ -477,15 +301,6 @@ const sendSeen = async (req, res) => {
|
|||
const result = await chat.sendSeen()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -505,19 +320,6 @@ const sendSeen = async (req, res) => {
|
|||
const markUnread = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Mark this chat as unread'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the given Chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
|
|
@ -530,15 +332,6 @@ const markUnread = async (req, res) => {
|
|||
const result = await chat.markUnread()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -558,19 +351,6 @@ const markUnread = async (req, res) => {
|
|||
const syncHistory = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Sync chat history'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the given Chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
|
|
@ -583,15 +363,6 @@ const syncHistory = async (req, res) => {
|
|||
const result = await chat.syncHistory()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -612,19 +383,6 @@ const getLabels = async (req, res) => {
|
|||
/*
|
||||
#swagger.summary = 'Return all labels'
|
||||
#swagger.description = 'Return array of all labels assigned to this chat'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the given Chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
|
|
@ -637,15 +395,6 @@ const getLabels = async (req, res) => {
|
|||
const labels = await chat.getLabels()
|
||||
res.json({ success: true, labels })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -695,15 +444,6 @@ const changeLabels = async (req, res) => {
|
|||
await chat.changeLabels(labelIds)
|
||||
res.json({ success: true })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,20 +119,11 @@ const sendMessage = async (req, res) => {
|
|||
break
|
||||
}
|
||||
default:
|
||||
return sendErrorResponse(res, 404, 'contentType invalid, must be string, MessageMedia, MessageMediaFromURL, Location, Buttons, List, Contact or Poll')
|
||||
return sendErrorResponse(res, 400, 'contentType invalid, must be string, MessageMedia, MessageMediaFromURL, Location, Buttons, List, Contact or Poll')
|
||||
}
|
||||
|
||||
res.json({ success: true, message: messageOut })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
console.log(error)
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -157,15 +148,6 @@ const getClassInfo = (req, res) => {
|
|||
const sessionInfo = client.info
|
||||
res.json({ success: true, sessionInfo })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -205,15 +187,6 @@ const isRegisteredUser = async (req, res) => {
|
|||
const result = await client.isRegisteredUser(number)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -254,15 +227,6 @@ const getNumberId = async (req, res) => {
|
|||
const result = await client.getNumberId(number)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -318,15 +282,6 @@ const createGroup = async (req, res) => {
|
|||
}
|
||||
res.json({ success: true, response })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -354,7 +309,7 @@ const setStatus = async (req, res) => {
|
|||
status: {
|
||||
type: 'string',
|
||||
description: 'New status message',
|
||||
example: 'I\'m running WhatsApp Web Api'
|
||||
example: 'I\'m running WWebJS Api'
|
||||
},
|
||||
}
|
||||
},
|
||||
|
|
@ -366,15 +321,6 @@ const setStatus = async (req, res) => {
|
|||
await client.setStatus(status)
|
||||
res.json({ success: true })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -397,15 +343,6 @@ const getContacts = async (req, res) => {
|
|||
const contacts = await client.getContacts()
|
||||
res.json({ success: true, contacts })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -433,15 +370,6 @@ const getChats = async (req, res) => {
|
|||
const chats = await client.getChats()
|
||||
res.json({ success: true, chats })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -481,15 +409,6 @@ const getProfilePictureUrl = async (req, res) => {
|
|||
const result = await client.getProfilePicUrl(contactId)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -530,15 +449,6 @@ const acceptInvite = async (req, res) => {
|
|||
const acceptInvite = await client.acceptInvite(inviteCode)
|
||||
res.json({ success: true, acceptInvite })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -564,15 +474,6 @@ const getWWebVersion = async (req, res) => {
|
|||
const result = await client.getWWebVersion()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -613,15 +514,6 @@ const archiveChat = async (req, res) => {
|
|||
const result = await client.archiveChat(chatId)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -646,15 +538,6 @@ const getBlockedContacts = async (req, res) => {
|
|||
const blockedContacts = await client.getBlockedContacts()
|
||||
res.json({ success: true, blockedContacts })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -693,20 +576,10 @@ const getChatById = async (req, res) => {
|
|||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat) {
|
||||
sendErrorResponse(res, 404, 'Chat not Found')
|
||||
return
|
||||
throw new Error('Chat not found')
|
||||
}
|
||||
res.json({ success: true, chat })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -746,15 +619,6 @@ const getChatLabels = async (req, res) => {
|
|||
const chatLabels = await client.getChatLabels(chatId)
|
||||
res.json({ success: true, chatLabels })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -794,15 +658,6 @@ const getChatsByLabelId = async (req, res) => {
|
|||
const chats = await client.getChatsByLabelId(labelId)
|
||||
res.json({ success: true, chats })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -842,15 +697,6 @@ const getCommonGroups = async (req, res) => {
|
|||
const groups = await client.getCommonGroups(contactId)
|
||||
res.json({ success: true, groups })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -889,15 +735,6 @@ const getContactById = async (req, res) => {
|
|||
const contact = await client.getContactById(contactId)
|
||||
res.json({ success: true, contact })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -937,15 +774,6 @@ const getInviteInfo = async (req, res) => {
|
|||
const inviteInfo = await client.getInviteInfo(inviteCode)
|
||||
res.json({ success: true, inviteInfo })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -985,15 +813,6 @@ const getLabelById = async (req, res) => {
|
|||
const label = await client.getLabelById(labelId)
|
||||
res.json({ success: true, label })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1017,15 +836,6 @@ const getLabels = async (req, res) => {
|
|||
const labels = await client.getLabels()
|
||||
res.json({ success: true, labels })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1067,15 +877,6 @@ const addOrRemoveLabels = async (req, res) => {
|
|||
await client.addOrRemoveLabels(labelIds, chatIds)
|
||||
res.json({ success: true })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1099,15 +900,6 @@ const getState = async (req, res) => {
|
|||
const state = await client.getState()
|
||||
res.json({ success: true, state })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1147,15 +939,6 @@ const markChatUnread = async (req, res) => {
|
|||
await client.markChatUnread(chatId)
|
||||
res.json({ success: true })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1206,15 +989,6 @@ const muteChat = async (req, res) => {
|
|||
}
|
||||
res.json({ success: true })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1254,15 +1028,6 @@ const pinChat = async (req, res) => {
|
|||
const result = await client.pinChat(chatId)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1295,7 +1060,7 @@ const searchMessages = async (req, res) => {
|
|||
options: {
|
||||
type: 'object',
|
||||
description: 'Search options',
|
||||
example: {}
|
||||
example: { limit: 10, page: 1 }
|
||||
},
|
||||
}
|
||||
},
|
||||
|
|
@ -1312,15 +1077,6 @@ const searchMessages = async (req, res) => {
|
|||
}
|
||||
res.json({ success: true, messages })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1344,15 +1100,6 @@ const sendPresenceAvailable = async (req, res) => {
|
|||
await client.sendPresenceAvailable()
|
||||
res.json({ success: true })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1376,15 +1123,6 @@ const sendPresenceUnavailable = async (req, res) => {
|
|||
await client.sendPresenceUnavailable()
|
||||
res.json({ success: true })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1423,15 +1161,6 @@ const sendSeen = async (req, res) => {
|
|||
const result = await client.sendSeen(chatId)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1471,15 +1200,6 @@ const setDisplayName = async (req, res) => {
|
|||
const result = await client.setDisplayName(displayName)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1518,15 +1238,6 @@ const unarchiveChat = async (req, res) => {
|
|||
const result = await client.unarchiveChat(chatId)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1566,15 +1277,6 @@ const unmuteChat = async (req, res) => {
|
|||
const result = await client.unmuteChat(chatId)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1614,15 +1316,6 @@ const unpinChat = async (req, res) => {
|
|||
const result = await client.unpinChat(chatId)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1667,15 +1360,6 @@ const setProfilePicture = async (req, res) => {
|
|||
const result = await client.setProfilePicture(media)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1697,15 +1381,6 @@ const deleteProfilePicture = async (req, res) => {
|
|||
const result = await client.deleteProfilePicture()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1741,15 +1416,6 @@ const setAutoDownloadAudio = async (req, res) => {
|
|||
await client.setAutoDownloadAudio(flag)
|
||||
res.json({ success: true })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1785,15 +1451,6 @@ const setAutoDownloadDocuments = async (req, res) => {
|
|||
await client.setAutoDownloadDocuments(flag)
|
||||
res.json({ success: true })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1829,15 +1486,6 @@ const setAutoDownloadPhotos = async (req, res) => {
|
|||
await client.setAutoDownloadPhotos(flag)
|
||||
res.json({ success: true })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1873,15 +1521,6 @@ const setAutoDownloadVideos = async (req, res) => {
|
|||
await client.setAutoDownloadVideos(flag)
|
||||
res.json({ success: true })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1921,15 +1560,6 @@ const syncHistory = async (req, res) => {
|
|||
const result = await client.syncHistory(chatId)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -1970,15 +1600,6 @@ const getContactDeviceCount = async (req, res) => {
|
|||
const result = await client.getContactDeviceCount(userId)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -2018,15 +1639,6 @@ const getCountryCode = async (req, res) => {
|
|||
const result = await client.getCountryCode(number)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -2066,15 +1678,6 @@ const getFormattedNumber = async (req, res) => {
|
|||
const result = await client.getFormattedNumber(number)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,14 +14,17 @@ const { sendErrorResponse } = require('../utils')
|
|||
* @returns {Object} The contact information object.
|
||||
*/
|
||||
const getClassInfo = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the contact'
|
||||
*/
|
||||
try {
|
||||
const { contactId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const contact = await client.getContactById(contactId)
|
||||
if (!contact) {
|
||||
sendErrorResponse(res, 404, 'Contact not Found')
|
||||
throw new Error('Contact not found')
|
||||
}
|
||||
res.json({ success: true, result: contact })
|
||||
res.json({ success: true, contact })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -40,12 +43,15 @@ const getClassInfo = async (req, res) => {
|
|||
* @returns {Object} The result of the blocking operation.
|
||||
*/
|
||||
const block = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Block contact'
|
||||
*/
|
||||
try {
|
||||
const { contactId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const contact = await client.getContactById(contactId)
|
||||
if (!contact) {
|
||||
sendErrorResponse(res, 404, 'Contact not Found')
|
||||
throw new Error('Contact not found')
|
||||
}
|
||||
const result = await contact.block()
|
||||
res.json({ success: true, result })
|
||||
|
|
@ -67,12 +73,16 @@ const block = async (req, res) => {
|
|||
* @returns {Object} The 'About' information of the contact.
|
||||
*/
|
||||
const getAbout = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = "Get the contact's current info"
|
||||
#swagger.description = "Get the Contact's current 'about' info. Returns null if you don't have permission to read their status."
|
||||
*/
|
||||
try {
|
||||
const { contactId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const contact = await client.getContactById(contactId)
|
||||
if (!contact) {
|
||||
sendErrorResponse(res, 404, 'Contact not Found')
|
||||
throw new Error('Contact not found')
|
||||
}
|
||||
const result = await contact.getAbout()
|
||||
res.json({ success: true, result })
|
||||
|
|
@ -94,11 +104,17 @@ const getAbout = async (req, res) => {
|
|||
* @returns {Promise<void>} A promise that resolves with the chat information of the contact.
|
||||
*/
|
||||
const getChat = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the chat'
|
||||
#swagger.description = 'Get the chat that corresponds to the contact. Will return null when getting chat for currently logged in user.'
|
||||
*/
|
||||
try {
|
||||
const { contactId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const contact = await client.getContactById(contactId)
|
||||
if (!contact) { sendErrorResponse(res, 404, 'Contact not Found') }
|
||||
if (!contact) {
|
||||
throw new Error('Contact not found')
|
||||
}
|
||||
const result = await contact.getChat()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
|
|
@ -119,11 +135,17 @@ const getChat = async (req, res) => {
|
|||
* @returns {Promise<void>} A promise that resolves with the formatted number of the contact.
|
||||
*/
|
||||
const getFormattedNumber = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the formatted phone number'
|
||||
#swagger.description = "Returns the contact's formatted phone number, (12345678901@c.us) => (+1 (234) 5678-901)."
|
||||
*/
|
||||
try {
|
||||
const { contactId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const contact = await client.getContactById(contactId)
|
||||
if (!contact) { sendErrorResponse(res, 404, 'Contact not Found') }
|
||||
if (!contact) {
|
||||
throw new Error('Contact not found')
|
||||
}
|
||||
const result = await contact.getFormattedNumber()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
|
|
@ -144,11 +166,17 @@ const getFormattedNumber = async (req, res) => {
|
|||
* @returns {Promise<void>} A promise that resolves with the country code of the contact.
|
||||
*/
|
||||
const getCountryCode = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the country code'
|
||||
#swagger.description = "Returns the contact's country code, (1541859685@c.us) => (1)."
|
||||
*/
|
||||
try {
|
||||
const { contactId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const contact = await client.getContactById(contactId)
|
||||
if (!contact) { sendErrorResponse(res, 404, 'Contact not Found') }
|
||||
if (!contact) {
|
||||
throw new Error('Contact not found')
|
||||
}
|
||||
const result = await contact.getCountryCode()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
|
|
@ -169,11 +197,17 @@ const getCountryCode = async (req, res) => {
|
|||
* @returns {Promise<void>} A promise that resolves with the profile picture url of the contact.
|
||||
*/
|
||||
const getProfilePicUrl = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the profile picture URL'
|
||||
#swagger.description = "Get the contact's profile picture URL, if privacy settings allow it."
|
||||
*/
|
||||
try {
|
||||
const { contactId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const contact = await client.getContactById(contactId)
|
||||
if (!contact) { sendErrorResponse(res, 404, 'Contact not Found') }
|
||||
if (!contact) {
|
||||
throw new Error('Contact not found')
|
||||
}
|
||||
const result = await contact.getProfilePicUrl() || null
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
|
|
@ -194,11 +228,17 @@ const getProfilePicUrl = async (req, res) => {
|
|||
* @returns {Promise<void>} A promise that resolves with the result of unblocking the contact.
|
||||
*/
|
||||
const unblock = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Unblock the contact'
|
||||
#swagger.description = "Unblock the contact from WhatsApp."
|
||||
*/
|
||||
try {
|
||||
const { contactId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const contact = await client.getContactById(contactId)
|
||||
if (!contact) { sendErrorResponse(res, 404, 'Contact not Found') }
|
||||
if (!contact) {
|
||||
throw new Error('Contact not found')
|
||||
}
|
||||
const result = await contact.unblock()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
|
|
@ -206,6 +246,37 @@ const unblock = async (req, res) => {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the contact's common groups with you.
|
||||
*
|
||||
* @async
|
||||
* @function unblock
|
||||
* @param {Object} req - The request object.
|
||||
* @param {Object} res - The response object.
|
||||
* @param {string} req.params.sessionId - The session ID.
|
||||
* @param {string} req.body.contactId - The ID of the client whose contact is being unblocked.
|
||||
* @throws {Error} If the contact with the given contactId is not found or if there is an error unblocking the contact.
|
||||
* @returns {Promise<void>} A promise that resolves with the result of unblocking the contact.
|
||||
*/
|
||||
const getCommonGroups = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = "Get the contact's common groups"
|
||||
#swagger.description = "Get the contact's common groups with you. Returns empty array if you don't have any common group."
|
||||
*/
|
||||
try {
|
||||
const { contactId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const contact = await client.getContactById(contactId)
|
||||
if (!contact) {
|
||||
throw new Error('Contact not found')
|
||||
}
|
||||
const result = await contact.getCommonGroups()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getClassInfo,
|
||||
block,
|
||||
|
|
@ -214,5 +285,6 @@ module.exports = {
|
|||
unblock,
|
||||
getFormattedNumber,
|
||||
getCountryCode,
|
||||
getProfilePicUrl
|
||||
getProfilePicUrl,
|
||||
getCommonGroups
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
const { MessageMedia, Location, Buttons, List, Poll } = require('whatsapp-web.js')
|
||||
const { sessions } = require('../sessions')
|
||||
const { sendErrorResponse } = require('../utils')
|
||||
|
||||
|
|
@ -14,8 +15,7 @@ const { sendErrorResponse } = require('../utils')
|
|||
const _getMessageById = async (client, messageId, chatId) => {
|
||||
const chat = await client.getChatById(chatId)
|
||||
const messages = await chat.fetchMessages({ limit: 100 })
|
||||
const message = messages.find((message) => { return message.id.id === messageId })
|
||||
return message
|
||||
return messages.find((message) => { return message.id.id === messageId })
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -30,11 +30,14 @@ const _getMessageById = async (client, messageId, chatId) => {
|
|||
* @returns {Promise<void>} - A Promise that resolves with no value when the function completes.
|
||||
*/
|
||||
const getClassInfo = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get message'
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not Found') }
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
res.json({ success: true, message })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
|
|
@ -54,11 +57,37 @@ const getClassInfo = async (req, res) => {
|
|||
* @returns {Promise<void>} - A Promise that resolves with no value when the function completes.
|
||||
*/
|
||||
const deleteMessage = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Delete a message from the chat'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'The chat id which contains the message',
|
||||
example: '6281288888888@c.us'
|
||||
},
|
||||
messageId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the message',
|
||||
example: 'ABCDEF999999999'
|
||||
},
|
||||
everyone: {
|
||||
type: 'boolean',
|
||||
description: 'If true and the message is sent by the current user or the user is an admin, will delete it for everyone in the chat.',
|
||||
example: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId, everyone } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not Found') }
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const result = await message.delete(everyone)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
|
|
@ -79,12 +108,15 @@ const deleteMessage = async (req, res) => {
|
|||
* @returns {Promise<void>} - A Promise that resolves with no value when the function completes.
|
||||
*/
|
||||
const downloadMedia = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Download attached message media'
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId, everyone } = req.body
|
||||
const { messageId, chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not Found') }
|
||||
const messageMedia = await message.downloadMedia(everyone)
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const messageMedia = await message.downloadMedia()
|
||||
res.json({ success: true, messageMedia })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
|
|
@ -106,11 +138,37 @@ const downloadMedia = async (req, res) => {
|
|||
* @throws Will throw an error if the message is not found or if there is an error during the forward operation.
|
||||
*/
|
||||
const forward = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Delete a message from the chat'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'The chat id which contains the message',
|
||||
example: '6281288888888@c.us'
|
||||
},
|
||||
messageId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the message',
|
||||
example: 'ABCDEF999999999'
|
||||
},
|
||||
destinationChatId: {
|
||||
type: 'string',
|
||||
description: 'The chat id to forward the message to',
|
||||
example: '6281288888889@c.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId, destinationChatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not Found') }
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const result = await message.forward(destinationChatId)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
|
|
@ -132,11 +190,15 @@ const forward = async (req, res) => {
|
|||
* @throws Will throw an error if the message is not found or if there is an error during the get info operation.
|
||||
*/
|
||||
const getInfo = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get information about message delivery status'
|
||||
#swagger.description = 'May return null if the message does not exist or is not sent by you.'
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not Found') }
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const info = await message.getInfo()
|
||||
res.json({ success: true, info })
|
||||
} catch (error) {
|
||||
|
|
@ -159,11 +221,14 @@ const getInfo = async (req, res) => {
|
|||
* @throws {Error} - If there's an error retrieving the message or mentions
|
||||
*/
|
||||
const getMentions = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the contacts mentioned'
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not Found') }
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const contacts = await message.getMentions()
|
||||
res.json({ success: true, contacts })
|
||||
} catch (error) {
|
||||
|
|
@ -186,11 +251,14 @@ const getMentions = async (req, res) => {
|
|||
* @throws {Error} - If there's an error retrieving the message or order information
|
||||
*/
|
||||
const getOrder = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the order details'
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not Found') }
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const order = await message.getOrder()
|
||||
res.json({ success: true, order })
|
||||
} catch (error) {
|
||||
|
|
@ -213,11 +281,14 @@ const getOrder = async (req, res) => {
|
|||
* @throws {Object} If the specified message is not found or if an error occurs during the retrieval process.
|
||||
*/
|
||||
const getPayment = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the payment details'
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not Found') }
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const payment = await message.getPayment()
|
||||
res.json({ success: true, payment })
|
||||
} catch (error) {
|
||||
|
|
@ -240,11 +311,14 @@ const getPayment = async (req, res) => {
|
|||
* @throws {Object} If the specified message is not found or if an error occurs during the retrieval process.
|
||||
*/
|
||||
const getQuotedMessage = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the quoted message'
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not Found') }
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const quotedMessage = await message.getQuotedMessage()
|
||||
res.json({ success: true, quotedMessage })
|
||||
} catch (error) {
|
||||
|
|
@ -268,11 +342,37 @@ const getQuotedMessage = async (req, res) => {
|
|||
* @throws {Error} If there was an error during the operation.
|
||||
*/
|
||||
const react = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'React with an emoji'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'The chat id which contains the message',
|
||||
example: '6281288888888@c.us'
|
||||
},
|
||||
messageId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the message',
|
||||
example: 'ABCDEF999999999'
|
||||
},
|
||||
reaction: {
|
||||
type: 'string',
|
||||
description: 'Emoji to react with. Send an empty string to remove the reaction.',
|
||||
example: '👍'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId, reaction } = req.body
|
||||
const { messageId, chatId, reaction = '' } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not Found') }
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const result = await message.react(reaction)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
|
|
@ -297,12 +397,95 @@ const react = async (req, res) => {
|
|||
* @throws {Error} If there was an error during the operation.
|
||||
*/
|
||||
const reply = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Send a message as a reply'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
'@content': {
|
||||
"application/json": {
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'The chat id which contains the message',
|
||||
example: '6281288888888@c.us'
|
||||
},
|
||||
messageId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the message',
|
||||
example: 'ABCDEF999999999'
|
||||
},
|
||||
contentType: {
|
||||
type: 'string',
|
||||
description: 'The type of message content, must be one of the following: string, MessageMedia, MessageMediaFromURL, Location, Contact, Poll, Buttons, or List',
|
||||
},
|
||||
content: {
|
||||
type: 'object',
|
||||
description: 'The content of the message, can be a string or an object',
|
||||
},
|
||||
options: {
|
||||
type: 'object',
|
||||
description: 'The message send options',
|
||||
}
|
||||
}
|
||||
},
|
||||
examples: {
|
||||
string: { value: { messageId: '3A80E857F9B44AF60C2C', chatId: '6281288888888@c.us', contentType: 'string', content: 'Reply text!' } }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId, content, destinationChatId, options } = req.body
|
||||
const { messageId, chatId, content, contentType, options } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not Found') }
|
||||
const repliedMessage = await message.reply(content, destinationChatId, options)
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
let contentMessage
|
||||
switch (contentType) {
|
||||
case 'string':
|
||||
if (options?.media) {
|
||||
const media = options.media
|
||||
media.filename = null
|
||||
media.filesize = null
|
||||
options.media = new MessageMedia(media.mimetype, media.data, media.filename, media.filesize)
|
||||
}
|
||||
contentMessage = content
|
||||
break
|
||||
case 'MessageMediaFromURL': {
|
||||
contentMessage = await MessageMedia.fromUrl(content, { unsafeMime: true })
|
||||
break
|
||||
}
|
||||
case 'MessageMedia': {
|
||||
contentMessage = new MessageMedia(content.mimetype, content.data, content.filename, content.filesize)
|
||||
break
|
||||
}
|
||||
case 'Location': {
|
||||
contentMessage = new Location(content.latitude, content.longitude, content.description)
|
||||
break
|
||||
}
|
||||
case 'Buttons': {
|
||||
contentMessage = new Buttons(content.body, content.buttons, content.title, content.footer)
|
||||
break
|
||||
}
|
||||
case 'List': {
|
||||
contentMessage = new List(content.body, content.buttonText, content.sections, content.title, content.footer)
|
||||
break
|
||||
}
|
||||
case 'Contact': {
|
||||
const contactId = content.contactId.endsWith('@c.us') ? content.contactId : `${content.contactId}@c.us`
|
||||
contentMessage = await client.getContactById(contactId)
|
||||
break
|
||||
}
|
||||
case 'Poll': {
|
||||
contentMessage = new Poll(content.pollName, content.pollOptions, content.options)
|
||||
break
|
||||
}
|
||||
default:
|
||||
return sendErrorResponse(res, 400, 'contentType invalid, must be string, MessageMedia, MessageMediaFromURL, Location, Buttons, List, Contact or Poll')
|
||||
}
|
||||
const repliedMessage = await message.reply(contentMessage, chatId, options)
|
||||
res.json({ success: true, repliedMessage })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
|
|
@ -319,14 +502,17 @@ const reply = async (req, res) => {
|
|||
* @param {string} req.body.messageId - The message ID.
|
||||
* @param {string} req.body.chatId - The chat ID.
|
||||
* @returns {Promise} A Promise that resolves with the result of the message.star() call.
|
||||
* @throws {Error} If message is not found, it throws an error with the message "Message not Found".
|
||||
* @throws {Error} If message is not found, it throws an error with the message "Message not found".
|
||||
*/
|
||||
const star = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Star the message'
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not Found') }
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const result = await message.star()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
|
|
@ -344,14 +530,17 @@ const star = async (req, res) => {
|
|||
* @param {string} req.body.messageId - The message ID.
|
||||
* @param {string} req.body.chatId - The chat ID.
|
||||
* @returns {Promise} A Promise that resolves with the result of the message.unstar() call.
|
||||
* @throws {Error} If message is not found, it throws an error with the message "Message not Found".
|
||||
* @throws {Error} If message is not found, it throws an error with the message "Message not found".
|
||||
*/
|
||||
const unstar = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Unstar the message'
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not Found') }
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const result = await message.unstar()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
|
|
@ -359,6 +548,144 @@ const unstar = async (req, res) => {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @function getReactions
|
||||
* @async
|
||||
* @description Gets the reactions associated with the given message.
|
||||
* @param {Object} req - The request object.
|
||||
* @param {Object} res - The response object.
|
||||
* @param {string} req.params.sessionId - The session ID.
|
||||
* @param {string} req.body.messageId - The message ID.
|
||||
* @param {string} req.body.chatId - The chat ID.
|
||||
* @returns {Promise} A Promise that resolves with the result of the message.getReactions() call.
|
||||
* @throws {Error} If message is not found, it throws an error with the message "Message not found".
|
||||
*/
|
||||
const getReactions = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the reactions associated'
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const result = await message.getReactions()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @function getReactions
|
||||
* @async
|
||||
* @description Gets groups mentioned in this message
|
||||
* @param {Object} req - The request object.
|
||||
* @param {Object} res - The response object.
|
||||
* @param {string} req.params.sessionId - The session ID.
|
||||
* @param {string} req.body.messageId - The message ID.
|
||||
* @param {string} req.body.chatId - The chat ID.
|
||||
* @returns {Promise} A Promise that resolves with the result of the message.getReactions() call.
|
||||
* @throws {Error} If message is not found, it throws an error with the message "Message not found".
|
||||
*/
|
||||
const getGroupMentions = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get groups mentioned in this message'
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const result = await message.getGroupMentions()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @function edit
|
||||
* @async
|
||||
* @description Edits the current message
|
||||
* @param {Object} req - The request object.
|
||||
* @param {Object} res - The response object.
|
||||
* @param {string} req.params.sessionId - The session ID.
|
||||
* @param {string} req.body.messageId - The message ID.
|
||||
* @param {string} req.body.chatId - The chat ID.
|
||||
* @returns {Promise} A Promise that resolves with the result of the message.edit() call.
|
||||
* @throws {Error} If message is not found, it throws an error with the message "Message not found".
|
||||
*/
|
||||
const edit = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Edit the message'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'The chat id which contains the message',
|
||||
example: '6281288888888@c.us'
|
||||
},
|
||||
messageId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the message',
|
||||
example: 'ABCDEF999999999'
|
||||
},
|
||||
content: {
|
||||
type: 'string',
|
||||
description: 'The content of the message',
|
||||
},
|
||||
options: {
|
||||
type: 'object',
|
||||
description: 'Options used when editing the message',
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId, content, options } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const editedMessage = await message.edit(content, options)
|
||||
res.json({ success: true, message: editedMessage })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @function getContact
|
||||
* @async
|
||||
* @description Gets groups mentioned in this message
|
||||
* @param {Object} req - The request object.
|
||||
* @param {Object} res - The response object.
|
||||
* @param {string} req.params.sessionId - The session ID.
|
||||
* @param {string} req.body.messageId - The message ID.
|
||||
* @param {string} req.body.chatId - The chat ID.
|
||||
* @returns {Promise} A Promise that resolves with the result of the message.getReactions() call.
|
||||
* @throws {Error} If message is not found, it throws an error with the message "Message not found".
|
||||
*/
|
||||
const getContact = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the contact'
|
||||
*/
|
||||
try {
|
||||
const { messageId, chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const message = await _getMessageById(client, messageId, chatId)
|
||||
if (!message) { throw new Error('Message not found') }
|
||||
const contact = await message.getContact()
|
||||
res.json({ success: true, contact })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getClassInfo,
|
||||
deleteMessage,
|
||||
|
|
@ -372,5 +699,9 @@ module.exports = {
|
|||
react,
|
||||
reply,
|
||||
star,
|
||||
unstar
|
||||
unstar,
|
||||
getReactions,
|
||||
getGroupMentions,
|
||||
edit,
|
||||
getContact
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,15 +45,6 @@ const startSession = async (req, res) => {
|
|||
await waitForNestedObject(setupSessionReturn.client, 'pupPage')
|
||||
res.json({ success: true, message: setupSessionReturn.message })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
console.log('startSession ERROR', error)
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -88,15 +79,6 @@ const statusSession = async (req, res) => {
|
|||
res.json(sessionData)
|
||||
} catch (error) {
|
||||
console.log('statusSession ERROR', error)
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -127,15 +109,6 @@ const sessionQrCode = async (req, res) => {
|
|||
return res.json({ success: false, message: 'qr code not ready or already scanned' })
|
||||
} catch (error) {
|
||||
console.log('sessionQrCode ERROR', error)
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -177,15 +150,6 @@ const sessionQrCodeImage = async (req, res) => {
|
|||
return res.json({ success: false, message: 'qr code not ready or already scanned' })
|
||||
} catch (error) {
|
||||
console.log('sessionQrCodeImage ERROR', error)
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
|
@ -222,15 +186,6 @@ const restartSession = async (req, res) => {
|
|||
*/
|
||||
res.json({ success: true, message: 'Restarted successfully' })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
console.log('restartSession ERROR', error)
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -268,15 +223,6 @@ const terminateSession = async (req, res) => {
|
|||
*/
|
||||
res.json({ success: true, message: 'Logged out successfully' })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
console.log('terminateSession ERROR', error)
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -308,15 +254,6 @@ const terminateInactiveSessions = async (req, res) => {
|
|||
*/
|
||||
res.json({ success: true, message: 'Flush completed successfully' })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
console.log('terminateInactiveSessions ERROR', error)
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -348,15 +285,6 @@ const terminateAllSessions = async (req, res) => {
|
|||
*/
|
||||
res.json({ success: true, message: 'Flush completed successfully' })
|
||||
} catch (error) {
|
||||
/* #swagger.responses[500] = {
|
||||
description: "Server Failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
console.log('terminateAllSessions ERROR', error)
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,6 +78,14 @@ const rateLimiter = rateLimiting({
|
|||
const sessionSwagger = async (req, res, next) => {
|
||||
/*
|
||||
#swagger.tags = ['Session']
|
||||
#swagger.responses[500] = {
|
||||
description: "Server failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
next()
|
||||
}
|
||||
|
|
@ -85,6 +93,14 @@ const sessionSwagger = async (req, res, next) => {
|
|||
const clientSwagger = async (req, res, next) => {
|
||||
/*
|
||||
#swagger.tags = ['Client']
|
||||
#swagger.responses[500] = {
|
||||
description: "Server failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
next()
|
||||
}
|
||||
|
|
@ -99,12 +115,20 @@ const contactSwagger = async (req, res, next) => {
|
|||
properties: {
|
||||
contactId: {
|
||||
type: 'string',
|
||||
description: 'Unique whatsApp identifier for the contact',
|
||||
description: 'Unique WhatsApp ID for the contact',
|
||||
example: '6281288888888@c.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#swagger.responses[500] = {
|
||||
description: "Server failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
next()
|
||||
}
|
||||
|
|
@ -119,12 +143,12 @@ const messageSwagger = async (req, res, next) => {
|
|||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'The Chat id which contains the message',
|
||||
description: 'The chat id which contains the message',
|
||||
example: '6281288888888@c.us'
|
||||
},
|
||||
messageId: {
|
||||
type: 'string',
|
||||
description: 'Unique whatsApp identifier for the message',
|
||||
description: 'Unique WhatsApp ID for the message',
|
||||
example: 'ABCDEF999999999'
|
||||
}
|
||||
}
|
||||
|
|
@ -144,12 +168,20 @@ const chatSwagger = async (req, res, next) => {
|
|||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique whatsApp identifier for the given Chat (either group or personnal)',
|
||||
description: 'Unique WhatsApp ID for the given chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#swagger.responses[500] = {
|
||||
description: "Server failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
next()
|
||||
}
|
||||
|
|
@ -164,7 +196,7 @@ const groupChatSwagger = async (req, res, next) => {
|
|||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique whatsApp identifier for the given Chat (either group or personnal)',
|
||||
description: 'Unique WhatsApp ID for the given Chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -173,6 +173,10 @@ messageRouter.post('/react/:sessionId', [middleware.sessionNameValidation, middl
|
|||
messageRouter.post('/reply/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], messageController.reply)
|
||||
messageRouter.post('/star/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], messageController.star)
|
||||
messageRouter.post('/unstar/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], messageController.unstar)
|
||||
messageRouter.post('/getReactions/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], messageController.getReactions)
|
||||
messageRouter.post('/getGroupMentions/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], messageController.getGroupMentions)
|
||||
messageRouter.post('/edit/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], messageController.edit)
|
||||
messageRouter.post('/getContact/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], messageController.getContact)
|
||||
|
||||
/**
|
||||
* ================
|
||||
|
|
@ -192,6 +196,7 @@ contactRouter.post('/unblock/:sessionId', [middleware.sessionNameValidation, mid
|
|||
contactRouter.post('/getFormattedNumber/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], contactController.getFormattedNumber)
|
||||
contactRouter.post('/getCountryCode/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], contactController.getCountryCode)
|
||||
contactRouter.post('/getProfilePicUrl/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], contactController.getProfilePicUrl)
|
||||
contactRouter.post('/getCommonGroups/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], contactController.getCommonGroups)
|
||||
/**
|
||||
* ================
|
||||
* SWAGGER ENDPOINTS
|
||||
|
|
|
|||
|
|
@ -36,8 +36,7 @@ const doc = {
|
|||
description: 'All functions related to the client'
|
||||
},
|
||||
{
|
||||
name: 'Message',
|
||||
description: 'May fail if the message is too old (Only from the last 100 Messages of the given chat)'
|
||||
name: 'Message'
|
||||
}
|
||||
],
|
||||
definitions: {
|
||||
|
|
@ -68,7 +67,7 @@ const doc = {
|
|||
},
|
||||
NotFoundResponse: {
|
||||
success: false,
|
||||
error: 'Some server error'
|
||||
error: 'Not found error'
|
||||
},
|
||||
ForbiddenResponse: {
|
||||
success: false,
|
||||
|
|
|
|||
1388
swagger.json
1388
swagger.json
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue