Repository navigation
POST /delegation/query accepts direction "issued" - #468
Conversation
List the delegations the calling key issued: one tinycloud.delegation/list capability on the invoker's own DID, no proof, delegator == invoker, keyset paging by id on idx_delegation_delegator, abilities and ancestor state loaded for the page's rows only. Advertised as delegation-issued-query-v1 in /info. Details: TC-2132
|
APPROVE: see TC-2132 (reviewed exact head 6245fee) |
Details: TC-2132
Details: TC-2132 # Conflicts: # CHANGELOG.md
|
APPROVE: see TC-2132 (reviewed exact head 6d62cdf) |
Adds
direction: "issued"toPOST /delegation/query: lists the delegations the calling key issued.tinycloud.delegation/listcapability on<invoker DID>/delegation(empty path/query/fragment), no proof;verify_and_authorizestill runs. Rows are filtered bydelegator == invokeronly; the account-wide loader is not called.idx_delegation_delegator (delegator, id), ordered by id (not chronological;issuedAtis in each item), reads at mostlimit+1rows. Abilities and ancestor state are loaded for the page's rows only.statusandspace. A cursor from another invoker/filter, a legacy CID cursor or garbage gets the same 400. A cursor id is only a key position among the invoker's own rows and is never looked up. Filtered pages can be short; only a missingnextCursorends the listing.direction: "granted"./infofeatures gaindelegation-issued-query-v1.Tests:
db::test::issued_*(paging, filtered scan over 1000 rows, statement recording + EXPLAIN on a DB with many other issuers, cursor binding) androutes::tests::delegation_issued_query(own-DID only, proof/other-DID refusals, HTTP paging and cursor errors, existing-direction bytes, /info). No existing test or assertion changed.Details: TC-2132