github.com/wgh-/mattermost-server@v4.8.0-rc2+incompatible/store/layered_store_supplier.go (about)

     1  // Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
     2  // See License.txt for license information.
     3  
     4  package store
     5  
     6  import "github.com/mattermost/mattermost-server/model"
     7  import "context"
     8  
     9  type ResultHandler func(*StoreResult)
    10  
    11  type LayeredStoreSupplierResult struct {
    12  	StoreResult
    13  }
    14  
    15  func NewSupplierResult() *LayeredStoreSupplierResult {
    16  	return &LayeredStoreSupplierResult{}
    17  }
    18  
    19  type LayeredStoreSupplier interface {
    20  	//
    21  	// Control
    22  	//
    23  	SetChainNext(LayeredStoreSupplier)
    24  	Next() LayeredStoreSupplier
    25  
    26  	//
    27  	// Reactions
    28  	//), hints ...LayeredStoreHint)
    29  	ReactionSave(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
    30  	ReactionDelete(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
    31  	ReactionGetForPost(ctx context.Context, postId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
    32  	ReactionDeleteAllWithEmojiName(ctx context.Context, emojiName string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
    33  	ReactionPermanentDeleteBatch(ctx context.Context, endTime int64, limit int64, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
    34  }