UNPKG

n8n-nodes-zalo-nnt

Version:

Unofficial Zalo integration for n8n - Send messages, manage groups, user operations with QR login. No API key required, works via browser simulation.

229 lines 9.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.processSetHiddenConversation = processSetHiddenConversation; exports.processGetHiddenConversations = processGetHiddenConversations; exports.processUpdateHiddenConversPin = processUpdateHiddenConversPin; exports.processResetHiddenConversPin = processResetHiddenConversPin; exports.processAddUnreadMark = processAddUnreadMark; exports.processRemoveUnreadMark = processRemoveUnreadMark; exports.processGetUnreadMark = processGetUnreadMark; exports.processGetArchivedChatList = processGetArchivedChatList; exports.processGetPinConversations = processGetPinConversations; exports.processSetPinnedConversations = processSetPinnedConversations; exports.processGetAutoDeleteChat = processGetAutoDeleteChat; exports.processUpdateAutoDeleteChat = processUpdateAutoDeleteChat; exports.processDeleteChat = processDeleteChat; exports.processSetMute = processSetMute; exports.processGetMute = processGetMute; const types_1 = require("./types"); const validator_1 = require("./validator"); async function processSetHiddenConversation(api, params) { (0, validator_1.validateThreadId)(params.threadId); (0, validator_1.validateThreadType)(params.threadType); if (params.isHidden && params.pin) { (0, validator_1.validatePin)(params.pin); } const target = { id: params.threadId, type: params.threadType, }; const response = await api.setHiddenConversations(params.isHidden, target); return { status: 'Thành công', message: params.isHidden ? 'Đã ẩn cuộc hội thoại' : 'Đã bỏ ẩn cuộc hội thoại', threadId: params.threadId, isHidden: params.isHidden, response, }; } async function processGetHiddenConversations(api, params) { (0, validator_1.validatePin)(params.pin); const response = await api.getHiddenConversations(params.pin); return { status: 'Thành công', conversations: response || [], totalCount: (response === null || response === void 0 ? void 0 : response.length) || 0, response, }; } async function processUpdateHiddenConversPin(api, params) { (0, validator_1.validateThreadId)(params.threadId); (0, validator_1.validatePin)(params.pin); const response = await api.updateHiddenConversPin(params.threadId, params.pin); return { status: 'Thành công', message: 'Đã cập nhật PIN cho cuộc hội thoại ẩn', threadId: params.threadId, response, }; } async function processResetHiddenConversPin(api, params) { (0, validator_1.validatePin)(params.oldPin); (0, validator_1.validatePin)(params.newPin); if (params.oldPin === params.newPin) { throw new Error('PIN mới phải khác PIN cũ'); } const response = await api.resetHiddenConversPin(params.oldPin, params.newPin); return { status: 'Thành công', message: 'Đã đổi PIN thành công', response, }; } async function processAddUnreadMark(api, params) { (0, validator_1.validateThreadId)(params.threadId); (0, validator_1.validateThreadType)(params.threadType); const response = await api.addUnreadMark(params.threadId, params.threadType); return { status: 'Thành công', message: 'Đã đánh dấu chưa đọc', threadId: params.threadId, response, }; } async function processRemoveUnreadMark(api, params) { (0, validator_1.validateThreadId)(params.threadId); (0, validator_1.validateThreadType)(params.threadType); const response = await api.removeUnreadMark(params.threadId, params.threadType); return { status: 'Thành công', message: 'Đã bỏ đánh dấu chưa đọc', threadId: params.threadId, response, }; } async function processGetUnreadMark(api) { const response = await api.getUnreadMark(); return { status: 'Thành công', unreadMarks: response || [], totalCount: (response === null || response === void 0 ? void 0 : response.length) || 0, response, }; } async function processGetArchivedChatList(api, params) { var _a, _b, _c; (0, validator_1.validateOffset)(params.offset); (0, validator_1.validateCount)(params.count); const payload = { offset: (_a = params.offset) !== null && _a !== void 0 ? _a : 0, count: (_b = params.count) !== null && _b !== void 0 ? _b : 20, }; const response = await api.getArchivedChatList(payload); return { status: 'Thành công', archivedChats: (response === null || response === void 0 ? void 0 : response.conversations) || [], hasMore: (response === null || response === void 0 ? void 0 : response.hasMore) || false, totalReturned: ((_c = response === null || response === void 0 ? void 0 : response.conversations) === null || _c === void 0 ? void 0 : _c.length) || 0, response, }; } async function processGetPinConversations(api) { const response = await api.getPinConversations(); return { status: 'Thành công', pinnedConversations: response || [], totalCount: (response === null || response === void 0 ? void 0 : response.length) || 0, response, }; } async function processSetPinnedConversations(api, params) { const threadIdList = (0, validator_1.parseThreadIds)(params.threadIds); (0, validator_1.validateThreadType)(params.threadType); const targets = threadIdList.map((id) => ({ id, type: params.threadType, })); const payload = { conversations: targets, isPinned: params.isPinned, }; const response = await api.setPinnedConversations(payload); return { status: 'Thành công', message: params.isPinned ? `Đã ghim ${threadIdList.length} cuộc hội thoại` : `Đã bỏ ghim ${threadIdList.length} cuộc hội thoại`, threadIds: threadIdList, isPinned: params.isPinned, response, }; } async function processGetAutoDeleteChat(api, params) { (0, validator_1.validateThreadId)(params.threadId); (0, validator_1.validateThreadType)(params.threadType); const response = await api.getAutoDeleteChat(params.threadId, params.threadType); return { status: 'Thành công', threadId: params.threadId, ttl: (response === null || response === void 0 ? void 0 : response.ttl) || 0, enabled: ((response === null || response === void 0 ? void 0 : response.ttl) || 0) > 0, response, }; } async function processUpdateAutoDeleteChat(api, params) { var _a, _b, _c; (0, validator_1.validateThreadId)(params.threadId); (0, validator_1.validateThreadType)(params.threadType); (0, validator_1.validateTtl)((_a = params.ttl) !== null && _a !== void 0 ? _a : 0); const response = await api.updateAutoDeleteChat(params.threadId, params.threadType, (_b = params.ttl) !== null && _b !== void 0 ? _b : 0); const ttlMessage = params.ttl === 0 ? 'Đã tắt tự động xóa tin nhắn' : `Đã bật tự động xóa tin nhắn sau ${params.ttl} giây`; return { status: 'Thành công', message: ttlMessage, threadId: params.threadId, ttl: (_c = params.ttl) !== null && _c !== void 0 ? _c : 0, response, }; } async function processDeleteChat(api, params) { (0, validator_1.validateThreadId)(params.threadId); (0, validator_1.validateThreadType)(params.threadType); const response = await api.deleteChat(params.threadId, params.threadType); return { status: 'Thành công', message: 'Đã xóa cuộc hội thoại', threadId: params.threadId, response, }; } async function processSetMute(api, params) { (0, validator_1.validateThreadId)(params.threadId); (0, validator_1.validateThreadType)(params.threadType); (0, validator_1.validateMuteDuration)(params.duration); const muteParams = params.duration !== types_1.MuteDuration.Unmute ? { duration: params.duration } : {}; const response = await api.setMute(params.threadId, params.threadType, muteParams); const durationLabels = { [-1]: 'vĩnh viễn', [0]: 'đã bật thông báo', [1]: '1 giờ', [2]: '4 giờ', [3]: '8 giờ', [4]: '1 ngày', }; const message = params.duration === types_1.MuteDuration.Unmute ? 'Đã bật thông báo' : `Đã tắt thông báo ${durationLabels[params.duration] || ''}`; return { status: 'Thành công', message, threadId: params.threadId, duration: params.duration, response, }; } async function processGetMute(api, params) { (0, validator_1.validateThreadId)(params.threadId); (0, validator_1.validateThreadType)(params.threadType); const response = await api.getMute(params.threadId, params.threadType); return { status: 'Thành công', threadId: params.threadId, isMuted: (response === null || response === void 0 ? void 0 : response.isMuted) || false, muteUntil: (response === null || response === void 0 ? void 0 : response.muteUntil) || null, response, }; } //# sourceMappingURL=conversationProcessor.js.map