Add user store

This commit is contained in:
2021-12-05 11:08:09 +01:00
parent fa32f76a61
commit be230233dc
9 changed files with 1488 additions and 164 deletions

View File

@@ -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) {}
}