Compare commits
26 Commits
3b8af798d4
...
maps-field
| Author | SHA1 | Date | |
|---|---|---|---|
|
67fb7fc74e
|
|||
|
bbfa1cad3b
|
|||
|
1f5668308c
|
|||
| ad8e4ebacf | |||
|
b636336ed2
|
|||
|
5641c3a33e
|
|||
| ef23f7d07e | |||
| a8135fd45c | |||
| 05f8a3b57e | |||
| fab429fc74 | |||
| cc0845f68e | |||
| 2186c5cb96 | |||
| f8d480e834 | |||
| 5cfa6745a6 | |||
| 20516bab8d | |||
| ed18723ac9 | |||
| f7f9376b4e | |||
| 65a9abe6d3 | |||
| db2e2e990f | |||
| 91df514bd6 | |||
| 3412dc34c1 | |||
| 39955e5171 | |||
| 6b59e649ff | |||
| 4d9280bea2 | |||
| b59ccec099 | |||
| c198e9f003 |
42
.drone.yml
42
.drone.yml
@@ -36,6 +36,46 @@ trigger:
|
||||
ref:
|
||||
- refs/heads/master
|
||||
|
||||
image_pull_secrets:
|
||||
- dockerconfigjson
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: generate-rust-grpc
|
||||
|
||||
steps:
|
||||
- name: clone-external
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git clone https://${GIT_USER}:${GIT_PASS}@git.itzana.me/StrafesNET/rust-grpc.git
|
||||
environment:
|
||||
GIT_USER:
|
||||
from_secret: GIT_USER
|
||||
GIT_PASS:
|
||||
from_secret: GIT_PASS
|
||||
|
||||
- name: generate
|
||||
image: registry.itzana.me/strafesnet/tools/grpc-rust:latest
|
||||
commands:
|
||||
- scripts/rust-gen.sh
|
||||
|
||||
- name: commit
|
||||
image: alpine/git
|
||||
commands:
|
||||
- cd rust-grpc
|
||||
- git add *
|
||||
- 'git commit -m "Autogenerated update for ${DRONE_COMMIT_LINK}" || true'
|
||||
- git push https://$GIT_USER:$GIT_PASS@git.itzana.me/StrafesNET/rust-grpc.git --all
|
||||
environment:
|
||||
GIT_USER:
|
||||
from_secret: GIT_USER
|
||||
GIT_PASS:
|
||||
from_secret: GIT_PASS
|
||||
|
||||
trigger:
|
||||
ref:
|
||||
- refs/heads/master
|
||||
|
||||
image_pull_secrets:
|
||||
- dockerconfigjson
|
||||
---
|
||||
@@ -55,7 +95,7 @@ steps:
|
||||
from_secret: GIT_PASS
|
||||
|
||||
- name: generate
|
||||
image: registry.itzana.me/strafesnet/tools/grpc-python:latest
|
||||
image: registry.itzana.me/strafesnet/tools/python-grpc:latest
|
||||
commands:
|
||||
- scripts/python-gen.sh
|
||||
|
||||
|
||||
45
auth.proto
Normal file
45
auth.proto
Normal file
@@ -0,0 +1,45 @@
|
||||
syntax = "proto3";
|
||||
|
||||
option go_package = "git.itzana.me/strafesnet/go-grpc/auth";
|
||||
|
||||
package auth;
|
||||
|
||||
import "google/protobuf/empty.proto";
|
||||
|
||||
service AuthService {
|
||||
rpc GetSessionUser(IdMessage) returns (SessionUserResponse);
|
||||
rpc GetGroupRole(IdMessage) returns (RoleReponse);
|
||||
rpc ValidateSession(IdMessage) returns (ValidateResponse);
|
||||
rpc GetAuthMetadata(google.protobuf.Empty) returns (AuthMetadataResponse);
|
||||
}
|
||||
|
||||
message IdMessage {
|
||||
string SessionID = 1;
|
||||
}
|
||||
|
||||
message SessionUserResponse {
|
||||
uint64 UserID = 1;
|
||||
string Username = 2;
|
||||
string AvatarURL = 3;
|
||||
}
|
||||
|
||||
message RoleReponse {
|
||||
repeated RoleItem Roles = 1;
|
||||
}
|
||||
|
||||
message RoleItem {
|
||||
string ID = 1;
|
||||
string DisplayName = 2;
|
||||
int32 Rank = 3;
|
||||
}
|
||||
|
||||
message ValidateResponse {
|
||||
bool Valid = 1;
|
||||
}
|
||||
|
||||
message AuthMetadataResponse {
|
||||
string LoginURL = 1;
|
||||
string LogoutURL = 2;
|
||||
string AccountURL = 3;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ message EventItem {
|
||||
}
|
||||
|
||||
message LatestRequest {
|
||||
optional int64 LastID = 1;
|
||||
optional int64 Date = 1;
|
||||
Pagination Page = 2;
|
||||
}
|
||||
|
||||
|
||||
11
maps.proto
11
maps.proto
@@ -27,6 +27,11 @@ message MapResponse {
|
||||
string Creator = 3;
|
||||
int32 GameID = 4;
|
||||
int64 Date = 5;
|
||||
int64 CreatedAt = 6;
|
||||
int64 UpdatedAt = 7;
|
||||
int64 Submitter = 8;
|
||||
int64 Thumbnail = 9;
|
||||
int64 AssetVersion = 10;
|
||||
}
|
||||
|
||||
message MapRequest {
|
||||
@@ -35,13 +40,14 @@ message MapRequest {
|
||||
optional string Creator = 3;
|
||||
optional int32 GameID = 4;
|
||||
optional int64 Date = 5;
|
||||
optional int64 Submitter = 6;
|
||||
}
|
||||
|
||||
message MapFilter {
|
||||
int64 ID = 1;
|
||||
optional string DisplayName = 2;
|
||||
optional string Creator = 3;
|
||||
optional int32 GameID = 4;
|
||||
optional int64 Submitter = 5;
|
||||
}
|
||||
|
||||
message MapList {
|
||||
@@ -59,5 +65,4 @@ message Pagination {
|
||||
}
|
||||
|
||||
message NullResponse {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
31
moderation.proto
Normal file
31
moderation.proto
Normal file
@@ -0,0 +1,31 @@
|
||||
syntax = "proto3";
|
||||
|
||||
option go_package = "git.itzana.me/strafesnet/go-grpc/moderation";
|
||||
|
||||
package moderation;
|
||||
|
||||
import "google/protobuf/struct.proto";
|
||||
|
||||
service ModerationService {
|
||||
rpc SetState(SetStateRequest) returns (Null);
|
||||
rpc SetMuted(SetMuteRequest) returns (Null);
|
||||
}
|
||||
|
||||
message Null {}
|
||||
|
||||
message SetStateRequest {
|
||||
int64 UserID = 1;
|
||||
int64 ModeratorID = 2;
|
||||
int32 ReasonID = 3;
|
||||
int32 StateID = 4;
|
||||
}
|
||||
|
||||
message SetMuteRequest {
|
||||
int64 UserID = 1;
|
||||
int64 ModeratorID = 2;
|
||||
bool Muted = 3;
|
||||
optional int64 Duration = 4;
|
||||
optional int32 ReasonID = 5;
|
||||
optional string ReasonText = 6;
|
||||
optional google.protobuf.Struct Metadata = 7;
|
||||
}
|
||||
@@ -21,6 +21,7 @@ message GetRequest {
|
||||
int32 StyleID = 2;
|
||||
int32 GameID = 3;
|
||||
int32 ModeID = 4;
|
||||
repeated int32 StateID = 5;
|
||||
}
|
||||
|
||||
message ListRequest {
|
||||
@@ -28,7 +29,8 @@ message ListRequest {
|
||||
int32 GameID = 2;
|
||||
int32 ModeID = 3;
|
||||
int64 Sort = 4;
|
||||
Pagination Page = 5;
|
||||
repeated int32 StateID = 5;
|
||||
Pagination Page = 6;
|
||||
}
|
||||
|
||||
message RankList {
|
||||
|
||||
@@ -2,4 +2,5 @@
|
||||
|
||||
mkdir -p strafesnet
|
||||
cp *.proto strafesnet/
|
||||
python3 -m grpc_tools.protoc -I./strafesnet --python_out=./python-grpc/strafesnet --grpc_python_out=./python-grpc/strafesnet *.proto
|
||||
python3 -m grpc_tools.protoc -I./strafesnet --python_out=./python-grpc/strafesnet --grpc_python_out=./python-grpc/strafesnet *.proto
|
||||
sed -i 's/^\(import.*pb2\)/from . \1/g' ./python-grpc/strafesnet/*.py
|
||||
29
scripts/rust-gen.sh
Executable file
29
scripts/rust-gen.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
rm ./rust-grpc/src/lib.rs
|
||||
|
||||
for f in *.proto
|
||||
do
|
||||
name=$(basename $f .proto)
|
||||
module=./rust-grpc/src/$name
|
||||
mkdir -p $module
|
||||
protoc \
|
||||
--prost_out=$module \
|
||||
--tonic_out=$module \
|
||||
$f
|
||||
#I couldn't figure out how to configure protoc to do this
|
||||
sed -i "s/#\[derive(Clone, PartialEq, ::prost::Message)\]/#\[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)\]\n#\[serde(rename_all = \"PascalCase\")\]/g" "$module/$name.rs"
|
||||
sed -i "s/ pub id:/ #\[serde(rename = \"ID\")\]\n pub id:/g" "$module/$name.rs"
|
||||
sed -i "s/ pub map_id:/ #\[serde(rename = \"MapID\")\]\n pub map_id:/g" "$module/$name.rs"
|
||||
sed -i "s/ pub time_id:/ #\[serde(rename = \"TimeID\")\]\n pub time_id:/g" "$module/$name.rs"
|
||||
sed -i "s/ pub file_id:/ #\[serde(rename = \"FileID\")\]\n pub file_id:/g" "$module/$name.rs"
|
||||
sed -i "s/ pub game_id:/ #\[serde(rename = \"GameID\")\]\n pub game_id:/g" "$module/$name.rs"
|
||||
sed -i "s/ pub user_id:/ #\[serde(rename = \"UserID\")\]\n pub user_id:/g" "$module/$name.rs"
|
||||
sed -i "s/ pub mode_id:/ #\[serde(rename = \"ModeID\")\]\n pub mode_id:/g" "$module/$name.rs"
|
||||
sed -i "s/ pub style_id:/ #\[serde(rename = \"StyleID\")\]\n pub style_id:/g" "$module/$name.rs"
|
||||
sed -i "s/ pub state_id:/ #\[serde(rename = \"StateID\")\]\n pub state_id:/g" "$module/$name.rs"
|
||||
sed -i "s/ pub place_id:/ #\[serde(rename = \"PlaceID\")\]\n pub place_id:/g" "$module/$name.rs"
|
||||
sed -i "s/ pub vip_server_id:/ #\[serde(rename = \"VipServerID\")\]\n pub vip_server_id:/g" "$module/$name.rs"
|
||||
mv "$module/$name.rs" "$module/mod.rs"
|
||||
echo "pub mod $name;" >> ./rust-grpc/src/lib.rs
|
||||
done
|
||||
@@ -68,6 +68,13 @@ message ListRequest {
|
||||
TimeFilter Filter = 1;
|
||||
bool Blacklisted = 2;
|
||||
Pagination Page = 3;
|
||||
/*
|
||||
0 - time ASC
|
||||
1 - time DSC
|
||||
2 - date ASC
|
||||
3 - date DSC
|
||||
*/
|
||||
uint32 Sort = 4;
|
||||
}
|
||||
|
||||
message Pagination {
|
||||
|
||||
@@ -17,16 +17,17 @@ service TransactionsService {
|
||||
}
|
||||
|
||||
message TransactionCreate {
|
||||
int64 UserID = 1;
|
||||
int64 Value = 2;
|
||||
int32 StateID = 3;
|
||||
google.protobuf.Struct Data = 4;
|
||||
string ID = 1;
|
||||
int64 UserID = 2;
|
||||
int64 Value = 3;
|
||||
int32 StateID = 4;
|
||||
google.protobuf.Struct Data = 5;
|
||||
}
|
||||
|
||||
message TransactionUpdate {
|
||||
string ID = 1;
|
||||
optional int64 Value = 2;
|
||||
optional int64 StateID = 3;
|
||||
optional int32 StateID = 3;
|
||||
optional google.protobuf.Struct Data = 4;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,12 +25,14 @@ message UserResponse {
|
||||
int64 ID = 1;
|
||||
string Username = 2;
|
||||
int32 StateID = 3;
|
||||
bool Muted = 4;
|
||||
}
|
||||
|
||||
message UserRequest {
|
||||
int64 ID = 1;
|
||||
optional string Username = 2;
|
||||
optional int32 StateID = 3;
|
||||
optional bool Muted = 4;
|
||||
}
|
||||
|
||||
message UserFilter {
|
||||
|
||||
Reference in New Issue
Block a user