{
"id": "community.cheese.type",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"name",
"createdAt"
],
"properties": {
"aka": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxLength": 20,
"description": "Also-known-as names for the cheese"
},
"link": {
"type": "string",
"format": "uri",
"maxLength": 500,
"description": "Optional reference link about the cheese"
},
"milk": {
"type": "string",
"maxLength": 100,
"description": "Milk source (e.g., cow, goat, sheep, buffalo, mixed)"
},
"name": {
"type": "string",
"maxLength": 200,
"description": "Name of the cheese"
},
"rind": {
"type": "string",
"maxLength": 100,
"description": "Rind type (e.g., washed, bloomy, natural)"
},
"photo": {
"type": "blob",
"accept": [
"image/*"
],
"maxSize": 10000000,
"description": "A photo of the cheese"
},
"origin": {
"ref": "#origin",
"type": "ref",
"description": "Geographic and producer origin of the cheese"
},
"source": {
"ref": "#source",
"type": "ref",
"description": "Where the canonical type information was sourced from"
},
"texture": {
"type": "string",
"maxLength": 50,
"description": "Texture classification",
"knownValues": [
"soft",
"semi-soft",
"semi-hard",
"hard",
"blue"
]
},
"seasonal": {
"type": "boolean",
"description": "Whether the cheese has restricted seasonal availability"
},
"agedWeeks": {
"type": "integer",
"minimum": 0,
"description": "Typical aging time in weeks"
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp when the type record was created"
},
"description": {
"type": "string",
"maxLength": 5000,
"description": "General description of the cheese"
},
"pasteurized": {
"type": "boolean",
"description": "Whether the cheese is made from pasteurized milk"
},
"tastingNotes": {
"type": "string",
"maxLength": 2000,
"description": "Tasting notes and flavor profile"
},
"availableMonths": {
"type": "array",
"items": {
"type": "integer",
"maximum": 12,
"minimum": 1
},
"maxLength": 12,
"description": "Months the cheese is available (1-12) if seasonal"
},
"servingTempCelsius": {
"ref": "#temperatureRange",
"type": "ref",
"description": "Recommended serving temperature range in Celsius"
}
}
},
"description": "A canonical cheese type record"
},
"origin": {
"type": "object",
"properties": {
"region": {
"type": "string",
"maxLength": 100
},
"country": {
"type": "string",
"maxLength": 100
},
"producer": {
"type": "string",
"maxLength": 200
}
},
"description": "Geographic and producer origin of a cheese"
},
"source": {
"type": "object",
"required": [
"uri"
],
"properties": {
"uri": {
"type": "string",
"format": "uri",
"maxLength": 500,
"description": "URI of the source (e.g., Wikipedia page)"
},
"notes": {
"type": "string",
"maxLength": 1000,
"description": "Notes about the source"
}
},
"description": "Source information for a canonical cheese type"
},
"temperatureRange": {
"type": "object",
"required": [
"min",
"max"
],
"properties": {
"max": {
"type": "integer",
"description": "Maximum value"
},
"min": {
"type": "integer",
"description": "Minimum value"
}
},
"description": "A numeric range"
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"description": "A canonical cheese type record"
}