mattermost-redux
Version:
Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client
28 lines (27 loc) • 1.71 kB
TypeScript
import type { PostList, Post } from '@mattermost/types/posts';
import type { UserProfile } from '@mattermost/types/users';
import type { ActionFunc, ActionFuncAsync, ThunkActionFunc } from 'mattermost-redux/types/actions';
/**
* Adds list(s) of user id(s) to the status fetching poll. Which gets fetched based on user interval polling duration
* Do not use if status is required immediately.
*/
export declare function addUserIdsForStatusFetchingPoll(userIdsForStatus: Array<UserProfile['id']>): ActionFunc<boolean>;
/**
* Adds list(s) of user id(s) to the profile fetching poll. Which gets fetched based on user interval polling duration
* Do not use if profile is required immediately.
*/
export declare function addUserIdsForProfileFetchingPoll(userIdsForProfile: Array<UserProfile['id']>): ActionFunc<boolean>;
export declare function cleanUpStatusAndProfileFetchingPoll(): ThunkActionFunc<void>;
interface UserIdsAndMentions {
userIdsForProfilePoll: Array<UserProfile['id']>;
userIdsForStatusPoll: Array<UserProfile['id']>;
mentionedUsernamesAndGroups: string[];
}
export declare function extractUserIdsAndMentionsFromPosts(posts: Post[]): ActionFunc<UserIdsAndMentions>;
/**
* Gets in batch the user profiles, user statuses and user groups for the users in the posts list
* This action however doesn't refetch the profiles and statuses except for groups if they are already fetched once
*/
export declare function batchFetchStatusesProfilesGroupsFromPosts(postsArrayOrMap: Post[] | PostList['posts'] | Post): ActionFunc<boolean>;
export declare function getUsersFromMentionedUsernamesAndGroups(usernamesAndGroups: string[], isLicensed: boolean): ActionFuncAsync<string[]>;
export {};