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
JavaScript
;
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