steamkit-protos 0.1.0

This crate is designed to be a bunch of tools for interacting with the Steam API.
Documentation
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";

option cc_generic_services = true;

message ParentalApp {
	optional uint32 appid = 1;
	optional bool is_allowed = 2;
}

message ParentalSettings {
	optional fixed64 steamid = 1;
	optional uint32 applist_base_id = 2;
	optional string applist_base_description = 3;
	repeated .ParentalApp applist_base = 4;
	repeated .ParentalApp applist_custom = 5;
	optional uint32 passwordhashtype = 6;
	optional bytes salt = 7;
	optional bytes passwordhash = 8;
	optional bool is_enabled = 9;
	optional uint32 enabled_features = 10;
	optional string recovery_email = 11;
	optional bool is_site_license_lock = 12;
}

message CParental_EnableParentalSettings_Request {
	optional string password = 1;
	optional .ParentalSettings settings = 2;
	optional string sessionid = 3;
	optional uint32 enablecode = 4;
	optional fixed64 steamid = 10;
}

message CParental_EnableParentalSettings_Response {
}

message CParental_DisableParentalSettings_Request {
	optional string password = 1;
	optional fixed64 steamid = 10;
}

message CParental_DisableParentalSettings_Response {
}

message CParental_GetParentalSettings_Request {
	optional fixed64 steamid = 10;
}

message CParental_GetParentalSettings_Response {
	optional .ParentalSettings settings = 1;
}

message CParental_GetSignedParentalSettings_Request {
	optional uint32 priority = 1;
}

message CParental_GetSignedParentalSettings_Response {
	optional bytes serialized_settings = 1;
	optional bytes signature = 2;
}

message CParental_SetParentalSettings_Request {
	optional string password = 1;
	optional .ParentalSettings settings = 2;
	optional string new_password = 3;
	optional string sessionid = 4;
	optional fixed64 steamid = 10;
}

message CParental_SetParentalSettings_Response {
}

message CParental_ValidateToken_Request {
	optional string unlock_token = 1;
}

message CParental_ValidateToken_Response {
}

message CParental_ValidatePassword_Request {
	optional string password = 1;
	optional string session = 2;
	optional bool send_unlock_on_success = 3;
}

message CParental_ValidatePassword_Response {
	optional string token = 1;
}

message CParental_LockClient_Request {
	optional string session = 1;
}

message CParental_LockClient_Response {
}

message CParental_RequestRecoveryCode_Request {
}

message CParental_RequestRecoveryCode_Response {
}

message CParental_DisableWithRecoveryCode_Request {
	optional uint32 recovery_code = 1;
	optional fixed64 steamid = 10;
}

message CParental_DisableWithRecoveryCode_Response {
}

message CParental_ParentalSettingsChange_Notification {
	optional bytes serialized_settings = 1;
	optional bytes signature = 2;
	optional string password = 3;
	optional string sessionid = 4;
}

message CParental_ParentalUnlock_Notification {
	optional string password = 1;
	optional string sessionid = 2;
}

message CParental_ParentalLock_Notification {
	optional string sessionid = 1;
}

service Parental {
	option (service_description) = "Parental settings service";

	rpc EnableParentalSettings (.CParental_EnableParentalSettings_Request) returns (.CParental_EnableParentalSettings_Response) {
		option (method_description) = "Enable parental settings for the logged in account, optionally setting the current settings";
	}

	rpc DisableParentalSettings (.CParental_DisableParentalSettings_Request) returns (.CParental_DisableParentalSettings_Response) {
		option (method_description) = "Disable parental settings for the logged in account";
	}

	rpc GetParentalSettings (.CParental_GetParentalSettings_Request) returns (.CParental_GetParentalSettings_Response) {
		option (method_description) = "Get the current parental settings for the logged in account";
	}

	rpc GetSignedParentalSettings (.CParental_GetSignedParentalSettings_Request) returns (.CParental_GetSignedParentalSettings_Response) {
		option (method_description) = "Get the current parental settings for the logged in account in a form that can by verified by the receiver";
	}

	rpc SetParentalSettings (.CParental_SetParentalSettings_Request) returns (.CParental_SetParentalSettings_Response) {
		option (method_description) = "Set the current parental settings for the logged in account";
	}

	rpc ValidateToken (.CParental_ValidateToken_Request) returns (.CParental_ValidateToken_Response) {
		option (method_description) = "Check if the given parental unlock token is correct for the logged in account";
	}

	rpc ValidatePassword (.CParental_ValidatePassword_Request) returns (.CParental_ValidatePassword_Response) {
		option (method_description) = "Validate the plaintext password for the logged in account and return an unlock token";
	}

	rpc LockClient (.CParental_LockClient_Request) returns (.CParental_LockClient_Response) {
		option (method_description) = "Notify connected clients that a lock has occurred in a browser";
	}

	rpc RequestRecoveryCode (.CParental_RequestRecoveryCode_Request) returns (.CParental_RequestRecoveryCode_Response) {
		option (method_description) = "Request a recovery code be sent to the recovery email address for the specified account";
	}

	rpc DisableWithRecoveryCode (.CParental_DisableWithRecoveryCode_Request) returns (.CParental_DisableWithRecoveryCode_Response) {
		option (method_description) = "Attempt a recovery unlock on the specified account";
	}
}

service ParentalClient {
	option (service_description) = "Parental settings client notifications";
	option (service_execution_site) = k_EProtoExecutionSiteSteamClient;

	rpc NotifySettingsChange (.CParental_ParentalSettingsChange_Notification) returns (.NoResponse) {
		option (method_description) = "Notification from server to client of a change in parental settings";
	}

	rpc NotifyUnlock (.CParental_ParentalUnlock_Notification) returns (.NoResponse) {
		option (method_description) = "Notification from server to client that an unlock has occurred in a browser";
	}

	rpc NotifyLock (.CParental_ParentalLock_Notification) returns (.NoResponse) {
		option (method_description) = "Notification from server to client that a lock has occurred in a browser";
	}
}