feat(user): improve api
add rest api annotation
This commit is contained in:
parent
c71d43077e
commit
360832a5ab
6 changed files with 1300 additions and 67 deletions
|
@ -1,68 +1,117 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package user.v1;
|
||||
option go_package = "/user/v1;userv1";
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
import "google/api/annotations.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);
|
||||
rpc Login(LoginRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/session/login"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
rpc Logout(google.protobuf.Empty) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/session/logout"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
rpc Refresh(google.protobuf.Empty) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/session/refresh"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
rpc Verify(google.protobuf.Empty) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
get: "/session/verify"
|
||||
};
|
||||
}
|
||||
|
||||
rpc CompleteLogout(google.protobuf.Empty) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post : "/session/complete-logout"
|
||||
};
|
||||
}
|
||||
|
||||
rpc CreateUser(CreateUserRequest) returns (CreateUserResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/users"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
rpc GetUser(GetUserRequest) returns (GetUserResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/users/{id}"
|
||||
};
|
||||
}
|
||||
|
||||
rpc UpdateUser(UpdateUserRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
patch: "/users/{id}"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
rpc DeleteUser(DeleteUserRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/users/{id}"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
enum Role {
|
||||
ROLE_SPECTATOR_UNSPECIFIED = 0;
|
||||
ROLE_PARTICIPANT = 1;
|
||||
ROLE_MODERATOR = 2;
|
||||
ROLE_ADMIN = 3;
|
||||
ROLE_PARTICIPANT_UNSPECIFIED = 0;
|
||||
ROLE_MODERATOR = 1;
|
||||
ROLE_ADMIN = 2;
|
||||
}
|
||||
|
||||
message User {
|
||||
int32 id = 1;
|
||||
string username = 2;
|
||||
reserved 3;
|
||||
google.protobuf.Timestamp created_at = 4;
|
||||
google.protobuf.Timestamp modified_at = 5;
|
||||
Role role = 6;
|
||||
}
|
||||
|
||||
message LoginRequest {
|
||||
string username = 1;
|
||||
string password = 2;
|
||||
}
|
||||
|
||||
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;
|
||||
string username = 1;
|
||||
string password = 2;
|
||||
}
|
||||
|
||||
message CreateUserResponse {
|
||||
int32 id = 1;
|
||||
}
|
||||
|
||||
message ReadUserRequest {
|
||||
message GetUserRequest {
|
||||
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;
|
||||
}
|
||||
|
||||
message GetUserResponse {
|
||||
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;
|
||||
int32 id = 1;
|
||||
string username = 2;
|
||||
reserved 3;
|
||||
Role role = 4;
|
||||
}
|
||||
|
||||
message DeleteUserRequest {
|
||||
int32 id = 1;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue