mirror of
https://github.com/kevin-DL/services.git
synced 2026-01-12 03:05:14 +00:00
104 lines
2.0 KiB
Protocol Buffer
104 lines
2.0 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package users;
|
|
option go_package = "proto;users";
|
|
import "google/protobuf/wrappers.proto";
|
|
|
|
service Users {
|
|
rpc Create(CreateRequest) returns (CreateResponse) {}
|
|
rpc Read(ReadRequest) returns (ReadResponse) {}
|
|
rpc ReadByEmail(ReadByEmailRequest) returns (ReadByEmailResponse) {}
|
|
rpc Update(UpdateRequest) returns (UpdateResponse) {}
|
|
rpc Delete(DeleteRequest) returns (DeleteResponse) {}
|
|
rpc List(ListRequest) returns (ListResponse) {}
|
|
|
|
// Login using email and password returns the users profile and a token
|
|
rpc Login(LoginRequest) returns (LoginResponse) {}
|
|
// Logout expires all tokens for the user
|
|
rpc Logout(LogoutRequest) returns (LogoutResponse) {}
|
|
// Validate a token, each time a token is validated it extends its lifetime for another week
|
|
rpc Validate(ValidateRequest) returns (ValidateResponse) {}
|
|
}
|
|
|
|
message User {
|
|
string id = 1;
|
|
string first_name = 2;
|
|
string last_name = 3;
|
|
string email = 4;
|
|
}
|
|
|
|
message CreateRequest {
|
|
string first_name = 1;
|
|
string last_name = 2;
|
|
string email = 3;
|
|
string password = 4;
|
|
}
|
|
|
|
message CreateResponse {
|
|
User user = 1;
|
|
string token = 2;
|
|
}
|
|
|
|
message ReadRequest {
|
|
repeated string ids = 1;
|
|
}
|
|
|
|
message ReadResponse {
|
|
map<string,User> users = 1;
|
|
}
|
|
|
|
message ReadByEmailRequest {
|
|
repeated string emails = 1;
|
|
}
|
|
|
|
message ReadByEmailResponse {
|
|
map<string,User> users = 1;
|
|
}
|
|
|
|
message UpdateRequest {
|
|
string id = 1;
|
|
google.protobuf.StringValue first_name = 2;
|
|
google.protobuf.StringValue last_name = 3;
|
|
google.protobuf.StringValue email = 4;
|
|
google.protobuf.StringValue password = 5;
|
|
}
|
|
|
|
message UpdateResponse {
|
|
User user = 1;
|
|
}
|
|
|
|
message DeleteRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message DeleteResponse {}
|
|
|
|
message ListRequest {}
|
|
|
|
message ListResponse {
|
|
repeated User users = 1;
|
|
}
|
|
|
|
message LoginRequest {
|
|
string email = 1;
|
|
string password = 2;
|
|
}
|
|
|
|
message LoginResponse {
|
|
User user = 1;
|
|
string token = 2;
|
|
}
|
|
|
|
message LogoutRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message LogoutResponse {}
|
|
|
|
message ValidateRequest {
|
|
string token = 1;
|
|
}
|
|
|
|
message ValidateResponse {
|
|
User user = 1;
|
|
} |