-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathapi.proto
261 lines (224 loc) · 5.2 KB
/
api.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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
syntax = "proto3";
package api_pb;
import "google/api/annotations.proto";
import "google/protobuf/struct.proto";
import "google/api/httpbody.proto";
import "google/protobuf/empty.proto";
import "validate/validate.proto";
import "google/protobuf/field_mask.proto";
enum Cmd {
CMD_BUY = 0;
CMD_SELL = 1;
}
message UserInfo {
// Output only.
int32 login = 1;
string group = 2;
string name = 3;
int32 enabled = 4;
int32 leverage = 5;
// Output only.
double balance = 6;
// Output only.
double credit = 7;
int32 agent_account = 8;
}
message UserInfoRequest {
string token = 1;
int32 login = 2;
}
message UserInfoResponse {
UserInfo user = 1;
int32 code = 2;
string message = 3;
}
message AddUserInfo {
string email = 1;
string password = 2;
string password_investor = 3;
string group = 4;
string name = 5;
int32 login = 6;
int32 enabled = 7;
string city = 8;
string phone = 9;
}
message AddUserRequest {
string token = 1;
AddUserInfo user = 2;
google.protobuf.FieldMask update_mask = 3;
}
message AddUserResponse {
int32 login = 1;
int32 code = 2;
string message = 3;
}
message UpdateUserInfo {
int32 login = 1;
string email = 2;
string name = 3;
int32 enabled = 4;
string password = 5;
string password_investor = 6;
string phone = 7;
string city = 8;
string group = 9;
}
message UpdateUserRequest {
string token = 1;
UpdateUserInfo user = 2;
google.protobuf.FieldMask update_mask = 3;
}
message UpdateUserResponse {
int32 code = 1;
string message = 2;
}
message DeleteUserRequest {
string token = 1;
int32 login = 2;
}
message DeleteUserResponse {
int32 code = 1;
string message = 2;
}
message ResetPasswordInfo {
int32 login = 1;
string password = 2;
string password_investor = 3;
}
message ResetPasswordRequest {
string token = 1;
ResetPasswordInfo user = 2;
google.protobuf.FieldMask update_mask = 3;
}
message ResetPasswordResponse {
int32 code = 1;
string message = 2;
}
message FundsInfo {
int32 login = 1;
double amount = 2;
int32 is_credit = 3;
string comment = 4;
}
message FundsRequest {
string token = 1;
FundsInfo user = 2;
google.protobuf.FieldMask update_mask = 3;
}
message FundsResponse {
double balance = 1;
double credit = 2;
}
message TradeInfo {
int32 ticket = 1;
int32 login = 2;
string symbol = 3;
int32 digits = 4;
Cmd cmd = 5;
int32 volume = 6;
int32 open_time = 7;
int32 state = 8;
double open_price = 9;
double sl = 10;
double tp = 11;
int32 close_time = 12;
int32 expiration = 13;
double commission = 14;
double close_price = 15;
double profit = 16;
int32 magic = 17;
string comment = 18;
}
message OpenTradeRequest {
int32 login = 1;
string symbol = 2;
Cmd cmd = 3;
double price = 4;
int32 slippage = 5;
double sl = 6;
double tp = 7;
int32 volume = 8;
string comment = 9;
}
message OpenTradeResponse {
int32 ticket = 1;
int32 error_code = 2;
string message = 3;
}
message UpdateTradeRequest {
int32 ticket = 1;
double price = 4;
double sl = 6;
double tp = 7;
}
message UpdateTradeResponse {
int32 error_code = 1;
string message = 2;
}
message CloseTradeRequest {
int32 ticket = 1;
int32 volume = 2;
}
message CloseTradeResponse {
int32 error_code = 1;
string message = 2;
}
service UserService {
rpc GetInfo(UserInfoRequest) returns (UserInfoResponse) {
option (google.api.http) = {
get: "/user/{login}"
};
}
rpc Delete(DeleteUserRequest) returns (DeleteUserResponse) {
option (google.api.http) = {
delete: "/user/{token}/{login}"
};
}
rpc Add(AddUserRequest) returns (AddUserResponse) {
option (google.api.http) = {
post: "/user/add/{token}",
body: "user"
};
}
rpc Update(UpdateUserRequest) returns (UpdateUserResponse) {
option (google.api.http) = {
put: "/user/update/{token}"
body: "user"
additional_bindings {
patch: "/user/update/{token}"
body: "user"
}
};
}
rpc Withdraw(FundsRequest) returns (FundsResponse) {
option (google.api.http) = {
put: "/user/withdraw/{token}"
body: "user"
additional_bindings {
patch: "/user/withraw/{token}"
body: "user"
}
};
}
rpc Deposit(FundsRequest) returns (FundsResponse) {
option (google.api.http) = {
put: "/user/deposit/{token}"
body: "user"
additional_bindings {
patch: "/user/deposit/{token}"
body: "user"
}
};
}
rpc ResetPassword(ResetPasswordRequest) returns (ResetPasswordResponse) {
option (google.api.http) = {
put: "/user/reset_password/{token}"
body: "user"
additional_bindings {
patch: "/user/reset_password/{token}"
body: "user"
}
};
}
}