package rest import "encoding/json" type Command struct { Actor string `json:"actor" binding:"required,notblank"` Commands []json.RawMessage `json:"cmd" binding:"min=1"` } type CommandType string const ( CommandTypeRaceQuit CommandType = "quit" CommandTypeRaceVote CommandType = "vote" CommandTypeRaceRelation CommandType = "declarePeace" CommandTypeShipClassCreate CommandType = "shipClassCreate" CommandTypeShipClassMerge CommandType = "shipClassMerge" CommandTypeShipClassRemove CommandType = "shipClassRemove" CommandTypeShipGroupLoad CommandType = "shipGroupLoad" CommandTypeShipGroupUnload CommandType = "shipGroupUnload" CommandTypeShipGroupSend CommandType = "shipGroupSend" CommandTypeShipGroupUpgrade CommandType = "shipGroupUpgrade" CommandTypeShipGroupBreak CommandType = "shipGroupBreak" CommandTypeShipGroupMerge CommandType = "shipGroupMerge" CommandTypeShipGroupDismantle CommandType = "shipGroupDismantle" CommandTypeShipGroupTransfer CommandType = "shipGroupTransfer" CommandTypeShipGroupJoinFleet CommandType = "shipGroupJoinFleet" CommandTypeFleetMerge CommandType = "fleetMerge" CommandTypeFleetSend CommandType = "fleetSend" CommandTypeScienceCreate CommandType = "scienceCreate" CommandTypeScienceRemove CommandType = "scienceRemove" CommandTypePlanetRename CommandType = "planetRename" CommandTypePlanetProduce CommandType = "planetProduce" CommandTypePlanetRouteSet CommandType = "planetRouteSet" CommandTypePlanetRouteRemove CommandType = "planetRouteRemove" ) type CommandMeta struct { Type CommandType `json:"@type"` } type CommandVote struct { CommandMeta Recipient string `json:"recipient" binding:"required,notblank"` } type CommandUpdateRelation struct { CommandMeta Opponent string `json:"recipient" binding:"required,notblank"` Relation string `json:"relation" binding:"required,notblank"` }