feat: update group controller
This commit is contained in:
parent
8bcedbeb14
commit
7f509fc029
4 changed files with 931 additions and 110 deletions
|
|
@ -2,6 +2,33 @@ const { MessageMedia } = require('whatsapp-web.js')
|
|||
const { sessions } = require('../sessions')
|
||||
const { sendErrorResponse } = require('../utils')
|
||||
|
||||
/**
|
||||
* Retrieves information about a chat based on the provided chatId
|
||||
*
|
||||
* @async
|
||||
* @function getClassInfo
|
||||
* @param {object} req - The request object
|
||||
* @param {object} res - The response object
|
||||
* @param {string} req.body.chatId - The chatId of the chat to retrieve information about
|
||||
* @param {string} req.params.sessionId - The sessionId of the client making the request
|
||||
* @throws {Error} The chat is not a group.
|
||||
* @returns {Promise<void>} - A JSON response with success true and chat object containing chat information
|
||||
*/
|
||||
const getClassInfo = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the group'
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
res.json({ success: true, chat })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds participants to a group chat.
|
||||
* @async
|
||||
|
|
@ -14,13 +41,40 @@ const { sendErrorResponse } = require('../utils')
|
|||
* @throws {Error} Throws an error if the chat is not a group chat.
|
||||
*/
|
||||
const addParticipants = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Add the participant(s)'
|
||||
#swagger.description = 'Add a list of participants by id to the group'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp id for the given chat group',
|
||||
example: 'XXXXXXXXXX@g.us'
|
||||
},
|
||||
contactIds: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the contact',
|
||||
example: '6281288888887@c.us'
|
||||
},
|
||||
options: {
|
||||
type: 'object',
|
||||
description: 'Options for adding participants',
|
||||
example: { sleep: [250, 500], comment: '' }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId, contactIds } = req.body
|
||||
const { chatId, contactIds, options = {} } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
await chat.addParticipants(contactIds)
|
||||
res.json({ success: true, participants: chat.participants })
|
||||
const result = Object.keys(options).length ? await chat.addParticipants(contactIds, options) : await chat.addParticipants(contactIds)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -37,13 +91,35 @@ const addParticipants = async (req, res) => {
|
|||
* @throws {Error} If chat is not a group
|
||||
*/
|
||||
const removeParticipants = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Remove the participant(s)'
|
||||
#swagger.description = 'Remove a list of participants by ID to the group'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp id for the given chat group',
|
||||
example: 'XXXXXXXXXX@g.us'
|
||||
},
|
||||
contactIds: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the contact',
|
||||
example: '6281288888887@c.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId, contactIds } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
await chat.removeParticipants(contactIds)
|
||||
res.json({ success: true, participants: chat.participants })
|
||||
const result = await chat.removeParticipants(contactIds)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -60,13 +136,35 @@ const removeParticipants = async (req, res) => {
|
|||
* @throws {Error} If chat is not a group
|
||||
*/
|
||||
const promoteParticipants = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Promote the participant(s)'
|
||||
#swagger.description = 'Promote participants by IDs to admins'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp id for the given chat group',
|
||||
example: 'XXXXXXXXXX@g.us'
|
||||
},
|
||||
contactIds: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the contact',
|
||||
example: '6281288888887@c.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId, contactIds } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
await chat.promoteParticipants(contactIds)
|
||||
res.json({ success: true, participants: chat.participants })
|
||||
const result = await chat.promoteParticipants(contactIds)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -83,13 +181,35 @@ const promoteParticipants = async (req, res) => {
|
|||
* @throws {Error} If chat is not a group
|
||||
*/
|
||||
const demoteParticipants = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Demote the participant(s)'
|
||||
#swagger.description = 'Demote participants by ids to regular users'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp id for the given chat group',
|
||||
example: 'XXXXXXXXXX@g.us'
|
||||
},
|
||||
contactIds: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp identifier for the contact',
|
||||
example: '6281288888887@c.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId, contactIds } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
await chat.demoteParticipants(contactIds)
|
||||
res.json({ success: true, participants: chat.participants })
|
||||
const result = await chat.demoteParticipants(contactIds)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -106,6 +226,10 @@ const demoteParticipants = async (req, res) => {
|
|||
* @throws {Error} If chat is not a group
|
||||
*/
|
||||
const getInviteCode = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the invite code'
|
||||
#swagger.description = 'Get the invite code for a specific group'
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
|
|
@ -129,13 +253,34 @@ const getInviteCode = async (req, res) => {
|
|||
* @throws {Error} If chat is not a group
|
||||
*/
|
||||
const setSubject = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Update the group subject'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp id for the given chat group',
|
||||
example: 'XXXXXXXXXX@g.us'
|
||||
},
|
||||
subject: {
|
||||
type: 'string',
|
||||
description: 'Group subject',
|
||||
example: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId, subject } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
const success = await chat.setSubject(subject)
|
||||
res.json({ success, chat })
|
||||
const result = await chat.setSubject(subject)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -152,13 +297,34 @@ const setSubject = async (req, res) => {
|
|||
* @throws {Error} If chat is not a group
|
||||
*/
|
||||
const setDescription = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Update the group description'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp id for the given chat group',
|
||||
example: 'XXXXXXXXXX@g.us'
|
||||
},
|
||||
description: {
|
||||
type: 'string',
|
||||
description: 'Group description',
|
||||
example: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId, description } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
const success = await chat.setDescription(description)
|
||||
res.json({ success, chat })
|
||||
const result = await chat.setDescription(description)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -175,37 +341,16 @@ const setDescription = async (req, res) => {
|
|||
* @throws {Error} If chat is not a group
|
||||
*/
|
||||
const leave = async (req, res) => {
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
const outcome = await chat.leave()
|
||||
res.json({ success: true, outcome })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves information about a chat based on the provided chatId
|
||||
*
|
||||
* @async
|
||||
* @function getClassInfo
|
||||
* @param {object} req - The request object
|
||||
* @param {object} res - The response object
|
||||
* @param {string} req.body.chatId - The chatId of the chat to retrieve information about
|
||||
* @param {string} req.params.sessionId - The sessionId of the client making the request
|
||||
* @throws {Error} The chat is not a group.
|
||||
* @returns {Promise<void>} - A JSON response with success true and chat object containing chat information
|
||||
/*
|
||||
#swagger.summary = 'Leave the group'
|
||||
*/
|
||||
const getClassInfo = async (req, res) => {
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
res.json({ success: true, chat })
|
||||
const result = await chat.leave()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -224,13 +369,17 @@ const getClassInfo = async (req, res) => {
|
|||
* @returns {Promise<void>} - A JSON response with success true and the new invite code for the group chat
|
||||
*/
|
||||
const revokeInvite = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Invalidate the invite code'
|
||||
#swagger.description = 'Invalidate the current group invite code and generates a new one'
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
const newInviteCode = await chat.revokeInvite()
|
||||
res.json({ success: true, newInviteCode })
|
||||
const result = await chat.revokeInvite()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
|
|
@ -251,8 +400,30 @@ const revokeInvite = async (req, res) => {
|
|||
* @throws {Error} If the chat is not a group.
|
||||
*/
|
||||
const setInfoAdminsOnly = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Update the info group settings'
|
||||
#swagger.summary = 'Update the group settings to only allow admins to edit group info (title, description, photo).'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp id for the given chat group',
|
||||
example: 'XXXXXXXXXX@g.us'
|
||||
},
|
||||
adminsOnly: {
|
||||
type: 'boolean',
|
||||
description: 'Enable or disable this option',
|
||||
example: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId, adminsOnly } = req.body
|
||||
const { chatId, adminsOnly = true } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
|
|
@ -278,8 +449,30 @@ const setInfoAdminsOnly = async (req, res) => {
|
|||
* @throws {Error} If the chat is not a group.
|
||||
*/
|
||||
const setMessagesAdminsOnly = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Update the message group settings'
|
||||
#swagger.summary = 'Update the group settings to only allow admins to send messages.'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp id for the given chat group',
|
||||
example: 'XXXXXXXXXX@g.us'
|
||||
},
|
||||
adminsOnly: {
|
||||
type: 'boolean',
|
||||
description: 'Enable or disable this option',
|
||||
example: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId, adminsOnly } = req.body
|
||||
const { chatId, adminsOnly = true } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
|
|
@ -302,12 +495,36 @@ const setMessagesAdminsOnly = async (req, res) => {
|
|||
* @throws {Error} If there is an issue setting the group picture, an error will be thrown.
|
||||
*/
|
||||
const setPicture = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Set the group picture'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp id for the given chat group',
|
||||
example: 'XXXXXXXXXX@g.us'
|
||||
},
|
||||
pictureMimeType: {
|
||||
type: 'string',
|
||||
description: 'MIME type of the attachment'
|
||||
},
|
||||
pictureData: {
|
||||
type: 'string',
|
||||
description: 'Base64-encoded data of the file'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { pictureMimetype, pictureData, chatId } = req.body
|
||||
const { pictureMimeType, pictureData, chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const media = new MessageMedia(pictureMimetype, pictureData)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
const media = new MessageMedia(pictureMimeType, pictureData)
|
||||
const result = await chat.setPicture(media)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
|
|
@ -325,6 +542,9 @@ const setPicture = async (req, res) => {
|
|||
* @throws {Error} If there is an issue setting the group picture, an error will be thrown.
|
||||
*/
|
||||
const deletePicture = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Delete the group picture'
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
|
|
@ -337,6 +557,117 @@ const deletePicture = async (req, res) => {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get an array of membership requests
|
||||
* @param {Object} req - The request object.
|
||||
* @param {Object} res - The response object.
|
||||
* @param {Object} req.body.chatId - ID of the group chat.
|
||||
* @param {string} req.params.sessionId - The ID of the session for the user.
|
||||
* @returns {Object} Returns a JSON object with a success status and the result of the function.
|
||||
* @throws {Error} If there is an issue setting the group picture, an error will be thrown.
|
||||
*/
|
||||
const getGroupMembershipRequests = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Get the membership requests'
|
||||
*/
|
||||
try {
|
||||
const { chatId } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
const result = await chat.getGroupMembershipRequests()
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Approve membership requests if any
|
||||
* @param {Object} req - The request object.
|
||||
* @param {Object} res - The response object.
|
||||
* @param {Object} req.body.chatId - ID of the group chat.
|
||||
* @param {string} req.params.sessionId - The ID of the session for the user.
|
||||
* @returns {Object} Returns a JSON object with a success status and the result of the function.
|
||||
* @throws {Error} If there is an issue setting the group picture, an error will be thrown.
|
||||
*/
|
||||
const approveGroupMembershipRequests = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Approve membership request'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp id for the given chat group',
|
||||
example: 'XXXXXXXXXX@g.us'
|
||||
},
|
||||
options: {
|
||||
type: 'object',
|
||||
description: 'Options for performing a membership request action',
|
||||
example: { requesterIds: [], sleep: [250, 500] }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId, options = {} } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
const result = await chat.approveGroupMembershipRequests(options)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reject membership requests if any
|
||||
* @param {Object} req - The request object.
|
||||
* @param {Object} res - The response object.
|
||||
* @param {Object} req.body.chatId - ID of the group chat.
|
||||
* @param {string} req.params.sessionId - The ID of the session for the user.
|
||||
* @returns {Object} Returns a JSON object with a success status and the result of the function.
|
||||
* @throws {Error} If there is an issue setting the group picture, an error will be thrown.
|
||||
*/
|
||||
const rejectGroupMembershipRequests = async (req, res) => {
|
||||
/*
|
||||
#swagger.summary = 'Reject membership request'
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp id for the given chat group',
|
||||
example: 'XXXXXXXXXX@g.us'
|
||||
},
|
||||
options: {
|
||||
type: 'object',
|
||||
description: 'Options for performing a membership request action',
|
||||
example: { requesterIds: [], sleep: [250, 500] }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
try {
|
||||
const { chatId, options = {} } = req.body
|
||||
const client = sessions.get(req.params.sessionId)
|
||||
const chat = await client.getChatById(chatId)
|
||||
if (!chat.isGroup) { throw new Error('The chat is not a group') }
|
||||
const result = await chat.rejectGroupMembershipRequests(options)
|
||||
res.json({ success: true, result })
|
||||
} catch (error) {
|
||||
sendErrorResponse(res, 500, error.message)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getClassInfo,
|
||||
addParticipants,
|
||||
|
|
@ -351,5 +682,8 @@ module.exports = {
|
|||
setMessagesAdminsOnly,
|
||||
setSubject,
|
||||
setPicture,
|
||||
deletePicture
|
||||
deletePicture,
|
||||
getGroupMembershipRequests,
|
||||
approveGroupMembershipRequests,
|
||||
rejectGroupMembershipRequests
|
||||
}
|
||||
|
|
|
|||
|
|
@ -196,12 +196,20 @@ const groupChatSwagger = async (req, res, next) => {
|
|||
properties: {
|
||||
chatId: {
|
||||
type: 'string',
|
||||
description: 'Unique WhatsApp ID for the given Chat (either group or personal)',
|
||||
example: '6281288888888@c.us'
|
||||
description: 'Unique WhatsApp id for the given chat group',
|
||||
example: 'XXXXXXXXXX@g.us'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#swagger.responses[500] = {
|
||||
description: "Server failure.",
|
||||
content: {
|
||||
"application/json": {
|
||||
schema: { "$ref": "#/definitions/ErrorResponse" }
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
next()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -149,6 +149,9 @@ groupChatRouter.post('/setMessagesAdminsOnly/:sessionId', [middleware.sessionNam
|
|||
groupChatRouter.post('/setSubject/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], groupChatController.setSubject)
|
||||
groupChatRouter.post('/setPicture/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], groupChatController.setPicture)
|
||||
groupChatRouter.post('/deletePicture/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], groupChatController.deletePicture)
|
||||
groupChatRouter.post('/getGroupMembershipRequests/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], groupChatController.getGroupMembershipRequests)
|
||||
groupChatRouter.post('/approveGroupMembershipRequests/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], groupChatController.approveGroupMembershipRequests)
|
||||
groupChatRouter.post('/rejectGroupMembershipRequests/:sessionId', [middleware.sessionNameValidation, middleware.sessionValidation], groupChatController.rejectGroupMembershipRequests)
|
||||
|
||||
/**
|
||||
* ================
|
||||
|
|
|
|||
600
swagger.json
600
swagger.json
|
|
@ -6157,6 +6157,7 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"summary": "Get the group",
|
||||
"description": "",
|
||||
"parameters": [
|
||||
{
|
||||
|
|
@ -6229,8 +6230,8 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6241,8 +6242,8 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6256,7 +6257,8 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"description": "",
|
||||
"summary": "Add the participant(s)",
|
||||
"description": "Add a list of participants by id to the group",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "sessionId",
|
||||
|
|
@ -6328,8 +6330,24 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"contactIds": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp identifier for the contact",
|
||||
"example": "6281288888887@c.us"
|
||||
},
|
||||
"options": {
|
||||
"type": "object",
|
||||
"description": "Options for adding participants",
|
||||
"example": {
|
||||
"sleep": [
|
||||
250,
|
||||
500
|
||||
],
|
||||
"comment": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6340,8 +6358,24 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"contactIds": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp identifier for the contact",
|
||||
"example": "6281288888887@c.us"
|
||||
},
|
||||
"options": {
|
||||
"type": "object",
|
||||
"description": "Options for adding participants",
|
||||
"example": {
|
||||
"sleep": [
|
||||
250,
|
||||
500
|
||||
],
|
||||
"comment": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6355,7 +6389,8 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"description": "",
|
||||
"summary": "Demote the participant(s)",
|
||||
"description": "Demote participants by ids to regular users",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "sessionId",
|
||||
|
|
@ -6427,8 +6462,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"contactIds": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp identifier for the contact",
|
||||
"example": "6281288888887@c.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6439,8 +6479,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"contactIds": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp identifier for the contact",
|
||||
"example": "6281288888887@c.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6454,7 +6499,8 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"description": "",
|
||||
"summary": "Get the invite code",
|
||||
"description": "Get the invite code for a specific group",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "sessionId",
|
||||
|
|
@ -6526,8 +6572,8 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6538,8 +6584,8 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6553,6 +6599,7 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"summary": "Leave the group",
|
||||
"description": "",
|
||||
"parameters": [
|
||||
{
|
||||
|
|
@ -6625,8 +6672,8 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6637,8 +6684,8 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6652,7 +6699,8 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"description": "",
|
||||
"summary": "Promote the participant(s)",
|
||||
"description": "Promote participants by IDs to admins",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "sessionId",
|
||||
|
|
@ -6724,8 +6772,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"contactIds": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp identifier for the contact",
|
||||
"example": "6281288888887@c.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6736,8 +6789,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"contactIds": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp identifier for the contact",
|
||||
"example": "6281288888887@c.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6751,7 +6809,8 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"description": "",
|
||||
"summary": "Remove the participant(s)",
|
||||
"description": "Remove a list of participants by ID to the group",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "sessionId",
|
||||
|
|
@ -6823,8 +6882,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"contactIds": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp identifier for the contact",
|
||||
"example": "6281288888887@c.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6835,8 +6899,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"contactIds": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp identifier for the contact",
|
||||
"example": "6281288888887@c.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6850,7 +6919,8 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"description": "",
|
||||
"summary": "Invalidate the invite code",
|
||||
"description": "Invalidate the current group invite code and generates a new one",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "sessionId",
|
||||
|
|
@ -6922,8 +6992,8 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6934,8 +7004,8 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6949,6 +7019,7 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"summary": "Update the group description",
|
||||
"description": "",
|
||||
"parameters": [
|
||||
{
|
||||
|
|
@ -7021,8 +7092,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "Group description",
|
||||
"example": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7033,8 +7109,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "Group description",
|
||||
"example": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7048,6 +7129,7 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"summary": "Update the info group settings",
|
||||
"description": "",
|
||||
"parameters": [
|
||||
{
|
||||
|
|
@ -7120,8 +7202,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"adminsOnly": {
|
||||
"type": "boolean",
|
||||
"description": "Enable or disable this option",
|
||||
"example": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7132,8 +7219,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"adminsOnly": {
|
||||
"type": "boolean",
|
||||
"description": "Enable or disable this option",
|
||||
"example": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7147,6 +7239,7 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"summary": "Update the message group settings",
|
||||
"description": "",
|
||||
"parameters": [
|
||||
{
|
||||
|
|
@ -7219,8 +7312,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"adminsOnly": {
|
||||
"type": "boolean",
|
||||
"description": "Enable or disable this option",
|
||||
"example": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7231,8 +7329,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"adminsOnly": {
|
||||
"type": "boolean",
|
||||
"description": "Enable or disable this option",
|
||||
"example": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7246,6 +7349,7 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"summary": "Update the group subject",
|
||||
"description": "",
|
||||
"parameters": [
|
||||
{
|
||||
|
|
@ -7318,8 +7422,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"subject": {
|
||||
"type": "string",
|
||||
"description": "Group subject",
|
||||
"example": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7330,8 +7439,13 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"subject": {
|
||||
"type": "string",
|
||||
"description": "Group subject",
|
||||
"example": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7345,6 +7459,7 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"summary": "Set the group picture",
|
||||
"description": "",
|
||||
"parameters": [
|
||||
{
|
||||
|
|
@ -7417,8 +7532,16 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"pictureMimeType": {
|
||||
"type": "string",
|
||||
"description": "MIME type of the attachment"
|
||||
},
|
||||
"pictureData": {
|
||||
"type": "string",
|
||||
"description": "Base64-encoded data of the file"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7429,8 +7552,16 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"pictureMimeType": {
|
||||
"type": "string",
|
||||
"description": "MIME type of the attachment"
|
||||
},
|
||||
"pictureData": {
|
||||
"type": "string",
|
||||
"description": "Base64-encoded data of the file"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7444,6 +7575,7 @@
|
|||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"summary": "Delete the group picture",
|
||||
"description": "",
|
||||
"parameters": [
|
||||
{
|
||||
|
|
@ -7516,8 +7648,8 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7528,8 +7660,352 @@
|
|||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp ID for the given Chat (either group or personal)",
|
||||
"example": "6281288888888@c.us"
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/groupChat/getGroupMembershipRequests/{sessionId}": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"summary": "Get the membership requests",
|
||||
"description": "",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "sessionId",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Unique identifier for the session (alphanumeric and - allowed)",
|
||||
"example": "f8377d8d-a589-4242-9ba6-9486a04ef80c"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ForbiddenResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Not Found.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/NotFoundResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"422": {
|
||||
"description": "Unprocessable Entity.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Server failure.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"apiKeyAuth": []
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"application/xml": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/groupChat/approveGroupMembershipRequests/{sessionId}": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"summary": "Approve membership request",
|
||||
"description": "",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "sessionId",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Unique identifier for the session (alphanumeric and - allowed)",
|
||||
"example": "f8377d8d-a589-4242-9ba6-9486a04ef80c"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ForbiddenResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Not Found.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/NotFoundResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"422": {
|
||||
"description": "Unprocessable Entity.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Server failure.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"apiKeyAuth": []
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"options": {
|
||||
"type": "object",
|
||||
"description": "Options for performing a membership request action",
|
||||
"example": {
|
||||
"requesterIds": [],
|
||||
"sleep": [
|
||||
250,
|
||||
500
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"application/xml": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"options": {
|
||||
"type": "object",
|
||||
"description": "Options for performing a membership request action",
|
||||
"example": {
|
||||
"requesterIds": [],
|
||||
"sleep": [
|
||||
250,
|
||||
500
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/groupChat/rejectGroupMembershipRequests/{sessionId}": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"Group Chat"
|
||||
],
|
||||
"summary": "Reject membership request",
|
||||
"description": "",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "sessionId",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Unique identifier for the session (alphanumeric and - allowed)",
|
||||
"example": "f8377d8d-a589-4242-9ba6-9486a04ef80c"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ForbiddenResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Not Found.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/NotFoundResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"422": {
|
||||
"description": "Unprocessable Entity.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Server failure.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"apiKeyAuth": []
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"options": {
|
||||
"type": "object",
|
||||
"description": "Options for performing a membership request action",
|
||||
"example": {
|
||||
"requesterIds": [],
|
||||
"sleep": [
|
||||
250,
|
||||
500
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"application/xml": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"chatId": {
|
||||
"type": "string",
|
||||
"description": "Unique WhatsApp id for the given chat group",
|
||||
"example": "XXXXXXXXXX@g.us"
|
||||
},
|
||||
"options": {
|
||||
"type": "object",
|
||||
"description": "Options for performing a membership request action",
|
||||
"example": {
|
||||
"requesterIds": [],
|
||||
"sleep": [
|
||||
250,
|
||||
500
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue