mirror of
https://github.com/aykhans/slash-e.git
synced 2025-04-20 22:07:15 +00:00
70 lines
1.4 KiB
Protocol Buffer
70 lines
1.4 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package slash.api.v2;
|
|
|
|
import "api/v2/common.proto";
|
|
import "google/api/annotations.proto";
|
|
import "google/api/client.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
option go_package = "gen/api/v2";
|
|
|
|
service UserService {
|
|
// GetUser returns a user by id.
|
|
rpc GetUser(GetUserRequest) returns (GetUserResponse) {
|
|
option (google.api.http) = {get: "/api/v2/users/{id}"};
|
|
option (google.api.method_signature) = "id";
|
|
}
|
|
// GetUserAccessTokens returns a list of access tokens for a user.
|
|
rpc GetUserAccessTokens(GetUserAccessTokensRequest) returns (GetUserAccessTokensResponse) {
|
|
option (google.api.http) = {get: "/api/v2/users/{id}/access_tokens"};
|
|
option (google.api.method_signature) = "id";
|
|
}
|
|
}
|
|
|
|
message User {
|
|
int32 id = 1;
|
|
|
|
RowStatus row_status = 2;
|
|
|
|
int64 created_ts = 3;
|
|
|
|
int64 updated_ts = 4;
|
|
|
|
Role role = 6;
|
|
|
|
string email = 7;
|
|
|
|
string nickname = 8;
|
|
}
|
|
|
|
enum Role {
|
|
ROLE_UNSPECIFIED = 0;
|
|
|
|
ADMIN = 1;
|
|
|
|
USER = 2;
|
|
}
|
|
|
|
message GetUserRequest {
|
|
int32 id = 1;
|
|
}
|
|
|
|
message GetUserResponse {
|
|
User user = 1;
|
|
}
|
|
|
|
message GetUserAccessTokensRequest {
|
|
int32 id = 1;
|
|
}
|
|
|
|
message GetUserAccessTokensResponse {
|
|
message AccessToken {
|
|
string access_token = 1;
|
|
string description = 2;
|
|
google.protobuf.Timestamp created_time = 3;
|
|
google.protobuf.Timestamp expires_time = 4;
|
|
}
|
|
repeated AccessToken access_tokens = 1;
|
|
}
|