{
"id": "net.atpix.gallery.defs",
"defs": {
"album": {
"type": "object",
"required": [
"name",
"createdAt",
"visibility"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200
},
"creator": {
"type": "string",
"format": "did"
},
"spaceUri": {
"type": "string",
"maxLength": 512
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"modifiedAt": {
"type": "string",
"format": "datetime"
},
"visibility": {
"ref": "#visibility",
"type": "ref"
},
"description": {
"type": "string",
"maxLength": 5000
},
"coverPhotoUri": {
"type": "string",
"format": "at-uri"
},
"collectionRuleUris": {
"type": "array",
"items": {
"type": "string",
"format": "at-uri"
}
}
}
},
"photo": {
"type": "object",
"required": [
"image",
"createdAt"
],
"properties": {
"image": {
"type": "blob",
"accept": [
"image/*"
]
},
"title": {
"type": "string",
"maxLength": 500
},
"width": {
"type": "integer",
"minimum": 1
},
"height": {
"type": "integer",
"minimum": 1
},
"source": {
"type": "string",
"format": "at-uri"
},
"caption": {
"type": "string",
"maxLength": 2000
},
"creator": {
"type": "string",
"format": "did"
},
"license": {
"type": "string",
"format": "uri"
},
"keywords": {
"type": "array",
"items": {
"type": "string",
"maxLength": 64
}
},
"spaceUri": {
"type": "string",
"maxLength": 512
},
"albumUris": {
"type": "array",
"items": {
"type": "string",
"format": "at-uri"
}
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"thumbnail": {
"type": "blob",
"accept": [
"image/*"
]
},
"inLanguage": {
"type": "string",
"maxLength": 35
},
"modifiedAt": {
"type": "string",
"format": "datetime"
},
"visibility": {
"ref": "#visibility",
"type": "ref"
},
"contributor": {
"type": "string",
"format": "did"
},
"description": {
"type": "string",
"maxLength": 5000
},
"copyrightHolder": {
"type": "string",
"format": "did"
},
"locationCreated": {
"ref": "#geoPlace",
"type": "ref"
}
},
"description": "Hydrated photo record view (subset of net.atpix.gallery.photo fields)."
},
"geoPlace": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 500,
"description": "schema:Place.name — human-readable place name."
},
"latitude": {
"type": "string",
"description": "schema:GeoCoordinates.latitude (WGS 84), decimal degrees as a string (atproto has no float type)."
},
"longitude": {
"type": "string",
"description": "schema:GeoCoordinates.longitude (WGS 84), decimal degrees as a string (atproto has no float type)."
}
},
"description": "Subset of schema:Place for schema:locationCreated."
},
"albumView": {
"type": "object",
"required": [
"uri",
"cid",
"author",
"record"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"uri": {
"type": "string",
"format": "at-uri"
},
"author": {
"type": "string",
"format": "did"
},
"record": {
"ref": "#album",
"type": "ref"
}
}
},
"photoView": {
"type": "object",
"required": [
"uri",
"cid",
"author",
"record"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"uri": {
"type": "string",
"format": "at-uri"
},
"author": {
"type": "string",
"format": "did"
},
"record": {
"ref": "#photo",
"type": "ref"
}
}
},
"visibility": {
"enum": [
"public",
"unlisted",
"permissioned"
],
"type": "string",
"description": "ATPix visibility scope. Permissioned uses HappyView Permissioned Spaces (ATP-0016)."
},
"targetScope": {
"enum": [
"gallery",
"album"
],
"type": "string",
"description": "Whether a collection rule powers the social gallery feed or a specific album."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}