11 Commits

Author SHA1 Message Date
8ed31deb14 forgot map_id 2024-07-18 15:11:29 -07:00
ea4d48625d \#[serde(rename_all_fields)] can only be used on enums 2024-07-17 16:25:34 -07:00
41f9382b83 you stupid 2024-07-17 16:23:25 -07:00
5a26c80b2b syntax 2024-07-17 16:21:24 -07:00
dbec402e18 four spaces 2024-07-16 13:24:05 -07:00
423ef695ef tab 2024-07-16 13:22:50 -07:00
77270886fa g 2024-07-16 13:21:54 -07:00
ead9b4f688 tab 2024-07-16 13:20:56 -07:00
5dfbc67886 we out here doing codegen 2024-07-16 13:20:23 -07:00
067aed97f4 try again 2024-07-16 13:01:05 -07:00
871d9c3cd5 need serde rename fields or else everything is wrong 2024-07-16 12:58:07 -07:00
7 changed files with 17 additions and 133 deletions

@ -1,45 +0,0 @@
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;
}

@ -1,34 +0,0 @@
syntax = "proto3";
option go_package = "git.itzana.me/strafesnet/go-grpc/dev";
package dev;
service DevService {
rpc Validate(APIValidationRequest) returns (APIValidationResponse);
}
message APIValidationRequest {
string Service = 1;
string Permission = 2;
string Key = 3;
}
message APIValidationResponse {
// Response
bool Valid = 1;
string ErrorMessage = 2;
int32 StatusCode = 3;
// Remaining limits
uint64 RemainingBurst = 4;
uint64 RemainingDaily = 5;
uint64 RemainingMonthly = 6;
// Quota
uint64 BurstLimit = 7;
uint64 BurstDurationSeconds = 8;
uint64 DailyLimit = 9;
uint64 MonthlyLimit = 10;
// Owner info
uint64 UserID = 11;
string Application = 12;
}

@ -38,6 +38,7 @@ message MapRequest {
}
message MapFilter {
int64 ID = 1;
optional string DisplayName = 2;
optional string Creator = 3;
optional int32 GameID = 4;

@ -1,31 +0,0 @@
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;
}

@ -1,29 +1,24 @@
#!/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
mkdir -p ./rust-grpc/$name
protoc \
--prost_out=$module \
--tonic_out=$module \
--prost_out=./rust-grpc/$name \
--tonic_out=./rust-grpc/$name \
$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
sed -i "s/#\[derive(Clone, PartialEq, ::prost::Message)\]/#\[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)\]\n#\[serde(rename_all = \"PascalCase\")\]/g" "./rust-grpc/$name/$name.rs"
sed -i "s/ pub id:/ #\[serde(rename = \"ID\")\]\n pub id:/g" "./rust-grpc/$name/$name.rs"
sed -i "s/ pub map_id:/ #\[serde(rename = \"MapID\")\]\n pub map_id:/g" "./rust-grpc/$name/$name.rs"
sed -i "s/ pub time_id:/ #\[serde(rename = \"TimeID\")\]\n pub time_id:/g" "./rust-grpc/$name/$name.rs"
sed -i "s/ pub file_id:/ #\[serde(rename = \"FileID\")\]\n pub file_id:/g" "./rust-grpc/$name/$name.rs"
sed -i "s/ pub game_id:/ #\[serde(rename = \"GameID\")\]\n pub game_id:/g" "./rust-grpc/$name/$name.rs"
sed -i "s/ pub user_id:/ #\[serde(rename = \"UserID\")\]\n pub user_id:/g" "./rust-grpc/$name/$name.rs"
sed -i "s/ pub mode_id:/ #\[serde(rename = \"ModeID\")\]\n pub mode_id:/g" "./rust-grpc/$name/$name.rs"
sed -i "s/ pub style_id:/ #\[serde(rename = \"StyleID\")\]\n pub style_id:/g" "./rust-grpc/$name/$name.rs"
sed -i "s/ pub state_id:/ #\[serde(rename = \"StateID\")\]\n pub state_id:/g" "./rust-grpc/$name/$name.rs"
sed -i "s/ pub place_id:/ #\[serde(rename = \"PlaceID\")\]\n pub place_id:/g" "./rust-grpc/$name/$name.rs"
sed -i "s/ pub vip_server_id:/ #\[serde(rename = \"VipServerID\")\]\n pub vip_server_id:/g" "./rust-grpc/$name/$name.rs"
done

@ -27,7 +27,7 @@ message TransactionCreate {
message TransactionUpdate {
string ID = 1;
optional int64 Value = 2;
optional int32 StateID = 3;
optional int64 StateID = 3;
optional google.protobuf.Struct Data = 4;
}

@ -25,14 +25,12 @@ 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 {