syntax = "proto3";

package devvit.plugin.kvstore;

import "google/protobuf/empty.proto";

option go_package = "github.snooguts.net/reddit/reddit-devplatform-monorepo/go-common/generated/protos/types/devvit/plugin/kvstore";
option java_outer_classname = "_KVStore";
option java_package = "com.reddit.devvit.plugin.kvstore";

message MessageSet {
  map<string, string> messages = 1;
}

message KeySet {
  repeated string keys = 1;
}

message ListFilter {
  string filter = 1;
}

service KVStore {
  rpc Put(MessageSet) returns (google.protobuf.Empty);
  rpc Get(KeySet) returns (MessageSet);
  rpc Del(KeySet) returns (google.protobuf.Empty);
  rpc List(ListFilter) returns (KeySet);
}
