social.grain.unspecced.createPoolGallery
Add a gallery to a group's pool: one permissioned space (social.grain.group) anchored on the group, holding every member's galleries. The gallery, its photos and its items are the author's own records in their own repo, written inside that space — so only the group's members can read them, and they leave with the author.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | unspecced.grain.social |
| Indexed |
Checks
Validunlimited-stringdefs.main.output.schema.properties.spaceNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.photoInput.properties.altNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Add a gallery to a group's pool: one permissioned space (social.grain.group) anchored on the group, holding every member's galleries. The gallery, its photos and its items are the author's own records in their own repo, written inside that space — so only the group's members can read them, and they leave with the author.",
"errors": [
{
"description": "The author's PDS does not serve permissioned spaces.",
"name": "SpacesUnsupported"
},
{
"description": "The viewer is not a member of this group's pool.",
"name": "NotAuthorized"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"description": {
"maxLength": 1000,
"type": "string"
},
"group": {
"description": "The group whose pool this goes into.",
"format": "did",
"type": "string"
},
"photos": {
"items": {
"ref": "#photoInput",
"type": "ref"
},
"maxLength": 100,
"type": "array"
},
"rkey": {
"description": "Record key for the gallery, in the author's repo.",
"maxLength": 64,
"type": "string"
},
"title": {
"maxLength": 100,
"type": "string"
}
},
"required": [
"group",
"rkey",
"title"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"space": {
"description": "The pool space it was written into.",
"type": "string"
},
"uri": {
"format": "at-uri",
"type": "string"
}
},
"required": [
"space",
"uri"
],
"type": "object"
}
},
"type": "procedure"
},
"photoInput": {
"properties": {
"alt": {
"type": "string"
},
"aspectRatio": {
"ref": "social.grain.defs#aspectRatio",
"type": "ref"
},
"photo": {
"accept": [
"image/*"
],
"maxSize": 1000000,
"type": "blob"
}
},
"required": [
"photo",
"aspectRatio"
],
"type": "object"
}
},
"id": "social.grain.unspecced.createPoolGallery",
"lexicon": 1
}