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.
49 lines • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateAddQuickMessage = validateAddQuickMessage;
exports.validateUpdateQuickMessage = validateUpdateQuickMessage;
exports.validateRemoveQuickMessage = validateRemoveQuickMessage;
exports.validateGetQuickMessage = validateGetQuickMessage;
function validateAddQuickMessage(input) {
if (!input.keyword || input.keyword.trim().length === 0) {
throw new Error('Keyword is required');
}
if (!input.title || input.title.trim().length === 0) {
throw new Error('Title is required');
}
if (input.keyword.startsWith('/') === false) {
throw new Error('Keyword must start with "/"');
}
}
function validateUpdateQuickMessage(input) {
if (!Number.isInteger(input.itemId) || input.itemId <= 0) {
throw new Error('Item ID must be a positive integer');
}
if (!input.keyword || input.keyword.trim().length === 0) {
throw new Error('Keyword is required');
}
if (!input.title || input.title.trim().length === 0) {
throw new Error('Title is required');
}
if (input.keyword.startsWith('/') === false) {
throw new Error('Keyword must start with "/"');
}
}
function validateRemoveQuickMessage(input) {
if (!input.itemIds || input.itemIds.length === 0) {
throw new Error('At least one item ID is required');
}
const invalid = input.itemIds.filter((id) => !Number.isInteger(id) || id <= 0);
if (invalid.length > 0) {
throw new Error(`Invalid item IDs: ${invalid.join(', ')}`);
}
}
function validateGetQuickMessage(skip, count) {
if (skip !== undefined && skip < 0) {
throw new Error('Skip must be greater than or equal to 0');
}
if (count !== undefined && (count < 1 || count > 100)) {
throw new Error('Count must be between 1 and 100');
}
}
//# sourceMappingURL=validator.js.map