diff --git a/lexicons/me/woach/content/anilist.json b/lexicons/me/woach/content/anilist.json deleted file mode 100644 index 06b6ab9..0000000 --- a/lexicons/me/woach/content/anilist.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "lexicon": 1, - "id": "me.woach.content.anilist", - "defs": { - "main": { - "type": "object", - "required": ["id"], - "key": "nsid", - "properties": { - "id": { "type": "integer" } - } - } - } -} diff --git a/lexicons/my/spoor/content/external.json b/lexicons/my/spoor/content/external.json new file mode 100644 index 0000000..ae74ab0 --- /dev/null +++ b/lexicons/my/spoor/content/external.json @@ -0,0 +1,30 @@ +{ + "lexicon": 1, + "id": "my.spoor.content.external", + "defs": { + "main": { + "type": "object", + "required": [ "source", "queryable" ], + "key": "nsid", + "properties": { + "source": { + "type": "string", + "description": "An nsid for a specific data source. The domain authority governs how to process the queryable", + "format": "nsid", + "knownValues": [ + "my.spoor.content.external#tvdb" + ] + }, + "queryable": { + "type": "union", + "description": "All the data needed to query the content from the source" + }, + "overrides": { + "type": "object", + "description": "User defined overrides for the returned content", + "properties": {} + } + } + } + } +} diff --git a/lexicons/me/woach/content/media.json b/lexicons/my/spoor/content/media.json similarity index 85% rename from lexicons/me/woach/content/media.json rename to lexicons/my/spoor/content/media.json index 0ea082a..3f18ad8 100644 --- a/lexicons/me/woach/content/media.json +++ b/lexicons/my/spoor/content/media.json @@ -1,6 +1,6 @@ { "lexicon": 1, - "id": "me.woach.content.media", + "id": "my.spoor.content.media", "defs": { "main": { "type": "object", @@ -12,14 +12,14 @@ "minLength": 1, "items": { "type": "ref", - "ref": "me.woach.content.title" + "ref": "my.spoor.content.title" } }, "durationData": { "type": "union", "refs": [ - "me.woach.content.media#television", - "me.woach.content.media#book" + "my.spoor.content.media#television", + "my.spoor.content.media#book" ] }, "posterImage": { diff --git a/lexicons/me/woach/content/title.json b/lexicons/my/spoor/content/title.json similarity index 72% rename from lexicons/me/woach/content/title.json rename to lexicons/my/spoor/content/title.json index 0394b9f..48f338d 100644 --- a/lexicons/me/woach/content/title.json +++ b/lexicons/my/spoor/content/title.json @@ -1,16 +1,17 @@ { "lexicon": 1, - "id": "me.woach.content.title", + "id": "my.spoor.content.title", "defs": { "main": { "type": "object", "properties": { "language": { "type": "string", + "format": "nsid", "knownValues": [ - "me.woach.content.title#romanization", - "me.woach.content.title#english", - "me.woach.content.title#native" + "my.spoor.content.title#romanization", + "my.spoor.content.title#english", + "my.spoor.content.title#native" ] }, "value": { "type": "string", "minLength": 1 } diff --git a/lexicons/me/woach/feed/activity.json b/lexicons/my/spoor/log/activity.json similarity index 64% rename from lexicons/me/woach/feed/activity.json rename to lexicons/my/spoor/log/activity.json index 67ab025..f3035fb 100644 --- a/lexicons/me/woach/feed/activity.json +++ b/lexicons/my/spoor/log/activity.json @@ -1,10 +1,10 @@ { "lexicon": 1, - "id": "me.woach.feed.activity", + "id": "my.spoor.log.activity", "defs": { "main": { "type": "record", - "description": "A single activity log for a specific show", + "description": "A single activity (spoor) for a specific session", "key": "tid", "record": { "type": "object", @@ -13,13 +13,15 @@ "properties": { "session": { "type": "ref", "ref": "com.atproto.repo.strongRef" }, "progress": { - "type": "integer", - "description": "The episode/chapter number for the content consumed." + "type": "union", + "refs": [ + "my.spoor.log.activity#indexProgress" + ] }, "performedAt": { "type": "string", "format": "datetime", - "description": "User-declared timestamp for when they performed the activity." + "description": "User-declared timestamp for when they performed the activity. Null implies unknown time." }, "createdAt": { "type": "string", @@ -28,6 +30,10 @@ } } } + }, + "indexProgress": { + "type": "integer", + "description": "The index of the content consumed. Content must be indexable" } } } diff --git a/lexicons/me/woach/feed/session.json b/lexicons/my/spoor/log/session.json similarity index 84% rename from lexicons/me/woach/feed/session.json rename to lexicons/my/spoor/log/session.json index a7979c7..4da7738 100644 --- a/lexicons/me/woach/feed/session.json +++ b/lexicons/my/spoor/log/session.json @@ -1,6 +1,6 @@ { "lexicon": 1, - "id": "me.woach.feed.session", + "id": "my.spoor.log.session", "defs": { "main": { "type": "record", @@ -16,9 +16,9 @@ "maxGraphemes": 64, "maxLength": 640 }, - "participants": { + "otherParticipants": { "type": "array", - "items": { "type": "ref", "ref": "com.atproto.repo.strongRef" } + "items": { "type": "string", "format": "did" } }, "createdAt": { "type": "string",