redai-automation-web-sdk
Version:
TypeScript SDK for RedAI Automation Web API - Zalo Personal automation, messaging, and search. 100% compatible with automation-web backend. Now includes SearchModule for stickers and link parsing.
260 lines • 11.9 kB
JavaScript
;
/**
* Job Types Index
* Export tất cả job/queue types
* 100% khớp với automation-web job structure
*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GROUP_EVENT_TYPES = exports.FRIEND_EVENT_TYPES = exports.MESSAGE_EVENT_TYPES = void 0;
exports.isMessageEvent = isMessageEvent;
exports.isTypingEvent = isTypingEvent;
exports.isReactionEvent = isReactionEvent;
exports.isFriendEvent = isFriendEvent;
exports.isGroupEvent = isGroupEvent;
exports.isSystemEvent = isSystemEvent;
exports.isSelfEvent = isSelfEvent;
exports.isOtherEvent = isOtherEvent;
exports.isUserThreadEvent = isUserThreadEvent;
exports.isGroupThreadEvent = isGroupThreadEvent;
exports.getEventCategory = getEventCategory;
exports.getThreadTypeFromEvent = getThreadTypeFromEvent;
exports.getActorTypeFromEvent = getActorTypeFromEvent;
// ==================== BASE TYPES ====================
__exportStar(require("./webhook-job.types"), exports);
// ==================== MESSAGE JOB TYPES ====================
__exportStar(require("./message-job.types"), exports);
// ==================== EVENT JOB TYPES ====================
__exportStar(require("./event-job.types"), exports);
// ==================== FRIEND & GROUP JOB TYPES ====================
__exportStar(require("./friend-group-job.types"), exports);
// ==================== SYSTEM JOB TYPES ====================
__exportStar(require("./system-job.types"), exports);
const webhook_job_types_1 = require("./webhook-job.types");
// ==================== HELPER FUNCTIONS ====================
/**
* Type guard to check if event is a message event
*/
function isMessageEvent(event) {
return event.eventType.includes('message');
}
/**
* Type guard to check if event is a typing event
*/
function isTypingEvent(event) {
return event.eventType.includes('typing');
}
/**
* Type guard to check if event is a reaction event
*/
function isReactionEvent(event) {
return event.eventType.includes('reaction');
}
/**
* Type guard to check if event is a friend event
*/
function isFriendEvent(event) {
return event.eventType.includes('friend-event');
}
/**
* Type guard to check if event is a group event
*/
function isGroupEvent(event) {
return event.eventType.includes('group-event');
}
/**
* Type guard to check if event is a system event
*/
function isSystemEvent(event) {
return event.eventType.includes('connection-status') ||
event.eventType.includes('upload-attachment') ||
event.eventType.includes('cipher-key') ||
event.eventType.includes('error') ||
event.eventType === webhook_job_types_1.ZaloWebhookEventType.OLD_MESSAGES;
}
/**
* Type guard to check if event is sent by self
*/
function isSelfEvent(event) {
return event.eventType.includes('by-self') || event.eventType.includes('sent-to');
}
/**
* Type guard to check if event is from other users
*/
function isOtherEvent(event) {
return event.eventType.includes('by-other') || event.eventType.includes('received-from');
}
/**
* Type guard to check if event is in user thread
*/
function isUserThreadEvent(event) {
return event.eventType.includes('in-user') || event.eventType.includes('to-user') || event.eventType.includes('from-user');
}
/**
* Type guard to check if event is in group thread
*/
function isGroupThreadEvent(event) {
return event.eventType.includes('in-group') || event.eventType.includes('to-group') || event.eventType.includes('from-group');
}
/**
* Get event category from event type
*/
function getEventCategory(eventType) {
if (eventType.includes('message'))
return 'message';
if (eventType.includes('typing'))
return 'typing';
if (eventType.includes('seen'))
return 'seen';
if (eventType.includes('delivered'))
return 'delivered';
if (eventType.includes('reaction'))
return 'reaction';
if (eventType.includes('undo'))
return 'undo';
if (eventType.includes('friend-event'))
return 'friend';
if (eventType.includes('group-event'))
return 'group';
if (eventType.includes('connection-status'))
return 'connection';
if (eventType.includes('upload-attachment'))
return 'upload';
if (eventType.includes('cipher-key'))
return 'cipher';
if (eventType.includes('error'))
return 'error';
if (eventType === webhook_job_types_1.ZaloWebhookEventType.OLD_MESSAGES)
return 'old-messages';
return 'unknown';
}
/**
* Get thread type from event type
*/
function getThreadTypeFromEvent(eventType) {
if (eventType.includes('user'))
return 'user';
if (eventType.includes('group'))
return 'group';
return 'unknown';
}
/**
* Get actor type from event type (self or other)
*/
function getActorTypeFromEvent(eventType) {
if (eventType.includes('by-self') || eventType.includes('sent-to'))
return 'self';
if (eventType.includes('by-other') || eventType.includes('received-from'))
return 'other';
return 'unknown';
}
// ==================== CONSTANTS ====================
/**
* All message event types
*/
exports.MESSAGE_EVENT_TYPES = [
webhook_job_types_1.ZaloWebhookEventType.TEXT_MESSAGE_SENT_TO_USER,
webhook_job_types_1.ZaloWebhookEventType.TEXT_MESSAGE_SENT_TO_GROUP,
webhook_job_types_1.ZaloWebhookEventType.TEXT_MESSAGE_RECEIVED_FROM_USER,
webhook_job_types_1.ZaloWebhookEventType.TEXT_MESSAGE_RECEIVED_FROM_GROUP,
webhook_job_types_1.ZaloWebhookEventType.IMAGE_MESSAGE_SENT_TO_USER,
webhook_job_types_1.ZaloWebhookEventType.IMAGE_MESSAGE_SENT_TO_GROUP,
webhook_job_types_1.ZaloWebhookEventType.IMAGE_MESSAGE_RECEIVED_FROM_USER,
webhook_job_types_1.ZaloWebhookEventType.IMAGE_MESSAGE_RECEIVED_FROM_GROUP,
webhook_job_types_1.ZaloWebhookEventType.VIDEO_MESSAGE_SENT_TO_USER,
webhook_job_types_1.ZaloWebhookEventType.VIDEO_MESSAGE_SENT_TO_GROUP,
webhook_job_types_1.ZaloWebhookEventType.VIDEO_MESSAGE_RECEIVED_FROM_USER,
webhook_job_types_1.ZaloWebhookEventType.VIDEO_MESSAGE_RECEIVED_FROM_GROUP,
webhook_job_types_1.ZaloWebhookEventType.VOICE_MESSAGE_SENT_TO_USER,
webhook_job_types_1.ZaloWebhookEventType.VOICE_MESSAGE_SENT_TO_GROUP,
webhook_job_types_1.ZaloWebhookEventType.VOICE_MESSAGE_RECEIVED_FROM_USER,
webhook_job_types_1.ZaloWebhookEventType.VOICE_MESSAGE_RECEIVED_FROM_GROUP,
webhook_job_types_1.ZaloWebhookEventType.FILE_MESSAGE_SENT_TO_USER,
webhook_job_types_1.ZaloWebhookEventType.FILE_MESSAGE_SENT_TO_GROUP,
webhook_job_types_1.ZaloWebhookEventType.FILE_MESSAGE_RECEIVED_FROM_USER,
webhook_job_types_1.ZaloWebhookEventType.FILE_MESSAGE_RECEIVED_FROM_GROUP,
webhook_job_types_1.ZaloWebhookEventType.STICKER_MESSAGE_SENT_TO_USER,
webhook_job_types_1.ZaloWebhookEventType.STICKER_MESSAGE_SENT_TO_GROUP,
webhook_job_types_1.ZaloWebhookEventType.STICKER_MESSAGE_RECEIVED_FROM_USER,
webhook_job_types_1.ZaloWebhookEventType.STICKER_MESSAGE_RECEIVED_FROM_GROUP,
webhook_job_types_1.ZaloWebhookEventType.LOCATION_MESSAGE_SENT_TO_USER,
webhook_job_types_1.ZaloWebhookEventType.LOCATION_MESSAGE_SENT_TO_GROUP,
webhook_job_types_1.ZaloWebhookEventType.LOCATION_MESSAGE_RECEIVED_FROM_USER,
webhook_job_types_1.ZaloWebhookEventType.LOCATION_MESSAGE_RECEIVED_FROM_GROUP,
webhook_job_types_1.ZaloWebhookEventType.GIF_MESSAGE_SENT_TO_USER,
webhook_job_types_1.ZaloWebhookEventType.GIF_MESSAGE_SENT_TO_GROUP,
webhook_job_types_1.ZaloWebhookEventType.GIF_MESSAGE_RECEIVED_FROM_USER,
webhook_job_types_1.ZaloWebhookEventType.GIF_MESSAGE_RECEIVED_FROM_GROUP,
webhook_job_types_1.ZaloWebhookEventType.LINK_MESSAGE_SENT_TO_USER,
webhook_job_types_1.ZaloWebhookEventType.LINK_MESSAGE_SENT_TO_GROUP,
webhook_job_types_1.ZaloWebhookEventType.LINK_MESSAGE_RECEIVED_FROM_USER,
webhook_job_types_1.ZaloWebhookEventType.LINK_MESSAGE_RECEIVED_FROM_GROUP,
webhook_job_types_1.ZaloWebhookEventType.DOODLE_MESSAGE_SENT_TO_USER,
webhook_job_types_1.ZaloWebhookEventType.DOODLE_MESSAGE_SENT_TO_GROUP,
webhook_job_types_1.ZaloWebhookEventType.DOODLE_MESSAGE_RECEIVED_FROM_USER,
webhook_job_types_1.ZaloWebhookEventType.DOODLE_MESSAGE_RECEIVED_FROM_GROUP,
webhook_job_types_1.ZaloWebhookEventType.RECOMMENDED_MESSAGE_SENT_TO_USER,
webhook_job_types_1.ZaloWebhookEventType.RECOMMENDED_MESSAGE_SENT_TO_GROUP,
webhook_job_types_1.ZaloWebhookEventType.RECOMMENDED_MESSAGE_RECEIVED_FROM_USER,
webhook_job_types_1.ZaloWebhookEventType.RECOMMENDED_MESSAGE_RECEIVED_FROM_GROUP,
];
/**
* All friend event types
*/
exports.FRIEND_EVENT_TYPES = [
webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_ADD,
webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_REMOVE,
webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_REQUEST,
webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_UNDO_REQUEST,
webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_REJECT_REQUEST,
webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_SEEN_REQUEST,
webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_BLOCK,
webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_UNBLOCK,
webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_BLOCK_CALL,
webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_UNBLOCK_CALL,
webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_PIN_UNPIN,
webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_PIN_CREATE,
webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_UNKNOWN,
];
/**
* All group event types
*/
exports.GROUP_EVENT_TYPES = [
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_JOIN_REQUEST,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_JOIN,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_LEAVE,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REMOVE_MEMBER,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_BLOCK_MEMBER,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UPDATE_SETTING,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UPDATE,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_NEW_LINK,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_ADD_ADMIN,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REMOVE_ADMIN,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_NEW_PIN_TOPIC,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UPDATE_PIN_TOPIC,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REORDER_PIN_TOPIC,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UPDATE_BOARD,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REMOVE_BOARD,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UPDATE_TOPIC,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UNPIN_TOPIC,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REMOVE_TOPIC,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_ACCEPT_REMIND,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REJECT_REMIND,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REMIND_TOPIC,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UPDATE_AVATAR,
webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UNKNOWN,
];
//# sourceMappingURL=index.js.map