signedRelease

tcmts.hub.signedRelease · #dwdrjrvs · term · runs anywhere

The release record at did/rkey, as its author's repository signs it (signedRecord).

import { NotTheirs, signedRecord } from "#codebase/tcmts/atproto";
import { parseReleaseRecord, RELEASE_COLLECTION } from "#codebase/tcmts/records";
import type { ReleaseRecord } from "#codebase/tcmts/records";

export async function signedRelease(
  did: string,
  rkey: string,
): Promise<{ cid: string; record: ReleaseRecord }> {
  const got = await signedRecord(did, RELEASE_COLLECTION, rkey);
  const record = parseReleaseRecord(got.record);
  if (!record) throw new NotTheirs(`${did}'s ${RELEASE_COLLECTION}/${rkey} isn't a release record`);
  return { cid: got.cid, record };
}

uses

used by