@paragraphcms/client 1.2.0 → 1.3.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 +4 -0
- package/dist/client.d.ts +5 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +17 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -199,12 +199,14 @@ Returns the public `/v1` info payload:
|
|
|
199
199
|
client.pages.list(query?, options?)
|
|
200
200
|
client.pages.create(body?, options?)
|
|
201
201
|
client.pages.get(pageId, query?, options?)
|
|
202
|
+
client.pages.getBySlug(slug, options?)
|
|
202
203
|
client.pages.update(pageId, body, options?)
|
|
203
204
|
client.pages.delete(pageId, options?)
|
|
204
205
|
client.pages.restore(pageId, options?)
|
|
205
206
|
client.pages.permanentlyDelete(pageId, options?)
|
|
206
207
|
client.pages.duplicate(pageId, options?)
|
|
207
208
|
client.pages.createTranslation(pageId, body, options?)
|
|
209
|
+
client.page.getBySlug(slug, options?)
|
|
208
210
|
```
|
|
209
211
|
|
|
210
212
|
Supported `sort` fields for `pages.list()`:
|
|
@@ -220,6 +222,8 @@ Notes:
|
|
|
220
222
|
- `label_id` is passed as `string[]` in the SDK and serialized to the API CSV format automatically.
|
|
221
223
|
- `content` is present in page list results only when `include_content: true`.
|
|
222
224
|
- Page responses should be treated as Tiptap JSON arrays. `content_format` is no longer required in the response shape.
|
|
225
|
+
- `pages.getBySlug()` is an SDK convenience lookup built on top of `pages.list({ slug })`, and then fetches the full page details by ID.
|
|
226
|
+
- `page.getBySlug()` is a short alias for the same lookup.
|
|
223
227
|
|
|
224
228
|
### Collections
|
|
225
229
|
|
package/dist/client.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export declare class Client {
|
|
|
10
10
|
list: (query?: PageListQuery, options?: RequestOptions) => Promise<ListResponse<PageSummary>>;
|
|
11
11
|
create: (body?: CreatePageRequest, options?: RequestOptions) => Promise<PageMutationResult>;
|
|
12
12
|
get: (pageId: string, query?: GetPageQuery, options?: RequestOptions) => Promise<Page>;
|
|
13
|
+
getBySlug: (slug: string, options?: RequestOptions) => Promise<Page>;
|
|
13
14
|
update: (pageId: string, body: UpdatePageRequest, options?: RequestOptions) => Promise<PageMutationResult>;
|
|
14
15
|
delete: (pageId: string, options?: RequestOptions) => Promise<DeleteResult>;
|
|
15
16
|
restore: (pageId: string, options?: RequestOptions) => Promise<PageRestoreResult>;
|
|
@@ -17,6 +18,9 @@ export declare class Client {
|
|
|
17
18
|
duplicate: (pageId: string, options?: RequestOptions) => Promise<PageMutationResult>;
|
|
18
19
|
createTranslation: (pageId: string, body: CreatePageTranslationRequest, options?: RequestOptions) => Promise<PageMutationResult>;
|
|
19
20
|
};
|
|
21
|
+
readonly page: {
|
|
22
|
+
getBySlug: (slug: string, options?: RequestOptions) => Promise<Page>;
|
|
23
|
+
};
|
|
20
24
|
readonly collections: {
|
|
21
25
|
list: (query?: CollectionListQuery, options?: RequestOptions) => Promise<ListResponse<Collection>>;
|
|
22
26
|
create: (body: CreateCollectionRequest, options?: RequestOptions) => Promise<CollectionMutationResult>;
|
|
@@ -81,6 +85,7 @@ export declare class Client {
|
|
|
81
85
|
getInfo(options?: RequestOptions): Promise<ApiInfo>;
|
|
82
86
|
private requestData;
|
|
83
87
|
private requestList;
|
|
88
|
+
private getPageBySlug;
|
|
84
89
|
private findListItem;
|
|
85
90
|
private findArrayItem;
|
|
86
91
|
private createLookupError;
|
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;wBAM9C,iBAAiB,YACb,cAAc;sBAOhB,MAAM,UACN,YAAY,YACV,cAAc;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -231,6 +231,7 @@ export class Client {
|
|
|
231
231
|
query,
|
|
232
232
|
options,
|
|
233
233
|
}),
|
|
234
|
+
getBySlug: (slug, options) => this.getPageBySlug(slug, options),
|
|
234
235
|
update: (pageId, body, options) => this.requestData("PATCH", `/pages/${pageId}`, {
|
|
235
236
|
body,
|
|
236
237
|
options,
|
|
@@ -252,6 +253,9 @@ export class Client {
|
|
|
252
253
|
options,
|
|
253
254
|
}),
|
|
254
255
|
};
|
|
256
|
+
page = {
|
|
257
|
+
getBySlug: (slug, options) => this.pages.getBySlug(slug, options),
|
|
258
|
+
};
|
|
255
259
|
collections = {
|
|
256
260
|
list: (query, options) => this.requestList("GET", "/collections", {
|
|
257
261
|
query,
|
|
@@ -444,11 +448,22 @@ export class Client {
|
|
|
444
448
|
requestList(method, path, config) {
|
|
445
449
|
return this.requestJson(method, path, config);
|
|
446
450
|
}
|
|
447
|
-
async
|
|
451
|
+
async getPageBySlug(slug, options) {
|
|
452
|
+
const page = await this.findListItem("/pages", (item) => item.slug === slug, options, {
|
|
453
|
+
code: "page_not_found",
|
|
454
|
+
message: "Page not found.",
|
|
455
|
+
details: { slug },
|
|
456
|
+
}, {
|
|
457
|
+
slug,
|
|
458
|
+
});
|
|
459
|
+
return this.pages.get(page.id, undefined, options);
|
|
460
|
+
}
|
|
461
|
+
async findListItem(path, predicate, options, error, query) {
|
|
448
462
|
let page = 1;
|
|
449
463
|
while (true) {
|
|
450
464
|
const response = await this.requestList("GET", path, {
|
|
451
465
|
query: {
|
|
466
|
+
...(query ?? {}),
|
|
452
467
|
page,
|
|
453
468
|
limit: LOOKUP_PAGE_SIZE,
|
|
454
469
|
},
|
|
@@ -465,6 +480,7 @@ export class Client {
|
|
|
465
480
|
}
|
|
466
481
|
throw this.createLookupError("GET", path, {
|
|
467
482
|
query: {
|
|
483
|
+
...(query ?? {}),
|
|
468
484
|
page,
|
|
469
485
|
limit: LOOKUP_PAGE_SIZE,
|
|
470
486
|
},
|