import "common_base.proto";

message CSteamAwards_GetNominationRecommendations_Request {
	optional uint32 category_id = 1;
}

message CSteamAwards_GetNominationRecommendations_Response {
	repeated .CSteamAwards_GetNominationRecommendations_Response_PlayedApps played_app = 1;
	repeated .CSteamAwards_GetNominationRecommendations_Response_SuggestedEvent suggested_events = 2;
	repeated .CSteamAwards_GetNominationRecommendations_Response_SuggestedApp suggested_apps = 3;
}

message CSteamAwards_GetNominationRecommendations_Response_PlayedApps {
	optional uint32 appid = 1;
	optional int32 playtime = 2;
}

message CSteamAwards_GetNominationRecommendations_Response_SuggestedApp {
	optional uint32 appid = 1;
}

message CSteamAwards_GetNominationRecommendations_Response_SuggestedEvent {
	optional uint32 clanid = 1;
	optional uint64 event_gid = 2;
	optional uint32 appid = 3;
}

message CSteamAwards_GetNominationShareLink_Request {
	optional bool generate_new = 1;
}

message CSteamAwards_GetNominationShareLink_Response {
	optional fixed64 code = 1;
}

message CSteamAwards_GetOtherUserNominations_Request {
	optional fixed64 steamid = 1;
	optional fixed64 code = 2;
}

message CSteamAwards_GetUserNominations_Request {
}

message CSteamAwards_GetUserNominations_Response {
	repeated .CSteamAwardsNomination nominations = 1;
}

message CSteamAwards_Nominate_Request {
	optional uint32 category_id = 1;
	optional uint32 nominated_id = 2;
	optional int32 source = 3 [(.description) = "enum"];
}

message CSteamAwards_Nominate_Response {
	repeated .CSteamAwardsNomination nominations = 1;
}

message CSteamAwardsNomination {
	optional uint32 category_id = 1;
	optional string category_name = 2;
	//optional uint32 appid = 2;
	optional uint32 appid__field_3 = 3;
	//optional uint32 last_updated = 3;
	optional string write_in_name = 4;
	optional uint32 store_appid = 5;
	optional uint32 developer_id = 6;
}

service SteamAwards {
	rpc GetNominationRecommendations (.CSteamAwards_GetNominationRecommendations_Request) returns (.CSteamAwards_GetNominationRecommendations_Response);
	rpc GetNominationShareLink (.CSteamAwards_GetNominationShareLink_Request) returns (.CSteamAwards_GetNominationShareLink_Response);
	rpc GetOtherUserNominations (.CSteamAwards_GetOtherUserNominations_Request) returns (.CSteamAwards_GetUserNominations_Response);
	rpc GetUserNominations (.CSteamAwards_GetUserNominations_Request) returns (.CSteamAwards_GetUserNominations_Response);
	rpc Nominate (.CSteamAwards_Nominate_Request) returns (.CSteamAwards_Nominate_Response);
}

