All Downloads are FREE. Search and download functionalities are using the official Maven repository.

events.crier.event.thrift Maven / Gradle / Ivy

namespace scala com.gu.crier.model.event.v1

include "content/v1.thrift"

/*
 * For large update events the EventType is set to RetrievableUpdate
 * and the EventPayload.Content is replaced by an EventPayload.RetrievableContent
 */
enum EventType {

    Update = 1,
    Delete = 2,
    RetrievableUpdate = 3
}

enum ItemType {

    Content = 1,
    Tag = 2,
    Section = 3,
    StoryPackage = 4
}

struct RetrievableContent {

    /*
     * The content id
     */
    1: required string id
    /*
     * An API link for the client to fetch the content
     */
    2: required string capiUrl

    /*
     * The timestamp for when that specific payload was last modified
     */
    3: optional i64 lastModifiedDate

    /*
     * The internal revision number of the replaced content payload
     */
    4: optional i32 internalRevision
}

union EventPayload {

  1: v1.Content content

  2: RetrievableContent retrievableContent
}

struct Event {

    1: required string payloadId

    2: required EventType eventType

    3: required ItemType itemType

    4: required i64 dateTime

    5: optional EventPayload payload
}






© 2015 - 2025 Weber Informatics LLC | Privacy Policy