From 6176bcff6977bda71f4fde10a52dde6d7d7ceb9a Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Mon, 27 Nov 2017 17:23:35 -0500 Subject: PLT-8131 (part2) Add plugin key value store support (#7902) * Add plugin key value store support * Add localization strings * Updates per feedback --- plugin/api.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'plugin/api.go') diff --git a/plugin/api.go b/plugin/api.go index 8d27bc794..4bcfd112b 100644 --- a/plugin/api.go +++ b/plugin/api.go @@ -79,6 +79,20 @@ type API interface { // GetPost gets a post. GetPost(postId string) (*model.Post, *model.AppError) - // Update post updates a post. + // UpdatePost updates a post. UpdatePost(post *model.Post) (*model.Post, *model.AppError) + + // KeyValueStore returns an object for accessing the persistent key value storage. + KeyValueStore() KeyValueStore +} + +type KeyValueStore interface { + // Set will store a key-value pair, unique per plugin. + Set(key string, value []byte) *model.AppError + + // Get will retrieve a value based on the key. Returns nil for non-existent keys. + Get(key string) ([]byte, *model.AppError) + + // Delete will remove a key-value pair. Returns nil for non-existent keys. + Delete(key string) *model.AppError } -- cgit v1.2.3-1-g7c22