Compare commits
3 Commits
master
...
maps-field
| Author | SHA1 | Date | |
|---|---|---|---|
|
67fb7fc74e
|
|||
|
bbfa1cad3b
|
|||
|
1f5668308c
|
@@ -1,11 +0,0 @@
|
|||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
option go_package = "git.itzana.me/strafesnet/go-grpc/bot_analyzer";
|
|
||||||
|
|
||||||
package bot_analyzer;
|
|
||||||
|
|
||||||
service BotAnalyzer { rpc Analyze(DownloadUrl) returns (AnalysisResponse); }
|
|
||||||
|
|
||||||
message DownloadUrl { string Url = 1; }
|
|
||||||
|
|
||||||
message AnalysisResponse { string Analysis = 1; }
|
|
||||||
36
dev.proto
36
dev.proto
@@ -1,36 +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;
|
|
||||||
string IP = 4;
|
|
||||||
string Resource = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
14
maps.proto
14
maps.proto
@@ -24,20 +24,30 @@ message IdMessage {
|
|||||||
message MapResponse {
|
message MapResponse {
|
||||||
int64 ID = 1;
|
int64 ID = 1;
|
||||||
string DisplayName = 2;
|
string DisplayName = 2;
|
||||||
|
string Creator = 3;
|
||||||
int32 GameID = 4;
|
int32 GameID = 4;
|
||||||
uint64 Thumbnail = 6;
|
int64 Date = 5;
|
||||||
|
int64 CreatedAt = 6;
|
||||||
|
int64 UpdatedAt = 7;
|
||||||
|
int64 Submitter = 8;
|
||||||
|
int64 Thumbnail = 9;
|
||||||
|
int64 AssetVersion = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
message MapRequest {
|
message MapRequest {
|
||||||
int64 ID = 1;
|
int64 ID = 1;
|
||||||
optional string DisplayName = 2;
|
optional string DisplayName = 2;
|
||||||
|
optional string Creator = 3;
|
||||||
optional int32 GameID = 4;
|
optional int32 GameID = 4;
|
||||||
optional uint64 Thumbnail = 6;
|
optional int64 Date = 5;
|
||||||
|
optional int64 Submitter = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
message MapFilter {
|
message MapFilter {
|
||||||
optional string DisplayName = 2;
|
optional string DisplayName = 2;
|
||||||
|
optional string Creator = 3;
|
||||||
optional int32 GameID = 4;
|
optional int32 GameID = 4;
|
||||||
|
optional int64 Submitter = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
message MapList {
|
message MapList {
|
||||||
|
|||||||
@@ -1,82 +0,0 @@
|
|||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
option go_package = "git.itzana.me/strafesnet/go-grpc/maps_extended";
|
|
||||||
|
|
||||||
package maps_extended;
|
|
||||||
|
|
||||||
service MapsService {
|
|
||||||
rpc Get(MapId) returns (MapResponse);
|
|
||||||
rpc GetList(MapIdList) returns (MapList);
|
|
||||||
rpc Update(MapUpdate) returns (NullResponse);
|
|
||||||
rpc Create(MapCreate) returns (MapId);
|
|
||||||
rpc Delete(MapId) returns (NullResponse);
|
|
||||||
rpc List(ListRequest) returns (MapList);
|
|
||||||
rpc IncrementLoadCount(MapId) returns (NullResponse);
|
|
||||||
}
|
|
||||||
|
|
||||||
message MapIdList { repeated int64 ID = 1; }
|
|
||||||
|
|
||||||
message MapId { int64 ID = 1; }
|
|
||||||
|
|
||||||
message MapResponse {
|
|
||||||
int64 ID = 1;
|
|
||||||
string DisplayName = 2;
|
|
||||||
string Creator = 3;
|
|
||||||
uint32 GameID = 4;
|
|
||||||
int64 Date = 5;
|
|
||||||
int64 CreatedAt = 6;
|
|
||||||
int64 UpdatedAt = 7;
|
|
||||||
uint64 Submitter = 8;
|
|
||||||
uint64 Thumbnail = 9;
|
|
||||||
uint64 AssetVersion = 10;
|
|
||||||
uint32 LoadCount = 11;
|
|
||||||
uint32 Modes = 12;
|
|
||||||
}
|
|
||||||
|
|
||||||
message MapCreate {
|
|
||||||
int64 ID = 1;
|
|
||||||
string DisplayName = 2;
|
|
||||||
string Creator = 3;
|
|
||||||
uint32 GameID = 4;
|
|
||||||
int64 Date = 5;
|
|
||||||
// int64 CreatedAt = 6;
|
|
||||||
// int64 UpdatedAt = 7;
|
|
||||||
uint64 Submitter = 6;
|
|
||||||
uint64 Thumbnail = 7;
|
|
||||||
uint64 AssetVersion = 8;
|
|
||||||
// uint32 LoadCount = 11;
|
|
||||||
uint32 Modes = 9;
|
|
||||||
}
|
|
||||||
|
|
||||||
message MapUpdate {
|
|
||||||
int64 ID = 1;
|
|
||||||
optional string DisplayName = 2;
|
|
||||||
optional string Creator = 3;
|
|
||||||
optional uint32 GameID = 4;
|
|
||||||
optional int64 Date = 5;
|
|
||||||
optional uint64 Submitter = 6;
|
|
||||||
optional uint64 Thumbnail = 7;
|
|
||||||
optional uint64 AssetVersion = 8;
|
|
||||||
optional uint32 Modes = 9;
|
|
||||||
}
|
|
||||||
|
|
||||||
message MapFilter {
|
|
||||||
optional string DisplayName = 2;
|
|
||||||
optional string Creator = 3;
|
|
||||||
optional uint32 GameID = 4;
|
|
||||||
optional uint64 Submitter = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
message MapList { repeated MapResponse Maps = 1; }
|
|
||||||
|
|
||||||
message ListRequest {
|
|
||||||
MapFilter Filter = 1;
|
|
||||||
Pagination Page = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message Pagination {
|
|
||||||
uint32 Size = 1;
|
|
||||||
uint32 Number = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message NullResponse {}
|
|
||||||
@@ -11,12 +11,8 @@ do
|
|||||||
--prost_out=$module \
|
--prost_out=$module \
|
||||||
--tonic_out=$module \
|
--tonic_out=$module \
|
||||||
$f
|
$f
|
||||||
# prost codegen is wrong!
|
|
||||||
sed -i "s/tonic::codec::ProstCodec/tonic_prost::ProstCodec/g" "$module/$name.tonic.rs"
|
|
||||||
#I couldn't figure out how to configure protoc to do this
|
#I couldn't figure out how to configure protoc to do this
|
||||||
sed -i "s/#\[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)\]/#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]\n#\[derive(serde::Serialize, serde::Deserialize)\]\n#\[serde(rename_all = \"PascalCase\")\]/g" "$module/$name.rs"
|
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/#\[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)\]/#\[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)\]\n#\[derive(serde::Serialize, serde::Deserialize)\]\n#\[serde(rename_all = \"PascalCase\")\]/g" "$module/$name.rs"
|
|
||||||
sed -i "s/#\[derive(Clone, PartialEq, ::prost::Message)\]/#\[derive(Clone, PartialEq, ::prost::Message)\]\n#\[derive(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 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 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 time_id:/ #\[serde(rename = \"TimeID\")\]\n pub time_id:/g" "$module/$name.rs"
|
||||||
|
|||||||
16
times.proto
16
times.proto
@@ -14,9 +14,7 @@ service TimesService {
|
|||||||
rpc Delete(IdMessage) returns (NullResponse);
|
rpc Delete(IdMessage) returns (NullResponse);
|
||||||
rpc Get(IdMessage) returns (TimeResponse);
|
rpc Get(IdMessage) returns (TimeResponse);
|
||||||
rpc List(ListRequest) returns (TimeList);
|
rpc List(ListRequest) returns (TimeList);
|
||||||
rpc ListWr(WrListRequest) returns (TimeList);
|
|
||||||
rpc Rank(IdMessage) returns (RankResponse);
|
rpc Rank(IdMessage) returns (RankResponse);
|
||||||
rpc RankBatch(IdListMessage) returns (RankListResponse);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message TimeRequest {
|
message TimeRequest {
|
||||||
@@ -57,22 +55,13 @@ message IdMessage {
|
|||||||
int64 ID = 1;
|
int64 ID = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message IdListMessage {
|
|
||||||
repeated int64 ID = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message TimeList {
|
message TimeList {
|
||||||
repeated TimeResponse Times = 1;
|
repeated TimeResponse Times = 1;
|
||||||
int64 Total = 2;
|
int64 Total = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message RankListResponse {
|
|
||||||
repeated RankResponse Ranks = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
message RankResponse {
|
message RankResponse {
|
||||||
int64 Rank = 1;
|
int64 Rank = 1;
|
||||||
int64 ID = 2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message ListRequest {
|
message ListRequest {
|
||||||
@@ -88,11 +77,6 @@ message ListRequest {
|
|||||||
uint32 Sort = 4;
|
uint32 Sort = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
message WrListRequest {
|
|
||||||
TimeFilter Filter = 1;
|
|
||||||
Pagination Page = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message Pagination {
|
message Pagination {
|
||||||
int32 Size = 1;
|
int32 Size = 1;
|
||||||
int32 Number = 2;
|
int32 Number = 2;
|
||||||
|
|||||||
220
validator.proto
220
validator.proto
@@ -1,220 +0,0 @@
|
|||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
option go_package = "git.itzana.me/strafesnet/go-grpc/validator";
|
|
||||||
|
|
||||||
import "maps_extended.proto";
|
|
||||||
|
|
||||||
package validator;
|
|
||||||
|
|
||||||
service ValidatorMapfixService {
|
|
||||||
rpc Create(MapfixCreate) returns (MapfixID);
|
|
||||||
rpc CreateAuditError(AuditErrorRequest) returns (NullResponse);
|
|
||||||
rpc CreateAuditChecklist(AuditChecklistRequest) returns (NullResponse);
|
|
||||||
rpc SetValidatedModel(ValidatedModelRequest) returns (NullResponse);
|
|
||||||
rpc SetStatusSubmitted(SubmittedRequest) returns (NullResponse);
|
|
||||||
rpc SetStatusRequestChanges(MapfixID) returns (NullResponse);
|
|
||||||
rpc SetStatusValidated(MapfixID) returns (NullResponse);
|
|
||||||
rpc SetStatusNotValidated(MapfixID) returns (NullResponse);
|
|
||||||
rpc SetStatusUploaded(MapfixID) returns (NullResponse);
|
|
||||||
rpc SetStatusNotUploaded(MapfixID) returns (NullResponse);
|
|
||||||
rpc SetStatusReleased(MapfixReleaseRequest) returns (NullResponse);
|
|
||||||
rpc SetStatusNotReleased(MapfixID) returns (NullResponse);
|
|
||||||
}
|
|
||||||
|
|
||||||
service ValidatorSubmissionService {
|
|
||||||
rpc Create(SubmissionCreate) returns (SubmissionID);
|
|
||||||
rpc CreateAuditError(AuditErrorRequest) returns (NullResponse);
|
|
||||||
rpc CreateAuditChecklist(AuditChecklistRequest) returns (NullResponse);
|
|
||||||
rpc SetValidatedModel(ValidatedModelRequest) returns (NullResponse);
|
|
||||||
rpc SetStatusSubmitted(SubmittedRequest) returns (NullResponse);
|
|
||||||
rpc SetStatusRequestChanges(SubmissionID) returns (NullResponse);
|
|
||||||
rpc SetStatusValidated(SubmissionID) returns (NullResponse);
|
|
||||||
rpc SetStatusNotValidated(SubmissionID) returns (NullResponse);
|
|
||||||
rpc SetStatusUploaded(StatusUploadedRequest) returns (NullResponse);
|
|
||||||
rpc SetStatusNotUploaded(SubmissionID) returns (NullResponse);
|
|
||||||
rpc SetStatusReleased(SubmissionReleaseRequest) returns (NullResponse);
|
|
||||||
}
|
|
||||||
|
|
||||||
message MapfixID { uint64 ID = 1; }
|
|
||||||
|
|
||||||
message MapfixCreate {
|
|
||||||
uint32 OperationID = 1;
|
|
||||||
uint32 GameID = 2;
|
|
||||||
uint64 AssetOwner = 3;
|
|
||||||
uint64 AssetID = 4;
|
|
||||||
uint64 AssetVersion = 5;
|
|
||||||
uint64 TargetAssetID = 6;
|
|
||||||
string DisplayName = 7;
|
|
||||||
string Creator = 8;
|
|
||||||
string Description = 9;
|
|
||||||
}
|
|
||||||
|
|
||||||
message SubmissionID { uint64 ID = 1; }
|
|
||||||
|
|
||||||
message SubmissionCreate {
|
|
||||||
uint32 OperationID = 1;
|
|
||||||
uint32 GameID = 2;
|
|
||||||
uint32 Status = 3;
|
|
||||||
uint32 Roles = 4;
|
|
||||||
uint64 AssetOwner = 5;
|
|
||||||
uint64 AssetID = 6;
|
|
||||||
uint64 AssetVersion = 7;
|
|
||||||
string DisplayName = 8;
|
|
||||||
string Creator = 9;
|
|
||||||
}
|
|
||||||
|
|
||||||
message AuditErrorRequest {
|
|
||||||
uint64 ID = 1;
|
|
||||||
string ErrorMessage = 2;
|
|
||||||
}
|
|
||||||
message Check {
|
|
||||||
string Name = 1;
|
|
||||||
string Summary = 2;
|
|
||||||
bool Passed = 3;
|
|
||||||
}
|
|
||||||
message AuditChecklistRequest {
|
|
||||||
uint64 ID = 1;
|
|
||||||
repeated Check CheckList = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ValidatedModelRequest {
|
|
||||||
uint64 ID = 1;
|
|
||||||
uint64 ValidatedModelID = 2;
|
|
||||||
uint64 ValidatedModelVersion = 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
message SubmittedRequest {
|
|
||||||
uint64 ID = 1;
|
|
||||||
uint64 ModelVersion = 2;
|
|
||||||
string DisplayName = 3;
|
|
||||||
string Creator = 4;
|
|
||||||
uint32 GameID = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
message StatusUploadedRequest {
|
|
||||||
uint64 ID = 1;
|
|
||||||
uint64 UploadedAssetID = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message MapfixReleaseRequest {
|
|
||||||
uint64 MapfixID = 1;
|
|
||||||
uint64 TargetAssetID = 2;
|
|
||||||
uint64 AssetVersion = 3;
|
|
||||||
uint32 Modes = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
message SubmissionReleaseRequest {
|
|
||||||
uint64 SubmissionID = 1;
|
|
||||||
maps_extended.MapCreate MapCreate = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message NullResponse {}
|
|
||||||
|
|
||||||
// Operations
|
|
||||||
service ValidatorOperationService {
|
|
||||||
rpc Success(OperationSuccessRequest) returns (NullResponse);
|
|
||||||
rpc Fail(OperationFailRequest) returns (NullResponse);
|
|
||||||
}
|
|
||||||
|
|
||||||
message OperationSuccessRequest {
|
|
||||||
uint32 OperationID = 1;
|
|
||||||
string Path = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message OperationFailRequest {
|
|
||||||
uint32 OperationID = 1;
|
|
||||||
string StatusMessage = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message Pagination {
|
|
||||||
uint32 Size = 1;
|
|
||||||
uint32 Number = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Scripts
|
|
||||||
service ValidatorScriptService {
|
|
||||||
rpc Create(ScriptCreate) returns (ScriptID);
|
|
||||||
rpc Get(ScriptID) returns (Script);
|
|
||||||
rpc List(ScriptListRequest) returns (ScriptListResponse);
|
|
||||||
}
|
|
||||||
|
|
||||||
enum ResourceType {
|
|
||||||
ResourceTypeNone = 0;
|
|
||||||
ResourceTypeMapfix = 1;
|
|
||||||
ResourceTypeSubmission = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ScriptCreate {
|
|
||||||
string Name = 1;
|
|
||||||
string Source = 2;
|
|
||||||
ResourceType ResourceType = 3;
|
|
||||||
optional uint64 ResourceID = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ScriptFilter {
|
|
||||||
optional string Name = 1;
|
|
||||||
optional string Source = 2;
|
|
||||||
optional ResourceType ResourceType = 3;
|
|
||||||
optional uint64 ResourceID = 4;
|
|
||||||
optional uint64 Hash = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ScriptListRequest {
|
|
||||||
ScriptFilter Filter = 1;
|
|
||||||
Pagination Page = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ScriptID { uint64 ID = 1; }
|
|
||||||
|
|
||||||
message Script {
|
|
||||||
uint64 ID = 1;
|
|
||||||
uint64 Hash = 2;
|
|
||||||
string Name = 3;
|
|
||||||
string Source = 4;
|
|
||||||
ResourceType ResourceType = 5;
|
|
||||||
optional uint64 ResourceID = 6;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ScriptListResponse { repeated Script Scripts = 1; }
|
|
||||||
|
|
||||||
// ScriptPolicies
|
|
||||||
service ValidatorScriptPolicyService {
|
|
||||||
rpc Create(ScriptPolicyCreate) returns (ScriptPolicyID);
|
|
||||||
rpc List(ScriptPolicyListRequest) returns (ScriptPolicyListResponse);
|
|
||||||
}
|
|
||||||
|
|
||||||
enum Policy {
|
|
||||||
PolicyNone = 0;
|
|
||||||
PolicyAllowed = 1;
|
|
||||||
PolicyBlocked = 2;
|
|
||||||
PolicyDelete = 3;
|
|
||||||
PolicyReplace = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ScriptPolicyCreate {
|
|
||||||
uint64 FromScriptID = 1;
|
|
||||||
uint64 ToScriptID = 2;
|
|
||||||
Policy Policy = 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ScriptPolicyFilter {
|
|
||||||
optional uint64 FromScriptHash = 1;
|
|
||||||
optional uint64 ToScriptID = 2;
|
|
||||||
optional Policy Policy = 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ScriptPolicyListRequest {
|
|
||||||
ScriptPolicyFilter Filter = 1;
|
|
||||||
Pagination Page = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ScriptPolicyID { uint64 ID = 1; }
|
|
||||||
|
|
||||||
message ScriptPolicy {
|
|
||||||
uint64 ID = 1;
|
|
||||||
uint64 FromScriptHash = 2;
|
|
||||||
uint64 ToScriptID = 3;
|
|
||||||
Policy Policy = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
message ScriptPolicyListResponse { repeated ScriptPolicy ScriptPolicies = 1; }
|
|
||||||
Reference in New Issue
Block a user