Files
jellytau/api/jellytau_lib/repository/endpoints/index.html
T

22 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Every Jellyfin route the online repository speaks, in one place."><title>jellytau_lib::repository::endpoints - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="jellytau_lib" data-themes="" data-resource-suffix="" data-rustdoc-version="1.97.1 (8bab26f4f 2026-07-14)" data-channel="1.97.1" data-search-js="search-fd9372ac.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../../static.files/storage-41dd4d93.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-fcd733ba.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-f7c3ffd8.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module endpoints</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../jellytau_lib/index.html">jellytau_<wbr>lib</a><span class="version">0.11.6</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module endpoints</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#percent-encoding" title="Percent-encoding">Percent-encoding</a></li></ul><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#constants" title="Constants">Constants</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In jellytau_<wbr>lib::<wbr>repository</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">jellytau_lib</a>::<wbr><a href="../index.html">repository</a></div><h1>Module <span>endpoints</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/jellytau_lib/repository/endpoints.rs.html#1-858">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Every Jellyfin route the online repository speaks, in one place.</p>
<p>Before this module the endpoints were 57 inline <code>format!</code> literals scattered
through <code>online.rs</code>, query strings baked in at the point of use. That is
workable against exactly one server, and hostile to anything else: a second
route shape means a conditional at every one of them.</p>
<p>Each function here takes <code>&amp;ServerCapabilities</code> and returns a <strong>path</strong>
(<code>/Users/…</code>), except the handful documented as returning an absolute URL
because they are handed to a media player rather than to the JSON helpers.</p>
<h2 id="percent-encoding"><a class="doc-anchor" href="#percent-encoding">§</a>Percent-encoding</h2>
<p>Values are encoded, syntax is not. A genre named <code>Drama &amp; Romance</code> or a
search for <code>a?b</code> must not split into another parameter. <a href="struct.Endpoint.html#method.param" title="method jellytau_lib::repository::endpoints::Endpoint::param"><code>Endpoint::param</code></a>
encodes; <a href="struct.Endpoint.html#method.raw_param" title="method jellytau_lib::repository::endpoints::Endpoint::raw_param"><code>Endpoint::raw_param</code></a> does not and is for values this module
itself composed (numbers, and lists whose separator is meaningful to
Jellyfin — <code>IncludeItemTypes</code> splits on <code>,</code>, <code>Genres</code> on <code>|</code>, so the
separator survives while each element is encoded).</p>
<p>TRACES: UR-085 | DR-279</p>
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.Endpoint.html" title="struct jellytau_lib::repository::endpoints::Endpoint">Endpoint</a></dt><dd>A path plus query string, which knows whether it needs <code>?</code> or <code>&amp;</code> next.</dd></dl><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">§</a></h2><dl class="item-table"><dt><a class="constant" href="constant.LIST_FIELDS.html" title="constant jellytau_lib::repository::endpoints::LIST_FIELDS">LIST_<wbr>FIELDS</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>The standard field set for a list view. <code>People</code> is deliberately absent — it
is only wanted in the detail view, and it is not small.</dd><dt><a class="constant" href="constant.LIST_FIELDS_WITH_GENRES.html" title="constant jellytau_lib::repository::endpoints::LIST_FIELDS_WITH_GENRES">LIST_<wbr>FIELDS_<wbr>WITH_<wbr>GENRES</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>As <a href="constant.LIST_FIELDS.html" title="constant jellytau_lib::repository::endpoints::LIST_FIELDS"><code>LIST_FIELDS</code></a>, plus what the offline store needs to derive genre lists
and per-genre counts from cached rows.</dd></dl><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.channels.html" title="fn jellytau_lib::repository::endpoints::channels">channels</a></dt><dd>Generic channels.</dd><dt><a class="fn" href="fn.encode_list.html" title="fn jellytau_lib::repository::endpoints::encode_list">encode_<wbr>list</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>Encode each element of a list while keeping the separator Jellyfin splits on.</dd><dt><a class="fn" href="fn.favorite_item.html" title="fn jellytau_lib::repository::endpoints::favorite_item">favorite_<wbr>item</a></dt><dd>Favourite / un-favourite an item (POST to set, DELETE to clear).</dd><dt><a class="fn" href="fn.favorites.html" title="fn jellytau_lib::repository::endpoints::favorites">favorites</a></dt><dd>A favourites listing.</dd><dt><a class="fn" href="fn.genres.html" title="fn jellytau_lib::repository::endpoints::genres">genres</a></dt><dd>Genres, with the item counts the frontend uses to pick a diverse subset.</dd><dt><a class="fn" href="fn.get_items.html" title="fn jellytau_lib::repository::endpoints::get_items">get_<wbr>items</a></dt><dd>A folder listing.</dd><dt><a class="fn" href="fn.item_detail.html" title="fn jellytau_lib::repository::endpoints::item_detail">item_<wbr>detail</a></dt><dd>One item, in detail. <code>People</code>, <code>MediaStreams</code> and <code>MediaSources</code> are named
here and nowhere else — the detail view is the only place they are wanted.</dd><dt><a class="fn" href="fn.items_by_person.html" title="fn jellytau_lib::repository::endpoints::items_by_person">items_<wbr>by_<wbr>person</a></dt><dd>A persons filmography.</dd><dt><a class="fn" href="fn.jray_context.html" title="fn jellytau_lib::repository::endpoints::jray_context">jray_<wbr>context</a></dt><dd>The JRay plugins per-item context. Not core Jellyfin; absent servers 404 and
the caller treats that as “no context”, so it needs no capability flag.</dd><dt><a class="fn" href="fn.latest_items.html" title="fn jellytau_lib::repository::endpoints::latest_items">latest_<wbr>items</a></dt><dd>A “recently added” listing.</dd><dt><a class="fn" href="fn.live_tv_channels.html" title="fn jellytau_lib::repository::endpoints::live_tv_channels">live_<wbr>tv_<wbr>channels</a></dt><dd>Live TV channels.</dd><dt><a class="fn" href="fn.next_up.html" title="fn jellytau_lib::repository::endpoints::next_up">next_up</a></dt><dd>A Next Up listing.</dd><dt><a class="fn" href="fn.person.html" title="fn jellytau_lib::repository::endpoints::person">person</a></dt><dd>A person as an item.</dd><dt><a class="fn" href="fn.playback_info.html" title="fn jellytau_lib::repository::endpoints::playback_info">playback_<wbr>info</a></dt><dd>Playback negotiation for one item.</dd><dt><a class="fn" href="fn.played_item.html" title="fn jellytau_lib::repository::endpoints::played_item">played_<wbr>item</a></dt><dd>Mark played / clear watch history (POST to set, DELETE to clear).</dd><dt><a class="fn" href="fn.played_items_by_date.html" title="fn jellytau_lib::repository::endpoints::played_items_by_date">played_<wbr>items_<wbr>by_<wbr>date</a></dt><dd>Items sorted by when they were last played, filtered to played ones.</dd><dt><a class="fn" href="fn.playlist_as_item.html" title="fn jellytau_lib::repository::endpoints::playlist_as_item">playlist_<wbr>as_<wbr>item</a></dt><dd>A playlist as an item — used for rename and delete, which are <code>/Items</code>
operations rather than <code>/Playlists</code> ones.</dd><dt><a class="fn" href="fn.playlist_item_move.html" title="fn jellytau_lib::repository::endpoints::playlist_item_move">playlist_<wbr>item_<wbr>move</a></dt><dd>TRACES: UR-062, UR-085 | DR-279</dd><dt><a class="fn" href="fn.playlist_items.html" title="fn jellytau_lib::repository::endpoints::playlist_items">playlist_<wbr>items</a></dt><dd>TRACES: UR-062, UR-085 | DR-279</dd><dt><a class="fn" href="fn.playlist_items_add.html" title="fn jellytau_lib::repository::endpoints::playlist_items_add">playlist_<wbr>items_<wbr>add</a></dt><dd>TRACES: UR-062, UR-085 | DR-279</dd><dt><a class="fn" href="fn.playlist_items_remove.html" title="fn jellytau_lib::repository::endpoints::playlist_items_remove">playlist_<wbr>items_<wbr>remove</a></dt><dd>TRACES: UR-062, UR-085 | DR-279</dd><dt><a class="fn" href="fn.playlists.html" title="fn jellytau_lib::repository::endpoints::playlists">playlists</a></dt><dd>TRACES: UR-062, UR-085 | DR-279</dd><dt><a class="fn" href="fn.resume_items.html" title="fn jellytau_lib::repository::endpoints::resume_items">resume_<wbr>items</a></dt><dd>The resume (“Continue Watching”) listing.</dd><dt><a class="fn" href="fn.search.html" title="fn jellytau_lib::repository::endpoints::search">search</a></dt><dd>A search.</dd><dt><a class="fn" href="fn.sessions_playing.html" title="fn jellytau_lib::repository::endpoints::sessions_playing">sessions_<wbr>playing</a></dt><dd>Playback reporting.</dd><dt><a class="fn" href="fn.sessions_playing_progress.html" title="fn jellytau_lib::repository::endpoints::sessions_playing_progress">sessions_<wbr>playing_<wbr>progress</a></dt><dt><a class="fn" href="fn.sessions_playing_stopped.html" title="fn jellytau_lib::repository::endpoints::sessions_playing_stopped">sessions_<wbr>playing_<wbr>stopped</a></dt><dt><a class="fn" href="fn.similar_items.html" title="fn jellytau_lib::repository::endpoints::similar_items">similar_<wbr>items</a></dt><dd>Items similar to one item.</dd><dt><a class="fn" href="fn.user_items_root.html" title="fn jellytau_lib::repository::endpoints::user_items_root">user_<wbr>items_<wbr>root</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>The base for a user-scoped item query.</dd><dt><a class="fn" href="fn.user_views.html" title="fn jellytau_lib::repository::endpoints::user_views">user_<wbr>views</a></dt><dd>The users library views.</dd></dl></section></div></main></body></html>