tangled
alpha
login
or
join now
teal.fm
/
teal
110
fork
atom
Your music, beautifully tracked. All yours. (coming soon)
teal.fm
teal-fm
atproto
110
fork
atom
overview
issues
pulls
pipelines
start social lexicon
mmatt.net
10 months ago
8d4fcd39
2c3991fe
+104
1 changed file
expand all
collapse all
unified
split
packages
lexicons
real
fm
teal
alpha
feed
social
post.json
+104
packages/lexicons/real/fm/teal/alpha/feed/social/post.json
···
1
1
+
{
2
2
+
"lexicon": 1,
3
3
+
"id": "fm.teal.alpha.feed.social.post",
4
4
+
"description": "This lexicon is in a not officially released state. It is subject to change. | Record containing a teal.fm post. Teal.fm posts include a track that is connected to the post, and could have some text. Replies, by default, have the same track as the parent post.",
5
5
+
"defs": {
6
6
+
"main": {
7
7
+
"type": "record",
8
8
+
"description": "Record containing a teal.fm post.",
9
9
+
"key": "tid",
10
10
+
"record": {
11
11
+
"type": "object",
12
12
+
"required": ["text", "createdAt"],
13
13
+
"properties": {
14
14
+
"text": {
15
15
+
"type": "string",
16
16
+
"maxLength": 3000,
17
17
+
"maxGraphemes": 300,
18
18
+
"description": "The primary post content. May be an empty string, if there are embeds."
19
19
+
},
20
20
+
"trackName": {
21
21
+
"type": "string",
22
22
+
"minLength": 1,
23
23
+
"maxLength": 256,
24
24
+
"maxGraphemes": 2560,
25
25
+
"description": "The name of the track"
26
26
+
},
27
27
+
"trackMbId": {
28
28
+
"type": "string",
29
29
+
"description": "The Musicbrainz ID of the track"
30
30
+
},
31
31
+
"recordingMbId": {
32
32
+
"type": "string",
33
33
+
"description": "The Musicbrainz recording ID of the track"
34
34
+
},
35
35
+
"duration": {
36
36
+
"type": "integer",
37
37
+
"description": "The duration of the track in seconds"
38
38
+
},
39
39
+
"artistNames": {
40
40
+
"type": "array",
41
41
+
"items": {
42
42
+
"type": "string",
43
43
+
"minLength": 1,
44
44
+
"maxLength": 256,
45
45
+
"maxGraphemes": 2560
46
46
+
},
47
47
+
"description": "The names of the artists"
48
48
+
},
49
49
+
"artistMbIds": {
50
50
+
"type": "array",
51
51
+
"items": {
52
52
+
"type": "string"
53
53
+
},
54
54
+
"description": "The Musicbrainz IDs of the artists"
55
55
+
},
56
56
+
"releaseName": {
57
57
+
"type": "string",
58
58
+
"maxLength": 256,
59
59
+
"maxGraphemes": 2560,
60
60
+
"description": "The name of the release/album"
61
61
+
},
62
62
+
"releaseMbId": {
63
63
+
"type": "string",
64
64
+
"description": "The Musicbrainz ID of the release/album"
65
65
+
},
66
66
+
"isrc": {
67
67
+
"type": "string",
68
68
+
"description": "The ISRC code associated with the recording"
69
69
+
},
70
70
+
"facets": {
71
71
+
"type": "array",
72
72
+
"items": { "type": "ref", "ref": "#facetRef" }
73
73
+
},
74
74
+
"reply": { "type": "ref", "ref": "#replyRef" },
75
75
+
"langs": {
76
76
+
"type": "array",
77
77
+
"description": "Indicates human language of post primary text content.",
78
78
+
"maxLength": 3,
79
79
+
"items": { "type": "string", "format": "language" }
80
80
+
},
81
81
+
"tags": {
82
82
+
"type": "array",
83
83
+
"description": "Additional hashtags, in addition to any included in post text and facets.",
84
84
+
"maxLength": 8,
85
85
+
"items": { "type": "string", "maxLength": 640, "maxGraphemes": 64 }
86
86
+
},
87
87
+
"createdAt": {
88
88
+
"type": "string",
89
89
+
"format": "datetime",
90
90
+
"description": "Client-declared timestamp when this post was originally created."
91
91
+
}
92
92
+
}
93
93
+
}
94
94
+
},
95
95
+
"replyRef": {
96
96
+
"type": "object",
97
97
+
"required": ["root", "parent"],
98
98
+
"properties": {
99
99
+
"root": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
100
100
+
"parent": { "type": "ref", "ref": "com.atproto.repo.strongRef" }
101
101
+
}
102
102
+
}
103
103
+
}
104
104
+
}