All commands under ipfs pin local
add <ipfs-path> [--name=<name>] [--meta=<json>] [--type={recursive, direct}]
add
non-blocking by default and return some Status in all PinOutput objects?
ipfs pin add
or could have more fields eg. {Status : {queued | pinning | pinned | failed}, BlocksDownloaded : int}
ls [--id=<pinid>] [--name=<name> --name-match=<match-type>] [--cid=<ipfs-path>] [--status=<status>] [--meta=<json match expr>] [--type={recursive | direct | recursive, direct}]
PinOutput
for each pin listedrm [--id=<pinid>] [--name=<name> --name-match=<match-type>] [--cid=<ipfs-path>] [--meta=<json match expr>]
PinOutput
for each pin removed--force
to delete more than one pin--force
ipfs pin local rm
deleting all pins? Seems like an easy mistake for a user to make.--type={recursive, direct}
here to allow removing all recursive or direct pins?X
as well as all CIDs decended from X
.ipfs add
--pin-name
which errors if --pin=false
AddEvent
to have an extra field PinID string
add <ipfs-path> [--name=<name>] [--meta=<json>] --service=<service>
ls [--id=<pinid>] [--name=<name> --name-match=<match-type>] [--cid=<ipfs-path>] [--meta=<json match expr>] [--status=<status>] --service=<service>
RemotePinOutput
for each pin listedrm [--id=<pinid>] [--name=<name> --name-match=<match-type>] [--cid=<ipfs-path>] [--meta=<json match expr>] [--status=<status>] --service=<service>
RemotePinOutput
for each pin removedipfs pin local rm
deleting all pins? Seems like an easy mistake for a user to make.All of the above commands could also take a flag --format=<format>
so that only selective parts of the PinOutput are returned (e.g. only the name or only the CID).
This doesn't seem required for the first iteration.
The differences between local + remote in the two proposed APIs is:
--service
--service=local
for local