Skip to content

Instantly share code, notes, and snippets.

@dhinojosa
Last active October 24, 2023 17:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dhinojosa/ab97fe25771f2623fab495f8d95abba1 to your computer and use it in GitHub Desktop.
Save dhinojosa/ab97fe25771f2623fab495f8d95abba1 to your computer and use it in GitHub Desktop.
[
{
"type": "record",
"namespace": "MyEvents",
"name": "PhoneNumber",
"fields": [
{
"name": "countryCode",
"type": "string"
},
{
"name": "areaCode",
"type": "string"
},
{
"name": "number",
"type": "string"
}
]
},
{
"type": "record",
"namespace": "MyEvents",
"name": "LeadContacted",
"fields": [
{
"name": "leadId",
"type": "int"
},
{
"name": "version",
"type": "int"
},
{
"name": "firstNames",
"type": {
"type": "array",
"items": "string",
"default": []
}
},
{
"name": "lastNames",
"type": {
"type": "array",
"items": "string",
"default": []
}
},
{
"name": "phoneNumbers",
"type": {
"type": "array",
"items": "MyEvents.PhoneNumber",
"default": []
}
},
{
"name": "timestamp",
"type": "long",
"logicalType": "timestamp-millis"
}
]
},
{
"type": "record",
"namespace": "MyEvents",
"name": "LeadFollowedUp",
"fields": [
{
"name": "leadId",
"type": "int"
},
{
"name": "followedUpOn",
"type": "long",
"logicalType": "timestamp-millis"
},
{
"name": "timestamp",
"type": "long",
"logicalType": "timestamp-millis"
}
]
},
{
"type": "record",
"namespace": "MyEvents",
"name": "LeadInitialized",
"imports": "MyEvents.PhoneNumber",
"fields": [
{
"name": "leadId",
"type": "int"
},
{
"name": "version",
"type": "int"
},
{
"name": "firstNames",
"type": {
"type": "array",
"items": "string",
"default": []
}
},
{
"name": "lastNames",
"type": {
"type": "array",
"items": "string",
"default": []
}
},
{
"name": "phoneNumbers",
"type": {
"type": "array",
"items": "MyEvents.PhoneNumber",
"default": []
}
},
{
"name": "timestamp",
"type": "long",
"logicalType": "timestamp-millis"
}
]
},
{
"type": "record",
"namespace": "MyEvents",
"name": "OrderSubmitted",
"fields": [
{
"name": "leadId",
"type": "int"
},
{
"name": "paymentDeadline",
"type": "long",
"logicalType": "timestamp-millis"
},
{
"name": "timestamp",
"type": "long",
"logicalType": "timestamp-millis"
}
]
},
{
"type": "record",
"namespace": "MyEvents",
"name": "PaymentConfirmed",
"fields": [
{
"name": "leadId",
"type": "int"
},
{
"name": "timestamp",
"type": "long",
"logicalType": "timestamp-millis"
}
]
},
{
"type": "record",
"namespace": "MyEvents",
"name": "LeadEvent",
"fields": [
{
"name": "action",
"type": [
"MyEvents.LeadContacted",
"MyEvents.LeadFollowedUp",
"MyEvents.LeadInitialized",
"MyEvents.OrderSubmitted",
"MyEvents.PaymentConfirmed"
]
},
{
"name": "id",
"type": "int"
}
]
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment