Files
protobufs/mapfixes.proto

82 lines
1.7 KiB
Protocol Buffer

syntax = "proto3";
package mapfixes;
option go_package = "git.itzana.me/strafesnet/go-grpc/mapfixes";
service MapfixesService {
rpc Get(MapfixId) returns (MapfixResponse);
rpc GetList(MapfixIdList) returns (MapfixList);
rpc List(ListRequest) returns (MapfixList);
}
message MapfixIdList {
repeated int64 ID = 1;
}
message MapfixId {
int64 ID = 1;
}
enum MapfixStatus {
// Phase: Creation
MapfixStatusUnderConstruction = 0;
MapfixStatusChangesRequested = 1;
// Phase: Review
MapfixStatusSubmitting = 2;
MapfixStatusSubmitted = 3;
// Phase: Testing
MapfixStatusAcceptedUnvalidated = 4; // pending script review, can re-trigger validation
MapfixStatusValidating = 5;
MapfixStatusValidated = 6;
MapfixStatusUploading = 7;
MapfixStatusUploaded = 8; // uploaded to the group, but pending release
MapfixStatusReleasing = 11;
// Phase: Final MapfixStatus
MapfixStatusRejected = 9;
MapfixStatusReleased = 10;
}
message MapfixResponse {
int64 ID = 1;
string DisplayName = 2;
string Creator = 3;
uint32 GameID = 4;
int64 CreatedAt = 5;
int64 UpdatedAt = 6;
uint64 Submitter = 7;
uint64 AssetID = 8;
uint64 AssetVersion = 9;
optional uint64 ValidatedAssetID = 10;
optional uint64 ValidatedAssetVersion = 11;
uint64 TargetAssetID = 12;
MapfixStatus StatusID = 13;
}
message MapfixFilter {
optional MapfixStatus StatusID = 1;
optional string DisplayName = 2;
optional string Creator = 3;
optional uint32 GameID = 4;
optional uint64 Submitter = 5;
}
message MapfixList {
repeated MapfixResponse Mapfixes = 1;
}
message ListRequest {
MapfixFilter Filter = 1;
Pagination Page = 2;
}
message Pagination {
uint32 Size = 1;
uint32 Number = 2;
}
message NullResponse {}