redai-automation-web-sdk
Version:
TypeScript SDK for RedAI Automation Web API - Zalo Personal automation, messaging, advanced sticker search, and bulk operations. 100% compatible with automation-web backend. v1.8.0: Added SessionProxyService for managing proxy assignments to sessions with
69 lines • 2.1 kB
JavaScript
;
/**
* Group Event Types
* 100% khớp với zalo-personal-sdk/src/models/GroupEvent.ts
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.initializeGroupEvent = initializeGroupEvent;
const enums_1 = require("./enums");
/**
* Initialize Group Event Function
*/
function initializeGroupEvent(uid, data, type) {
const threadId = "group_id" in data ? data.group_id : data.groupId;
if (type === enums_1.GroupEventType.JOIN_REQUEST) {
return { type, data: data, threadId, isSelf: false };
}
else if (type === enums_1.GroupEventType.NEW_PIN_TOPIC ||
type === enums_1.GroupEventType.UNPIN_TOPIC ||
type === enums_1.GroupEventType.UPDATE_PIN_TOPIC) {
return {
type,
data: data,
threadId,
isSelf: data.actorId === uid,
};
}
else if (type === enums_1.GroupEventType.REORDER_PIN_TOPIC) {
return {
type,
data: data,
threadId,
isSelf: data.actorId === uid,
};
}
else if (type === enums_1.GroupEventType.UPDATE_BOARD || type === enums_1.GroupEventType.REMOVE_BOARD) {
return {
type,
data: data,
threadId,
isSelf: data.sourceId === uid,
};
}
else if (type === enums_1.GroupEventType.ACCEPT_REMIND || type === enums_1.GroupEventType.REJECT_REMIND) {
return {
type,
data: data,
threadId,
isSelf: data.updateMembers.some((memberId) => memberId === uid),
};
}
else if (type === enums_1.GroupEventType.REMIND_TOPIC) {
return {
type,
data: data,
threadId,
isSelf: data.creatorId === uid,
};
}
else {
const baseData = data;
return {
type,
data: baseData,
threadId,
isSelf: baseData.updateMembers?.some((member) => member.id === uid) || baseData.sourceId === uid,
};
}
}
//# sourceMappingURL=group-event.js.map