comAtprotoLabelDefs top-level constant
com.atproto.label.defs
Implementation
const comAtprotoLabelDefs = <String, dynamic>{
"lexicon": 1,
"id": "com.atproto.label.defs",
"defs": {
"label": {
"type": "object",
"description":
"Metadata tag on an atproto resource (eg, repo or record).",
"required": ["src", "uri", "val", "cts"],
"properties": {
"ver": {
"type": "integer",
"description": "The AT Protocol version of the label object."
},
"src": {
"type": "string",
"format": "did",
"description": "DID of the actor who created this label."
},
"uri": {
"type": "string",
"format": "uri",
"description":
"AT URI of the record, repository (account), or other resource that this label applies to."
},
"cid": {
"type": "string",
"format": "cid",
"description":
"Optionally, CID specifying the specific version of 'uri' resource this label applies to."
},
"val": {
"type": "string",
"description":
"The short string name of the value or type of this label.",
"maxLength": 128
},
"neg": {
"type": "boolean",
"description":
"If true, this is a negation label, overwriting a previous label."
},
"cts": {
"type": "string",
"format": "datetime",
"description": "Timestamp when this label was created."
},
"exp": {
"type": "string",
"format": "datetime",
"description":
"Timestamp at which this label expires (no longer applies)."
},
"sig": {
"type": "bytes",
"description": "Signature of dag-cbor encoded label."
}
}
},
"selfLabels": {
"type": "object",
"description":
"Metadata tags on an atproto record, published by the author within the record.",
"required": ["values"],
"properties": {
"values": {
"type": "array",
"items": {"type": "ref", "ref": "#selfLabel"},
"maxLength": 10
}
}
},
"selfLabel": {
"type": "object",
"description":
"Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel.",
"required": ["val"],
"properties": {
"val": {
"type": "string",
"description":
"The short string name of the value or type of this label.",
"maxLength": 128
}
}
},
"labelValueDefinition": {
"type": "object",
"description":
"Declares a label value and its expected interpertations and behaviors.",
"required": ["identifier", "severity", "blurs", "locales"],
"properties": {
"identifier": {
"type": "string",
"description":
"The value of the label being defined. Must only include lowercase ascii and the '-' character ([a-z-]+).",
"maxLength": 100,
"maxGraphemes": 100
},
"severity": {
"type": "string",
"description":
"How should a client visually convey this label? 'inform' means neutral and informational; 'alert' means negative and warning; 'none' means show nothing.",
"knownValues": ["inform", "alert", "none"]
},
"blurs": {
"type": "string",
"description":
"What should this label hide in the UI, if applied? 'content' hides all of the target; 'media' hides the images/video/audio; 'none' hides nothing.",
"knownValues": ["content", "media", "none"]
},
"defaultSetting": {
"type": "string",
"description": "The default setting for this label.",
"default": "warn",
"knownValues": ["ignore", "warn", "hide"]
},
"adultOnly": {
"type": "boolean",
"description":
"Does the user need to have adult content enabled in order to configure this label?"
},
"locales": {
"type": "array",
"items": {"type": "ref", "ref": "#labelValueDefinitionStrings"}
}
}
},
"labelValueDefinitionStrings": {
"type": "object",
"description":
"Strings which describe the label in the UI, localized into a specific language.",
"required": ["lang", "name", "description"],
"properties": {
"lang": {
"type": "string",
"format": "language",
"description":
"The code of the language these strings are written in."
},
"name": {
"type": "string",
"description": "A short human-readable name for the label.",
"maxLength": 640,
"maxGraphemes": 64
},
"description": {
"type": "string",
"description":
"A longer description of what the label means and why it might be applied.",
"maxLength": 100000,
"maxGraphemes": 10000
}
}
},
"labelValue": {
"type": "string",
"knownValues": [
"!hide",
"!no-promote",
"!warn",
"!no-unauthenticated",
"dmca-violation",
"doxxing",
"porn",
"sexual",
"nudity",
"nsfl",
"gore"
]
}
}
};