com.getorbyt.community.defs

getorbyt.com

Schema Diff

+346 -1

From

CID
bafyreifo5kwcblm...
Indexed At
2026-08-28 23:34 UTC
View this version

To

CID
bafyreidyrybnxxu...
Indexed At
2026-09-17 13:18 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

27 breaking changes, 85 non-breaking changes.

Breaking Changes (27)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.toDid", kind: "prop", name: Some("toDid") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.status", kind: "prop", name: Some("status") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.community", kind: "prop", name: Some("community") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.createdAt", kind: "prop", name: Some("createdAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.expiresAt", kind: "prop", name: Some("expiresAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.id", kind: "prop", name: Some("id") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.fromDid", kind: "prop", name: Some("fromDid") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.authorDid", kind: "prop", name: Some("authorDid") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.community", kind: "prop", name: Some("community") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.createdAt", kind: "prop", name: Some("createdAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.removalActionId", kind: "prop", name: Some("removalActionId") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.status", kind: "prop", name: Some("status") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.post", kind: "prop", name: Some("post") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.text", kind: "prop", name: Some("text") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.id", kind: "prop", name: Some("id") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.status", kind: "prop", name: Some("status") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.createdAt", kind: "prop", name: Some("createdAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.community", kind: "prop", name: Some("community") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.id", kind: "prop", name: Some("id") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.reporterDid", kind: "prop", name: Some("reporterDid") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.post", kind: "prop", name: Some("post") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.reason", kind: "prop", name: Some("reason") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.id", kind: "prop", name: Some("id") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.community", kind: "prop", name: Some("community") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.createdAt", kind: "prop", name: Some("createdAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.kind", kind: "prop", name: Some("kind") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.actorDid", kind: "prop", name: Some("actorDid") }
Non-Breaking Changes (85)
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.authorDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.community" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.createdAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.id" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.post" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.removalActionId" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolution" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolutionNote" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolvedAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolvedByDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.status" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.text" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.actorDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.community" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.createdAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.id" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.kind" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.subjectDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.subjectUri" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.summary" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#feedItem.playbackToken" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#feedItem.removalActionId" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#memberView.viewerActions" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#memberView.viewerActions:items" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.community" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.createdAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.id" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.post" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.reason" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.reporterDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolution" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolutionNote" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolvedAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolvedByDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.status" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.cancelledByDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.community" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.createdAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.expiresAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.fromDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.id" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.replacementDeclarationUri" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.status" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.toDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.updatedAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view.access" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view.avatarFallback" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view.avatarVideo" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view.declarationUri" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view.publicationState" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view.viewerActions" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view.viewerActions:items" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#viewerState.canAssignRoles" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#viewerState.canListRestrictedMembers" }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolution", kind: "prop", name: Some("resolution") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolutionNote", kind: "prop", name: Some("resolutionNote") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolvedAt", kind: "prop", name: Some("resolvedAt") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolvedByDid", kind: "prop", name: Some("resolvedByDid") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.subjectDid", kind: "prop", name: Some("subjectDid") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.subjectUri", kind: "prop", name: Some("subjectUri") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.summary", kind: "prop", name: Some("summary") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#feedItem", tgt: "com.getorbyt.community.defs#feedItem.playbackToken", kind: "prop", name: Some("playbackToken") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#feedItem", tgt: "com.getorbyt.community.defs#feedItem.removalActionId", kind: "prop", name: Some("removalActionId") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#memberView", tgt: "com.getorbyt.community.defs#memberView.viewerActions", kind: "prop", name: Some("viewerActions") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#memberView.viewerActions", tgt: "com.getorbyt.community.defs#memberView.viewerActions:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolution", kind: "prop", name: Some("resolution") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolutionNote", kind: "prop", name: Some("resolutionNote") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolvedAt", kind: "prop", name: Some("resolvedAt") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolvedByDid", kind: "prop", name: Some("resolvedByDid") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.cancelledByDid", kind: "prop", name: Some("cancelledByDid") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.replacementDeclarationUri", kind: "prop", name: Some("replacementDeclarationUri") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.updatedAt", kind: "prop", name: Some("updatedAt") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.access", kind: "prop", name: Some("access") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.avatarFallback", kind: "prop", name: Some("avatarFallback") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.avatarVideo", kind: "prop", name: Some("avatarVideo") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.declarationUri", kind: "prop", name: Some("declarationUri") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.publicationState", kind: "prop", name: Some("publicationState") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.viewerActions", kind: "prop", name: Some("viewerActions") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#view.viewerActions", tgt: "com.getorbyt.community.defs#view.viewerActions:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#viewerState", tgt: "com.getorbyt.community.defs#viewerState.canAssignRoles", kind: "prop", name: Some("canAssignRoles") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#viewerState", tgt: "com.getorbyt.community.defs#viewerState.canListRestrictedMembers", kind: "prop", name: Some("canListRestrictedMembers") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.authorDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.community" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.createdAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.id" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.post" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.removalActionId" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolution" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolutionNote" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolvedAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolvedByDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.status" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.text" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.actorDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.community" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.createdAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.id" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.kind" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.subjectDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.subjectUri" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.summary" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#feedItem.playbackToken" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#feedItem.removalActionId" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#memberView.viewerActions" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#memberView.viewerActions:items" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.community" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.createdAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.id" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.post" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.reason" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.reporterDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolution" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolutionNote" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolvedAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolvedByDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.status" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.cancelledByDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.community" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.createdAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.expiresAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.fromDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.id" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.replacementDeclarationUri" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.status" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.toDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.updatedAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view.access" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view.avatarFallback" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view.avatarVideo" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view.declarationUri" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view.publicationState" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view.viewerActions" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view.viewerActions:items" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#viewerState.canAssignRoles" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#viewerState.canListRestrictedMembers" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.status", kind: "prop", name: Some("status") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.createdAt", kind: "prop", name: Some("createdAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.community", kind: "prop", name: Some("community") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.id", kind: "prop", name: Some("id") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.reporterDid", kind: "prop", name: Some("reporterDid") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.post", kind: "prop", name: Some("post") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.reason", kind: "prop", name: Some("reason") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.toDid", kind: "prop", name: Some("toDid") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.status", kind: "prop", name: Some("status") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.community", kind: "prop", name: Some("community") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.createdAt", kind: "prop", name: Some("createdAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.expiresAt", kind: "prop", name: Some("expiresAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.id", kind: "prop", name: Some("id") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.fromDid", kind: "prop", name: Some("fromDid") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.authorDid", kind: "prop", name: Some("authorDid") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.community", kind: "prop", name: Some("community") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.createdAt", kind: "prop", name: Some("createdAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.removalActionId", kind: "prop", name: Some("removalActionId") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.status", kind: "prop", name: Some("status") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.post", kind: "prop", name: Some("post") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.text", kind: "prop", name: Some("text") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.id", kind: "prop", name: Some("id") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.id", kind: "prop", name: Some("id") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.community", kind: "prop", name: Some("community") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.createdAt", kind: "prop", name: Some("createdAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.kind", kind: "prop", name: Some("kind") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.actorDid", kind: "prop", name: Some("actorDid") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolution", kind: "prop", name: Some("resolution") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolutionNote", kind: "prop", name: Some("resolutionNote") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolvedAt", kind: "prop", name: Some("resolvedAt") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolvedByDid", kind: "prop", name: Some("resolvedByDid") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.subjectDid", kind: "prop", name: Some("subjectDid") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.subjectUri", kind: "prop", name: Some("subjectUri") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.summary", kind: "prop", name: Some("summary") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#feedItem", tgt: "com.getorbyt.community.defs#feedItem.playbackToken", kind: "prop", name: Some("playbackToken") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#feedItem", tgt: "com.getorbyt.community.defs#feedItem.removalActionId", kind: "prop", name: Some("removalActionId") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#memberView", tgt: "com.getorbyt.community.defs#memberView.viewerActions", kind: "prop", name: Some("viewerActions") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#memberView.viewerActions", tgt: "com.getorbyt.community.defs#memberView.viewerActions:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolution", kind: "prop", name: Some("resolution") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolutionNote", kind: "prop", name: Some("resolutionNote") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolvedAt", kind: "prop", name: Some("resolvedAt") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolvedByDid", kind: "prop", name: Some("resolvedByDid") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.cancelledByDid", kind: "prop", name: Some("cancelledByDid") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.replacementDeclarationUri", kind: "prop", name: Some("replacementDeclarationUri") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.updatedAt", kind: "prop", name: Some("updatedAt") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.access", kind: "prop", name: Some("access") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.avatarFallback", kind: "prop", name: Some("avatarFallback") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.avatarVideo", kind: "prop", name: Some("avatarVideo") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.declarationUri", kind: "prop", name: Some("declarationUri") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.publicationState", kind: "prop", name: Some("publicationState") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.viewerActions", kind: "prop", name: Some("viewerActions") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#view.viewerActions", tgt: "com.getorbyt.community.defs#view.viewerActions:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#viewerState", tgt: "com.getorbyt.community.defs#viewerState.canAssignRoles", kind: "prop", name: Some("canAssignRoles") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#viewerState", tgt: "com.getorbyt.community.defs#viewerState.canListRestrictedMembers", kind: "prop", name: Some("canListRestrictedMembers") }
1 1
{
2 2
  "id": "com.getorbyt.community.defs",
3 3
  "defs": {
4 4
    "rule": {
5 5
      "type": "object",
6 6
      "required": [
7 7
        "text"
8 8
      ],
9 9
      "properties": {
10 10
        "text": {
11 11
          "type": "string",
12 12
          "maxLength": 500
13 13
        }
14 14
      },
15 15
      "description": "One Community rule. An object rather than a bare string so a title, an ordinal or a createdAt can be added later without a schema break."
16 16
    },
17 17
    "view": {
18 18
      "type": "object",
19 19
      "required": [
20 20
        "uri",
21 21
        "cid",
22 22
        "name",
23 23
        "ownerDid",
24 24
        "createdAt"
25 25
      ],
26 26
      "properties": {
27 27
        "cid": {
28 28
          "type": "string",
29 29
          "format": "cid"
30 30
        },
31 31
        "uri": {
32 32
          "type": "string",
33 33
          "format": "at-uri"
34 34
        },
35 35
        "name": {
36 36
          "type": "string",
37 37
          "maxLength": 63,
38 38
          "minLength": 2
39 39
        },
40 40
        "rules": {
41 41
          "type": "array",
42 42
          "items": {
43 43
            "ref": "#rule",
44 44
            "type": "ref"
45 45
          },
46 46
          "maxLength": 20
47 47
        },
48 +
        "access": {
49 +
          "type": "string",
50 +
          "description": "How Community content is accessed. Public is the only enabled value; clients must fail closed for unknown values.",
51 +
          "knownValues": [
52 +
            "public"
53 +
          ]
54 +
        },
48 55
        "avatar": {
49 56
          "type": "string",
50 -
          "format": "uri"
57 +
          "format": "uri",
58 +
          "description": "The Community's artwork as an image. Animated where the source was, and the only artwork field a client without a video player should read."
51 59
        },
52 60
        "labels": {
53 61
          "type": "array",
54 62
          "items": {
55 63
            "ref": "com.atproto.label.defs#label",
56 64
            "type": "ref"
57 65
          },
58 66
          "description": "Labels applied to this Community. Clients moderate against these exactly as they do app.bsky.feed.defs#postView labels."
59 67
        },
60 68
        "viewer": {
61 69
          "ref": "#viewerState",
62 70
          "type": "ref"
63 71
        },
64 72
        "ownerDid": {
65 73
          "type": "string",
66 74
          "format": "did",
67 75
          "description": "The account whose repository holds the Community declaration record. Clients hydrate it to a profile through their authenticated Bluesky AppView."
68 76
        },
69 77
        "createdAt": {
70 78
          "type": "string",
71 79
          "format": "datetime"
72 80
        },
73 81
        "postCount": {
74 82
          "type": "integer",
75 83
          "minimum": 0
76 84
        },
77 85
        "updatedAt": {
78 86
          "type": "string",
79 87
          "format": "datetime"
80 88
        },
81 89
        "postPolicy": {
82 90
          "type": "string",
83 91
          "description": "The raw value its owner wrote, not the value this service resolved. Absent means anyone, which is also how a server that predates this field behaves.",
84 92
          "knownValues": [
85 93
            "anyone",
86 94
            "members",
87 95
            "moderators"
88 96
          ]
89 97
        },
90 98
        "accentColor": {
91 99
          "type": "string",
92 100
          "maxLength": 32
93 101
        },
102 +
        "avatarVideo": {
103 +
          "type": "string",
104 +
          "format": "uri",
105 +
          "description": "A looping, silent MP4 rendition of the same artwork, when the owner supplied one. Clients that can play video use it for a full-bleed header and fall back to `avatar`; clients that cannot ignore it. It never replaces `avatar`, which stays the still or animated image every surface that is not a video player renders."
106 +
        },
94 107
        "description": {
95 108
          "type": "string",
96 109
          "maxLength": 2000
97 110
        },
98 111
        "memberCount": {
99 112
          "type": "integer",
100 113
          "minimum": 0
114 +
        },
115 +
        "viewerActions": {
116 +
          "type": "array",
117 +
          "items": {
118 +
            "type": "string",
119 +
            "knownValues": [
120 +
              "edit",
121 +
              "unpublish",
122 +
              "publish",
123 +
              "transfer",
124 +
              "delete",
125 +
              "view-reports",
126 +
              "view-audit-log"
127 +
            ]
128 +
          },
129 +
          "maxLength": 32,
130 +
          "description": "Actions the authenticated viewer may perform, decided by the service. Clients render only recognized values and infer nothing from role."
131 +
        },
132 +
        "avatarFallback": {
133 +
          "type": "string",
134 +
          "format": "uri",
135 +
          "description": "A still JPEG or WebP rendition of avatar for constrained or reduced-data connections. Full-capability clients continue to prefer avatar for animated image surfaces."
136 +
        },
137 +
        "declarationUri": {
138 +
          "type": "string",
139 +
          "format": "at-uri",
140 +
          "description": "The live declaration record. Absent means it is the same as uri."
141 +
        },
142 +
        "publicationState": {
143 +
          "type": "string",
144 +
          "description": "Service-owned lifecycle state. Absent means published. Unknown values must be treated as unavailable.",
145 +
          "knownValues": [
146 +
            "published",
147 +
            "unpublished",
148 +
            "deleting",
149 +
            "deleted"
150 +
          ]
101 151
        }
102 152
      },
103 153
      "description": "A hydrated Community. Only the fields that identify the Community are required; counts and viewer state are optional so a cheaper view can omit them without a schema break."
104 154
    },
105 155
    "feedItem": {
106 156
      "type": "object",
107 157
      "required": [
108 158
        "post"
109 159
      ],
110 160
      "properties": {
111 161
        "post": {
112 162
          "type": "string",
113 163
          "format": "at-uri",
114 164
          "description": "The linked app.bsky.feed.post URI. Clients hydrate it through their authenticated Bluesky AppView."
115 165
        },
116 166
        "pinned": {
117 167
          "type": "boolean",
118 168
          "default": false
119 169
        },
120 170
        "status": {
121 171
          "type": "string",
122 172
          "description": "Community-level state; absent means visible. `removed` is a moderator removal scoped to this Community; the underlying app.bsky.feed.post remains live on the network. Only the author and Community moderators receive removed items.",
123 173
          "knownValues": [
124 174
            "visible",
125 175
            "removed"
126 176
          ]
127 177
        },
128 178
        "removedAt": {
129 179
          "type": "string",
130 180
          "format": "datetime"
131 181
        },
132 182
        "removedBy": {
133 183
          "type": "string",
134 184
          "format": "did"
135 185
        },
186 +
        "playbackToken": {
187 +
          "type": "string",
188 +
          "description": "Server-issued, viewer-bound token proving this item was served to this viewer for this post. Clients pass it back to com.getorbyt.video.recordLoop after a completed playback."
189 +
        },
136 190
        "removedReason": {
137 191
          "type": "string",
138 192
          "maxLength": 1000,
139 193
          "description": "Present only for the post author and Community moderators."
194 +
        },
195 +
        "removalActionId": {
196 +
          "type": "string",
197 +
          "maxLength": 128,
198 +
          "description": "Stable identifier for this specific removal. Present to the author and moderators and used to bind one appeal to one removal."
199 +
        }
200 +
      }
201 +
    },
202 +
    "appealView": {
203 +
      "type": "object",
204 +
      "required": [
205 +
        "id",
206 +
        "community",
207 +
        "post",
208 +
        "removalActionId",
209 +
        "authorDid",
210 +
        "text",
211 +
        "status",
212 +
        "createdAt"
213 +
      ],
214 +
      "properties": {
215 +
        "id": {
216 +
          "type": "string",
217 +
          "maxLength": 128
218 +
        },
219 +
        "post": {
220 +
          "type": "string",
221 +
          "format": "at-uri"
222 +
        },
223 +
        "text": {
224 +
          "type": "string",
225 +
          "maxLength": 2000
226 +
        },
227 +
        "status": {
228 +
          "type": "string",
229 +
          "knownValues": [
230 +
            "open",
231 +
            "resolved"
232 +
          ]
233 +
        },
234 +
        "authorDid": {
235 +
          "type": "string",
236 +
          "format": "did"
237 +
        },
238 +
        "community": {
239 +
          "type": "string",
240 +
          "format": "at-uri"
241 +
        },
242 +
        "createdAt": {
243 +
          "type": "string",
244 +
          "format": "datetime"
245 +
        },
246 +
        "resolution": {
247 +
          "type": "string",
248 +
          "knownValues": [
249 +
            "upheld",
250 +
            "restored"
251 +
          ]
252 +
        },
253 +
        "resolvedAt": {
254 +
          "type": "string",
255 +
          "format": "datetime"
256 +
        },
257 +
        "resolvedByDid": {
258 +
          "type": "string",
259 +
          "format": "did"
260 +
        },
261 +
        "resolutionNote": {
262 +
          "type": "string",
263 +
          "maxLength": 2000
264 +
        },
265 +
        "removalActionId": {
266 +
          "type": "string",
267 +
          "maxLength": 128
140 268
        }
141 269
      }
142 270
    },
271 +
    "auditEvent": {
272 +
      "type": "object",
273 +
      "required": [
274 +
        "id",
275 +
        "community",
276 +
        "kind",
277 +
        "actorDid",
278 +
        "createdAt"
279 +
      ],
280 +
      "properties": {
281 +
        "id": {
282 +
          "type": "string",
283 +
          "maxLength": 128
284 +
        },
285 +
        "kind": {
286 +
          "type": "string",
287 +
          "knownValues": [
288 +
            "published",
289 +
            "unpublished",
290 +
            "deletion-begun",
291 +
            "deletion-cancelled",
292 +
            "deleted",
293 +
            "transfer-invited",
294 +
            "transfer-accepted",
295 +
            "transfer-cancelled",
296 +
            "transfer-completed",
297 +
            "member-role-changed",
298 +
            "member-muted",
299 +
            "member-unmuted",
300 +
            "member-banned",
301 +
            "member-unbanned",
302 +
            "post-removed",
303 +
            "post-restored",
304 +
            "post-pinned",
305 +
            "post-unpinned",
306 +
            "report-created",
307 +
            "report-resolved",
308 +
            "appeal-created",
309 +
            "appeal-resolved"
310 +
          ]
311 +
        },
312 +
        "summary": {
313 +
          "type": "string",
314 +
          "maxLength": 2000
315 +
        },
316 +
        "actorDid": {
317 +
          "type": "string",
318 +
          "format": "did"
319 +
        },
320 +
        "community": {
321 +
          "type": "string",
322 +
          "format": "at-uri"
323 +
        },
324 +
        "createdAt": {
325 +
          "type": "string",
326 +
          "format": "datetime"
327 +
        },
328 +
        "subjectDid": {
329 +
          "type": "string",
330 +
          "format": "did"
331 +
        },
332 +
        "subjectUri": {
333 +
          "type": "string",
334 +
          "format": "at-uri"
335 +
        }
336 +
      }
337 +
    },
143 338
    "memberView": {
144 339
      "type": "object",
145 340
      "required": [
146 341
        "did"
147 342
      ],
148 343
      "properties": {
149 344
        "did": {
150 345
          "type": "string",
151 346
          "format": "did"
152 347
        },
153 348
        "role": {
154 349
          "type": "string",
155 350
          "description": "Absent means member.",
156 351
          "knownValues": [
157 352
            "owner",
158 353
            "moderator",
159 354
            "member"
160 355
          ]
161 356
        },
162 357
        "status": {
163 358
          "type": "string",
164 359
          "description": "Absent means active.",
165 360
          "knownValues": [
166 361
            "active",
167 362
            "muted",
168 363
            "banned"
169 364
          ]
170 365
        },
171 366
        "joinedAt": {
172 367
          "type": "string",
173 368
          "format": "datetime"
174 369
        },
175 370
        "membershipUri": {
176 371
          "type": "string",
177 372
          "format": "at-uri"
373 +
        },
374 +
        "viewerActions": {
375 +
          "type": "array",
376 +
          "items": {
377 +
            "type": "string",
378 +
            "knownValues": [
379 +
              "setRole",
380 +
              "mute",
381 +
              "unmute",
382 +
              "ban",
383 +
              "unban"
384 +
            ]
385 +
          },
386 +
          "maxLength": 16,
387 +
          "description": "The manageMember actions this viewer may take on this member, decided by the service. A client renders only the values it recognises and offers nothing else, so a change to who may do what reaches installed clients without a release. Absent means the service predates this field, not that no action is permitted — a client should fall back to its own rules only then."
178 388
        }
179 389
      }
180 390
    },
391 +
    "reportView": {
392 +
      "type": "object",
393 +
      "required": [
394 +
        "id",
395 +
        "community",
396 +
        "post",
397 +
        "reporterDid",
398 +
        "reason",
399 +
        "status",
400 +
        "createdAt"
401 +
      ],
402 +
      "properties": {
403 +
        "id": {
404 +
          "type": "string",
405 +
          "maxLength": 128
406 +
        },
407 +
        "post": {
408 +
          "type": "string",
409 +
          "format": "at-uri"
410 +
        },
411 +
        "reason": {
412 +
          "type": "string",
413 +
          "maxLength": 2000
414 +
        },
415 +
        "status": {
416 +
          "type": "string",
417 +
          "knownValues": [
418 +
            "open",
419 +
            "resolved"
420 +
          ]
421 +
        },
422 +
        "community": {
423 +
          "type": "string",
424 +
          "format": "at-uri"
425 +
        },
426 +
        "createdAt": {
427 +
          "type": "string",
428 +
          "format": "datetime"
429 +
        },
430 +
        "resolution": {
431 +
          "type": "string",
432 +
          "knownValues": [
433 +
            "removed",
434 +
            "dismissed"
435 +
          ]
436 +
        },
437 +
        "resolvedAt": {
438 +
          "type": "string",
439 +
          "format": "datetime"
440 +
        },
441 +
        "reporterDid": {
442 +
          "type": "string",
443 +
          "format": "did"
444 +
        },
445 +
        "resolvedByDid": {
446 +
          "type": "string",
447 +
          "format": "did"
448 +
        },
449 +
        "resolutionNote": {
450 +
          "type": "string",
451 +
          "maxLength": 2000
452 +
        }
453 +
      }
454 +
    },
181 455
    "viewerState": {
182 456
      "type": "object",
183 457
      "properties": {
184 458
        "role": {
185 459
          "type": "string",
186 460
          "knownValues": [
187 461
            "owner",
188 462
            "moderator",
189 463
            "member"
190 464
          ]
191 465
        },
192 466
        "canPost": {
193 467
          "type": "boolean",
194 468
          "default": false
195 469
        },
196 470
        "canManage": {
197 471
          "type": "boolean",
198 472
          "default": false
199 473
        },
200 474
        "canModerate": {
201 475
          "type": "boolean",
202 476
          "default": false
203 477
        },
204 478
        "membershipUri": {
205 479
          "type": "string",
206 480
          "format": "at-uri"
207 481
        },
482 +
        "canAssignRoles": {
483 +
          "type": "boolean",
484 +
          "default": false,
485 +
          "description": "Whether this viewer may promote or demote another member. Separate from canManage, which is authority over the declaration record itself and belongs only to the repository that holds it. A service may grant administration to an account that does not hold the record."
486 +
        },
208 487
        "membershipStatus": {
209 488
          "type": "string",
210 489
          "description": "Absent means none.",
211 490
          "knownValues": [
212 491
            "none",
213 492
            "active",
214 493
            "muted",
215 494
            "banned"
216 495
          ]
496 +
        },
497 +
        "canListRestrictedMembers": {
498 +
          "type": "boolean",
499 +
          "default": false,
500 +
          "description": "Whether listMembers will answer this viewer for a status other than active. Stated rather than inferred from canModerate so the rule can change without a client release; a client that predates this field may fall back to canModerate."
217 501
        }
218 502
      },
219 503
      "description": "The requesting account's relationship to a Community. Every field is optional; an absent field means the viewer holds no membership and no privilege."
220 504
    },
221 505
    "writeStatus": {
222 506
      "type": "object",
223 507
      "required": [
224 508
        "uri",
225 509
        "status"
226 510
      ],
227 511
      "properties": {
228 512
        "uri": {
229 513
          "type": "string",
230 514
          "format": "at-uri"
231 515
        },
232 516
        "error": {
233 517
          "type": "string",
234 518
          "maxLength": 1000,
235 519
          "description": "Why the record was rejected. Present only for `rejected`."
236 520
        },
237 521
        "status": {
238 522
          "type": "string",
239 523
          "description": "`pending` means the record has not reached this service yet, which is the normal state for a few seconds after a write. `rejected` means it will never be indexed as written.",
240 524
          "knownValues": [
241 525
            "indexed",
242 526
            "pending",
243 527
            "rejected",
244 528
            "deleted"
245 529
          ]
246 530
        },
247 531
        "indexedAt": {
248 532
          "type": "string",
249 533
          "format": "datetime"
250 534
        }
251 535
      },
252 536
      "description": "The fate of one record the caller wrote to their own repository."
537 +
    },
538 +
    "transferView": {
539 +
      "type": "object",
540 +
      "required": [
541 +
        "id",
542 +
        "community",
543 +
        "fromDid",
544 +
        "toDid",
545 +
        "status",
546 +
        "expiresAt",
547 +
        "createdAt"
548 +
      ],
549 +
      "properties": {
550 +
        "id": {
551 +
          "type": "string",
552 +
          "maxLength": 128
553 +
        },
554 +
        "toDid": {
555 +
          "type": "string",
556 +
          "format": "did"
557 +
        },
558 +
        "status": {
559 +
          "type": "string",
560 +
          "knownValues": [
561 +
            "pending",
562 +
            "accepted",
563 +
            "completed",
564 +
            "cancelled",
565 +
            "expired"
566 +
          ]
567 +
        },
568 +
        "fromDid": {
569 +
          "type": "string",
570 +
          "format": "did"
571 +
        },
572 +
        "community": {
573 +
          "type": "string",
574 +
          "format": "at-uri"
575 +
        },
576 +
        "createdAt": {
577 +
          "type": "string",
578 +
          "format": "datetime"
579 +
        },
580 +
        "expiresAt": {
581 +
          "type": "string",
582 +
          "format": "datetime"
583 +
        },
584 +
        "updatedAt": {
585 +
          "type": "string",
586 +
          "format": "datetime"
587 +
        },
588 +
        "cancelledByDid": {
589 +
          "type": "string",
590 +
          "format": "did",
591 +
          "description": "Who ended the invitation. Present only once status is cancelled, and the one thing that tells a withdrawal by the inviting account apart from a decline by the invited one."
592 +
        },
593 +
        "replacementDeclarationUri": {
594 +
          "type": "string",
595 +
          "format": "at-uri"
596 +
        }
597 +
      }
253 598
    }
254 599
  },
255 600
  "$type": "com.atproto.lexicon.schema",
256 601
  "lexicon": 1
257 602
}

Compare Other Versions

Lexicon Garden

@