possum/tangled
Bobbin is an API appview for Tangled records. It serves XRPC endpoints for sh.tangled.*, with it you can get repos, issues, pulls, comments, follows, stars, labels, pipelines, and profiles. It is read-only, there is no auth, since that should all be handled direct-to-PDS and knot respectively.
Values
pub fn list_available_spindles(
did: did.Did,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List all Spindles that an user have access to
Examples
import possum/did
import possum/tangled
// DID of the user
let assert Ok(did) = did.parse("did:plc:dvyyslcz7bicxdumlccviqyv")
let request =
tangled.list_available_spindles(
did,
cursor: option.None,
limit: option.None
)
pub fn list_comments(
at_uri: at_uri.AtUri,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List comments attached to a specific record
Examples
import possum/at_uri
import possum/tangled
let assert Ok(record) =
at_uri.parse(
"at://did:plc:ewvi7nxzyoun6zhxrhs64oiz/sh.tangled.repo.pull/3mp2gobkoy722"
)
let request =
tangled.list_comments(record, cursor: option.None, limit: option.None)
pub fn list_followers(
did: did.Did,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List all accounts that follow an user.
Examples
import possum/did
import possum/tangled
// DID of the user
let assert Ok(did) = did.parse("did:plc:dvyyslcz7bicxdumlccviqyv")
let request =
tangled.list_followers(did, cursor: option.None, limit: option.None)
pub fn list_issues(
did: did.Did,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List all issues attached to a repository
Examples
import possum/did
import possum/tangled
// DID of the repository
let assert Ok(did) = did.parse("did:plc:j5hmlfdrwkvtxm7cjmu7j2is")
let request =
tangled.list_issues(did, cursor: option.None, limit: option.None)
pub fn list_knots(
did: did.Did,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List all knots owned by an user
Examples
import possum/did
import possum/tangled
// DID of the user
let assert Ok(did) = did.parse("did:plc:3fwecdnvtcscjnrx2p4n7alz")
let request =
tangled.list_knots(did, cursor: option.None, limit: option.None)
pub fn list_owned_spindles(
did: did.Did,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List all Spindles owned by an user
Examples
import possum/did
import possum/tangled
// DID of the user
let assert Ok(did) = did.parse("did:plc:dvyyslcz7bicxdumlccviqyv")
let request =
tangled.list_owned_spindles(did, cursor: option.None, limit: option.None)
pub fn list_public_keys(
did: did.Did,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List all SSH public keys assigned to a user
Examples
import possum/did
import possum/tangled
// DID of the user
let assert Ok(did) = did.parse("did:plc:dvyyslcz7bicxdumlccviqyv")
let request =
tangled.list_public_keys(did, cursor: option.None, limit: option.None)
pub fn list_pull_requests(
did: did.Did,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List all pull requests attached to a repository
Examples
import possum/did
import possum/tangled
// DID of the repository
let assert Ok(did) = did.parse("did:plc:j5hmlfdrwkvtxm7cjmu7j2is")
let request =
tangled.list_pull_requests(did, cursor: option.None, limit: option.None)
pub fn list_reactions(
at_uri: at_uri.AtUri,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List reactions attached to a specific record
Examples
import possum/at_uri
import possum/tangled
let assert Ok(record) =
at_uri.parse(
"at://did:plc:qfpnj4og54vl56wngdriaxug/sh.tangled.repo.pull/3mq2pk76ge222"
)
let request =
tangled.list_reactions(record, cursor: option.None, limit: option.None)
pub fn list_ref_updates(
did: did.Did,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List ref-updates attached to a specific repository.
Examples
import possum/did
import possum/tangled
// DID of the repository
let assert Ok(did) = did.parse("did:plc:f2s2nd3tnw75so75ndrns6s2")
let request =
tangled.list_ref_updates(
did,
cursor: option.None,
limit: option.None
)
pub fn list_repositories(
did: did.Did,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List all repositores owned by an user
Examples
import possum/did
import possum/tangled
// DID of the user
let assert Ok(did) = did.parse("did:plc:dvyyslcz7bicxdumlccviqyv")
let request =
tangled.list_repositories(did, cursor: option.None, limit: option.None)
pub fn list_stars(
did: did.Did,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List stars attached to a specific repository.
Examples
import possum/did
import possum/tangled
// DID of the repository
let assert Ok(did) = did.parse("did:plc:ewvi7nxzyoun6zhxrhs64oiz")
let request =
tangled.list_stars(did, cursor: option.None, limit: option.None)
pub fn list_strings(
did: did.Did,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List all Strings owned by an user
Examples
import possum/did
import possum/tangled
// DID of the user
let assert Ok(did) = did.parse("did:plc:dvyyslcz7bicxdumlccviqyv")
let request =
tangled.list_strings(did, cursor: option.None, limit: option.None)
pub fn list_vouches(
did: did.Did,
cursor cursor: option.Option(String),
limit limit: option.Option(Int),
) -> request.Request(String)
List all vouches an user received
Examples
import possum/did
import possum/tangled
// DID of the user
let assert Ok(did) = did.parse("did:plc:dvyyslcz7bicxdumlccviqyv")
let request =
tangled.list_vouches(did, cursor: option.None, limit: option.None)