import { GuidValue } from "@omnia/fx-models/internal-do-not-import-from-here/shared/models"; import { Identity, ResolvedUserIdentity } from "./identities"; import { ISocialReaction } from "./SocialReaction"; export interface IPostOwner { omniaServiceId: GuidValue; } export interface IPostTypeIdentifier { postTypeId: GuidValue; } export interface IPostIdentifier { postId: GuidValue; } export interface IPostReference extends IPostIdentifier, IPostOwner, IPostTypeIdentifier { } export interface IPostBaseWithContext extends IPostBase { context: TPostContext; } export interface IPostBase extends IPostTypeIdentifier { parentId?: GuidValue; mentionedUsers?: Array; content: string; } export interface IPostBaseContext extends IPostOwner { getTopicId: () => GuidValue; } export interface IPostLike extends ISocialReaction { id: GuidValue; postId: GuidValue; topicId: GuidValue; } export interface IPersistedPost extends IPostReference { post: TPostType; createdBy?: Identity; createdAt?: string; modifiedBy?: Identity; modifiedAt?: string; deletedBy?: Identity; deletedAt?: string; likedBy: Array; likes?: Array; }