summaryrefslogtreecommitdiffstats
path: root/store/layered_store_supplier.go
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2017-07-31 08:15:23 -0700
committerGitHub <noreply@github.com>2017-07-31 08:15:23 -0700
commit09b49c26ddfdb20ced61e7dfd4192e750ce40449 (patch)
tree1288d069cc8a199b8eb3b858935dffd377ee3d2d /store/layered_store_supplier.go
parent6f4e38d129ffaf469d40fc8596d3957ee94d21e9 (diff)
downloadchat-09b49c26ddfdb20ced61e7dfd4192e750ce40449.tar.gz
chat-09b49c26ddfdb20ced61e7dfd4192e750ce40449.tar.bz2
chat-09b49c26ddfdb20ced61e7dfd4192e750ce40449.zip
PLT-5308 Caching layer part 2 (#6973)
* Adding Reaction store cache layer example * Implementing reaction store in new caching system. * Redis for reaction store * Adding redis library * Adding invalidation for DeleteAllWithEmojiName and other minor enhancements
Diffstat (limited to 'store/layered_store_supplier.go')
-rw-r--r--store/layered_store_supplier.go26
1 files changed, 15 insertions, 11 deletions
diff --git a/store/layered_store_supplier.go b/store/layered_store_supplier.go
index 7b7da5710..22c90ab17 100644
--- a/store/layered_store_supplier.go
+++ b/store/layered_store_supplier.go
@@ -6,24 +6,28 @@ package store
import "github.com/mattermost/platform/model"
import "context"
+type ResultHandler func(*StoreResult)
+
type LayeredStoreSupplierResult struct {
- Result StoreResult
- Err *model.AppError
+ StoreResult
}
-func NewSupplierResult() LayeredStoreSupplierResult {
- return LayeredStoreSupplierResult{
- Result: StoreResult{},
- Err: nil,
- }
+func NewSupplierResult() *LayeredStoreSupplierResult {
+ return &LayeredStoreSupplierResult{}
}
type LayeredStoreSupplier interface {
//
+ // Control
+ //
+ SetChainNext(LayeredStoreSupplier)
+ Next() LayeredStoreSupplier
+
+ //
// Reactions
//), hints ...LayeredStoreHint)
- ReactionSave(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) LayeredStoreSupplierResult
- ReactionDelete(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) LayeredStoreSupplierResult
- ReactionGetForPost(ctx context.Context, postId string, hints ...LayeredStoreHint) LayeredStoreSupplierResult
- ReactionDeleteAllWithEmojiName(ctx context.Context, emojiName string, hints ...LayeredStoreHint) LayeredStoreSupplierResult
+ ReactionSave(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
+ ReactionDelete(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
+ ReactionGetForPost(ctx context.Context, postId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
+ ReactionDeleteAllWithEmojiName(ctx context.Context, emojiName string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
}