github.com/annwntech/go-micro/v2@v2.9.5/store/service/proto/store.proto (about)

     1  syntax = "proto3";
     2  
     3  package go.micro.store;
     4  
     5  service Store {
     6  	rpc Read(ReadRequest) returns (ReadResponse) {};
     7  	rpc Write(WriteRequest) returns (WriteResponse) {};
     8  	rpc Delete(DeleteRequest) returns (DeleteResponse) {};
     9  	rpc List(ListRequest) returns (stream ListResponse) {};
    10  	rpc Databases(DatabasesRequest) returns (DatabasesResponse) {};
    11  	rpc Tables(TablesRequest) returns (TablesResponse) {};
    12  }
    13  
    14  message Field {
    15  	// type of value e.g string, int, int64, bool, float64
    16  	string type = 1;
    17  	// the actual value
    18  	string value = 2;
    19  }
    20  
    21  message Record {
    22  	// key of the record
    23  	string key = 1;
    24  	// value in the record
    25  	bytes value = 2;
    26  	// time.Duration (signed int64 nanoseconds)
    27  	int64 expiry = 3;
    28  	// the associated metadata
    29  	map<string,Field> metadata = 4;
    30  }
    31  
    32  message ReadOptions {
    33  	string database = 1;
    34  	string table = 2;
    35  	bool prefix   = 3;
    36  	bool suffix   = 4;
    37  	uint64 limit  = 5;
    38  	uint64 offset = 6;
    39  }
    40  
    41  message ReadRequest {
    42  	string key          = 1;
    43  	ReadOptions options = 2;
    44  }
    45  
    46  message ReadResponse {
    47  	repeated Record records = 1;
    48  }
    49  
    50  message WriteOptions {
    51  	string database = 1;
    52  	string table = 2;
    53  	// time.Time
    54  	int64 expiry = 3;
    55  	// time.Duration
    56  	int64 ttl = 4;
    57  }
    58  
    59  message WriteRequest {
    60  	Record record        = 1;
    61  	WriteOptions options = 2;
    62  }
    63  
    64  message WriteResponse {}
    65  
    66  message DeleteOptions {
    67  	string database = 1;
    68  	string table = 2;
    69  }
    70  
    71  message DeleteRequest {
    72  	string key            = 1;
    73  	DeleteOptions options = 2;
    74  }
    75  
    76  message DeleteResponse {}
    77  
    78  message ListOptions {
    79  	string database = 1;
    80  	string table = 2;
    81  	string prefix   = 3;
    82  	string suffix   = 4;
    83  	uint64 limit  = 5;
    84  	uint64 offset = 6;
    85  }
    86  
    87  
    88  message ListRequest {
    89  	ListOptions options = 1;
    90  }
    91  
    92  message ListResponse {
    93  	reserved 1; //repeated Record records = 1;
    94  	repeated string keys = 2;
    95  }
    96  
    97  message DatabasesRequest {}
    98  
    99  message DatabasesResponse {
   100  	repeated string databases = 1;
   101  }
   102  
   103  message TablesRequest {
   104  	string database = 1;
   105  }
   106  
   107  message TablesResponse {
   108  	repeated string tables = 1;
   109  }