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)
Search Document