Documentation ¶
Index ¶
- func NewOmitReferencesContext(ctx context.Context) context.Context
- func OmitReferencesFromContext(ctx context.Context) bool
- type ActionStatistics
- type ActionStatisticsAccumulator
- type ActionTypes
- type ActionTypesAccumulator
- type CommentDimensions
- type CommentDimensionsAccumulator
- type CommentStatistics
- type CommentStatisticsAccumulator
- type CommentTypes
- type CommentTypesAccumulator
- type ReceivedActionStatisticsAccumulator
- type ReceivedActionTypesAccumulator
- type User
- type UserAccumulator
- type UserActions
- type UserActionsAccumulator
- type UserStatistics
- type UserStatisticsAccumulator
- func (a *UserStatisticsAccumulator) Accumulate(ctx context.Context, object interface{})
- func (a *UserStatisticsAccumulator) Combine(object interface{})
- func (a *UserStatisticsAccumulator) CommentIDs(ctx context.Context) []interface{}
- func (a *UserStatisticsAccumulator) UserStatistics(ctx context.Context) *UserStatistics
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewOmitReferencesContext ¶ added in v0.3.4
func OmitReferencesFromContext ¶ added in v0.3.4
Types ¶
type ActionStatistics ¶
type ActionStatistics struct { Count int `json:"count" bson:"count,minsize"` Users map[string]int `json:"users,omitempty" bson:"users,omitempty,minsize"` Comments []string `json:"comments,omitempty" bson:"comments,omitempty"` Assets []string `json:"assets,omitempty" bson:"assets,omitempty"` Sections []string `json:"sections,omitempty" bson:"sections,omitempty"` }
type ActionStatisticsAccumulator ¶
func NewActionStatisticsAccumulator ¶
func NewActionStatisticsAccumulator() *ActionStatisticsAccumulator
func (*ActionStatisticsAccumulator) Accumulate ¶
func (a *ActionStatisticsAccumulator) Accumulate(ctx context.Context, object interface{})
func (*ActionStatisticsAccumulator) ActionStatistics ¶ added in v0.3.4
func (a *ActionStatisticsAccumulator) ActionStatistics(ctx context.Context) *ActionStatistics
func (*ActionStatisticsAccumulator) Combine ¶ added in v0.3.4
func (a *ActionStatisticsAccumulator) Combine(object interface{})
type ActionTypes ¶ added in v0.3.4
type ActionTypes struct { All *ActionStatistics `json:"all,omitempty" bson:"all,omitempty"` Types map[string]*ActionStatistics `json:"types" bson:",inline"` Ratios map[string]float64 `json:"ratios,omitempty" bson:"ratios,omitempty"` }
type ActionTypesAccumulator ¶ added in v0.3.4
type ActionTypesAccumulator struct { All *ActionStatisticsAccumulator Types map[string]*ActionStatisticsAccumulator }
func NewActionTypesAccumulator ¶ added in v0.3.4
func NewActionTypesAccumulator() *ActionTypesAccumulator
func (*ActionTypesAccumulator) Accumulate ¶ added in v0.3.4
func (a *ActionTypesAccumulator) Accumulate(ctx context.Context, object interface{})
func (*ActionTypesAccumulator) ActionStatistics ¶ added in v0.3.4
func (a *ActionTypesAccumulator) ActionStatistics(ctx context.Context) *ActionTypes
func (*ActionTypesAccumulator) Combine ¶ added in v0.3.4
func (a *ActionTypesAccumulator) Combine(object interface{})
type CommentDimensions ¶
type CommentDimensions struct { All *CommentTypes `json:"all,omitempty" bson:"all,omitempty"` Types map[string]map[string]*CommentTypes `json:"types,omitempty" bson:",inline"` }
type CommentDimensionsAccumulator ¶
type CommentDimensionsAccumulator struct { All *CommentTypesAccumulator Types map[string]map[string]*CommentTypesAccumulator }
func NewCommentDimensionsAccumulator ¶
func NewCommentDimensionsAccumulator() *CommentDimensionsAccumulator
func (*CommentDimensionsAccumulator) Accumulate ¶
func (a *CommentDimensionsAccumulator) Accumulate(ctx context.Context, object interface{})
func (*CommentDimensionsAccumulator) Combine ¶
func (a *CommentDimensionsAccumulator) Combine(object interface{})
func (*CommentDimensionsAccumulator) CommentDimensions ¶
func (a *CommentDimensionsAccumulator) CommentDimensions(ctx context.Context) *CommentDimensions
type CommentStatistics ¶
type CommentStatistics struct { Count int `json:"count" bson:"count,minsize"` // Replied concerns the comments of this group. RepliedCount int `json:"replied_count" bson:"replied_count,minsize"` RepliedToComments []string `json:"replied_comments,omitempty" bson:"replied_comments,omitempty"` RepliedToUsers []string `json:"replied_users,omitempty" bson:"replied_users,omitempty"` RepliedRatio float64 `json:"replied_ratio" bson:"replied_ratio"` // Reply concerns replies to the comments of this group. ReplyCount int `json:"reply_count" bson:"reply_count,minsize"` ReplyComments []string `json:"reply_comments,omitempty" bson:"reply_comments,omitempty"` ReplyUsers []string `json:"reply_users,omitempty" bson:"reply_users,omitempty"` ReplyRatio float64 `json:"reply_ratio" bson:"reply_ratio"` // First and last comments. First time.Time `json:"first,omitempty" bson:"first,omitempty"` Last time.Time `json:"last,omitempty" bson:"last,omitempty"` // Text analysis. WordCountAverage float64 `json:"word_count_average" bson:"word_count_average"` }
type CommentStatisticsAccumulator ¶
type CommentStatisticsAccumulator struct {
Counts, RepliedComments, RepliedUsers, ReplyComments, ReplyUsers aggregate.Int
First *aggregate.Oldest
Last *aggregate.Newest
}
func NewCommentStatisticsAccumulator ¶
func NewCommentStatisticsAccumulator() *CommentStatisticsAccumulator
func (*CommentStatisticsAccumulator) Accumulate ¶
func (a *CommentStatisticsAccumulator) Accumulate(ctx context.Context, object interface{})
func (*CommentStatisticsAccumulator) Combine ¶
func (a *CommentStatisticsAccumulator) Combine(object interface{})
func (*CommentStatisticsAccumulator) CommentStatistics ¶
func (a *CommentStatisticsAccumulator) CommentStatistics(ctx context.Context) *CommentStatistics
type CommentTypes ¶
type CommentTypes struct { All *CommentStatistics `json:"all,omitempty" bson:"all,omitempty"` Types map[string]*CommentStatistics `json:"types,omitempty" bson:",inline"` Ratios map[string]float64 `json:"ratios,omitempty" bson:"ratios,omitempty"` }
type CommentTypesAccumulator ¶
type CommentTypesAccumulator struct { All *CommentStatisticsAccumulator Types map[string]*CommentStatisticsAccumulator }
func NewCommentTypesAccumulator ¶
func NewCommentTypesAccumulator() *CommentTypesAccumulator
func (*CommentTypesAccumulator) Accumulate ¶
func (a *CommentTypesAccumulator) Accumulate(ctx context.Context, object interface{})
func (*CommentTypesAccumulator) Combine ¶
func (a *CommentTypesAccumulator) Combine(object interface{})
func (*CommentTypesAccumulator) CommentTypes ¶
func (a *CommentTypesAccumulator) CommentTypes(ctx context.Context) *CommentTypes
type ReceivedActionStatisticsAccumulator ¶ added in v0.3.4
type ReceivedActionStatisticsAccumulator struct {
*ActionStatisticsAccumulator
}
func NewReceivedActionStatisticsAccumulator ¶ added in v0.3.4
func NewReceivedActionStatisticsAccumulator() *ReceivedActionStatisticsAccumulator
func (*ReceivedActionStatisticsAccumulator) Accumulate ¶ added in v0.3.4
func (a *ReceivedActionStatisticsAccumulator) Accumulate(ctx context.Context, object interface{})
func (*ReceivedActionStatisticsAccumulator) Combine ¶ added in v0.3.4
func (a *ReceivedActionStatisticsAccumulator) Combine(object interface{})
type ReceivedActionTypesAccumulator ¶ added in v0.3.4
type ReceivedActionTypesAccumulator struct { All *ReceivedActionStatisticsAccumulator Types map[string]*ReceivedActionStatisticsAccumulator }
func NewReceivedActionTypesAccumulator ¶ added in v0.3.4
func NewReceivedActionTypesAccumulator() *ReceivedActionTypesAccumulator
func (*ReceivedActionTypesAccumulator) Accumulate ¶ added in v0.3.4
func (a *ReceivedActionTypesAccumulator) Accumulate(ctx context.Context, object interface{})
func (*ReceivedActionTypesAccumulator) ActionStatistics ¶ added in v0.3.4
func (a *ReceivedActionTypesAccumulator) ActionStatistics(ctx context.Context) *ActionTypes
func (*ReceivedActionTypesAccumulator) Combine ¶ added in v0.3.4
func (a *ReceivedActionTypesAccumulator) Combine(object interface{})
type User ¶
type User struct { model.User `bson:",inline"` Statistics *UserStatistics `json:"statistics,omitempty" bson:"statistics,omitempty"` Reference *UserStatistics `json:"reference,omitempty" bson:"reference,omitempty"` }
type UserAccumulator ¶
func NewUserAccumulator ¶
func NewUserAccumulator() *UserAccumulator
Returns the aggregation map for the different variables
func (*UserAccumulator) Accumulate ¶
func (a *UserAccumulator) Accumulate(ctx context.Context, object interface{})
Acumulates aggregate the values on the different dimensions for object (in this case a user)
func (*UserAccumulator) Combine ¶
func (a *UserAccumulator) Combine(object interface{})
func (*UserAccumulator) Dimensions ¶ added in v0.3.4
func (a *UserAccumulator) Dimensions() []*model.Dimension
Dimensions bring all the dimmensions for the user
type UserActions ¶
type UserActions struct { Performed *ActionTypes `json:"performed" bson:"performed"` Received *ActionTypes `json:"received" bson:"received"` }
Actions performed BY the user or ON the user
type UserActionsAccumulator ¶ added in v0.3.4
type UserActionsAccumulator struct { Performed *ActionTypesAccumulator Received *ReceivedActionTypesAccumulator }
func NewUserActionsAccumulator ¶ added in v0.3.4
func NewUserActionsAccumulator() *UserActionsAccumulator
func (*UserActionsAccumulator) Accumulate ¶ added in v0.3.4
func (a *UserActionsAccumulator) Accumulate(ctx context.Context, object interface{})
func (*UserActionsAccumulator) Combine ¶ added in v0.3.4
func (a *UserActionsAccumulator) Combine(object interface{})
func (*UserActionsAccumulator) UserActions ¶ added in v0.3.4
func (a *UserActionsAccumulator) UserActions(ctx context.Context) *UserActions
type UserStatistics ¶
type UserStatistics struct { Actions *UserActions `json:"actions" bson:"actions"` Comments *CommentDimensions `json:"comments" bson:"comments"` }
type UserStatisticsAccumulator ¶
type UserStatisticsAccumulator struct { Comments *CommentDimensionsAccumulator Actions *UserActionsAccumulator CommentIDMap map[interface{}]struct{} }
func NewUserStatisticsAccumulator ¶
func NewUserStatisticsAccumulator() *UserStatisticsAccumulator
func (*UserStatisticsAccumulator) Accumulate ¶
func (a *UserStatisticsAccumulator) Accumulate(ctx context.Context, object interface{})
func (*UserStatisticsAccumulator) Combine ¶
func (a *UserStatisticsAccumulator) Combine(object interface{})
func (*UserStatisticsAccumulator) CommentIDs ¶ added in v0.3.4
func (a *UserStatisticsAccumulator) CommentIDs(ctx context.Context) []interface{}
func (*UserStatisticsAccumulator) UserStatistics ¶
func (a *UserStatisticsAccumulator) UserStatistics(ctx context.Context) *UserStatistics
Click to show internal directories.
Click to hide internal directories.