syntax = "proto3"; import "cofd.proto"; package models.proto.cofd.api; message CharacterIdentifier { string owner = 1; int32 id = 2; } //Update basic information about a Chronicles of Darkness (or //derivative system) character sheet. This is a straight overwrite of //all basic information on the sheet. message UpdateBasicInfoRequest { CharacterIdentifier character = 1; reserved 2; // string owner = 1; // int32 character_id = 2; string name = 3; string gender = 4; string concept = 5; string chronicle = 6; int32 age = 7; } //Generic "did something succeed or not" response. message ApiResult { bool success = 1; string error = 2; } //Update an attribute's dot amount. TODO rename to AttributesUpdate. message UpdateAttributeRequest { string character_username = 1; int32 character_id = 2; string attribute_name = 3; int32 attribute_value = 4; } //Full update of a single skill message UpdateSkillRequest { string character_username = 1; int32 character_id = 2; CofdSheet.Skill skill = 3; } //Partial update of a single skill dot amount. message UpdateSkillValueRequest { string character_username = 1; int32 character_id = 2; string skill_name = 3; int32 skill_value = 4; } //Partial update of only a skill's specializations. The //specializations will be overwritten with the new values. message UpdateSkillSpecializationsRequest { string name = 1; repeated string specializations = 2; } //Add a Condition to a Chronicles of Darkness character sheet. message AddConditionRequest { string character_username = 1; int32 character_id = 2; string condition_name = 3; } //Remove a Condition from a Chronicles of Darkness character sheet. message RemoveConditionRequest { string character_username = 1; int32 character_id = 2; string condition_name = 3; }