Lexicons, move lexicons to submodule

This commit is contained in:
Julia Lange 2025-05-08 14:31:02 -07:00
parent e0a510afad
commit ec141315d1
Signed by: Julia
SSH key fingerprint: SHA256:50XUMcOFYPUs9/1j7p9SPnwASZ7QnxXm7THF7HkbqzQ
7 changed files with 4 additions and 199 deletions

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "lexicons"]
path = lexicons
url = ssh://forgejo@winry.woach.me:922/Spoor/lexicons.git

1
lexicons Submodule

@ -0,0 +1 @@
Subproject commit 0c7e67126c2eb46bd1901c2c329d1139747d7e89

View file

@ -1,42 +0,0 @@
{
"lexicon": 1,
"id": "my.spoor.content.external",
"defs": {
"main": {
"type": "record",
"key": "nsid",
"record": {
"type": "object",
"required": [ "source", "queryable" ],
"properties": {
"titles": {
"type": "array",
"minLength": 1,
"items": {
"type": "ref",
"ref": "my.spoor.content.title"
}
},
"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",
"refs": []
},
"overrides": {
"type": "union",
"description": "User defined overrides for the returned content",
"refs": []
}
}
}
}
}
}

View file

@ -1,53 +0,0 @@
{
"lexicon": 1,
"id": "my.spoor.content.media",
"defs": {
"main": {
"type": "record",
"key": "nsid",
"record": {
"type": "object",
"required": [ "titles", "lastUpdated" ],
"properties": {
"titles": {
"type": "array",
"minLength": 1,
"items": {
"type": "ref",
"ref": "my.spoor.content.title"
}
},
"durationData": {
"type": "union",
"refs": [
"my.spoor.content.media#television",
"my.spoor.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}
}
}
}
}

View file

@ -1,29 +0,0 @@
{
"lexicon": 1,
"id": "my.spoor.content.title",
"defs": {
"main": {
"type": "object",
"properties": {
"translationType": {
"type": "string",
"format": "nsid",
"knownValues": [
"#titleHomophonic", "#titleNative", "#titleTranslation"
]
},
"lang": {
"type": "string",
"format": "language"
},
"value": { "type": "string", "minLength": 1 }
}
},
"titleHomophonic": { "type": "token",
"description": "A phonetic transcription of the native title such that when read it will sound like the native title." },
"titleNative": { "type": "token",
"description": "The title in its native script" },
"titleTranslation": { "type": "token",
"description": "A translation of the title" }
}
}

View file

@ -1,43 +0,0 @@
{
"lexicon": 1,
"id": "my.spoor.log.activity",
"defs": {
"main": {
"type": "record",
"description": "A single activity (spoor) for a specific session",
"key": "tid",
"record": {
"type": "object",
"required": ["session", "progress", "createdAt"],
"nullable": ["performedAt"],
"properties": {
"session": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
"progress": {
"type": "union",
"refs": [
"#progressIndex"
]
},
"performedAt": {
"type": "string",
"format": "datetime",
"description": "User-declared timestamp for when they performed the activity. Null implies unknown time."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Client-declared timestamp for when this activity was created"
}
}
}
},
"progressIndex": {
"type": "object",
"description": "The index of the content consumed. Content must be indexable",
"required": [ "index" ],
"properties": {
"index": { "type": "integer" }
}
}
}
}

View file

@ -1,32 +0,0 @@
{
"lexicon": 1,
"id": "my.spoor.log.session",
"defs": {
"main": {
"type": "record",
"description": "A session of consuming some content",
"key": "tid",
"record": {
"type": "object",
"required": ["content", "createdAt"],
"properties": {
"content": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
"label": {
"type": "string",
"maxGraphemes": 64,
"maxLength": 640
},
"otherParticipants": {
"type": "array",
"items": { "type": "string", "format": "did" }
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Client-declared timestamp for when this activity was created"
}
}
}
}
}
}