From 0a16892ef4b5a877d02c7fe7d2266973d31995bd Mon Sep 17 00:00:00 2001 From: jrcleber Date: Sun, 13 Aug 2023 23:32:44 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20DockerFile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 2 + docker-compose.yml | 42 +- docs/swagger.conf.ts | 50 -- docs/swagger.yaml | 1292 ------------------------------------------ webpack.config | 20 - 5 files changed, 23 insertions(+), 1383 deletions(-) delete mode 100644 docs/swagger.conf.ts delete mode 100644 docs/swagger.yaml delete mode 100644 webpack.config diff --git a/Dockerfile b/Dockerfile index a3748e11..d2a27247 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,6 +17,7 @@ RUN npm install COPY ./tsconfig.json . COPY ./src ./src +COPY ./public ./public RUN npm run build @@ -35,6 +36,7 @@ COPY --from=builder /codechat/dist . COPY ./tsconfig.json . COPY ./src ./src +COPY ./public ./public RUN mkdir instances ENV DOCKER_ENV=true diff --git a/docker-compose.yml b/docker-compose.yml index a8a18e68..6ed05a57 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,13 +11,13 @@ volumes: services: api: container_name: codechat_api - image: codechat/api:local + image: codechat/api:v1.2.6 restart: unless-stopped ports: - 8083:8083 volumes: - ./instances:/codechat/instances - - ./srv/env.yml:/codechat/src/env.yml:ro + - ./src/env.yml:/codechat/src/env.yml:ro # environment: # - DOCKER_ENV=true # - LOG_LEVEL='ERROR,WARN,DEBUG,INFO,LOG,VERBOSE,DARK' @@ -78,23 +78,23 @@ services: networks: - public-network - mongodb: - container_name: mongodb - image: mongo:6 - restart: unless-stopped - volumes: - - mongo_data:/data/db - environment: - MONGO_INITDB_ROOT_USERNAME: root - MONGO_INITDB_ROOT_PASSWORD: mysupersecretpassword - networks: - - public-network + # mongodb: + # container_name: mongodb + # image: mongo:6 + # restart: unless-stopped + # volumes: + # - mongo_data:/data/db + # environment: + # MONGO_INITDB_ROOT_USERNAME: root + # MONGO_INITDB_ROOT_PASSWORD: mysupersecretpassword + # networks: + # - public-network - cache: - image: redis:7 - restart: unless-stopped - command: redis-server --save 20 1 --loglevel warning - volumes: - - redis_data:/data - networks: - - public-network + # cache: + # image: redis:7 + # restart: unless-stopped + # command: redis-server --save 20 1 --loglevel warning + # volumes: + # - redis_data:/data + # networks: + # - public-network diff --git a/docs/swagger.conf.ts b/docs/swagger.conf.ts deleted file mode 100644 index a9e78dc5..00000000 --- a/docs/swagger.conf.ts +++ /dev/null @@ -1,50 +0,0 @@ -/** - * ┌──────────────────────────────────────────────────────────────────────────────┐ - * │ @author jrCleber │ - * │ @filename main.ts │ - * │ Developed by: Cleber Wilson │ - * │ Creation date: Aug 13, 2023 │ - * │ Contact: contato@codechat.dev │ - * ├──────────────────────────────────────────────────────────────────────────────┤ - * │ @copyright © Cleber Wilson 2022. All rights reserved. │ - * │ Licensed under the Apache License, Version 2.0 │ - * │ │ - * │ @license "https://github.com/code-chat-br/whatsapp-api/blob/main/LICENSE" │ - * │ │ - * │ You may not use this file except in compliance with the License. │ - * │ You may obtain a copy of the License at │ - * │ │ - * │ http://www.apache.org/licenses/LICENSE-2.0 │ - * │ │ - * │ Unless required by applicable law or agreed to in writing, software │ - * │ distributed under the License is distributed on an "AS IS" BASIS, │ - * │ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. │ - * │ │ - * │ See the License for the specific language governing permissions and │ - * │ limitations under the License. │ - * │ │ - * ├──────────────────────────────────────────────────────────────────────────────┤ - * │ @important │ - * │ For any future changes to the code in this file, it is recommended to │ - * │ contain, together with the modification, the information of the developer │ - * │ who changed it and the date of modification. │ - * └──────────────────────────────────────────────────────────────────────────────┘ - */ - -import { Router } from 'express'; -import { join } from 'path'; -import swaggerUi from 'swagger-ui-express'; -import YAML from 'yamljs'; - -const document = YAML.load(join(process.cwd(), 'docs', 'swagger.yaml')); - -const router = Router(); - -export const swaggerRouter = router.use('/docs', swaggerUi.serve).get( - '/docs', - swaggerUi.setup(document, { - customCssUrl: '/css/dark-theme-swagger.css', - customSiteTitle: 'CodeChat - WhatsApp API', - customfavIcon: '/images/logo.svg', - }), -); diff --git a/docs/swagger.yaml b/docs/swagger.yaml deleted file mode 100644 index 5fa8cf25..00000000 --- a/docs/swagger.yaml +++ /dev/null @@ -1,1292 +0,0 @@ - - # ┌──────────────────────────────────────────────────────────────────────────────┐ - # │ @author jrCleber │ - # │ @filename main.ts │ - # │ Developed by: Cleber Wilson │ - # │ Creation date: Aug 13, 2023 │ - # │ Contact: contato@codechat.dev │ - # ├──────────────────────────────────────────────────────────────────────────────┤ - # │ @copyright © Cleber Wilson 2022. All rights reserved. │ - # │ Licensed under the Apache License, Version 2.0 │ - # │ │ - # │ @license "https://github.com/code-chat-br/whatsapp-api/blob/main/LICENSE" │ - # │ │ - # │ You may not use this file except in compliance with the License. │ - # │ You may obtain a copy of the License at │ - # │ │ - # │ http://www.apache.org/licenses/LICENSE-2.0 │ - # │ │ - # │ Unless required by applicable law or agreed to in writing, software │ - # │ distributed under the License is distributed on an "AS IS" BASIS, │ - # │ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. │ - # │ │ - # │ See the License for the specific language governing permissions and │ - # │ limitations under the License. │ - # │ │ - # ├──────────────────────────────────────────────────────────────────────────────┤ - # │ @important │ - # │ For any future changes to the code in this file, it is recommended to │ - # │ contain, together with the modification, the information of the developer │ - # │ who changed it and the date of modification. │ - # └──────────────────────────────────────────────────────────────────────────────┘ - - -openapi: 3.0.0 -info: - title: CodeChat - WhatsApp API - description: | -
-
- -
- - [![Telegram Group](https://img.shields.io/badge/Group-Telegram-%2333C1FF)](https://t.me/codechatBR) - [![Whatsapp Group](https://img.shields.io/badge/Group-WhatsApp-%2322BC18)](https://chat.whatsapp.com/HyO8X8K0bAo0bfaeW8bhY5) - [![License](https://img.shields.io/badge/license-GPL--3.0-orange)](https://github.com/code-chat-br/whatsapp-api/blob/main/LICENSE) - [![Support](https://img.shields.io/badge/Buy%20me-coffe-orange)](https://app.picpay.com/user/cleber.wilson.oliveira) - -
- -
- - - CodeChat is an advanced WhatsApp integration API that seamlessly merges the popularity of WhatsApp with modern business applications. With comprehensive features, the CodeChat API empowers businesses to expand their digital presence, reach customers more directly, and provide personalized and efficient support, all through the world's most widely used messaging platform. - - The CodeChat API opens doors to more effective and engaging business communication, offering a modern approach to customer support, direct marketing, and real-time interactions. By combining WhatsApp's popularity with the functionality of the CodeChat API, businesses can build stronger and more authentic relationships with their customers, generating lasting satisfaction and loyalty. - - - [![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/codechat/workspace/codechat-whatsapp-api/api/fbe06c7b-7647-4c71-81ee-841f5b2e90d8?action=share&creator=14064846) - version: 1.2.6 - contact: - name: jrCleber - email: cleber@codechat.dev - url: https://www.apache.org/licenses/LICENSE-2.0 - license: - name: Apache License - Version 2.0, January 2004 - url: https://www.exemplo.com/licenca -servers: [] -components: - securitySchemes: - apikeyAuth: - type: apiKey - in: header - name: apikey - bearerAuth: - type: http - scheme: bearer - bearerFormat: JWT -security: - - bearerAuth: [] -tags: - - name: Instance Controller - - name: Instance Controller > Views - - name: Send Message Controller - - name: Chat Controller - - name: Group Controller - - name: JWT - - name: Webhook -paths: - /instance/qrcode/{instanceName}: - get: - tags: - - Instance Controller > Views - summary: QrCode - parameters: - - name: instanceName - in: path - description: Name of the instance for which the QR Code needs to be fetched. - required: true - schema: - type: string - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/html: {} - /instance/create: - post: - tags: - - Instance Controller - summary: Create Instance - requestBody: - content: - application/json: - schema: - type: object - properties: - instanceName: - type: string - description: Name of the instance (optional). - example: - instanceName: 'exampleInstance' - security: - - apikeyAuth: [] - responses: - '200': - description: Successful response - content: - application/json: {} - /instance/fetchInstances: - get: - tags: - - Instance Controller - summary: Fetch Instances - security: - - apikeyAuth: [] - parameters: - - name: instanceName - in: query - schema: - type: string - description: Retrieve one or all instances (optional). - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /instance/connect/{instanceName}: - get: - tags: - - Instance Controller - summary: Instance Connect - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: Connect to your instance. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: - schema: - type: object - properties: - code: - type: string - base64: - type: string - description: The QR Code as a string. - /instance/connectionState/{instanceName}: - get: - tags: - - Instance Controller - summary: Connection Status - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: Check the connection state of your instance. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /instance/logout/{instanceName}: - delete: - tags: - - Instance Controller - summary: Logout Instance - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: Logout from your instance. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /instance/delete/{instanceName}: - delete: - tags: - - Instance Controller - summary: Delete Instance - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: Delete your instance. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - - /message/sendText/{instanceName}: - post: - tags: - - Send Message Controller - summary: Send a text message to a specified instance. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - number: - type: string - description: The recipient's phone number. - example: '1234567890' - textMessage: - type: object - properties: - text: - type: string - description: The content of the text message. - example: 'Hello, World!' - options: - type: object - properties: - delay: - type: integer - description: Delay time before sending the message. - presence: - type: string - enum: ['composing', 'recording', 'paused'] - description: Indicates the sender's action/status. - required: - - number - - textMessage - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the message should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /message/sendMedia/{instanceName}: - post: - tags: - - Send Message Controller - summary: Send a media message (image, video, document, audio) to a specified instance. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - number: - type: string - description: The recipient's phone number. - example: '1234567890' - mediaMessage: - type: object - properties: - mediatype: - type: string - enum: ['image', 'document', 'video', 'audio'] - description: Type of the media content. - fileName: - type: string - description: Name of the media file (optional). - caption: - type: string - description: Caption to accompany the media. - media: - type: string - description: URL of the media content. - required: - - mediatype - - media - options: - type: object - properties: - delay: - type: integer - description: Delay time before sending the message. - presence: - type: string - enum: ['composing', 'recording', 'paused'] - description: Indicates the sender's action/status. - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the media message should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /message/sendMediaFile/{instanceName}: - post: - tags: - - Send Message Controller - summary: Send a media file (image, video, document, audio) directly to a specified instance. - requestBody: - required: true - content: - multipart/form-data: - schema: - type: object - properties: - number: - type: string - description: The recipient's phone number. - example: '1234567890' - caption: - type: string - description: Caption to accompany the media (optional). - attachment: - type: string - format: binary - description: The media file to be sent. - mediatype: - type: string - enum: ['image', 'document', 'video', 'audio'] - description: Type of the media content. - presence: - type: string - enum: ['composing', 'recording', 'paused'] - description: Indicates the sender's action/status (optional). - delay: - type: integer - description: Delay time before sending the message (optional). - required: - - number - - attachment - - mediatype - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the media file should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /message/sendLocation/{instanceName}: - post: - tags: - - Send Message Controller - summary: Send a location to a specified instance. - description: This endpoint allows users to share a location message. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - number: - type: string - description: The recipient's phone number. - example: '1234567890' - locationMessage: - type: object - properties: - name: - type: string - description: Name or title of the location. - address: - type: string - description: Detailed address of the location. - latitude: - type: number - description: Latitude of the location. - format: float - longitude: - type: number - description: Longitude of the location. - format: float - options: - type: object - properties: - delay: - type: integer - description: Delay time before sending the message. - presence: - type: string - enum: ['composing', 'recording', 'paused'] - description: Indicates the sender's action/status. - required: - - number - - locationMessage.latitude - - locationMessage.longitude - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the location should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /message/sendContact/{instanceName}: - post: - tags: - - Send Message Controller - summary: Send contact details to a specified instance. - description: This endpoint allows users to share one or multiple contact details. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - number: - type: string - description: The recipient's phone number. - example: '1234567890' - contactMessage: - type: array - items: - type: object - properties: - fullName: - type: string - description: Full name of the contact. - wuid: - type: string - description: Unique identifier for the contact. - phoneNumber: - type: string - description: Phone number of the contact. - required: - - fullName - - wuid - - phoneNumber - options: - type: object - properties: - delay: - type: integer - description: Delay time before sending the contact. - presence: - type: string - enum: ['composing', 'recording', 'paused'] - description: Indicates the sender's action/status. - required: - - number - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the contacts should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /message/sendReaction/{instanceName}: - post: - tags: - - Send Message Controller - summary: Send a reaction to a specified instance. - description: This endpoint allows users to send a reaction to a message. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - reactionMessage: - type: object - properties: - key: - type: object - properties: - remoteJid: - type: string - description: The ID of the recipient of the original message. - fromMe: - type: boolean - description: Indicates if the reaction was sent from the user. - id: - type: string - description: The ID of the original message. - reaction: - type: string - maxLength: 1 - description: Reaction character (e.g., emoji). - required: - - key.remoteJid - - key.fromMe - - key.id - - reaction - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the reaction should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /message/sendWhatsAppAudio/{instanceName}: - post: - tags: - - Send Message Controller - summary: Send an audio message via WhatsApp to a specified instance. - description: This endpoint allows users to share an audio message. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - number: - type: string - description: The recipient's phone number. - example: '1234567890' - audioMessage: - type: object - properties: - audio: - type: string - description: URL of the audio file to be sent. - required: - - audio - options: - type: object - properties: - delay: - type: integer - description: Delay time before sending the audio message. - required: - - number - - audioMessage.audio - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the audio should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /message/sendWhatsAppAudioFile/{instanceName}: - post: - tags: - - Send Message Controller - summary: Upload and send a WhatsApp audio file to a specified instance. - description: This endpoint allows users to upload and send an audio file via WhatsApp. - requestBody: - required: true - content: - multipart/form-data: - schema: - type: object - properties: - number: - type: string - description: The recipient's phone number. - example: '1234567890' - attachment: - type: string - description: Audio file to be sent. - format: binary - delay: - type: integer - description: Delay time before sending the audio message. - example: 5 - required: - - number - - attachment - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the reaction should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - - /chat/whatsappNumbers/{instanceName}: - post: - tags: - - Chat Controller - summary: Provide a list of WhatsApp numbers associated with a given instance. - description: This endpoint returns information on the WhatsApp numbers associated with the specified instance. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - numbers: - type: array - items: - type: string - description: WhatsApp phone number. - example: - - '1234567890' - required: - - numbers - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the reaction should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /chat/markMessageAsRead/{instanceName}: - put: - tags: - - Chat Controller - summary: Mark specific messages as read for a given instance. - description: This endpoint allows users to mark messages as read for a particular instance. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - readMessages: - type: array - items: - type: object - properties: - remoteJid: - type: string - description: ID of the recipient of the message. - fromMe: - type: boolean - description: Indicates if the message was sent from the user. - id: - type: string - description: Unique ID of the message. - required: - - remoteJid - - fromMe - - id - required: - - readMessages - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the reaction should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /chat/archiveChat/{instanceName}: - put: - tags: - - Chat Controller - summary: Archive specific chats for a given instance. - description: This endpoint allows users to archive specific chats based on the last message. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - lastMessage: - type: object - properties: - key: - type: object - properties: - remoteJid: - type: string - description: ID of the recipient of the last message. - fromMe: - type: boolean - description: Indicates if the last message was sent from the user. - id: - type: string - description: Unique ID of the last message. - required: - - remoteJid - - fromMe - - id - archive: - type: boolean - description: Indicates whether to archive the chat. - example: true - required: - - lastMessage - - archive - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the reaction should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /chat/deleteMessageForEveryone/{instanceName}: - delete: - tags: - - Chat Controller - summary: Delete a message for everyone in a given instance. - description: This endpoint allows users to delete a message for everyone in the chat. - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the reaction should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /chat/fetchProfilePictureUrl/{instanceName}: - post: - tags: - - Chat Controller - summary: Retrieve the profile picture URL of a specific number. - description: This endpoint fetches the profile picture URL associated with the given phone number for the specified instance. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - number: - type: string - description: WhatsApp phone number whose profile picture URL needs to be fetched. - required: - - number - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the reaction should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /chat/findContacts/{instanceName}: - post: - tags: - - Chat Controller - summary: Retrieve contact details using an ID. - description: This endpoint retrieves contact details associated with the given ID for the specified instance. - requestBody: - content: - application/json: - schema: - type: object - properties: - where: - type: object - properties: - id: - type: string - description: Unique ID of the contact to be fetched. - required: - - id - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the reaction should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /chat/getBase64FromMediaMessage/{instanceName}: - post: - tags: - - Chat Controller - summary: Convert media message content to Base64. - description: This endpoint retrieves the Base64 representation of the content of a media message for the specified instance. - requestBody: - content: - application/json: - schema: - type: object - properties: - key: - type: object - properties: - id: - type: string - description: Unique ID of the media message to be converted. - required: - - id - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the reaction should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /chat/findMessages/{instanceName}: - post: - tags: - - Chat Controller - summary: Search for messages based on specific criteria. - description: This endpoint retrieves messages that match the provided criteria for the specified instance. - requestBody: - content: - application/json: - schema: - type: object - properties: - where: - type: object - properties: - key: - type: object - properties: - remoteJid: - type: string - description: ID of the recipient of the message. - fromMe: - type: boolean - description: Indicates if the message was sent from the user. - id: - type: string - description: Unique ID of the message. - required: - - remoteJid - - fromMe - - id - message: - type: object - required: - - key - limit: - type: integer - description: Maximum number of messages to retrieve. - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the reaction should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /chat/findStatusMessage/{instanceName}: - post: - tags: - - Chat Controller - summary: Search for status messages using an ID. - description: This endpoint retrieves status messages associated with the given ID for the specified instance. - requestBody: - content: - application/json: - schema: - type: object - properties: - where: - type: object - properties: - id: - type: string - description: Unique ID of the status message to be fetched. - required: - - id - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the reaction should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /chat/findChats/{instanceName}: - get: - tags: - - Chat Controller - summary: List all chats associated with a specific instance. - description: This endpoint retrieves a list of all chats associated with the specified instance. - parameters: - - name: instanceName - in: path - required: true - schema: - type: string - description: The name of the instance to which the reaction should be sent. - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - - /group/create/{instanceName}: - post: - tags: - - Group Controller - summary: Create a new WhatsApp group. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - subject: - type: string - description: '- required - The name of the group.' - description: - type: string - description: '- optional - A brief description or summary of the group.' - participants: - type: array - items: - type: string - description: '- required - List of participant phone numbers.' - parameters: - - name: instanceName - in: path - schema: - type: string - required: true - description: '- required' - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /group/updateGroupPicture/{instanceName}: - put: - tags: - - Group Controller - summary: Update the group's display picture. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - image: - type: string - description: '- required - URL of the new group picture.' - parameters: - - name: groupJid - in: query - schema: - type: string - description: '- required - The unique identifier of the group.' - example: '120363046555718472@g.us' - - name: instanceName - in: path - schema: - type: string - required: true - description: '- required' - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /group/findGroupInfos/{instanceName}: - get: - tags: - - Group Controller - summary: Retrieve details about a specific group. - parameters: - - name: groupJid - in: query - schema: - type: string - description: '- required - The unique identifier of the group.' - example: '120363046555718472@g.us' - - name: instanceName - in: path - schema: - type: string - required: true - description: '- required' - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /group/participants/{instanceName}: - get: - tags: - - Group Controller - summary: Retrieve a list of participants in a specific group. - parameters: - - name: groupJid - in: query - schema: - type: string - description: '- required - The unique identifier of the group.' - example: '120363046555718472@g.us' - - name: instanceName - in: path - schema: - type: string - required: true - description: '- required' - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /group/inviteCode/{instanceName}: - get: - tags: - - Group Controller - summary: Retrieve the group's invite link. - parameters: - - name: groupJid - in: query - schema: - type: string - description: '- required - The unique identifier of the group.' - example: '120363046555718472@g.us' - - name: instanceName - in: path - schema: - type: string - required: true - description: '- required' - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /group/revokeInviteCode/{instanceName}: - put: - tags: - - Group Controller - summary: Invalidate the existing group invite link. - requestBody: - content: {} - parameters: - - name: groupJid - in: query - schema: - type: string - description: '- required - The unique identifier of the group.' - example: '120363046555718472@g.us' - - name: instanceName - in: path - schema: - type: string - required: true - description: '- required' - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /group/updateParticipant/{instanceName}: - put: - tags: - - Group Controller - summary: Update the status or role of a participant in the group. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - action: - type: string - enum: ['add', 'remove', 'promote', 'demote'] - description: '- required - The action to be taken on the participant.' - participants: - type: array - items: - type: string - description: '- required - List of participant phone numbers to be updated.' - parameters: - - name: instanceName - in: path - schema: - type: string - required: true - description: '- required' - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /group/leaveGroup/{instanceName}: - delete: - tags: - - Group Controller - summary: Exit from the specified WhatsApp group. - parameters: - - name: instanceName - in: path - schema: - type: string - required: true - description: '- required' - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - - /instance/refreshToken/: - put: - tags: - - JWT - summary: Refresh an expired JWT token. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - oldToken: - type: string - description: '- required - The expired JWT token.' - responses: - '200': - description: Successful response - content: - application/json: {} - - /webhook/set/{instanceName}: - post: - tags: - - Webhook - summary: Set up or modify the webhook for an instance. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - enabled: - type: boolean - description: 'Indicates whether the webhook is active.' - url: - type: string - format: uri - description: 'The endpoint URL where the webhook data will be sent.' - parameters: - - name: instanceName - in: path - schema: - type: string - required: true - description: '- required' - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} - /webhook/find/{instanceName}: - get: - tags: - - Webhook - summary: Retrieve the webhook settings for a specific instance. - parameters: - - name: instanceName - in: path - schema: - type: string - required: true - description: '- required' - example: 'codechat' - responses: - '200': - description: Successful response - content: - application/json: {} diff --git a/webpack.config b/webpack.config deleted file mode 100644 index f50fbed9..00000000 --- a/webpack.config +++ /dev/null @@ -1,20 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -/* eslint-disable prettier/prettier */ -const CopyWebpackPlugin = require('copy-webpack-plugin'); - -module.exports = { - node: { - __dirname: false - }, - plugins: [ - new CopyWebpackPlugin({ - patterns: [ - './node_modules/swagger-ui-dist/swagger-ui.css', - './node_modules/swagger-ui-dist/swagger-ui-bundle.js', - './node_modules/swagger-ui-dist/swagger-ui-standalone-preset.js', - './node_modules/swagger-ui-dist/favicon-16x16.png', - './node_modules/swagger-ui-dist/favicon-32x32.png' - ] - }) - ] -};