68 lines
1.4 KiB
Protocol Buffer
68 lines
1.4 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package user.v1;
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
import "google/protobuf/empty.proto";
|
|
|
|
service UserService {
|
|
rpc CreateUser (CreateUserRequest) returns (CreateUserResponse);
|
|
rpc ReadUser (ReadUserRequest) returns (ReadUserResponse);
|
|
rpc UpdateUser (UpdateUserRequest) returns (google.protobuf.Empty);
|
|
rpc DeleteUser (DeleteUserRequest) returns (google.protobuf.Empty);
|
|
}
|
|
|
|
enum Role {
|
|
ROLE_SPECTATOR_UNSPECIFIED = 0;
|
|
ROLE_PARTICIPANT = 1;
|
|
ROLE_MODERATOR = 2;
|
|
ROLE_ADMIN = 3;
|
|
}
|
|
|
|
message CreateUserRequest {
|
|
message User {
|
|
string username = 1;
|
|
string password = 2;
|
|
reserved 3;
|
|
optional google.protobuf.Timestamp expires_at = 4;
|
|
Role role = 5;
|
|
}
|
|
|
|
User user = 1;
|
|
}
|
|
message CreateUserResponse {
|
|
int32 id = 1;
|
|
}
|
|
|
|
message ReadUserRequest {
|
|
int32 id = 1;
|
|
}
|
|
message ReadUserResponse {
|
|
message User {
|
|
int32 id = 1;
|
|
string username = 2;
|
|
reserved 3;
|
|
string password = 4;
|
|
google.protobuf.Timestamp expires_at = 5;
|
|
google.protobuf.Timestamp created_at = 6;
|
|
Role role = 7;
|
|
}
|
|
User user = 1;
|
|
}
|
|
|
|
message UpdateUserRequest {
|
|
message User {
|
|
int32 id = 1;
|
|
optional string username = 2;
|
|
reserved 3;
|
|
optional string password = 4;
|
|
optional google.protobuf.Timestamp expires_at = 5;
|
|
optional Role role = 6;
|
|
}
|
|
|
|
User user = 1;
|
|
}
|
|
|
|
message DeleteUserRequest {
|
|
int32 id = 1;
|
|
} |