-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmdining.proto
136 lines (107 loc) · 2.73 KB
/
mdining.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
syntax = "proto3";
package mdining;
import "google/api/annotations.proto";
import "proto/dininghalls.proto";
import "proto/items.proto";
import "proto/filterableentries.proto";
import "proto/menu.proto";
import "proto/food.proto";
import "proto/foodstat.proto";
import "proto/hearts.proto";
service MDining {
rpc GetDiningHalls(DiningHallsRequest) returns (DiningHallsReply) {
option (google.api.http) = {
get : "/v1/diningHalls"
};
}
rpc GetItems(ItemsRequest) returns (ItemsReply) {
option (google.api.http) = {
get : "/v1/items"
};
}
rpc GetFilterableEntries(FilterableEntriesRequest)
returns (FilterableEntriesReply) {
option (google.api.http) = {
get : "/v1/filterableEntries"
};
}
rpc GetAll(AllRequest) returns (AllReply) {
option (google.api.http) = {
get: "/v1/all"
};
}
rpc GetMenu(MenuRequest) returns (MenuReply) {
option (google.api.http) = {
get: "/v1/menus"
};
}
rpc GetFood(FoodRequest) returns (FoodReply) {
option (google.api.http) = {
get: "/v1/foods"
};
}
rpc GetFoodStats(FoodStatsRequest) returns (FoodStatsReply) {
option (google.api.http) = {
get: "/v1/stats"
};
}
rpc GetSummaryStats(SummaryStatsRequest) returns (SummaryStatsReply) {
option (google.api.http) = {
get: "/v1/summarystats"
};
}
rpc StreamHearts(HeartsRequest) returns (stream HeartsReply) {
}
rpc GetHearts(HeartsRequest) returns (HeartsReply) {
option (google.api.http) = {
get: "/v1/hearts"
};
}
rpc AddHeart(HeartsRequest) returns (HeartsReply) {
option (google.api.http) = {
post: "/v1/hearts"
};
}
}
message FoodStatsRequest {}
message FoodStatsReply { repeated FoodStat foodStats = 1; }
message SummaryStatsRequest {
string startDate = 1;
string endDate = 2;
}
message SummaryStatsReply {
SummaryStats stats = 1;
}
message DiningHallsRequest {}
message DiningHallsReply { repeated DiningHall diningHalls = 1; }
message ItemsRequest {}
message ItemsReply { map<string, Item> items = 1; }
message FilterableEntriesRequest {}
message FilterableEntriesReply { repeated FilterableEntry filterableEntries = 1; }
message AllRequest {}
message AllReply {
repeated DiningHall diningHalls = 1;
map<string, Item> items = 2;
repeated FilterableEntry filterableEntries = 3;
}
message MenuRequest {
string date = 1;
string meal = 2;
string diningHall = 3;
}
message MenuReply { repeated Menu menus = 1; }
message FoodRequest {
string name = 1;
string date = 2;
string startDate = 3;
string endDate = 4;
}
message FoodReply {
repeated Food foods = 1;
}
message HeartsRequest {
repeated string keys = 1;
}
message HeartsReply {
repeated HeartCount counts = 1;
}