Constellation, Spacedust, Slingshot, UFOs: atproto crates and services for microcosm
1{% extends "base.html.j2" %} 2{% import "try-it-macros.html.j2" as try_it %} 3 4{% block title %}DIDs{% endblock %} 5{% block description %}All distinct DIDs with {{ query.collection }} records linking to {{ query.target }} at JSON path {{ query.path }}{% endblock %} 6 7{% block content %} 8 9 {% call try_it::dids(query.target, query.collection, query.path) %} 10 11 <h2> 12 DIDs with links to <code>{{ query.target }}</code> 13 {% if let Some(browseable_uri) = query.target|to_browseable %} 14 <small style="font-weight: normal; font-size: 1rem"><a href="{{ browseable_uri }}">browse record</a></small> 15 {% endif %} 16 </h2> 17 18 <p><strong>{{ total|human_number }} dids</strong> from <code>{{ query.collection }}</code> at <code>{{ query.path }}</code></p> 19 20 <ul> 21 <li>See linking records to this target at <code>/links</code>: <a href="/links?target={{ query.target|urlencode }}&collection={{ query.collection|urlencode }}&path={{ query.path|urlencode }}">/links?target={{ query.target }}&collection={{ query.collection }}&path={{ query.path }}</a></li> 22 <li>See all links to this target at <code>/links/all</code>: <a href="/links/all?target={{ query.target|urlencode }}">/links/all?target={{ query.target }}</a></li> 23 </ul> 24 25 <h3>DIDs, most recent first:</h3> 26 27 {% for did in linking_dids %} 28 <pre style="display: block; margin: 1em 2em" class="code"><strong>DID</strong>: {{ did.0 }} 29 -> see <a href="/links/all?target={{ did.0|urlencode }}">links to this DID</a> 30 -> browse <a href="https://atproto-browser-plus-links.vercel.app/at/{{ did.0|urlencode }}">this DID record</a></pre> 31 {% endfor %} 32 33 {% if let Some(c) = cursor %} 34 <form method="get" action="/links/distinct-dids"> 35 <input type="hidden" name="target" value="{{ query.target }}" /> 36 <input type="hidden" name="collection" value="{{ query.collection }}" /> 37 <input type="hidden" name="path" value="{{ query.path }}" /> 38 <input type="hidden" name="cursor" value={{ c|json|safe }} /> 39 <button type="submit">next page&hellip;</button> 40 </form> 41 {% else %} 42 <button disabled><em>end of results</em></button> 43 {% endif %} 44 45 <details> 46 <summary>Raw JSON response</summary> 47 <pre class="code">{{ self|tojson }}</pre> 48 </details> 49 50{% endblock %}