community.cheese.log

A personal log entry about one or more cheeses

Details · record, key tid
Kindrecord
Record keytid
Authoritycheese.community
Indexed

Showing version bafyreie6u4btqoifkfm5sas6vza5pao6p674u7uq3so425mynnne63rysa. Show the latest

cid bafyreie6u4btqoifkfm5sas6vza5pao6p674u7uq3so425mynnne63rysa

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "cheese": {
      "description": "Cheese type fields embedded in a log entry",
      "properties": {
        "agedWeeks": {
          "description": "Typical aging time in weeks",
          "minimum": 0,
          "type": "integer"
        },
        "aka": {
          "description": "Also-known-as names for the cheese",
          "items": {
            "maxLength": 200,
            "type": "string"
          },
          "maxLength": 20,
          "type": "array"
        },
        "availableMonths": {
          "description": "Months the cheese is available (1-12) if seasonal",
          "items": {
            "maximum": 12,
            "minimum": 1,
            "type": "integer"
          },
          "maxLength": 12,
          "type": "array"
        },
        "description": {
          "description": "General description of the cheese",
          "maxLength": 5000,
          "type": "string"
        },
        "link": {
          "description": "Optional reference link about the cheese",
          "format": "uri",
          "maxLength": 500,
          "type": "string"
        },
        "milk": {
          "description": "Milk source (e.g., cow, goat, sheep, buffalo, mixed)",
          "maxLength": 100,
          "type": "string"
        },
        "name": {
          "description": "Name of the cheese",
          "maxLength": 200,
          "type": "string"
        },
        "origin": {
          "description": "Geographic and producer origin of the cheese",
          "ref": "#origin",
          "type": "ref"
        },
        "pasteurized": {
          "description": "Whether the cheese is made from pasteurized milk",
          "type": "boolean"
        },
        "rind": {
          "description": "Rind type (e.g., washed, bloomy, natural)",
          "maxLength": 100,
          "type": "string"
        },
        "seasonal": {
          "description": "Whether the cheese has restricted seasonal availability",
          "type": "boolean"
        },
        "servingTempCelsius": {
          "description": "Recommended serving temperature range in Celsius",
          "ref": "#temperatureRange",
          "type": "ref"
        },
        "tastingNotes": {
          "description": "Tasting notes and flavor profile",
          "maxLength": 2000,
          "type": "string"
        },
        "texture": {
          "description": "Texture classification",
          "knownValues": [
            "soft",
            "semi-soft",
            "semi-hard",
            "hard",
            "blue"
          ],
          "maxLength": 50,
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "main": {
      "description": "A personal log entry about one or more cheeses",
      "key": "tid",
      "record": {
        "properties": {
          "action": {
            "description": "What the user did or wants to do with the cheese (e.g., ate, bought, wishlisted)",
            "knownValues": [
              "ate",
              "bought",
              "wishlisted"
            ],
            "maxLength": 50,
            "type": "string"
          },
          "cheeseRefs": {
            "description": "AT-URI references to the canonical cheese type records for this log entry (one or more)",
            "items": {
              "format": "at-uri",
              "type": "string"
            },
            "maxLength": 20,
            "minLength": 1,
            "type": "array"
          },
          "cheeses": {
            "description": "Snapshots of the cheese type fields at the time of logging, aligned by index with cheeseRefs",
            "items": {
              "ref": "#cheese",
              "type": "ref"
            },
            "maxLength": 20,
            "minLength": 1,
            "type": "array"
          },
          "createdAt": {
            "description": "Timestamp when the log was created",
            "format": "datetime",
            "type": "string"
          },
          "notes": {
            "description": "Personal notes about the cheese",
            "maxLength": 2000,
            "type": "string"
          },
          "photos": {
            "description": "Optional photos of the cheese",
            "items": {
              "ref": "#photo",
              "type": "ref"
            },
            "maxLength": 4,
            "type": "array"
          }
        },
        "required": [
          "cheeseRefs",
          "cheeses",
          "action",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "origin": {
      "description": "Geographic and producer origin of a cheese",
      "properties": {
        "country": {
          "maxLength": 100,
          "type": "string"
        },
        "producer": {
          "maxLength": 200,
          "type": "string"
        },
        "region": {
          "maxLength": 100,
          "type": "string"
        }
      },
      "type": "object"
    },
    "photo": {
      "accept": [
        "image/*"
      ],
      "description": "A photo of the cheese",
      "maxSize": 10000000,
      "type": "blob"
    },
    "temperatureRange": {
      "description": "A numeric range",
      "properties": {
        "max": {
          "description": "Maximum value",
          "type": "integer"
        },
        "min": {
          "description": "Minimum value",
          "type": "integer"
        }
      },
      "required": [
        "min",
        "max"
      ],
      "type": "object"
    }
  },
  "description": "A cheese log: take notes on buying, eating, or wanting to do either of those things with cheese",
  "id": "community.cheese.log",
  "lexicon": 1
}