-
Notifications
You must be signed in to change notification settings - Fork 0
/
todolist.proto
62 lines (47 loc) · 1.19 KB
/
todolist.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
syntax = "proto3";
package todolist;
option go_package = "todolistpb";
import "google/protobuf/timestamp.proto";
message Todo {
int32 id = 1;
string title = 2;
string note = 3;
google.protobuf.Timestamp due_date = 4;
}
message CreateTodoRequest {
Todo todo = 1;
}
message CreateTodoResponse {
Todo todo = 1;
}
message ReadTodoRequest {
int32 todo_id = 1;
}
message ReadTodoResponse {
Todo todo = 1;
}
message UpdateTodoRequest {
Todo todo = 1;
}
message UpdateTodoResponse {
Todo todo = 1;
}
message DeleteTodoRequest {
int32 todo_id = 1;
}
message DeleteTodoResponse {
// empty response
}
message ListTodosRequest {
// empty request
}
message ListTodosResponse {
Todo todo = 1;
}
service TodoListService {
rpc CreateTodo(CreateTodoRequest) returns (CreateTodoResponse);
rpc ReadTodo(ReadTodoRequest) returns (ReadTodoResponse); // return NOT_FOUND if not found
rpc UpdateTodo(UpdateTodoRequest) returns (UpdateTodoResponse); // return NOT_FOUND if not found
rpc DeleteTodo(DeleteTodoRequest) returns (DeleteTodoResponse); // return NOT_FOUND if not found
rpc ListTodos(ListTodosRequest) returns (stream ListTodosResponse);
}