1defmodule Sh.Comet.V0.Feed.Defs do
2 use Atex.Lexicon
3
4 deflexicon(%{
5 "defs" => %{
6 "buyLink" => %{
7 "description" => "Indicate the link leads to a purchase page for the track.",
8 "type" => "token"
9 },
10 "downloadLink" => %{
11 "description" => "Indicate the link leads to a free download for the track.",
12 "type" => "token"
13 },
14 "link" => %{
15 "description" =>
16 "Link for the track. Usually to acquire it in some way, e.g. via free download or purchase. | TODO: multiple links?",
17 "properties" => %{
18 "type" => %{
19 "knownValues" => [
20 "sh.comet.v0.feed.defs#downloadLink",
21 "sh.comet.v0.feed.defs#buyLink"
22 ],
23 "type" => "string"
24 },
25 "value" => %{"format" => "uri", "type" => "string"}
26 },
27 "required" => ["type", "value"],
28 "type" => "object"
29 },
30 "viewerState" => %{
31 "description" =>
32 "Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests.",
33 "properties" => %{
34 "featured" => %{"type" => "boolean"},
35 "like" => %{"format" => "at-uri", "type" => "string"},
36 "repost" => %{"format" => "at-uri", "type" => "string"}
37 },
38 "type" => "object"
39 }
40 },
41 "id" => "sh.comet.v0.feed.defs",
42 "lexicon" => 1
43 })
44end