-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathuser.proto
100 lines (84 loc) · 2.06 KB
/
user.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
syntax = "proto3";
package api;
import "google/protobuf/timestamp.proto";
message User {
// @inject_tag: bson:"_id"
string ID = 1;
// @inject_tag: bson:"username"
string Username = 2;
// @inject_tag: bson:"groups"
repeated string Groups = 3;
// @inject_tag: bson:"roleid"
string RoleID = 4;
// @inject_tag: bson:"createdby"
string CreatedBy = 5;
// @inject_tag: bson:"createdat"
google.protobuf.Timestamp CreatedAt = 6;
// @inject_tag: bson:"modifiedby"
string ModifiedBy = 7;
// @inject_tag: bson:"modifiedat"
google.protobuf.Timestamp ModifiedAt = 8;
}
message UserListReq {
// do not filter
}
message UserListRes {
// return a collection of users
repeated User Users = 1;
}
message UserCreateReq {
// create a user
string Username = 1;
repeated string Groups = 2;
string RoleID = 3;
string CreatedBy = 4;
}
message UserCreateRes {
// reutrn an id
string ID = 1;
}
message UserReadReq {
// read a user by id
string ID = 1;
}
message UserReadRes {
// return a user
User User = 1;
}
message UserReadByUsernameReq {
// read a user by id
string Username = 1;
}
message UserReadByUsernameRes {
// return a user
User User = 1;
}
message UserUpdateReq {
// update a user by id
string ID = 1;
repeated string Groups = 2;
string RoleID = 3;
string ModifiedBy = 4;
}
message UserUpdateRes {
// return number of users updated
// should equal 1 on success
int64 Updated = 1;
}
message UserDeleteReq {
// delete a user by id
string ID = 1;
}
message UserDeleteRes {
// return number of users deleted
// should equal 1 on success
int64 Deleted = 1;
}
service UserService {
rpc List(UserListReq) returns (UserListRes);
rpc Create(UserCreateReq) returns (UserCreateRes);
rpc Read(UserReadReq) returns (UserReadRes);
rpc ReadByUsername(UserReadByUsernameReq) returns (UserReadByUsernameRes);
rpc Update(UserUpdateReq) returns (UserUpdateRes);
rpc Delete(UserDeleteReq) returns (UserDeleteRes);
}