n8n-nodes-chatwork
Version:
Provides an n8n community node for integrating Chatwork messaging and task APIs into automated workflows.
356 lines • 13.9 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.roomProperties = void 0;
const enums_1 = require("../../shared/enums");
const changeMembers_1 = require("./changeMembers");
const create_1 = require("./create");
const createInviteLink_1 = require("./createInviteLink");
const createTask_1 = require("./createTask");
const deleteInviteLink_1 = require("./deleteInviteLink");
const deleteMessage_1 = require("./deleteMessage");
const get_1 = require("./get");
const getFile_1 = require("./getFile");
const getFiles_1 = require("./getFiles");
const getInviteLink_1 = require("./getInviteLink");
const getMembers_1 = require("./getMembers");
const getMessage_1 = require("./getMessage");
const getMessages_1 = require("./getMessages");
const getTask_1 = require("./getTask");
const getTasks_1 = require("./getTasks");
const leaveOrDelete_1 = require("./leaveOrDelete");
const markAsRead_1 = require("./markAsRead");
const markAsUnread_1 = require("./markAsUnread");
const sendMessage_1 = require("./sendMessage");
const update_1 = require("./update");
const updateTaskStatus_1 = require("./updateTaskStatus");
const upddateMessage_1 = require("./upddateMessage");
const uploadFile_1 = require("./uploadFile");
exports.roomProperties = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
default: '',
required: true,
noDataExpression: true,
displayOptions: {
show: {
resource: [enums_1.Resource.ROOM],
},
},
options: [
{
name: 'Get All Rooms',
value: enums_1.RoomOperations.GET_ALL,
description: 'Retrieve all rooms the user belongs to',
routing: {
request: {
method: 'GET',
url: '/rooms',
},
},
},
{
name: 'Create Room',
value: enums_1.RoomOperations.CREATE,
description: 'Create a new chat room',
routing: {
request: {
method: 'POST',
url: '/rooms',
},
},
},
{
name: 'Get Room Detail',
value: enums_1.RoomOperations.GET_DETAIL,
description: 'Retrieve detailed information about a specific room',
routing: {
request: {
method: 'GET',
url: '=/rooms/{{$parameter["roomId"]}}',
},
},
},
{
name: 'Update Room',
value: enums_1.RoomOperations.UPDATE_INFO,
description: 'Update room name, description, or icon',
routing: {
request: {
method: 'PUT',
url: '=/rooms/{{$parameter["roomId"]}}',
},
},
},
{
name: 'Leave or Delete Room',
value: enums_1.RoomOperations.LEAVE_OR_DELETE,
description: 'Leave the room or delete it (admin only)',
routing: {
request: {
method: 'DELETE',
url: '=/rooms/{{$parameter["roomId"]}}',
},
},
},
{
name: 'Get Members',
value: enums_1.RoomOperations.GET_MEMBERS,
description: 'Get all members of the room',
routing: {
request: {
method: 'GET',
url: '=/rooms/{{$parameter["roomId"]}}/members',
},
},
},
{
name: 'Change Members',
value: enums_1.RoomOperations.CHANGE_MEMBERS,
description: 'Change room members and roles',
routing: {
request: {
method: 'PUT',
url: '=/rooms/{{$parameter["roomId"]}}/members',
},
},
},
{
name: 'Get Messages',
value: enums_1.RoomOperations.GET_MESSAGES,
description: 'Get messages from the room',
routing: {
request: {
method: 'GET',
url: '=/rooms/{{$parameter["roomId"]}}/messages',
qs: {
force: 1,
},
},
},
},
{
name: 'Send Message',
value: enums_1.RoomOperations.SEND_MESSAGE,
description: 'Send a message to the specified room',
routing: {
request: {
method: 'POST',
url: '=/rooms/{{$parameter["roomId"]}}/messages',
},
},
},
{
name: 'Get Message',
value: enums_1.RoomOperations.GET_MESSAGE,
description: 'Get a specific message by ID',
routing: {
request: {
method: 'GET',
url: '=/rooms/{{$parameter["roomId"]}}/messages/{{$parameter["messageId"]}}',
},
},
},
{
name: 'Update Message',
value: enums_1.RoomOperations.UPDATE_MESSAGE,
description: 'Update a message in the room',
routing: {
request: {
method: 'PUT',
url: '=/rooms/{{$parameter["roomId"]}}/messages/{{$parameter["messageId"]}}',
},
},
},
{
name: 'Delete Message',
value: enums_1.RoomOperations.DELETE_MESSAGE,
description: 'Delete a message in the room',
routing: {
request: {
method: 'DELETE',
url: '=/rooms/{{$parameter["roomId"]}}/messages/{{$parameter["messageId"]}}',
},
},
},
{
name: 'Get Tasks',
value: enums_1.RoomOperations.GET_TASKS,
description: 'Get tasks in the room',
routing: {
request: {
method: 'GET',
url: '=/rooms/{{$parameter["roomId"]}}/tasks',
},
},
},
{
name: 'Create Task',
value: enums_1.RoomOperations.CREATE_TASK,
description: 'Create a task in the room',
routing: {
request: {
method: 'POST',
url: '=/rooms/{{$parameter["roomId"]}}/tasks',
},
},
},
{
name: 'Get Task Detail',
value: enums_1.RoomOperations.GET_TASK,
description: 'Get details of a specific task in the room',
routing: {
request: {
method: 'GET',
url: '=/rooms/{{$parameter["roomId"]}}/tasks/{{$parameter["taskId"]}}',
},
},
},
{
name: 'Update Task Status',
value: enums_1.RoomOperations.UPDATE_TASK_STATUS,
description: 'Change the completion status of a task',
routing: {
request: {
method: 'PUT',
url: '=/rooms/{{$parameter["roomId"]}}/tasks/{{$parameter["taskId"]}}/status',
},
},
},
{
name: 'Get Files',
value: enums_1.RoomOperations.GET_FILES,
description: 'Get the list of files in the room',
routing: {
request: {
method: 'GET',
url: '=/rooms/{{$parameter["roomId"]}}/files',
},
},
},
{
name: 'Get File Detail',
value: enums_1.RoomOperations.GET_FILE,
description: 'Get details of a file in the room',
routing: {
request: {
method: 'GET',
url: '=/rooms/{{$parameter["roomId"]}}/files/{{$parameter["fileId"]}}',
},
},
},
{
name: 'Upload File',
value: enums_1.RoomOperations.UPLOAD_FILE,
description: 'Upload a new file to the room',
routing: {
request: {
method: 'POST',
url: '=/rooms/{{$parameter["roomId"]}}/files',
headers: {
accept: 'application/json',
'content-type': 'multipart/form-data',
},
},
send: {
preSend: [
async function (requestOptions) {
const binaryProperty = this.getNodeParameter('binaryPropertyName', 0);
const { fileName, mimeType } = this.helpers.assertBinaryData(binaryProperty, 0);
const binaryDataBuffer = await this.helpers.getBinaryDataBuffer(binaryProperty, 0);
const formData = new FormData();
formData.append('file', new Blob([binaryDataBuffer], { type: mimeType }), fileName);
const message = this.getNodeParameter('message', '');
if (message) {
formData.append('message', message);
}
requestOptions.body = formData;
return requestOptions;
},
],
},
},
},
{
name: 'Mark as Read',
value: enums_1.RoomOperations.MARK_AS_READ,
description: 'Mark messages in the room as read',
routing: {
request: {
method: 'PUT',
url: '=/rooms/{{$parameter["roomId"]}}/messages/read',
},
},
},
{
name: 'Mark as Unread',
value: enums_1.RoomOperations.MARK_AS_UNREAD,
description: 'Mark message in the room as unread',
routing: {
request: {
method: 'PUT',
url: '=/rooms/{{$parameter["roomId"]}}/messages/unread',
},
},
},
{
name: 'Get Invite Link',
value: enums_1.RoomOperations.GET_LINK,
description: 'Get invite link for the room',
routing: {
request: {
method: 'GET',
url: '=/rooms/{{$parameter["roomId"]}}/link',
},
},
},
{
name: 'Create Invite Link',
value: enums_1.RoomOperations.CREATE_LINK,
description: 'Create invite link for the room',
routing: {
request: {
method: 'POST',
url: '=/rooms/{{$parameter["roomId"]}}/link',
},
},
},
{
name: 'Delete Invite Link',
value: enums_1.RoomOperations.DELETE_LINK,
description: 'Delete invite link for the room',
routing: {
request: {
method: 'DELETE',
url: '=/rooms/{{$parameter["roomId"]}}/link',
},
},
},
],
},
...create_1.roomCreateProperties,
...get_1.roomGetProperties,
...sendMessage_1.sendMessageProperties,
...update_1.roomUpdateProperties,
...leaveOrDelete_1.roomLeaveOrDeleteProperties,
...getMembers_1.roomGetMembersProperties,
...changeMembers_1.roomChangeMembersProperties,
...getMessages_1.roomGetMessagesProperties,
...getMessage_1.roomGetMessageProperties,
...upddateMessage_1.roomUpdateMessageProperties,
...deleteMessage_1.roomDeleteMessageProperties,
...getTasks_1.roomGetTasksProperties,
...createTask_1.roomCreateTaskProperties,
...getTask_1.roomGetTaskProperties,
...getFiles_1.roomGetFilesProperties,
...getFile_1.roomGetFileProperties,
...uploadFile_1.roomUploadFileProperties,
...markAsRead_1.roomMarkAsReadProperties,
...markAsUnread_1.roomMarkAsUnreadProperties,
...updateTaskStatus_1.roomUpdateTaskStatusProperties,
...getInviteLink_1.roomGetInviteLinkProperties,
...createInviteLink_1.roomCreateInviteLinkProperties,
...deleteInviteLink_1.roomDeleteInviteLinkProperties,
];
//# sourceMappingURL=index.js.map