blob: 9559bd0f6ad0d6d3241f922c33e8ea1b611a2b01 [file] [log] [blame]
iomodo3e1576e2021-02-23 01:27:56 +04001syntax = "proto3";
2
3option go_package = ".;proto";
4
5package proto;
6
7import "google/protobuf/timestamp.proto";
8
9// UserService handles commands dispatch and user view actions
10service UserService {
iomodo6c264212021-03-07 17:54:04 +040011 rpc GetUser (GetUserRequest) returns (GetUserResponse);
iomodo3e1576e2021-02-23 01:27:56 +040012 rpc ListUsers (ListUserRequest) returns (ListUserResponse);
iomodo6c264212021-03-07 17:54:04 +040013 rpc CreateUser (CreateUserRequest) returns (CreateUserResponse);
iomodo3e1576e2021-02-23 01:27:56 +040014}
15
16// DispatchUserCommandRequest is passed when dispatching
17message DispatchUserCommandRequest {
18 string name = 1;
19 bytes payload = 2;
20}
21
22// User object
23message User {
24 optional string id = 1;
25 optional google.protobuf.Timestamp create_at = 2;
26 optional google.protobuf.Timestamp update_at = 3;
27 optional google.protobuf.Timestamp delete_at = 4;
28 string username = 5;
29 string password = 6;
30 optional google.protobuf.Timestamp last_password_update = 7;
31}
32
33// GetUserRequest is a request data to read user
34message GetUserRequest {
35 string id = 1;
36}
37
iomodo6c264212021-03-07 17:54:04 +040038// GetUserResponse is a response data to read user
39message GetUserResponse {
40 User user = 1
41 string id = 1;
42}
43
iomodo3e1576e2021-02-23 01:27:56 +040044// ListUserRequest is a request data to read all user for a given page
45message ListUserRequest {
46 int64 page = 1;
47 int64 limit = 2;
48}
49
50// ListUserResponse list of all users
51message ListUserResponse {
52 repeated User users = 1;
53 int64 page = 2;
54 int64 limit = 3;
55 int64 total = 4;
56}
57
58// CreateUserRequest is a request data to create a user
59message CreateUserRequest {
iomodo6c264212021-03-07 17:54:04 +040060 User user = 1;
61}
62
63// CreateUserResponse is a response data to create a user
64message CreateUserResponse {
65 User user = 1;
iomodo3e1576e2021-02-23 01:27:56 +040066}