83 lines
1.7 KiB
Protocol Buffer
83 lines
1.7 KiB
Protocol Buffer
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 {}
|