Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "namespace": "com.goguardian.events",
- "type": "record",
- "name": "EntityBatchPreAuth",
- "doc": "Represents a batch of EntityPreAuths submitted by a single extension. There is a one-to-one mapping between this avro record and a kinesis record (i.e. the kinesis record payload contains JSON which we deserialize using this schema). Note that the kinesis record contains JSON and not serialized avro binary.",
- "fields": [
- {
- "name": "type",
- "type": {
- "type": "enum",
- "name": "KinesisRecordType",
- "symbols": [
- "ENTITIES"
- ],
- "doc": "What is the type of this kinesis record"
- },
- "default": "ENTITIES"
- },
- {
- "name": "compRand",
- "type": "string",
- "doc": "The compRand from the extension"
- },
- {
- "name": "submissionTime",
- "type": "long",
- "doc": "Epoch millis that this was submitted at"
- },
- {
- "name": "extensionVersion",
- "type": "string",
- "doc": "The extension version (e.g. '2.0.2.9')"
- },
- {
- "name": "userAgent",
- "type": "string",
- "doc": "The browser user agent"
- },
- {
- "name": "ip",
- "type": "long",
- "doc": "The ipv4 represented as a long"
- },
- {
- "name": "deviceId",
- "type": [
- "null",
- "string"
- ],
- "default": null,
- "doc": "The unique device identifier that this entity was written on"
- },
- {
- "name": "payload",
- "type": {
- "type": "array",
- "items": {
- "type": "record",
- "name": "EntityPreAuth",
- "doc": "The pre-authenticated entity representation.",
- "fields": [
- {
- "name": "seqId",
- "type": "long",
- "doc": "The entity sequence id according to the extension. Note this used to be an int before 8/14/2015"
- },
- {
- "name": "url",
- "type": "string",
- "doc": "The URL that was visited"
- },
- {
- "name": "flaggedActivity",
- "type": {
- "type": "array",
- "items": {
- "type": "record",
- "name": "FlaggedActivityMetadata",
- "doc": "Metadata related to flagged activity",
- "fields": [
- {
- "name": "isNew",
- "type": "boolean",
- "doc": "Whether this metadata item is new"
- },
- {
- "name": "severity",
- "type": "double",
- "doc": "The extension-generated severity of this metadata"
- },
- {
- "name": "image",
- "type": [
- "null",
- "string"
- ],
- "default": null,
- "doc": "The UUID of the image associated with this flagged activity event this metadata"
- },
- {
- "name": "categoryId",
- "type": "int",
- "doc": "Category of this flagged activity, based on its flagged terms. E.g. pornography, drugs, etc."
- },
- {
- "name": "flags",
- "type": {
- "type": "array",
- "items": {
- "name": "FlaggedActivityMetadataFlag",
- "type": "record",
- "doc": "Represents a single flagged word",
- "fields": [
- {
- "name": "term",
- "type": "string",
- "doc": "The flagged word"
- },
- {
- "name": "count",
- "type": "int",
- "doc": "The number of times the word appears on the page "
- },
- {
- "name": "severity",
- "type": "double",
- "doc": "The default severity associated with the word"
- },
- {
- "name": "calculatedSeverity",
- "type": "double",
- "doc": "The computed severity of the word(s)"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- {
- "name": "keyFlags",
- "type": {
- "type": "array",
- "items": {
- "type": "record",
- "name": "KeyFlagMetadata",
- "doc": "Metadata related to key flags activity",
- "fields": [
- {
- "name": "isNew",
- "type": "boolean",
- "doc": "Whether this metadata item is new"
- },
- {
- "name": "needle",
- "type": {
- "type": "array",
- "items": {
- "type": "string",
- "name": "needleItem",
- "doc": "A keyflag needle found in this haystack"
- }
- },
- "doc": "An array of needles flagged in this haystack"
- },
- {
- "name": "haystack",
- "type": "string",
- "doc": "The context in which the needle was found"
- },
- {
- "name": "uuid",
- "type": "string",
- "doc": "A UUID corresponding to the input on the page. When the input changes, this UUID is regenerated"
- }
- ]
- }
- }
- },
- {
- "name": "searches",
- "type": {
- "type": "array",
- "items": {
- "type": "record",
- "name": "SearchMetadata",
- "doc": "Metadata related to searches",
- "fields": [
- {
- "name": "isNew",
- "type": "boolean",
- "doc": "Whether this metadata item is new"
- },
- {
- "name": "searchTerms",
- "type": "string",
- "doc": "The terms that were searched"
- }
- ]
- }
- }
- },
- {
- "name": "videos",
- "type": {
- "type": "array",
- "items": {
- "type": "record",
- "name": "VideoMetadata",
- "doc": "Metadata related to videos",
- "fields": [
- {
- "name": "isNew",
- "type": "boolean",
- "doc": "Whether this metadata item is new"
- },
- {
- "name": "title",
- "type": "string",
- "doc": "The title of the video"
- },
- {
- "name": "uploader",
- "type": "string",
- "doc": "The video uploader"
- },
- {
- "name": "categoryId",
- "type": "int",
- "doc": "The youtube category id"
- },
- {
- "name": "rating",
- "type": "int",
- "doc": "The youtube rating"
- },
- {
- "name": "description",
- "type": "string",
- "doc": "The description of the video"
- },
- {
- "name": "channelId",
- "type": "string",
- "doc": "The id of the youtube channel"
- },
- {
- "name": "category",
- "type": "string",
- "doc": "The verbose name of the category"
- },
- {
- "name": "uri",
- "type": "string",
- "doc": "The full youtube video URI"
- },
- {
- "name": "videoId",
- "type": "string",
- "doc": "The youtube video id"
- },
- {
- "name": "type",
- "type": {
- "type": "enum",
- "name": "VideoType",
- "symbols": [
- "YOUTUBE"
- ],
- "doc": "Where is this youtube video sourced from"
- }
- }
- ]
- }
- }
- },
- {
- "name": "docs",
- "type": {
- "type": "array",
- "items": {
- "type": "record",
- "name": "DocMetadata",
- "doc": "Metadata related to docs",
- "fields": [
- {
- "name": "isNew",
- "type": "boolean",
- "doc": "Whether this metadata item is new"
- },
- {
- "name": "title",
- "type": "string",
- "doc": "The title of the document"
- }
- ]
- }
- }
- },
- {
- "name": "faviconUrl",
- "type": [
- "null",
- "string"
- ],
- "default": null,
- "doc": "The favicon url associated with this entity"
- },
- {
- "name": "title",
- "type": [
- "null",
- "string"
- ],
- "default": null,
- "doc": "The title associated with this entity"
- },
- {
- "name": "tabId",
- "type": [
- "null",
- "int"
- ],
- "default": null,
- "doc": "The tabId that this entity came from"
- },
- {
- "name": "blockedSite",
- "type": {
- "type": "array",
- "items": {
- "type": "record",
- "name": "BlockedMetadata",
- "doc": "Metadata related to blocked_sites",
- "fields": [
- {
- "name": "isNew",
- "type": [
- "null",
- "boolean"
- ],
- "default": null,
- "doc": "Whether this metadata item is new"
- },
- {
- "name": "categoryId",
- "type": "int",
- "doc": "The category id that blocked this entity"
- }
- ]
- }
- },
- "default": []
- },
- {
- "name": "viewings",
- "type": {
- "type": "array",
- "items": {
- "type": "record",
- "name": "ViewingMetadata",
- "doc": "Metadata related to viewings",
- "fields": [
- {
- "name": "startTimeMs",
- "type": "long",
- "doc": "The epoch timestamp when this viewing started"
- },
- {
- "name": "endTimeMs",
- "type": "long",
- "doc": "The epoch timestamp when this viewing ended"
- },
- {
- "name": "isDirty",
- "type": "boolean",
- "doc": "Whether this viewing needs to be updated/inserted in the database"
- },
- {
- "name": "lastSubmissionTimeMs",
- "type": [
- "null",
- "long"
- ],
- "default": null,
- "doc": "If present, represents the last time this viewing was sent to Kinesis"
- }
- ]
- }
- },
- "default": []
- },
- {
- "name": "isNew",
- "type": [
- "null",
- "boolean"
- ],
- "default": null,
- "doc": "Represents whether this entity has been submitted to Kinesis before"
- },
- {
- "name": "classroomIds",
- "type": {
- "type": "array",
- "items": {
- "type": "int",
- "name": "classroomId",
- "doc": "A list of GG4T classroom IDs that this entity was generated in"
- }
- },
- "default": []
- },
- {
- "name": "classroomSessionIds",
- "type": {
- "type": "array",
- "items": {
- "type": "int",
- "name": "classroomSessionId",
- "doc": "A list of GG4T classroom session IDs that this entity was generated in"
- }
- },
- "default": []
- },
- {
- "name": "isLocked",
- "type": [
- "null",
- "boolean"
- ],
- "default": null,
- "doc": "Represents whether the entity was generated in a locked state (GG4T)"
- },
- {
- "name": "tabs",
- "type": {
- "type": "array",
- "items": {
- "type": "record",
- "name": "TabMetadata",
- "doc": "Metadata related to open tabs",
- "fields": [
- {
- "name": "url",
- "type": "string",
- "doc": "The URL of the open tab"
- },
- {
- "name": "title",
- "type": "string",
- "doc": "The title of the open tab"
- },
- {
- "name": "faviconUrl",
- "type": "string",
- "doc": "The favicon url associated with this open tab"
- },
- {
- "name": "isActive",
- "type": "boolean",
- "doc": "Represents whether this tab is the active one"
- },
- {
- "name": "id",
- "type": "int",
- "doc": "A numeric identifier for this tab"
- }
- ]
- }
- },
- "default": [],
- "doc": "An array representing the currently open tabs on the device (GG4T)"
- },
- {
- "name": "isProxy",
- "type": [
- "null",
- "boolean"
- ],
- "default": null,
- "doc": "Whether this entity represents a proxy website"
- }
- ]
- }
- }
- }
- ]
- }
Advertisement
Add Comment
Please, Sign In to add comment