196 lines
4.5 KiB
Protocol Buffer
196 lines
4.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
option go_package = "git.itzana.me/strafesnet/go-grpc/validator";
|
|
|
|
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 SetStatusFailed(MapfixID) returns (NullResponse);
|
|
rpc SetStatusUploaded(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 SetStatusFailed(SubmissionID) returns (NullResponse);
|
|
rpc SetStatusUploaded(StatusUploadedRequest) 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 NullResponse {}
|
|
|
|
// Operations
|
|
service ValidatorOperationService {
|
|
rpc Fail(OperationFailRequest) returns (NullResponse);
|
|
}
|
|
|
|
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; }
|