38 lines
1.3 KiB
TypeScript
38 lines
1.3 KiB
TypeScript
// Metro module 16206 (f16207).
|
|
import { AnalyticEvents } from "../../Constants";
|
|
import AutomaticLifecycleManager from "../../lib/AutomaticLifecycleManager";
|
|
import AnalyticsUtils from "../../utils/AnalyticsUtils";
|
|
class MessageSessionMetadataManager extends AutomaticLifecycleManager {
|
|
actions = {
|
|
MESSAGE_CREATE: (a0) => this.handleMessageCreate(a0),
|
|
MESSAGE_UPDATE: (a0) => this.handleMessageUpdate(a0)
|
|
};
|
|
handleMessageCreate(a0) {
|
|
this._trackIfSessionMetadataExists(a0.message);
|
|
}
|
|
handleMessageUpdate(a0) {
|
|
this._trackIfSessionMetadataExists(a0.message);
|
|
}
|
|
_getAuthorizedApplicationIds(a0) {
|
|
let authorized_application_ids;
|
|
try {
|
|
authorized_application_ids = a0.authorized_application_ids;
|
|
} catch ($e) {
|
|
return null;
|
|
}
|
|
return authorized_application_ids;
|
|
}
|
|
_trackIfSessionMetadataExists(a0) {
|
|
if (a0.session_metadata != null) {
|
|
AnalyticsUtils.track(AnalyticEvents.MESSAGE_DISPATCH_SESSION_METADATA_FOUND, {
|
|
message_id: a0.id,
|
|
channel_id: a0.channel_id,
|
|
author_id: a0.author?.id,
|
|
authorized_application_ids: this._getAuthorizedApplicationIds(a0.session_metadata)
|
|
});
|
|
}
|
|
}
|
|
}
|
|
const messageSessionMetadataManager = new MessageSessionMetadataManager();
|
|
export default messageSessionMetadataManager;
|