UNPKG

mattermost-redux

Version:

Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client

26 lines (25 loc) 1.47 kB
"use strict"; // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. Object.defineProperty(exports, "__esModule", { value: true }); exports.makeAddLastViewAtToProfiles = makeAddLastViewAtToProfiles; const create_selector_1 = require("mattermost-redux/selectors/create_selector"); const channels_1 = require("mattermost-redux/selectors/entities/channels"); const users_1 = require("mattermost-redux/selectors/entities/users"); const channel_utils_1 = require("mattermost-redux/utils/channel_utils"); function makeAddLastViewAtToProfiles() { return (0, create_selector_1.createSelector)('makeAddLastViewAtToProfiles', users_1.getCurrentUserId, channels_1.getMyChannelMemberships, channels_1.getAllDmChannels, users_1.getUserStatuses, (_, profiles) => profiles, (currentUserId, memberships, allDmChannels, userStatuses, profiles) => { const formattedProfiles = profiles.map((profile) => { const channelName = (0, channel_utils_1.getDirectChannelName)(currentUserId, profile.id); const channel = allDmChannels[channelName]; const membership = channel ? memberships[channel.id] : null; const status = userStatuses[profile.id]; return { ...profile, status, last_viewed_at: channel && membership ? membership.last_viewed_at : 0, }; }); return formattedProfiles; }); }