@paragraphcms/client 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -18
- package/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +48 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,25 +28,11 @@ const client = new Client({
|
|
|
28
28
|
apiKey: process.env.PARAGRAPH_API_KEY!,
|
|
29
29
|
});
|
|
30
30
|
|
|
31
|
-
const pages = await client.pages.list(
|
|
32
|
-
|
|
33
|
-
include_content: false,
|
|
34
|
-
sort: "-updated_at",
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
const created = await client.pages.create({
|
|
38
|
-
title: "Pricing",
|
|
39
|
-
language: "en",
|
|
40
|
-
content: [
|
|
41
|
-
{
|
|
42
|
-
type: "paragraph",
|
|
43
|
-
content: [{ type: "text", text: "Pricing" }],
|
|
44
|
-
},
|
|
45
|
-
],
|
|
46
|
-
});
|
|
31
|
+
const pages = await client.pages.list();
|
|
32
|
+
const page = await client.pages.getBySlug("pricing");
|
|
47
33
|
|
|
48
34
|
console.log(pages.meta.total_items);
|
|
49
|
-
console.log(
|
|
35
|
+
console.log(page.id);
|
|
50
36
|
```
|
|
51
37
|
|
|
52
38
|
## Runtime Notes
|
|
@@ -219,8 +205,9 @@ Supported `sort` fields for `pages.list()`:
|
|
|
219
205
|
|
|
220
206
|
Notes:
|
|
221
207
|
|
|
208
|
+
- If you omit both `limit` and `page`, `pages.list()` returns the full matching result set.
|
|
222
209
|
- `label_id` is passed as `string[]` in the SDK and serialized to the API CSV format automatically.
|
|
223
|
-
- `
|
|
210
|
+
- `pages.list()` sends `include_content: false` by default. Set `include_content: true` to include `content` in list results.
|
|
224
211
|
- Page responses should be treated as Tiptap JSON arrays. `content_format` is no longer required in the response shape.
|
|
225
212
|
- `pages.getBySlug()` is an SDK convenience lookup built on top of `pages.list({ slug })`, and then fetches the full page details by ID.
|
|
226
213
|
- `page.getBySlug()` is a short alias for the same lookup.
|
package/dist/client.d.ts
CHANGED
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAEhB,OAAO,EACP,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,mBAAmB,EACnB,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EACZ,KAAK,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,MAAM,EACN,oBAAoB,EACpB,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EACN,eAAe,EACf,IAAI,EACJ,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EAEtB,cAAc,EACd,MAAM,EACN,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AA6SpB,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,QAAQ,CAAC,KAAK;uBACG,aAAa,YAAY,cAAc;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -219,10 +219,7 @@ export class Client {
|
|
|
219
219
|
timeoutMs;
|
|
220
220
|
limiter;
|
|
221
221
|
pages = {
|
|
222
|
-
list: (query, options) => this.
|
|
223
|
-
query,
|
|
224
|
-
options,
|
|
225
|
-
}),
|
|
222
|
+
list: (query, options) => this.listPages(query, options),
|
|
226
223
|
create: (body = {}, options) => this.requestData("POST", "/pages", {
|
|
227
224
|
body,
|
|
228
225
|
options,
|
|
@@ -442,6 +439,51 @@ export class Client {
|
|
|
442
439
|
getInfo(options) {
|
|
443
440
|
return this.requestData("GET", "", { options });
|
|
444
441
|
}
|
|
442
|
+
async listPages(query, options) {
|
|
443
|
+
const pageListQuery = this.createPageListQuery(query);
|
|
444
|
+
const response = await this.requestList("GET", "/pages", {
|
|
445
|
+
query: pageListQuery,
|
|
446
|
+
options,
|
|
447
|
+
});
|
|
448
|
+
if (pageListQuery.limit !== undefined ||
|
|
449
|
+
pageListQuery.page !== undefined ||
|
|
450
|
+
!response.meta.has_next_page) {
|
|
451
|
+
return response;
|
|
452
|
+
}
|
|
453
|
+
const items = [...response.data];
|
|
454
|
+
let nextPage = response.meta.page + 1;
|
|
455
|
+
let lastMeta = response.meta;
|
|
456
|
+
while (lastMeta.has_next_page) {
|
|
457
|
+
const nextResponse = await this.requestList("GET", "/pages", {
|
|
458
|
+
query: {
|
|
459
|
+
...pageListQuery,
|
|
460
|
+
page: nextPage,
|
|
461
|
+
limit: lastMeta.limit,
|
|
462
|
+
},
|
|
463
|
+
options,
|
|
464
|
+
});
|
|
465
|
+
items.push(...nextResponse.data);
|
|
466
|
+
lastMeta = nextResponse.meta;
|
|
467
|
+
nextPage = lastMeta.page + 1;
|
|
468
|
+
}
|
|
469
|
+
return {
|
|
470
|
+
data: items,
|
|
471
|
+
meta: {
|
|
472
|
+
page: 1,
|
|
473
|
+
limit: items.length,
|
|
474
|
+
total_items: items.length,
|
|
475
|
+
total_pages: items.length > 0 ? 1 : 0,
|
|
476
|
+
has_next_page: false,
|
|
477
|
+
has_prev_page: false,
|
|
478
|
+
},
|
|
479
|
+
};
|
|
480
|
+
}
|
|
481
|
+
createPageListQuery(query) {
|
|
482
|
+
return {
|
|
483
|
+
...(query ?? {}),
|
|
484
|
+
include_content: query?.include_content ?? false,
|
|
485
|
+
};
|
|
486
|
+
}
|
|
445
487
|
requestData(method, path, config) {
|
|
446
488
|
return this.requestJson(method, path, config).then((response) => response.data);
|
|
447
489
|
}
|
|
@@ -449,13 +491,12 @@ export class Client {
|
|
|
449
491
|
return this.requestJson(method, path, config);
|
|
450
492
|
}
|
|
451
493
|
async getPageBySlug(slug, options) {
|
|
494
|
+
const query = this.createPageListQuery({ slug });
|
|
452
495
|
const page = await this.findListItem("/pages", (item) => item.slug === slug, options, {
|
|
453
496
|
code: "page_not_found",
|
|
454
497
|
message: "Page not found.",
|
|
455
498
|
details: { slug },
|
|
456
|
-
},
|
|
457
|
-
slug,
|
|
458
|
-
});
|
|
499
|
+
}, query);
|
|
459
500
|
return this.pages.get(page.id, undefined, options);
|
|
460
501
|
}
|
|
461
502
|
async findListItem(path, predicate, options, error, query) {
|