tenebrous-sheets/proto/cofd_api.proto

79 lines
1.9 KiB
Protocol Buffer

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 {
CharacterIdentifier character = 1;
string attribute_name = 2;
int32 attribute_value = 3;
}
//Full update of a single skill
message UpdateSkillRequest {
CharacterIdentifier character = 1;
CofdSheet.Skill skill = 2;
}
//Partial update of a single skill dot amount.
message UpdateSkillValueRequest {
CharacterIdentifier character = 1;
string skill_name = 2;
int32 skill_value = 3;
}
//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;
}
//Update all merits on the character sheet by overwriting them.
//Primarily for the web UI.
message UpdateMeritsRequest {
CharacterIdentifier character = 1;
repeated CofdSheet.Merit merits = 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;
}