ts / src / pins.ts
202 words
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
 * The standard IPFS Pinning Service API (1.0.0) served at /pins — the same
 * pins as `ipfs` but with the spec's `{ count, results }` envelope and
 * requestid addressing, so standard tooling works:
 *   ipfs pin remote service add ird https://api.ird.ro ird_...
 * Use `ipfs` for the richer native API.
 */
import type { Client } from './client.js';
import * as http from './http.js';
import type { Body, Query } from './types.js';

/** GET /pins — List pin objects. */
export const list = (client: Client, query?: Query<'/pins', 'get'>) => http.get(client, '/pins', { query });

/** POST /pins — Add a pin (202). */
export const add = (client: Client, body: Body<'/pins', 'post'>) => http.post(client, '/pins', { body });

/** GET /pins/{requestid} — Pin object. */
export const get = (client: Client, requestid: string) => http.get(client, '/pins/{requestid}', { params: { requestid } });

/** POST /pins/{requestid} — Replace a pin (202). */
export const replace = (client: Client, requestid: string, body: Body<'/pins/{requestid}', 'post'>) =>
  http.post(client, '/pins/{requestid}', { params: { requestid }, body });

/** DELETE /pins/{requestid} — Remove a pin (202). */
export const remove = (client: Client, requestid: string) =>
  http.del(client, '/pins/{requestid}', { params: { requestid } });

static mirror of HEAD · about · clone: git clone https://ird.cod-sursa.ro/ts.git