Files
protobufs/submissions.proto
Rhys Lloyd 83ebab1cc6
All checks were successful
continuous-integration/drone/push Build is passing
Create Submissions & Mapfixes Protobufs (#12)
AOR Roblox servers will talk to game-rpc which will use these protobufs to talk to maps-service.

Reviewed-on: #12
Co-authored-by: Rhys Lloyd <krakow20@gmail.com>
Co-committed-by: Rhys Lloyd <krakow20@gmail.com>
2025-12-28 20:17:05 +00:00

81 lines
1.8 KiB
Protocol Buffer

syntax = "proto3";
package submissions;
option go_package = "git.itzana.me/strafesnet/go-grpc/submissions";
service SubmissionsService {
rpc Get(SubmissionId) returns (SubmissionResponse);
rpc GetList(SubmissionIdList) returns (SubmissionList);
rpc List(ListRequest) returns (SubmissionList);
}
message SubmissionIdList {
repeated int64 ID = 1;
}
message SubmissionId {
int64 ID = 1;
}
enum SubmissionStatus {
// Phase: Creation
SubmissionStatusUnderConstruction = 0;
SubmissionStatusChangesRequested = 1;
// Phase: Review
SubmissionStatusSubmitting = 2;
SubmissionStatusSubmitted = 3;
// Phase: Testing
SubmissionStatusAcceptedUnvalidated = 4; // pending script review, can re-trigger validation
SubmissionStatusValidating = 5;
SubmissionStatusValidated = 6;
SubmissionStatusUploading = 7;
SubmissionStatusUploaded = 8; // uploaded to the group, but pending release
// Phase: Final SubmissionStatus
SubmissionStatusRejected = 9;
SubmissionStatusReleased = 10;
}
message SubmissionResponse {
int64 ID = 1;
string DisplayName = 2;
string Creator = 3;
uint32 GameID = 4;
int64 CreatedAt = 7;
int64 UpdatedAt = 8;
uint64 Submitter = 9;
uint64 AssetID = 10;
uint64 AssetVersion = 11;
uint64 ValidatedAssetID = 12;
uint64 ValidatedAssetVersion = 13;
uint64 UploadedAssetID = 14;
SubmissionStatus StatusID = 15;
}
message SubmissionFilter {
optional SubmissionStatus StatusID = 1;
optional string DisplayName = 2;
optional string Creator = 3;
optional uint32 GameID = 4;
optional uint64 Submitter = 5;
}
message SubmissionList {
repeated SubmissionResponse Submissions = 1;
}
message ListRequest {
SubmissionFilter Filter = 1;
Pagination Page = 2;
}
message Pagination {
uint32 Size = 1;
uint32 Number = 2;
}
message NullResponse {}