Documentation
¶
Index ¶
- type ID
- type Post
- func (p *Post) GetAssets() []*asset.Asset
- func (p *Post) GetContent() datagraph.Content
- func (p *Post) GetCreated() time.Time
- func (p *Post) GetDesc() string
- func (p *Post) GetID() xid.ID
- func (p *Post) GetKind() datagraph.Kind
- func (p *Post) GetName() string
- func (p *Post) GetProps() map[string]any
- func (p *Post) GetSlug() string
- func (p *Post) GetUpdated() time.Time
- type PostLikesMap
- type PostLikesResult
- type PostLikesResults
- type PostRef
- type PostRepliesMap
- type PostRepliesResult
- type PostRepliesResults
- type ReadStateMap
- type ReadStateResult
- type ReadStateResults
- type ReadStatus
- type ReplyStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ID ¶
ID wraps the underlying xid type for all kinds of Storyden Post data type.
func (ID) MarshalJSON ¶
func (*ID) UnmarshalJSON ¶
type Post ¶
type Post struct {
ID ID
Root ID // Identical to ID if this is the root.
Title string
Slug string
Content datagraph.Content
Author profile.Ref
Likes like.Status
Collections collection_item_status.Status
Reacts []*reaction.React
Assets []*asset.Asset
WebLink opt.Optional[link_ref.LinkRef]
Meta map[string]any
Visibility visibility.Visibility
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt opt.Optional[time.Time]
IndexedAt opt.Optional[time.Time]
}
func (*Post) GetContent ¶
func (*Post) GetCreated ¶
func (*Post) GetUpdated ¶
type PostLikesMap ¶
type PostLikesMap map[xid.ID]PostLikesResult
PostLikesMap maps the likes aggregation back to individual posts.
type PostLikesResult ¶
type PostLikesResult struct {
PostID xid.ID `db:"post_id"`
Count int `db:"likes"`
Liked int `db:"liked"`
}
PostLikesResult is used for querying all members who liked posts in a thread.
func (PostLikesResult) Status ¶
func (p PostLikesResult) Status() like.Status
type PostLikesResults ¶
type PostLikesResults []PostLikesResult
func (PostLikesResults) Map ¶
func (p PostLikesResults) Map() PostLikesMap
type PostRepliesMap ¶
type PostRepliesMap map[xid.ID]PostRepliesResult
PostRepliesMap maps the likes aggregation back to individual posts.
func (PostRepliesMap) Status ¶
func (p PostRepliesMap) Status(id xid.ID) ReplyStatus
type PostRepliesResult ¶
type PostRepliesResult struct {
PostID xid.ID `db:"post_id"`
Count int `db:"replies"`
Replied int `db:"replied"`
}
func (PostRepliesResult) Status ¶
func (p PostRepliesResult) Status() ReplyStatus
type PostRepliesResults ¶
type PostRepliesResults []PostRepliesResult
func (PostRepliesResults) Map ¶
func (p PostRepliesResults) Map() PostRepliesMap
type ReadStateMap ¶
type ReadStateMap map[xid.ID]ReadStateResult
ReadStateMap maps the likes aggregation back to individual posts.
func (ReadStateMap) Status ¶
func (p ReadStateMap) Status(id xid.ID) opt.Optional[ReadStatus]
type ReadStateResult ¶
type ReadStateResult struct {
PostID xid.ID `db:"post_id"`
NewReplies int `db:"new_replies"`
LastReadAt string `db:"last_read_at"`
}
func (ReadStateResult) Status ¶
func (p ReadStateResult) Status() ReadStatus
type ReadStateResults ¶
type ReadStateResults []ReadStateResult
func (ReadStateResults) Map ¶
func (p ReadStateResults) Map() ReadStateMap
type ReadStatus ¶
type ReplyStatus ¶
Click to show internal directories.
Click to hide internal directories.