feat: init

This commit is contained in:
Vyacheslav1557 2024-08-16 15:54:17 +05:00
commit b679e06274
5 changed files with 128 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
.idea
pkg/go/gen

12
buf.gen.yaml Normal file
View file

@ -0,0 +1,12 @@
version: v1
managed:
enabled: true
go_package_prefix:
default: git.sch9.ru/new_gate/contracts/pkg/go/gen
plugins:
- name: go
out: pkg/go/gen
opt: paths=source_relative
- name: go-grpc
out: pkg/go/gen
opt: paths=source_relative

7
buf.yaml Normal file
View file

@ -0,0 +1,7 @@
version: v1
breaking:
use:
- FILE
lint:
use:
- DEFAULT

35
session/v1/session.proto Normal file
View file

@ -0,0 +1,35 @@
syntax = "proto3";
package proto.session.v1;
import "google/protobuf/empty.proto";
service SessionService {
rpc Create (CreateSessionRequest) returns (CreateSessionResponse);
rpc Read (ReadSessionRequest) returns (ReadSessionResponse);
rpc Update (UpdateSessionRequest) returns (google.protobuf.Empty);
rpc Delete (DeleteSessionRequest) returns (google.protobuf.Empty);
}
message CreateSessionRequest {
string handle = 1;
string password = 2;
}
message CreateSessionResponse {
string token = 1;
}
message ReadSessionRequest {
string token = 1;
}
message ReadSessionResponse {
int32 user_id = 2;
}
message UpdateSessionRequest {
string token = 1;
}
message DeleteSessionRequest {
string token = 1;
}

72
user/v1/user.proto Normal file
View file

@ -0,0 +1,72 @@
syntax = "proto3";
package proto.user.v1;
import "google/protobuf/timestamp.proto";
import "google/protobuf/empty.proto";
service UserService {
rpc CreateUser (CreateUserRequest) returns (CreateUserResponse);
rpc ReadUser (ReadUserRequest) returns (ReadUserResponse);
rpc UpdateUser (UpdateUserRequest) returns (google.protobuf.Empty);
rpc DeleteUser (DeleteUserRequest) returns (google.protobuf.Empty);
}
enum Role {
ROLE_SPECTATOR_UNSPECIFIED = 0;
ROLE_PARTICIPANT = 1;
ROLE_MODERATOR = 2;
ROLE_ADMIN = 3;
}
message CreateUserRequest {
message User {
string username = 1;
string password = 2;
reserved 3;
optional google.protobuf.Timestamp expires_at = 4;
Role role = 5;
}
string token = 1;
User user = 2;
}
message CreateUserResponse {
int32 id = 1;
}
message ReadUserRequest {
string token = 1;
int32 id = 2;
}
message ReadUserResponse {
message User {
int32 id = 1;
string username = 2;
reserved 3;
string password = 4;
google.protobuf.Timestamp expires_at = 5;
google.protobuf.Timestamp created_at = 6;
Role role = 7;
}
User user = 1;
}
message UpdateUserRequest {
message User {
int32 id = 1;
optional string username = 2;
reserved 3;
optional string password = 4;
optional google.protobuf.Timestamp expires_at = 5;
optional Role role = 6;
}
string token = 1;
User user = 2;
}
message DeleteUserRequest {
string token = 1;
int32 id = 2;
}