Add user store
This commit is contained in:
@@ -1,11 +1,18 @@
|
||||
syntax = "proto3";
|
||||
|
||||
option go_package = "gitea.benny.dog/torjus/ezshare/pb";
|
||||
package ezshare;
|
||||
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
option go_package = "gitea.benny.dog/torjus/ezshare/pb";
|
||||
|
||||
/////////////////////
|
||||
// Common messages //
|
||||
/////////////////////
|
||||
message Empty {}
|
||||
|
||||
////////////////////////
|
||||
// FILE RELATED STUFF //
|
||||
////////////////////////
|
||||
message File {
|
||||
string file_id = 1;
|
||||
bytes data = 2;
|
||||
@@ -62,4 +69,71 @@ service FileService {
|
||||
rpc GetFile(GetFileRequest) returns (GetFileResponse) {}
|
||||
rpc DeleteFile(DeleteFileRequest) returns (DeleteFileResponse) {}
|
||||
rpc ListFiles(ListFilesRequest) returns (ListFilesResponse) {}
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////
|
||||
// USER RELATED STUFF //
|
||||
////////////////////////
|
||||
message User {
|
||||
string id = 1;
|
||||
string username = 2;
|
||||
bytes hashed_password = 3;
|
||||
enum Role {
|
||||
UNAPPROVED = 0;
|
||||
VIEWONLY = 1;
|
||||
USER = 2;
|
||||
ADMIN = 3;
|
||||
}
|
||||
Role user_role = 4;
|
||||
bool active = 5;
|
||||
}
|
||||
|
||||
// Register
|
||||
message RegisterUserRequest {
|
||||
string username = 1;
|
||||
string password = 2;
|
||||
}
|
||||
message RegisterUserResponse {
|
||||
string id = 1;
|
||||
string token = 2;
|
||||
}
|
||||
|
||||
// Login
|
||||
message LoginUserRequest {
|
||||
message UserPasswordLogin {
|
||||
string username = 1;
|
||||
string password = 2;
|
||||
}
|
||||
message TokenLogin {
|
||||
string token = 1;
|
||||
}
|
||||
|
||||
oneof requested_login {
|
||||
TokenLogin with_token = 1;
|
||||
UserPasswordLogin with_password = 2;
|
||||
}
|
||||
}
|
||||
message LoginUserResponse {
|
||||
bytes server_cert = 1;
|
||||
bytes client_cert = 2;
|
||||
bytes client_key = 3;
|
||||
}
|
||||
|
||||
// List
|
||||
message ListUsersRequest {
|
||||
}
|
||||
message ListUsersResponse {
|
||||
repeated User users = 1;
|
||||
}
|
||||
|
||||
// Approve
|
||||
message ApproveUserRequest {
|
||||
string user_id = 1;
|
||||
}
|
||||
|
||||
service UserService {
|
||||
rpc Register(RegisterUserRequest) returns (RegisterUserResponse) {}
|
||||
rpc Login(LoginUserRequest) returns (LoginUserResponse) {}
|
||||
rpc List(ListUsersRequest) returns (ListUsersResponse) {}
|
||||
rpc Approve(ApproveUserRequest) returns (Empty) {}
|
||||
}
|
||||
|
Reference in New Issue
Block a user