UNPKG

@beincom/dto

Version:

Share dto for all projects of Beincom

33 lines (32 loc) 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllObjectIdFromLogs = void 0; const index_1 = require("../index"); function getAllObjectIdFromLogs(logs) { const setOfUserIds = new Set(); const setOfCommunityIds = new Set(); const setOfGroupIds = new Set(); const setOfBadgeIds = new Set(); const setOfGroupSetIds = new Set(); for (const log of logs) { const useCase = log.useCase; const useCaseClass = index_1.ActivityLogUseCaseClassesMap.get(useCase); if (useCaseClass) { const instance = new useCaseClass(log); const { userIds = [], groupIds = [], badgeIds = [], communityIds = [], groupSetIds = [], } = instance.toObjectIds(); userIds.forEach((id) => id && setOfUserIds.add(id)); groupIds.forEach((id) => id && setOfGroupIds.add(id)); groupSetIds.forEach((id) => id && setOfGroupSetIds.add(id)); badgeIds.forEach((id) => id && setOfBadgeIds.add(id)); communityIds.forEach((id) => id && setOfCommunityIds.add(id)); } } return { userIds: Array.from(setOfUserIds), groupIds: Array.from(setOfGroupIds), badgeIds: Array.from(setOfBadgeIds), communityIds: Array.from(setOfCommunityIds), groupSetIds: Array.from(setOfGroupSetIds), }; } exports.getAllObjectIdFromLogs = getAllObjectIdFromLogs;