diff --git a/thrift/src/main/thrift/atoms/interactive.thrift b/thrift/src/main/thrift/atoms/interactive.thrift index 43ff6d2..91ed179 100644 --- a/thrift/src/main/thrift/atoms/interactive.thrift +++ b/thrift/src/main/thrift/atoms/interactive.thrift @@ -3,6 +3,25 @@ namespace java com.gu.contentatom.thrift.atom.interactive #@namespace scala com.gu.contentatom.thrift.atom.interactive #@namespace typescript _at_guardian.content_atom_model.interactive +union AnyValue { + 1: bool boolValue + 2: byte byteValue + 3: i16 i16Value + 4: i32 i32Value + 5: i64 i64Value + 6: double doubleValue + 7: string stringValue + 8: list listValue + 9: set setValue + 10: map mapValue +} + +struct CustomField { + 1: required string fieldName + 2: required string fieldType + 3: required AnyValue defaultValue +} + struct InteractiveAtom { /* the unique ID will be stored in the `atom` data*/ 1: required string type @@ -18,4 +37,5 @@ struct InteractiveAtom { See here: https://amp.dev/documentation/components/amp-iframe/ for more information. */ 7: optional string placeholderUrl + 8: optional list customFields = [] }