1 Commits

Author SHA1 Message Date
4fc14c7a97 WIP: Add the project memership service
Signed-off-by: Nikolai Rodionov <iam@allanger.xyz>
2026-05-18 22:40:50 +02:00
4 changed files with 31 additions and 37 deletions

View File

@@ -22,6 +22,6 @@ plugins:
- markdown,README.md
- remote: buf.build/protocolbuffers/dart:v25.0.0
out: gen/dart/lib
out: gen/dart/lib/src
opt:
- grpc

View File

@@ -9,31 +9,19 @@ option go_package = "gitea.badhouseplants.net/softplayer/softplayer-go-proto/pkg
*/
service PublicAccountsService {
// Sing in into an existing account
rpc SignIn (SignInRequest) returns (SignInResponse) {}
rpc SignIn (SignInRequest) returns (google.protobuf.Empty) {}
// Create a new account
rpc SignUp (SignUpRequest) returns (SignUpResponse) {}
rpc SignUp (SignUpRequest) returns (google.protobuf.Empty) {}
}
service AccountsService {
// Is email for the current account verified
rpc IsEmailVerified (IsEmailVerifiedRequest) returns (IsEmailVerifiedResponse) {}
rpc RefreshSession (google.protobuf.Empty) returns (google.protobuf.Empty) {}
// Authorize using long living tokens
rpc TokenAuthorization (google.protobuf.Empty) returns (google.protobuf.Empty) {}
// Remove a session that is associated with a refresh token, should be used for logging out
rpc RemoveSession(RemoveSessionRequest) returns (google.protobuf.Empty) {}
}
// Use as a separate service to make it easier to avoid interceptors on the client
service RefreshSessionService {
rpc RefreshSession(RefreshSessionRequest) returns (RefreshSessionResponse) {}
}
message TokenPair {
string access_token = 1;
string refresh_token = 2;
}
message AccountPassword {
string password = 1;
}
@@ -54,19 +42,11 @@ message SignUpRequest {
PersonalData personal_data = 3;
}
message SignUpResponse {
TokenPair token_pair = 1;
}
message SignInRequest {
string email = 1;
string password = 2;
};
message SignInResponse {
TokenPair token_pair = 1;
}
message ResetPasswordRequest {
AccountData data = 1;
}
@@ -88,15 +68,3 @@ message IsEmailVerifiedResponse {
message RefreshTokenRequest {
string session_id = 1;
}
message RefreshSessionRequest {
string refresh_token = 1;
}
message RefreshSessionResponse {
TokenPair token_pair = 1;
}
message RemoveSessionRequest {
string refresh_token = 1;
}

View File

@@ -0,0 +1,27 @@
syntax = "proto3";
package project_membership.v1;
option go_package = "gitea.badhouseplants.net/softplayer/softplayer-go-proto/pkg/project_membership/v1";
service ProjectMembershipService {
rpc AddUserToProject(AddUserToProjectRequest) returns (AddUserToProjectResponse) {}
rpc ChangeMembership(ChangeMembershipRequest) returns (ChangeMembershipResponse) {}
rpc RemoveMembership(RemoveMembershipRequest) returns (RemoveMembershipResponse) {}
rpc GetMembership(GetMembershipRequest) returns (GetMembershipResponse) {}
rpc ListMemberships(ListMembershipsRequest) returns (stream ListMembershipsResponse) {}
}
message AddUserToProjectRequest {}
message AddUserToProjectResponse {}
message ChangeMembershipRequest {}
message ChangeMembershipResponse {}
message RemoveMembershipRequest {}
message RemoveMembershipResponse {}
message GetMembershipRequest {}
message GetMembershipResponse {}
message ListMembershipsRequest {}
message ListMembershipsResponse {}

View File

@@ -1,4 +1,3 @@
/// Protobuf definitions for the accounts service.
syntax = "proto3";
package projects.v1;
option go_package = "gitea.badhouseplants.net/softplayer/softplayer-go-proto/pkg/projects/v1";