-
Notifications
You must be signed in to change notification settings - Fork 1
/
chat.proto
79 lines (70 loc) · 1.69 KB
/
chat.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
syntax = "proto3";
package chat_sistOS;
message UserList {
// verdadero = usuarios conectados
// falso = usuario especifico
bool list = 1;
// se manda vacio si es para todos, nombre de usuario si es especifico
string user_name = 2;
}
message UsersOnline{
// Lista de usuarios
repeated User users = 1;
}
message UserOption{
// opcion a realizar
int32 op = 1;
// crear nuevo usuario
NewUser createUser = 2;
// ver usuarios conectados/ver estado de usuario
UserList userList = 3;
// cambiar estado de usuario
Status status = 4;
// enviar mensaje
Message message = 5;
}
message Answer{
// opcion recibida
int32 op = 1;
// 400 error, 200 OK
int32 response_status_code = 2;
// Mensaje de respuesta
string response_message = 3;
// Lista de usuarios
UsersOnline users_online = 4;
// Mensaje recibido
Message message = 5;
// Usuario
User user = 6;
// Status del usuario
Status status = 7;
}
message User{
// Nombre de usuario
string user_name = 1;
// IP del usuario
string user_ip = 2;
// status del usuario
int32 user_state = 3;
}
message NewUser {
// Nombre de usuario
string username = 1;
// IP del usuario
string IP = 2;
}
message Status{
string user_name = 1;
// 1 en linea, 2 ocupado, 3 desconectado
int32 user_state = 2;
}
message Message {
// false = se manda a todos, true = mensaje directo
bool message_private = 1;
// Vacio si es para todos, nombre de usuario si es directo
string message_destination = 2;
// Contenido del mensaje
string message_content = 3;
// Usuario que lo manda
string message_sender = 4;
}