~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/pds.js

An atproto PDS in JavaScript, for Cloudflare Workers and Node

0
0
main
24 lines · 1.0 KB Raw History
// What this app asks a PDS for.
//
// Its own module because two things read it: the page, which requests one of
// the two at sign-in, and the deploy, which lists both in the client metadata
// the authorization server fetches.

/** Read a space's records, at any authority, without being able to change one. */
export const READ_SCOPE = 'space:*?authority=*&skey=*&action=read';

/**
 * Everything the read scope covers, plus writing records and managing spaces.
 *
 * `collection=*` is required for the write actions. A space scope naming no
 * collection grants writes only in the collections the space type declares, and
 * a browser that works against any space type knows no such declaration.
 */
export const WRITE_SCOPE =
  'space:*?authority=*&skey=*&collection=*&action=read&action=create&action=update&action=delete&manage=create&manage=update&manage=delete';

/** `atproto` names the account; every authorization request carries it. */
export const SCOPES = {
  read: `atproto ${READ_SCOPE}`,
  write: `atproto ${WRITE_SCOPE}`,
};