check in lexicons
This commit is contained in:
@@ -0,0 +1,898 @@
|
||||
{
|
||||
"lexicon": 1,
|
||||
"id": "tools.ozone.moderation.defs",
|
||||
"defs": {
|
||||
"modEventView": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
"event",
|
||||
"subject",
|
||||
"subjectBlobCids",
|
||||
"createdBy",
|
||||
"createdAt"
|
||||
],
|
||||
"properties": {
|
||||
"id": { "type": "integer" },
|
||||
"event": {
|
||||
"type": "union",
|
||||
"refs": [
|
||||
"#modEventTakedown",
|
||||
"#modEventReverseTakedown",
|
||||
"#modEventComment",
|
||||
"#modEventReport",
|
||||
"#modEventLabel",
|
||||
"#modEventAcknowledge",
|
||||
"#modEventEscalate",
|
||||
"#modEventMute",
|
||||
"#modEventUnmute",
|
||||
"#modEventMuteReporter",
|
||||
"#modEventUnmuteReporter",
|
||||
"#modEventEmail",
|
||||
"#modEventResolveAppeal",
|
||||
"#modEventDivert",
|
||||
"#modEventTag",
|
||||
"#accountEvent",
|
||||
"#identityEvent",
|
||||
"#recordEvent",
|
||||
"#modEventPriorityScore"
|
||||
]
|
||||
},
|
||||
"subject": {
|
||||
"type": "union",
|
||||
"refs": [
|
||||
"com.atproto.admin.defs#repoRef",
|
||||
"com.atproto.repo.strongRef",
|
||||
"chat.bsky.convo.defs#messageRef"
|
||||
]
|
||||
},
|
||||
"subjectBlobCids": { "type": "array", "items": { "type": "string" } },
|
||||
"createdBy": { "type": "string", "format": "did" },
|
||||
"createdAt": { "type": "string", "format": "datetime" },
|
||||
"creatorHandle": { "type": "string" },
|
||||
"subjectHandle": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"modEventViewDetail": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
"event",
|
||||
"subject",
|
||||
"subjectBlobs",
|
||||
"createdBy",
|
||||
"createdAt"
|
||||
],
|
||||
"properties": {
|
||||
"id": { "type": "integer" },
|
||||
"event": {
|
||||
"type": "union",
|
||||
"refs": [
|
||||
"#modEventTakedown",
|
||||
"#modEventReverseTakedown",
|
||||
"#modEventComment",
|
||||
"#modEventReport",
|
||||
"#modEventLabel",
|
||||
"#modEventAcknowledge",
|
||||
"#modEventEscalate",
|
||||
"#modEventMute",
|
||||
"#modEventUnmute",
|
||||
"#modEventMuteReporter",
|
||||
"#modEventUnmuteReporter",
|
||||
"#modEventEmail",
|
||||
"#modEventResolveAppeal",
|
||||
"#modEventDivert",
|
||||
"#modEventTag",
|
||||
"#accountEvent",
|
||||
"#identityEvent",
|
||||
"#recordEvent",
|
||||
"#modEventPriorityScore"
|
||||
]
|
||||
},
|
||||
"subject": {
|
||||
"type": "union",
|
||||
"refs": [
|
||||
"#repoView",
|
||||
"#repoViewNotFound",
|
||||
"#recordView",
|
||||
"#recordViewNotFound"
|
||||
]
|
||||
},
|
||||
"subjectBlobs": {
|
||||
"type": "array",
|
||||
"items": { "type": "ref", "ref": "#blobView" }
|
||||
},
|
||||
"createdBy": { "type": "string", "format": "did" },
|
||||
"createdAt": { "type": "string", "format": "datetime" }
|
||||
}
|
||||
},
|
||||
"subjectStatusView": {
|
||||
"type": "object",
|
||||
"required": ["id", "subject", "createdAt", "updatedAt", "reviewState"],
|
||||
"properties": {
|
||||
"id": { "type": "integer" },
|
||||
"subject": {
|
||||
"type": "union",
|
||||
"refs": [
|
||||
"com.atproto.admin.defs#repoRef",
|
||||
"com.atproto.repo.strongRef"
|
||||
]
|
||||
},
|
||||
"hosting": {
|
||||
"type": "union",
|
||||
"refs": ["#accountHosting", "#recordHosting"]
|
||||
},
|
||||
"subjectBlobCids": {
|
||||
"type": "array",
|
||||
"items": { "type": "string", "format": "cid" }
|
||||
},
|
||||
"subjectRepoHandle": { "type": "string" },
|
||||
"updatedAt": {
|
||||
"type": "string",
|
||||
"format": "datetime",
|
||||
"description": "Timestamp referencing when the last update was made to the moderation status of the subject"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string",
|
||||
"format": "datetime",
|
||||
"description": "Timestamp referencing the first moderation status impacting event was emitted on the subject"
|
||||
},
|
||||
"reviewState": {
|
||||
"type": "ref",
|
||||
"ref": "#subjectReviewState"
|
||||
},
|
||||
"comment": {
|
||||
"type": "string",
|
||||
"description": "Sticky comment on the subject."
|
||||
},
|
||||
"priorityScore": {
|
||||
"type": "integer",
|
||||
"description": "Numeric value representing the level of priority. Higher score means higher priority.",
|
||||
"minimum": 0,
|
||||
"maximum": 100
|
||||
},
|
||||
"muteUntil": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
},
|
||||
"muteReportingUntil": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
},
|
||||
"lastReviewedBy": {
|
||||
"type": "string",
|
||||
"format": "did"
|
||||
},
|
||||
"lastReviewedAt": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
},
|
||||
"lastReportedAt": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
},
|
||||
"lastAppealedAt": {
|
||||
"type": "string",
|
||||
"format": "datetime",
|
||||
"description": "Timestamp referencing when the author of the subject appealed a moderation action"
|
||||
},
|
||||
"takendown": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"appealed": {
|
||||
"type": "boolean",
|
||||
"description": "True indicates that the a previously taken moderator action was appealed against, by the author of the content. False indicates last appeal was resolved by moderators."
|
||||
},
|
||||
"suspendUntil": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
},
|
||||
"tags": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" }
|
||||
},
|
||||
"accountStats": {
|
||||
"description": "Statistics related to the account subject",
|
||||
"type": "ref",
|
||||
"ref": "#accountStats"
|
||||
},
|
||||
"recordsStats": {
|
||||
"description": "Statistics related to the record subjects authored by the subject's account",
|
||||
"type": "ref",
|
||||
"ref": "#recordsStats"
|
||||
}
|
||||
}
|
||||
},
|
||||
"subjectView": {
|
||||
"description": "Detailed view of a subject. For record subjects, the author's repo and profile will be returned.",
|
||||
"type": "object",
|
||||
"required": ["type", "subject"],
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "ref",
|
||||
"ref": "com.atproto.moderation.defs#subjectType"
|
||||
},
|
||||
"subject": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "ref",
|
||||
"ref": "#subjectStatusView"
|
||||
},
|
||||
"repo": {
|
||||
"type": "ref",
|
||||
"ref": "#repoViewDetail"
|
||||
},
|
||||
"profile": {
|
||||
"type": "union",
|
||||
"refs": []
|
||||
},
|
||||
"record": {
|
||||
"type": "ref",
|
||||
"ref": "#recordViewDetail"
|
||||
}
|
||||
}
|
||||
},
|
||||
"accountStats": {
|
||||
"description": "Statistics about a particular account subject",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"reportCount": {
|
||||
"description": "Total number of reports on the account",
|
||||
"type": "integer"
|
||||
},
|
||||
"appealCount": {
|
||||
"description": "Total number of appeals against a moderation action on the account",
|
||||
"type": "integer"
|
||||
},
|
||||
"suspendCount": {
|
||||
"description": "Number of times the account was suspended",
|
||||
"type": "integer"
|
||||
},
|
||||
"escalateCount": {
|
||||
"description": "Number of times the account was escalated",
|
||||
"type": "integer"
|
||||
},
|
||||
"takedownCount": {
|
||||
"description": "Number of times the account was taken down",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"recordsStats": {
|
||||
"description": "Statistics about a set of record subject items",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"totalReports": {
|
||||
"description": "Cumulative sum of the number of reports on the items in the set",
|
||||
"type": "integer"
|
||||
},
|
||||
"reportedCount": {
|
||||
"description": "Number of items that were reported at least once",
|
||||
"type": "integer"
|
||||
},
|
||||
"escalatedCount": {
|
||||
"description": "Number of items that were escalated at least once",
|
||||
"type": "integer"
|
||||
},
|
||||
"appealedCount": {
|
||||
"description": "Number of items that were appealed at least once",
|
||||
"type": "integer"
|
||||
},
|
||||
"subjectCount": {
|
||||
"description": "Total number of item in the set",
|
||||
"type": "integer"
|
||||
},
|
||||
"pendingCount": {
|
||||
"description": "Number of item currently in \"reviewOpen\" or \"reviewEscalated\" state",
|
||||
"type": "integer"
|
||||
},
|
||||
"processedCount": {
|
||||
"description": "Number of item currently in \"reviewNone\" or \"reviewClosed\" state",
|
||||
"type": "integer"
|
||||
},
|
||||
"takendownCount": {
|
||||
"description": "Number of item currently taken down",
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"subjectReviewState": {
|
||||
"type": "string",
|
||||
"knownValues": [
|
||||
"#reviewOpen",
|
||||
"#reviewEscalated",
|
||||
"#reviewClosed",
|
||||
"#reviewNone"
|
||||
]
|
||||
},
|
||||
"reviewOpen": {
|
||||
"type": "token",
|
||||
"description": "Moderator review status of a subject: Open. Indicates that the subject needs to be reviewed by a moderator"
|
||||
},
|
||||
"reviewEscalated": {
|
||||
"type": "token",
|
||||
"description": "Moderator review status of a subject: Escalated. Indicates that the subject was escalated for review by a moderator"
|
||||
},
|
||||
"reviewClosed": {
|
||||
"type": "token",
|
||||
"description": "Moderator review status of a subject: Closed. Indicates that the subject was already reviewed and resolved by a moderator"
|
||||
},
|
||||
"reviewNone": {
|
||||
"type": "token",
|
||||
"description": "Moderator review status of a subject: Unnecessary. Indicates that the subject does not need a review at the moment but there is probably some moderation related metadata available for it"
|
||||
},
|
||||
"modEventTakedown": {
|
||||
"type": "object",
|
||||
"description": "Take down a subject permanently or temporarily",
|
||||
"properties": {
|
||||
"comment": {
|
||||
"type": "string"
|
||||
},
|
||||
"durationInHours": {
|
||||
"type": "integer",
|
||||
"description": "Indicates how long the takedown should be in effect before automatically expiring."
|
||||
},
|
||||
"acknowledgeAccountSubjects": {
|
||||
"type": "boolean",
|
||||
"description": "If true, all other reports on content authored by this account will be resolved (acknowledged)."
|
||||
},
|
||||
"policies": {
|
||||
"type": "array",
|
||||
"maxLength": 5,
|
||||
"items": { "type": "string" },
|
||||
"description": "Names/Keywords of the policies that drove the decision."
|
||||
}
|
||||
}
|
||||
},
|
||||
"modEventReverseTakedown": {
|
||||
"type": "object",
|
||||
"description": "Revert take down action on a subject",
|
||||
"properties": {
|
||||
"comment": {
|
||||
"type": "string",
|
||||
"description": "Describe reasoning behind the reversal."
|
||||
}
|
||||
}
|
||||
},
|
||||
"modEventResolveAppeal": {
|
||||
"type": "object",
|
||||
"description": "Resolve appeal on a subject",
|
||||
"properties": {
|
||||
"comment": {
|
||||
"type": "string",
|
||||
"description": "Describe resolution."
|
||||
}
|
||||
}
|
||||
},
|
||||
"modEventComment": {
|
||||
"type": "object",
|
||||
"description": "Add a comment to a subject. An empty comment will clear any previously set sticky comment.",
|
||||
"properties": {
|
||||
"comment": {
|
||||
"type": "string"
|
||||
},
|
||||
"sticky": {
|
||||
"type": "boolean",
|
||||
"description": "Make the comment persistent on the subject"
|
||||
}
|
||||
}
|
||||
},
|
||||
"modEventReport": {
|
||||
"type": "object",
|
||||
"description": "Report a subject",
|
||||
"required": ["reportType"],
|
||||
"properties": {
|
||||
"comment": {
|
||||
"type": "string"
|
||||
},
|
||||
"isReporterMuted": {
|
||||
"type": "boolean",
|
||||
"description": "Set to true if the reporter was muted from reporting at the time of the event. These reports won't impact the reviewState of the subject."
|
||||
},
|
||||
"reportType": {
|
||||
"type": "ref",
|
||||
"ref": "com.atproto.moderation.defs#reasonType"
|
||||
}
|
||||
}
|
||||
},
|
||||
"modEventLabel": {
|
||||
"type": "object",
|
||||
"description": "Apply/Negate labels on a subject",
|
||||
"required": ["createLabelVals", "negateLabelVals"],
|
||||
"properties": {
|
||||
"comment": {
|
||||
"type": "string"
|
||||
},
|
||||
"createLabelVals": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" }
|
||||
},
|
||||
"negateLabelVals": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" }
|
||||
},
|
||||
"durationInHours": {
|
||||
"type": "integer",
|
||||
"description": "Indicates how long the label will remain on the subject. Only applies on labels that are being added."
|
||||
}
|
||||
}
|
||||
},
|
||||
"modEventPriorityScore": {
|
||||
"type": "object",
|
||||
"description": "Set priority score of the subject. Higher score means higher priority.",
|
||||
"required": ["score"],
|
||||
"properties": {
|
||||
"comment": {
|
||||
"type": "string"
|
||||
},
|
||||
"score": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 100
|
||||
}
|
||||
}
|
||||
},
|
||||
"modEventAcknowledge": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"comment": { "type": "string" },
|
||||
"acknowledgeAccountSubjects": {
|
||||
"type": "boolean",
|
||||
"description": "If true, all other reports on content authored by this account will be resolved (acknowledged)."
|
||||
}
|
||||
}
|
||||
},
|
||||
"modEventEscalate": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"comment": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"modEventMute": {
|
||||
"type": "object",
|
||||
"description": "Mute incoming reports on a subject",
|
||||
"required": ["durationInHours"],
|
||||
"properties": {
|
||||
"comment": { "type": "string" },
|
||||
"durationInHours": {
|
||||
"type": "integer",
|
||||
"description": "Indicates how long the subject should remain muted."
|
||||
}
|
||||
}
|
||||
},
|
||||
"modEventUnmute": {
|
||||
"type": "object",
|
||||
"description": "Unmute action on a subject",
|
||||
"properties": {
|
||||
"comment": {
|
||||
"type": "string",
|
||||
"description": "Describe reasoning behind the reversal."
|
||||
}
|
||||
}
|
||||
},
|
||||
"modEventMuteReporter": {
|
||||
"type": "object",
|
||||
"description": "Mute incoming reports from an account",
|
||||
"properties": {
|
||||
"comment": { "type": "string" },
|
||||
"durationInHours": {
|
||||
"type": "integer",
|
||||
"description": "Indicates how long the account should remain muted. Falsy value here means a permanent mute."
|
||||
}
|
||||
}
|
||||
},
|
||||
"modEventUnmuteReporter": {
|
||||
"type": "object",
|
||||
"description": "Unmute incoming reports from an account",
|
||||
"properties": {
|
||||
"comment": {
|
||||
"type": "string",
|
||||
"description": "Describe reasoning behind the reversal."
|
||||
}
|
||||
}
|
||||
},
|
||||
"modEventEmail": {
|
||||
"type": "object",
|
||||
"description": "Keep a log of outgoing email to a user",
|
||||
"required": ["subjectLine"],
|
||||
"properties": {
|
||||
"subjectLine": {
|
||||
"type": "string",
|
||||
"description": "The subject line of the email sent to the user."
|
||||
},
|
||||
"content": {
|
||||
"type": "string",
|
||||
"description": "The content of the email sent to the user."
|
||||
},
|
||||
"comment": {
|
||||
"type": "string",
|
||||
"description": "Additional comment about the outgoing comm."
|
||||
}
|
||||
}
|
||||
},
|
||||
"modEventDivert": {
|
||||
"type": "object",
|
||||
"description": "Divert a record's blobs to a 3rd party service for further scanning/tagging",
|
||||
"properties": {
|
||||
"comment": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"modEventTag": {
|
||||
"type": "object",
|
||||
"description": "Add/Remove a tag on a subject",
|
||||
"required": ["add", "remove"],
|
||||
"properties": {
|
||||
"add": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" },
|
||||
"description": "Tags to be added to the subject. If already exists, won't be duplicated."
|
||||
},
|
||||
"remove": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" },
|
||||
"description": "Tags to be removed to the subject. Ignores a tag If it doesn't exist, won't be duplicated."
|
||||
},
|
||||
"comment": {
|
||||
"type": "string",
|
||||
"description": "Additional comment about added/removed tags."
|
||||
}
|
||||
}
|
||||
},
|
||||
"accountEvent": {
|
||||
"type": "object",
|
||||
"description": "Logs account status related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.",
|
||||
"required": ["timestamp", "active"],
|
||||
"properties": {
|
||||
"comment": { "type": "string" },
|
||||
"active": {
|
||||
"type": "boolean",
|
||||
"description": "Indicates that the account has a repository which can be fetched from the host that emitted this event."
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"knownValues": [
|
||||
"unknown",
|
||||
"deactivated",
|
||||
"deleted",
|
||||
"takendown",
|
||||
"suspended",
|
||||
"tombstoned"
|
||||
]
|
||||
},
|
||||
"timestamp": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
}
|
||||
}
|
||||
},
|
||||
"identityEvent": {
|
||||
"type": "object",
|
||||
"description": "Logs identity related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.",
|
||||
"required": ["timestamp"],
|
||||
"properties": {
|
||||
"comment": { "type": "string" },
|
||||
"handle": { "type": "string", "format": "handle" },
|
||||
"pdsHost": { "type": "string", "format": "uri" },
|
||||
"tombstone": { "type": "boolean" },
|
||||
"timestamp": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
}
|
||||
}
|
||||
},
|
||||
"recordEvent": {
|
||||
"type": "object",
|
||||
"description": "Logs lifecycle event on a record subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.",
|
||||
"required": ["timestamp", "op"],
|
||||
"properties": {
|
||||
"comment": { "type": "string" },
|
||||
"op": {
|
||||
"type": "string",
|
||||
"knownValues": ["create", "update", "delete"]
|
||||
},
|
||||
"cid": { "type": "string", "format": "cid" },
|
||||
"timestamp": { "type": "string", "format": "datetime" }
|
||||
}
|
||||
},
|
||||
"repoView": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"did",
|
||||
"handle",
|
||||
"relatedRecords",
|
||||
"indexedAt",
|
||||
"moderation"
|
||||
],
|
||||
"properties": {
|
||||
"did": { "type": "string", "format": "did" },
|
||||
"handle": { "type": "string", "format": "handle" },
|
||||
"email": { "type": "string" },
|
||||
"relatedRecords": { "type": "array", "items": { "type": "unknown" } },
|
||||
"indexedAt": { "type": "string", "format": "datetime" },
|
||||
"moderation": { "type": "ref", "ref": "#moderation" },
|
||||
"invitedBy": {
|
||||
"type": "ref",
|
||||
"ref": "com.atproto.server.defs#inviteCode"
|
||||
},
|
||||
"invitesDisabled": { "type": "boolean" },
|
||||
"inviteNote": { "type": "string" },
|
||||
"deactivatedAt": { "type": "string", "format": "datetime" },
|
||||
"threatSignatures": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "ref",
|
||||
"ref": "com.atproto.admin.defs#threatSignature"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"repoViewDetail": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"did",
|
||||
"handle",
|
||||
"relatedRecords",
|
||||
"indexedAt",
|
||||
"moderation"
|
||||
],
|
||||
"properties": {
|
||||
"did": { "type": "string", "format": "did" },
|
||||
"handle": { "type": "string", "format": "handle" },
|
||||
"email": { "type": "string" },
|
||||
"relatedRecords": { "type": "array", "items": { "type": "unknown" } },
|
||||
"indexedAt": { "type": "string", "format": "datetime" },
|
||||
"moderation": { "type": "ref", "ref": "#moderationDetail" },
|
||||
"labels": {
|
||||
"type": "array",
|
||||
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
|
||||
},
|
||||
"invitedBy": {
|
||||
"type": "ref",
|
||||
"ref": "com.atproto.server.defs#inviteCode"
|
||||
},
|
||||
"invites": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "ref",
|
||||
"ref": "com.atproto.server.defs#inviteCode"
|
||||
}
|
||||
},
|
||||
"invitesDisabled": { "type": "boolean" },
|
||||
"inviteNote": { "type": "string" },
|
||||
"emailConfirmedAt": { "type": "string", "format": "datetime" },
|
||||
"deactivatedAt": { "type": "string", "format": "datetime" },
|
||||
"threatSignatures": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "ref",
|
||||
"ref": "com.atproto.admin.defs#threatSignature"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"repoViewNotFound": {
|
||||
"type": "object",
|
||||
"required": ["did"],
|
||||
"properties": {
|
||||
"did": { "type": "string", "format": "did" }
|
||||
}
|
||||
},
|
||||
"recordView": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"uri",
|
||||
"cid",
|
||||
"value",
|
||||
"blobCids",
|
||||
"indexedAt",
|
||||
"moderation",
|
||||
"repo"
|
||||
],
|
||||
"properties": {
|
||||
"uri": { "type": "string", "format": "at-uri" },
|
||||
"cid": { "type": "string", "format": "cid" },
|
||||
"value": { "type": "unknown" },
|
||||
"blobCids": {
|
||||
"type": "array",
|
||||
"items": { "type": "string", "format": "cid" }
|
||||
},
|
||||
"indexedAt": { "type": "string", "format": "datetime" },
|
||||
"moderation": { "type": "ref", "ref": "#moderation" },
|
||||
"repo": { "type": "ref", "ref": "#repoView" }
|
||||
}
|
||||
},
|
||||
"recordViewDetail": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"uri",
|
||||
"cid",
|
||||
"value",
|
||||
"blobs",
|
||||
"indexedAt",
|
||||
"moderation",
|
||||
"repo"
|
||||
],
|
||||
"properties": {
|
||||
"uri": { "type": "string", "format": "at-uri" },
|
||||
"cid": { "type": "string", "format": "cid" },
|
||||
"value": { "type": "unknown" },
|
||||
"blobs": {
|
||||
"type": "array",
|
||||
"items": { "type": "ref", "ref": "#blobView" }
|
||||
},
|
||||
"labels": {
|
||||
"type": "array",
|
||||
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
|
||||
},
|
||||
"indexedAt": { "type": "string", "format": "datetime" },
|
||||
"moderation": { "type": "ref", "ref": "#moderationDetail" },
|
||||
"repo": { "type": "ref", "ref": "#repoView" }
|
||||
}
|
||||
},
|
||||
"recordViewNotFound": {
|
||||
"type": "object",
|
||||
"required": ["uri"],
|
||||
"properties": {
|
||||
"uri": { "type": "string", "format": "at-uri" }
|
||||
}
|
||||
},
|
||||
"moderation": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"subjectStatus": { "type": "ref", "ref": "#subjectStatusView" }
|
||||
}
|
||||
},
|
||||
"moderationDetail": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"subjectStatus": {
|
||||
"type": "ref",
|
||||
"ref": "#subjectStatusView"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blobView": {
|
||||
"type": "object",
|
||||
"required": ["cid", "mimeType", "size", "createdAt"],
|
||||
"properties": {
|
||||
"cid": { "type": "string", "format": "cid" },
|
||||
"mimeType": { "type": "string" },
|
||||
"size": { "type": "integer" },
|
||||
"createdAt": { "type": "string", "format": "datetime" },
|
||||
"details": {
|
||||
"type": "union",
|
||||
"refs": ["#imageDetails", "#videoDetails"]
|
||||
},
|
||||
"moderation": { "type": "ref", "ref": "#moderation" }
|
||||
}
|
||||
},
|
||||
"imageDetails": {
|
||||
"type": "object",
|
||||
"required": ["width", "height"],
|
||||
"properties": {
|
||||
"width": { "type": "integer" },
|
||||
"height": { "type": "integer" }
|
||||
}
|
||||
},
|
||||
"videoDetails": {
|
||||
"type": "object",
|
||||
"required": ["width", "height", "length"],
|
||||
"properties": {
|
||||
"width": { "type": "integer" },
|
||||
"height": { "type": "integer" },
|
||||
"length": { "type": "integer" }
|
||||
}
|
||||
},
|
||||
"accountHosting": {
|
||||
"type": "object",
|
||||
"required": ["status"],
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "string",
|
||||
"knownValues": [
|
||||
"takendown",
|
||||
"suspended",
|
||||
"deleted",
|
||||
"deactivated",
|
||||
"unknown"
|
||||
]
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
},
|
||||
"deletedAt": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
},
|
||||
"deactivatedAt": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
},
|
||||
"reactivatedAt": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
}
|
||||
}
|
||||
},
|
||||
"recordHosting": {
|
||||
"type": "object",
|
||||
"required": ["status"],
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "string",
|
||||
"knownValues": ["deleted", "unknown"]
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
},
|
||||
"deletedAt": {
|
||||
"type": "string",
|
||||
"format": "datetime"
|
||||
}
|
||||
}
|
||||
},
|
||||
"reporterStats": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"did",
|
||||
"accountReportCount",
|
||||
"recordReportCount",
|
||||
"reportedAccountCount",
|
||||
"reportedRecordCount",
|
||||
"takendownAccountCount",
|
||||
"takendownRecordCount",
|
||||
"labeledAccountCount",
|
||||
"labeledRecordCount"
|
||||
],
|
||||
"properties": {
|
||||
"did": {
|
||||
"type": "string",
|
||||
"format": "did"
|
||||
},
|
||||
"accountReportCount": {
|
||||
"type": "integer",
|
||||
"description": "The total number of reports made by the user on accounts."
|
||||
},
|
||||
"recordReportCount": {
|
||||
"type": "integer",
|
||||
"description": "The total number of reports made by the user on records."
|
||||
},
|
||||
"reportedAccountCount": {
|
||||
"type": "integer",
|
||||
"description": "The total number of accounts reported by the user."
|
||||
},
|
||||
"reportedRecordCount": {
|
||||
"type": "integer",
|
||||
"description": "The total number of records reported by the user."
|
||||
},
|
||||
"takendownAccountCount": {
|
||||
"type": "integer",
|
||||
"description": "The total number of accounts taken down as a result of the user's reports."
|
||||
},
|
||||
"takendownRecordCount": {
|
||||
"type": "integer",
|
||||
"description": "The total number of records taken down as a result of the user's reports."
|
||||
},
|
||||
"labeledAccountCount": {
|
||||
"type": "integer",
|
||||
"description": "The total number of accounts labeled as a result of the user's reports."
|
||||
},
|
||||
"labeledRecordCount": {
|
||||
"type": "integer",
|
||||
"description": "The total number of records labeled as a result of the user's reports."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user