From 360a3b3fdeab6afd89f2bf769abda1245895073d Mon Sep 17 00:00:00 2001 From: Julia Lange Date: Fri, 21 Mar 2025 19:54:05 -0700 Subject: [PATCH] me.woach.content, add atproto media storage --- lexicons/me/woach/content/media.json | 50 ++++++++++++++++++++++++++++ lexicons/me/woach/content/title.json | 26 +++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 lexicons/me/woach/content/media.json create mode 100644 lexicons/me/woach/content/title.json diff --git a/lexicons/me/woach/content/media.json b/lexicons/me/woach/content/media.json new file mode 100644 index 0000000..0ea082a --- /dev/null +++ b/lexicons/me/woach/content/media.json @@ -0,0 +1,50 @@ +{ + "lexicon": 1, + "id": "me.woach.content.media", + "defs": { + "main": { + "type": "object", + "key": "nsid", + "required": [ "titles", "durationData", "lastUpdated" ], + "properties": { + "titles": { + "type": "array", + "minLength": 1, + "items": { + "type": "ref", + "ref": "me.woach.content.title" + } + }, + "durationData": { + "type": "union", + "refs": [ + "me.woach.content.media#television", + "me.woach.content.media#book" + ] + }, + "posterImage": { + "type": "blob", + "accept": ["image/png", "image/jpeg"], + "maxSize": 1000000 + }, + "lastUpdated": { + "type": "string", + "format": "datetime", + "description": "Client-declared timestamp for when this activity was last updated" + } + } + }, + "television": { + "type": "object", + "properties": { + "episodes": { "type": "integer", "minimum": 0} + } + }, + "book": { + "type": "object", + "properties": { + "chapters": { "type": "integer", "minimum": 0} + } + } + } +} diff --git a/lexicons/me/woach/content/title.json b/lexicons/me/woach/content/title.json new file mode 100644 index 0000000..0394b9f --- /dev/null +++ b/lexicons/me/woach/content/title.json @@ -0,0 +1,26 @@ +{ + "lexicon": 1, + "id": "me.woach.content.title", + "defs": { + "main": { + "type": "object", + "properties": { + "language": { + "type": "string", + "knownValues": [ + "me.woach.content.title#romanization", + "me.woach.content.title#english", + "me.woach.content.title#native" + ] + }, + "value": { "type": "string", "minLength": 1 } + } + }, + "romanization": { "type": "token", + "description": "Romanization of the native title" }, + "english": { "type": "token", + "description": "English translation or title" }, + "native": { "type": "token", + "description": "Native title" } + } +}