@payload-onpage/plugin 0.3.2 → 0.4.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/access.d.ts +11 -0
- package/dist/access.d.ts.map +1 -1
- package/dist/access.js +21 -0
- package/dist/access.js.map +1 -1
- package/dist/admin/OnPageAdminControls.d.ts.map +1 -1
- package/dist/admin/OnPageAdminControls.js +3 -0
- package/dist/admin/OnPageAdminControls.js.map +1 -1
- package/dist/endpoints.d.ts +1 -0
- package/dist/endpoints.d.ts.map +1 -1
- package/dist/endpoints.js +20 -3
- package/dist/endpoints.js.map +1 -1
- package/dist/http.d.ts +3 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +4 -2
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -2
- package/src/access.ts +24 -0
- package/src/admin/OnPageAdminControls.tsx +3 -0
- package/src/endpoints.ts +19 -2
- package/src/http.ts +4 -2
- package/src/index.ts +17 -3
package/README.md
CHANGED
|
@@ -20,3 +20,7 @@ Part of [**payload-onpage**](https://github.com/jellologic/payload-onpage): on-p
|
|
|
20
20
|
MIT licensed.
|
|
21
21
|
|
|
22
22
|
See the **[tour](https://github.com/jellologic/payload-onpage/blob/main/docs/tour.md)** and **[getting started](https://github.com/jellologic/payload-onpage/blob/main/docs/getting-started.md)**.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
_Found a bug? [Report it](https://github.com/jellologic/payload-onpage/issues/new?template=bug_report.yml) or see [CONTRIBUTING.md](https://github.com/jellologic/payload-onpage/blob/main/CONTRIBUTING.md) to fix it yourself._
|
package/dist/access.d.ts
CHANGED
|
@@ -15,6 +15,17 @@ export declare function documentPermissions(req: PayloadRequest, ref: {
|
|
|
15
15
|
slug: string;
|
|
16
16
|
id?: string | number | undefined;
|
|
17
17
|
}): Promise<SanitizedCollectionPermission | SanitizedGlobalPermission | null>;
|
|
18
|
+
/**
|
|
19
|
+
* Collection/global-level update access that is not granted. Payload's
|
|
20
|
+
* sanitizer deletes denied operations, so denial usually manifests as a
|
|
21
|
+
* missing `update` key — not `false`. Only the positive shapes allow:
|
|
22
|
+
* boolean `true`, or `{ permission: true }` (including row-level rules that
|
|
23
|
+
* carry a `where` and need a document to evaluate). Anything else — missing,
|
|
24
|
+
* `false`, `{ permission: false }`, an unknown shape, or no permissions at
|
|
25
|
+
* all (an access check threw) — denies, so callers fail closed and per-document
|
|
26
|
+
* checks decide the rest.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isUpdateDenied(perms: SanitizedCollectionPermission | SanitizedGlobalPermission | null): boolean;
|
|
18
29
|
/**
|
|
19
30
|
* May this user edit this document on the page? With an id, Payload evaluates a
|
|
20
31
|
* row-level rule (a `where`) against that document itself, so its answer is final.
|
package/dist/access.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC/B,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEjD,sEAAsE;AACtE,wBAAsB,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAIhG;AAED,2FAA2F;AAC3F,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5E,OAAO,CAAC,6BAA6B,GAAG,yBAAyB,GAAG,IAAI,CAAC,CAqB3E;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,CAAC,CAYlB"}
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC/B,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEjD,sEAAsE;AACtE,wBAAsB,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAIhG;AAED,2FAA2F;AAC3F,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5E,OAAO,CAAC,6BAA6B,GAAG,yBAAyB,GAAG,IAAI,CAAC,CAqB3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,6BAA6B,GAAG,yBAAyB,GAAG,IAAI,GACtE,OAAO,CAUT;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,CAAC,CAYlB"}
|
package/dist/access.js
CHANGED
|
@@ -33,6 +33,27 @@ export async function documentPermissions(req, ref) {
|
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Collection/global-level update access that is not granted. Payload's
|
|
38
|
+
* sanitizer deletes denied operations, so denial usually manifests as a
|
|
39
|
+
* missing `update` key — not `false`. Only the positive shapes allow:
|
|
40
|
+
* boolean `true`, or `{ permission: true }` (including row-level rules that
|
|
41
|
+
* carry a `where` and need a document to evaluate). Anything else — missing,
|
|
42
|
+
* `false`, `{ permission: false }`, an unknown shape, or no permissions at
|
|
43
|
+
* all (an access check threw) — denies, so callers fail closed and per-document
|
|
44
|
+
* checks decide the rest.
|
|
45
|
+
*/
|
|
46
|
+
export function isUpdateDenied(perms) {
|
|
47
|
+
if (!perms)
|
|
48
|
+
return true;
|
|
49
|
+
const update = perms.update;
|
|
50
|
+
if (update === true)
|
|
51
|
+
return false;
|
|
52
|
+
return !(typeof update === 'object' &&
|
|
53
|
+
update !== null &&
|
|
54
|
+
'permission' in update &&
|
|
55
|
+
update.permission === true);
|
|
56
|
+
}
|
|
36
57
|
/**
|
|
37
58
|
* May this user edit this document on the page? With an id, Payload evaluates a
|
|
38
59
|
* row-level rule (a `where`) against that document itself, so its answer is final.
|
package/dist/access.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.js","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GAIzB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxC,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAmB,EAAE,OAAsB;IAC5E,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IAC3B,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IACjE,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAA;AAC9D,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAmB,EACnB,GAA6E;IAE7E,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;YAC1D,OAAO,YAAY,CAAC,CAAC,CAAC,MAAM,wBAAwB,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACpF,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACpD,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAA;QAC5B,OAAO,MAAM,kBAAkB,CAAC;YAC9B,UAAU;YACV,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG;SACJ,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qFAAqF;QACrF,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACvB,GAAG;YACH,GAAG,EAAE,2CAA2C,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG;SACzE,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAmB,EACnB,GAAW,EACX,OAAsB;IAEtB,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IAC3B,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IACtE,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACrD,MAAM,MAAM,GAAY,CAAC,MAAM,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAA;IACrE,OAAO,CACL,MAAM,KAAK,IAAI;QACf,CAAC,OAAO,MAAM,KAAK,QAAQ;YACzB,MAAM,KAAK,IAAI;YACf,YAAY,IAAI,MAAM;YACtB,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAC9B,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"access.js","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnPageAdminControls.d.ts","sourceRoot":"","sources":["../../src/admin/OnPageAdminControls.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAKrE,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,8CAA8C;IAC9C,MAAM,EAAE,IAAI,MAAM,EAAE,CAAA;CACrB;
|
|
1
|
+
{"version":3,"file":"OnPageAdminControls.d.ts","sourceRoot":"","sources":["../../src/admin/OnPageAdminControls.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAKrE,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,8CAA8C;IAC9C,MAAM,EAAE,IAAI,MAAM,EAAE,CAAA;CACrB;AAmBD,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,wBAAwB,sCAsDnF;AAED,eAAe,mBAAmB,CAAA"}
|
|
@@ -19,6 +19,9 @@ function postInNewTab(action) {
|
|
|
19
19
|
form.method = 'post';
|
|
20
20
|
form.action = action;
|
|
21
21
|
form.target = '_blank';
|
|
22
|
+
// The opened tab is same-origin: without noopener it would keep a handle on
|
|
23
|
+
// the admin document via window.opener.
|
|
24
|
+
form.rel = 'noopener';
|
|
22
25
|
document.body.appendChild(form);
|
|
23
26
|
form.submit();
|
|
24
27
|
form.remove();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnPageAdminControls.js","sourceRoot":"","sources":["../../src/admin/OnPageAdminControls.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OnPageAdminControls.js","sourceRoot":"","sources":["../../src/admin/OnPageAdminControls.tsx"],"names":[],"mappings":"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"}
|
package/dist/endpoints.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export interface EndpointContext {
|
|
|
22
22
|
};
|
|
23
23
|
prefix: `/${string}`;
|
|
24
24
|
entry: (kind: DocRef['kind'], slug: string) => Entry | undefined;
|
|
25
|
+
entries: Entry[];
|
|
25
26
|
}
|
|
26
27
|
export declare function createEndpoints(ctx: EndpointContext): Endpoint[];
|
|
27
28
|
//# sourceMappingURL=endpoints.d.ts.map
|
package/dist/endpoints.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAUL,KAAK,MAAM,EAGX,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAKL,KAAK,QAAQ,EAGd,MAAM,SAAS,CAAA;AAchB,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAKxD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,cAAc,CAAA;KAAE,CAAA;IACpD,MAAM,EAAE,IAAI,MAAM,EAAE,CAAA;IACpB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,KAAK,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAUL,KAAK,MAAM,EAGX,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAKL,KAAK,QAAQ,EAGd,MAAM,SAAS,CAAA;AAchB,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAKxD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,cAAc,CAAA;KAAE,CAAA;IACpD,MAAM,EAAE,IAAI,MAAM,EAAE,CAAA;IACpB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,KAAK,GAAG,SAAS,CAAA;IAChE,OAAO,EAAE,KAAK,EAAE,CAAA;CACjB;AAiBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,QAAQ,EAAE,CAqNhE"}
|
package/dist/endpoints.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { isOnPageMode, parseRefKey, pathnameOf, refKey, ROUTES, safePath, samePath, SEAL_PURPOSE, seal, } from '@payload-onpage/core';
|
|
17
17
|
import { addDataAndFileToRequest, APIError, Forbidden, NotFound, } from 'payload';
|
|
18
18
|
import { getAutosaveInterval, hasAutosaveEnabled, hasDraftsEnabled, toWords } from 'payload/shared';
|
|
19
|
-
import { canEditDocument, canUseOnPage, documentPermissions } from "./access.js";
|
|
19
|
+
import { canEditDocument, canUseOnPage, documentPermissions, isUpdateDenied } from "./access.js";
|
|
20
20
|
import { apiURL, entityConfig, isSecure, json, readRef, redirectTo, rejectCrossSite, text, withIdType, } from "./http.js";
|
|
21
21
|
import { resolvePath } from "./paths.js";
|
|
22
22
|
import { label, relationTargets, serializeFields } from "./schema.js";
|
|
@@ -32,6 +32,11 @@ const knownLocale = (req, value) => typeof value === 'string' && req.payload.con
|
|
|
32
32
|
export function createEndpoints(ctx) {
|
|
33
33
|
const { options, prefix } = ctx;
|
|
34
34
|
const { session } = options;
|
|
35
|
+
/** True when the user may update at least one enabled document (row-level rules count). */
|
|
36
|
+
const canEditAnything = async (req) => {
|
|
37
|
+
const checks = await Promise.all(ctx.entries.map((e) => documentPermissions(req, { kind: e.kind, slug: e.slug })));
|
|
38
|
+
return checks.some((perms) => !isUpdateDenied(perms));
|
|
39
|
+
};
|
|
35
40
|
const schema = {
|
|
36
41
|
path: `${prefix}${ROUTES.schema}/:kind/:slug`,
|
|
37
42
|
method: 'get',
|
|
@@ -45,6 +50,8 @@ export function createEndpoints(ctx) {
|
|
|
45
50
|
if (!(await canUseOnPage(req, options)))
|
|
46
51
|
throw new Forbidden(req.t);
|
|
47
52
|
const perms = await documentPermissions(req, { kind, slug });
|
|
53
|
+
if (isUpdateDenied(perms))
|
|
54
|
+
throw new Forbidden(req.t);
|
|
48
55
|
const pending = [];
|
|
49
56
|
const all = serializeFields(cfg.fields, {
|
|
50
57
|
i18n: req.i18n,
|
|
@@ -100,13 +107,17 @@ export function createEndpoints(ctx) {
|
|
|
100
107
|
const refused = rejectCrossSite(req);
|
|
101
108
|
if (refused)
|
|
102
109
|
return refused;
|
|
110
|
+
// Authenticate before parsing the ref, so anonymous callers can't probe
|
|
111
|
+
// which slugs are enabled by the status code.
|
|
112
|
+
if (!req.user)
|
|
113
|
+
return text('Sign in to the admin first', 401);
|
|
114
|
+
if (!(await canUseOnPage(req, options)))
|
|
115
|
+
return text('You cannot use on-page editing', 403);
|
|
103
116
|
const q = req.searchParams;
|
|
104
117
|
const ref = readRef(req, { kind: q.get('kind'), slug: q.get('slug'), id: q.get('id') });
|
|
105
118
|
const entry = ref && ctx.entry(ref.kind, ref.slug);
|
|
106
119
|
if (!ref || !entry)
|
|
107
120
|
return text('Unknown document', 400);
|
|
108
|
-
if (!req.user)
|
|
109
|
-
return text('Sign in to the admin first', 401);
|
|
110
121
|
if (!(await canEditDocument(req, ref, options)))
|
|
111
122
|
return text('You cannot edit this document', 403);
|
|
112
123
|
const locale = req.locale && req.locale !== 'all' ? req.locale : undefined;
|
|
@@ -132,6 +143,8 @@ export function createEndpoints(ctx) {
|
|
|
132
143
|
return text('Sign in to the admin first', 401);
|
|
133
144
|
if (!(await canUseOnPage(req, options)))
|
|
134
145
|
return text('You cannot use on-page editing', 403);
|
|
146
|
+
if (!(await canEditAnything(req)))
|
|
147
|
+
return text('You cannot edit any document', 403);
|
|
135
148
|
const q = req.searchParams;
|
|
136
149
|
const next = q.get('mode');
|
|
137
150
|
await session.enable(isOnPageMode(next) ? next : 'edit', {
|
|
@@ -162,6 +175,10 @@ export function createEndpoints(ctx) {
|
|
|
162
175
|
if (!req.headers.get('content-type')?.includes('application/json'))
|
|
163
176
|
throw new APIError('Expected a JSON body', 415);
|
|
164
177
|
await addDataAndFileToRequest(req); // parses JSON, or throws a 400
|
|
178
|
+
// Authenticate before parsing the ref, so anonymous callers can't probe
|
|
179
|
+
// which slugs are enabled by the status code.
|
|
180
|
+
if (!(await canUseOnPage(req, options)))
|
|
181
|
+
throw new Forbidden(req.t);
|
|
165
182
|
const body = req.data ?? {};
|
|
166
183
|
const ref = readRef(req, body);
|
|
167
184
|
const entry = ref && ctx.entry(ref.kind, ref.slug);
|
package/dist/endpoints.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"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"}
|
package/dist/http.d.ts
CHANGED
|
@@ -16,7 +16,9 @@ export declare const json: (body: unknown, status?: number) => Response;
|
|
|
16
16
|
export declare const redirectTo: (req: PayloadRequest, path: unknown, status?: 303 | 307) => Response;
|
|
17
17
|
/**
|
|
18
18
|
* CSRF guard for state-changing endpoints: a POST from this site (Origin, or
|
|
19
|
-
* Sec-Fetch-Site when Origin is absent).
|
|
19
|
+
* Sec-Fetch-Site when Origin is absent). `none` is refused: no legitimate
|
|
20
|
+
* browser flow POSTs to these endpoints without site metadata. Returns an
|
|
21
|
+
* error response or null.
|
|
20
22
|
*/
|
|
21
23
|
export declare function rejectCrossSite(req: PayloadRequest): Response | null;
|
|
22
24
|
/** A collection's or global's sanitized config. */
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAG/F,mFAAmF;AACnF,eAAO,MAAM,QAAQ,GAAI,KAAK,cAAc,KAAG,MAG9C,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,KAAK,cAAc,KAAG,OAA6C,CAAA;AAE5F;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,cAAc,EAAE,MAAM,IAAI,MAAM,EAAE,KAAG,MAC4B,CAAA;AAE7F,kGAAkG;AAClG,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,KAAG,QAIhD,CAAA;AAEJ,eAAO,MAAM,IAAI,GAAI,MAAM,OAAO,EAAE,eAAY,KAAG,QACiC,CAAA;AAEpF,iGAAiG;AACjG,eAAO,MAAM,UAAU,GAAI,KAAK,cAAc,EAAE,MAAM,OAAO,EAAE,SAAQ,GAAG,GAAG,GAAS,KAAG,QACf,CAAA;AAE1E
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAG/F,mFAAmF;AACnF,eAAO,MAAM,QAAQ,GAAI,KAAK,cAAc,KAAG,MAG9C,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,KAAK,cAAc,KAAG,OAA6C,CAAA;AAE5F;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,cAAc,EAAE,MAAM,IAAI,MAAM,EAAE,KAAG,MAC4B,CAAA;AAE7F,kGAAkG;AAClG,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,KAAG,QAIhD,CAAA;AAEJ,eAAO,MAAM,IAAI,GAAI,MAAM,OAAO,EAAE,eAAY,KAAG,QACiC,CAAA;AAEpF,iGAAiG;AACjG,eAAO,MAAM,UAAU,GAAI,KAAK,cAAc,EAAE,MAAM,OAAO,EAAE,SAAQ,GAAG,GAAG,GAAS,KAAG,QACf,CAAA;AAE1E;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI,CAMpE;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,MAAM,GACX,yBAAyB,GAAG,SAAS,CAAA;AACxC,wBAAgB,YAAY,CAC1B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,MAAM,GACX,qBAAqB,GAAG,SAAS,CAAA;AACpC,wBAAgB,YAAY,CAC1B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EACpB,IAAI,EAAE,MAAM,GACX,yBAAyB,GAAG,qBAAqB,GAAG,SAAS,CAAA;AAOhE,kEAAkE;AAClE,wBAAgB,OAAO,CACrB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,GACvD,MAAM,GAAG,IAAI,CAQf;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMnE"}
|
package/dist/http.js
CHANGED
|
@@ -22,7 +22,9 @@ export const json = (body, status = 200) => Response.json(body, { status, header
|
|
|
22
22
|
export const redirectTo = (req, path, status = 303) => Response.redirect(new URL(safePath(path) ?? '/', originOf(req)), status);
|
|
23
23
|
/**
|
|
24
24
|
* CSRF guard for state-changing endpoints: a POST from this site (Origin, or
|
|
25
|
-
* Sec-Fetch-Site when Origin is absent).
|
|
25
|
+
* Sec-Fetch-Site when Origin is absent). `none` is refused: no legitimate
|
|
26
|
+
* browser flow POSTs to these endpoints without site metadata. Returns an
|
|
27
|
+
* error response or null.
|
|
26
28
|
*/
|
|
27
29
|
export function rejectCrossSite(req) {
|
|
28
30
|
if (req.method?.toUpperCase() !== 'POST')
|
|
@@ -31,7 +33,7 @@ export function rejectCrossSite(req) {
|
|
|
31
33
|
if (origin)
|
|
32
34
|
return origin === originOf(req) ? null : text('Cross-site request refused', 403);
|
|
33
35
|
const site = req.headers.get('sec-fetch-site');
|
|
34
|
-
return site === 'same-origin'
|
|
36
|
+
return site === 'same-origin' ? null : text('Cross-site request refused', 403);
|
|
35
37
|
}
|
|
36
38
|
export function entityConfig(req, kind, slug) {
|
|
37
39
|
return kind === 'global'
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAE,QAAQ,EAAe,MAAM,sBAAsB,CAAA;AAE5D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnE,mFAAmF;AACnF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAmB,EAAU,EAAE;IACtD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAA;IAC/C,OAAO,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAmB,EAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AAE5F;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAmB,EAAE,IAAkB,EAAU,EAAE,CACxE,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAE7F,kGAAkG;AAClG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,MAAc,EAAY,EAAE,CAC7D,IAAI,QAAQ,CAAC,IAAI,EAAE;IACjB,MAAM;IACN,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,eAAe,EAAE,UAAU,EAAE;CACtF,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAa,EAAE,MAAM,GAAG,GAAG,EAAY,EAAE,CAC5D,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAA;AAEpF,iGAAiG;AACjG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAmB,EAAE,IAAa,EAAE,SAAoB,GAAG,EAAY,EAAE,CAClG,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAE1E
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAE,QAAQ,EAAe,MAAM,sBAAsB,CAAA;AAE5D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnE,mFAAmF;AACnF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAmB,EAAU,EAAE;IACtD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAA;IAC/C,OAAO,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAmB,EAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AAE5F;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAmB,EAAE,IAAkB,EAAU,EAAE,CACxE,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAE7F,kGAAkG;AAClG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,MAAc,EAAY,EAAE,CAC7D,IAAI,QAAQ,CAAC,IAAI,EAAE;IACjB,MAAM;IACN,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,eAAe,EAAE,UAAU,EAAE;CACtF,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAa,EAAE,MAAM,GAAG,GAAG,EAAY,EAAE,CAC5D,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAA;AAEpF,iGAAiG;AACjG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAmB,EAAE,IAAa,EAAE,SAAoB,GAAG,EAAY,EAAE,CAClG,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,GAAmB;IACjD,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAA;IAChF,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACxC,IAAI,MAAM;QAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;IAC5F,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC9C,OAAO,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;AAChF,CAAC;AAkBD,MAAM,UAAU,YAAY,CAAC,GAAmB,EAAE,IAAoB,EAAE,IAAY;IAClF,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;QACzD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;AAC3C,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,OAAO,CACrB,GAAmB,EACnB,MAAwD;IAExD,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC7D,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;IACpB,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;IACnE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAA;IAC9C,OAAO,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,GAAmB,EAAE,GAAW;IACzD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAA;IACrC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAA;IAC5F,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACrB,OAAO,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;AACpG,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import { type Plugin } from 'payload';
|
|
2
1
|
import { type OnPageOptions } from './options.ts';
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* What `onpage()` returns: a Payload plugin function, typed to accept any
|
|
4
|
+
* Payload major's config. Payload v3 and v4 configs differ structurally, but
|
|
5
|
+
* what `onpage()` reads and adds (collections, globals, endpoints, hooks,
|
|
6
|
+
* admin components, translations) is stable across both, and the function is
|
|
7
|
+
* opaque to callers — sites just list it in `plugins`.
|
|
8
|
+
*/
|
|
9
|
+
export type OnPagePlugin = <C>(config: C) => C;
|
|
10
|
+
export declare function onpage(options: OnPageOptions): OnPagePlugin;
|
|
4
11
|
export type { OnPageDocOptions, OnPageOptions, OnPageTargets } from './options.ts';
|
|
5
12
|
export { canEditDocument, canUseOnPage } from './access.ts';
|
|
6
13
|
export { createPreviewToken, verifyPreviewToken, type PreviewTokenPayload } from './tokens.ts';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAM/E;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;AAE9C,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CAsJ3D;AAED,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAC9F,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -19,12 +19,14 @@ import { serializeFields } from "./schema.js";
|
|
|
19
19
|
import { translations } from "./translations.js";
|
|
20
20
|
const APPLIED = 'payload-onpage';
|
|
21
21
|
export function onpage(options) {
|
|
22
|
-
|
|
22
|
+
const apply = (incoming) => {
|
|
23
23
|
if (options.enabled === false || incoming.custom?.[APPLIED])
|
|
24
24
|
return incoming;
|
|
25
25
|
const { session } = options;
|
|
26
26
|
if (!session)
|
|
27
27
|
throw new InvalidConfiguration('payload-onpage: pass `session` (e.g. nextSession() from @payload-onpage/next/session). The enter, mode, exit and preview endpoints need it.');
|
|
28
|
+
if (options.secret !== undefined && !options.secret)
|
|
29
|
+
throw new InvalidConfiguration("payload-onpage: `secret` must not be empty. Omit it to use Payload's `secret`.");
|
|
28
30
|
const prefix = options.routePrefix ?? DEFAULTS.routePrefix;
|
|
29
31
|
const entries = normalizeEntries(options);
|
|
30
32
|
const keyOf = (kind, slug) => `${kind}:${slug}`;
|
|
@@ -140,6 +142,7 @@ export function onpage(options) {
|
|
|
140
142
|
options: { ...options, session },
|
|
141
143
|
prefix,
|
|
142
144
|
entry: (kind, slug) => byKey.get(keyOf(kind, slug)),
|
|
145
|
+
entries,
|
|
143
146
|
}),
|
|
144
147
|
],
|
|
145
148
|
onInit: async (payload) => {
|
|
@@ -150,6 +153,7 @@ export function onpage(options) {
|
|
|
150
153
|
},
|
|
151
154
|
};
|
|
152
155
|
};
|
|
156
|
+
return apply;
|
|
153
157
|
}
|
|
154
158
|
export { canEditDocument, canUseOnPage } from "./access.js";
|
|
155
159
|
export { createPreviewToken, verifyPreviewToken } from "./tokens.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAiC,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EACL,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payload-onpage/plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "payload-onpage for Payload CMS: on-page editing endpoints, auto-mapping, preview links and admin controls.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -20,6 +20,9 @@
|
|
|
20
20
|
"nextjs",
|
|
21
21
|
"next.js",
|
|
22
22
|
"app-router",
|
|
23
|
+
"tanstack",
|
|
24
|
+
"tanstack-start",
|
|
25
|
+
"typescript",
|
|
23
26
|
"visual-editing",
|
|
24
27
|
"visual-editor",
|
|
25
28
|
"inline-editing",
|
|
@@ -64,7 +67,7 @@
|
|
|
64
67
|
"provenance": true
|
|
65
68
|
},
|
|
66
69
|
"dependencies": {
|
|
67
|
-
"@payload-onpage/core": "0.
|
|
70
|
+
"@payload-onpage/core": "0.4.0"
|
|
68
71
|
},
|
|
69
72
|
"peerDependencies": {
|
|
70
73
|
"payload": "^3.90.2",
|
package/src/access.ts
CHANGED
|
@@ -49,6 +49,30 @@ export async function documentPermissions(
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
/**
|
|
53
|
+
* Collection/global-level update access that is not granted. Payload's
|
|
54
|
+
* sanitizer deletes denied operations, so denial usually manifests as a
|
|
55
|
+
* missing `update` key — not `false`. Only the positive shapes allow:
|
|
56
|
+
* boolean `true`, or `{ permission: true }` (including row-level rules that
|
|
57
|
+
* carry a `where` and need a document to evaluate). Anything else — missing,
|
|
58
|
+
* `false`, `{ permission: false }`, an unknown shape, or no permissions at
|
|
59
|
+
* all (an access check threw) — denies, so callers fail closed and per-document
|
|
60
|
+
* checks decide the rest.
|
|
61
|
+
*/
|
|
62
|
+
export function isUpdateDenied(
|
|
63
|
+
perms: SanitizedCollectionPermission | SanitizedGlobalPermission | null,
|
|
64
|
+
): boolean {
|
|
65
|
+
if (!perms) return true
|
|
66
|
+
const update: unknown = perms.update
|
|
67
|
+
if (update === true) return false
|
|
68
|
+
return !(
|
|
69
|
+
typeof update === 'object' &&
|
|
70
|
+
update !== null &&
|
|
71
|
+
'permission' in update &&
|
|
72
|
+
update.permission === true
|
|
73
|
+
)
|
|
74
|
+
}
|
|
75
|
+
|
|
52
76
|
/**
|
|
53
77
|
* May this user edit this document on the page? With an id, Payload evaluates a
|
|
54
78
|
* row-level rule (a `where`) against that document itself, so its answer is final.
|
|
@@ -35,6 +35,9 @@ function postInNewTab(action: string) {
|
|
|
35
35
|
form.method = 'post'
|
|
36
36
|
form.action = action
|
|
37
37
|
form.target = '_blank'
|
|
38
|
+
// The opened tab is same-origin: without noopener it would keep a handle on
|
|
39
|
+
// the admin document via window.opener.
|
|
40
|
+
form.rel = 'noopener'
|
|
38
41
|
document.body.appendChild(form)
|
|
39
42
|
form.submit()
|
|
40
43
|
form.remove()
|
package/src/endpoints.ts
CHANGED
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
type TypedLocale,
|
|
39
39
|
} from 'payload'
|
|
40
40
|
import { getAutosaveInterval, hasAutosaveEnabled, hasDraftsEnabled, toWords } from 'payload/shared'
|
|
41
|
-
import { canEditDocument, canUseOnPage, documentPermissions } from './access.ts'
|
|
41
|
+
import { canEditDocument, canUseOnPage, documentPermissions, isUpdateDenied } from './access.ts'
|
|
42
42
|
import {
|
|
43
43
|
apiURL,
|
|
44
44
|
entityConfig,
|
|
@@ -59,6 +59,7 @@ export interface EndpointContext {
|
|
|
59
59
|
options: OnPageOptions & { session: SessionAdapter }
|
|
60
60
|
prefix: `/${string}`
|
|
61
61
|
entry: (kind: DocRef['kind'], slug: string) => Entry | undefined
|
|
62
|
+
entries: Entry[]
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
const DAY = 24 * 3600
|
|
@@ -80,6 +81,14 @@ export function createEndpoints(ctx: EndpointContext): Endpoint[] {
|
|
|
80
81
|
const { options, prefix } = ctx
|
|
81
82
|
const { session } = options
|
|
82
83
|
|
|
84
|
+
/** True when the user may update at least one enabled document (row-level rules count). */
|
|
85
|
+
const canEditAnything = async (req: PayloadRequest): Promise<boolean> => {
|
|
86
|
+
const checks = await Promise.all(
|
|
87
|
+
ctx.entries.map((e) => documentPermissions(req, { kind: e.kind, slug: e.slug })),
|
|
88
|
+
)
|
|
89
|
+
return checks.some((perms) => !isUpdateDenied(perms))
|
|
90
|
+
}
|
|
91
|
+
|
|
83
92
|
const schema: Endpoint = {
|
|
84
93
|
path: `${prefix}${ROUTES.schema}/:kind/:slug`,
|
|
85
94
|
method: 'get',
|
|
@@ -92,6 +101,7 @@ export function createEndpoints(ctx: EndpointContext): Endpoint[] {
|
|
|
92
101
|
if (!(await canUseOnPage(req, options))) throw new Forbidden(req.t)
|
|
93
102
|
|
|
94
103
|
const perms = await documentPermissions(req, { kind, slug })
|
|
104
|
+
if (isUpdateDenied(perms)) throw new Forbidden(req.t)
|
|
95
105
|
const pending: Promise<void>[] = []
|
|
96
106
|
const all = serializeFields(cfg.fields, {
|
|
97
107
|
i18n: req.i18n,
|
|
@@ -149,11 +159,14 @@ export function createEndpoints(ctx: EndpointContext): Endpoint[] {
|
|
|
149
159
|
handler: async (req) => {
|
|
150
160
|
const refused = rejectCrossSite(req)
|
|
151
161
|
if (refused) return refused
|
|
162
|
+
// Authenticate before parsing the ref, so anonymous callers can't probe
|
|
163
|
+
// which slugs are enabled by the status code.
|
|
164
|
+
if (!req.user) return text('Sign in to the admin first', 401)
|
|
165
|
+
if (!(await canUseOnPage(req, options))) return text('You cannot use on-page editing', 403)
|
|
152
166
|
const q = req.searchParams
|
|
153
167
|
const ref = readRef(req, { kind: q.get('kind'), slug: q.get('slug'), id: q.get('id') })
|
|
154
168
|
const entry = ref && ctx.entry(ref.kind, ref.slug)
|
|
155
169
|
if (!ref || !entry) return text('Unknown document', 400)
|
|
156
|
-
if (!req.user) return text('Sign in to the admin first', 401)
|
|
157
170
|
if (!(await canEditDocument(req, ref, options)))
|
|
158
171
|
return text('You cannot edit this document', 403)
|
|
159
172
|
const locale = req.locale && req.locale !== 'all' ? req.locale : undefined
|
|
@@ -176,6 +189,7 @@ export function createEndpoints(ctx: EndpointContext): Endpoint[] {
|
|
|
176
189
|
if (refused) return refused
|
|
177
190
|
if (!req.user) return text('Sign in to the admin first', 401)
|
|
178
191
|
if (!(await canUseOnPage(req, options))) return text('You cannot use on-page editing', 403)
|
|
192
|
+
if (!(await canEditAnything(req))) return text('You cannot edit any document', 403)
|
|
179
193
|
const q = req.searchParams
|
|
180
194
|
const next = q.get('mode')
|
|
181
195
|
await session.enable(isOnPageMode(next) ? next : 'edit', {
|
|
@@ -206,6 +220,9 @@ export function createEndpoints(ctx: EndpointContext): Endpoint[] {
|
|
|
206
220
|
if (!req.headers.get('content-type')?.includes('application/json'))
|
|
207
221
|
throw new APIError('Expected a JSON body', 415)
|
|
208
222
|
await addDataAndFileToRequest(req) // parses JSON, or throws a 400
|
|
223
|
+
// Authenticate before parsing the ref, so anonymous callers can't probe
|
|
224
|
+
// which slugs are enabled by the status code.
|
|
225
|
+
if (!(await canUseOnPage(req, options))) throw new Forbidden(req.t)
|
|
209
226
|
const body: Record<string, unknown> = req.data ?? {}
|
|
210
227
|
const ref = readRef(req, body)
|
|
211
228
|
const entry = ref && ctx.entry(ref.kind, ref.slug)
|
package/src/http.ts
CHANGED
|
@@ -34,14 +34,16 @@ export const redirectTo = (req: PayloadRequest, path: unknown, status: 303 | 307
|
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* CSRF guard for state-changing endpoints: a POST from this site (Origin, or
|
|
37
|
-
* Sec-Fetch-Site when Origin is absent).
|
|
37
|
+
* Sec-Fetch-Site when Origin is absent). `none` is refused: no legitimate
|
|
38
|
+
* browser flow POSTs to these endpoints without site metadata. Returns an
|
|
39
|
+
* error response or null.
|
|
38
40
|
*/
|
|
39
41
|
export function rejectCrossSite(req: PayloadRequest): Response | null {
|
|
40
42
|
if (req.method?.toUpperCase() !== 'POST') return text('Method not allowed', 405)
|
|
41
43
|
const origin = req.headers.get('origin')
|
|
42
44
|
if (origin) return origin === originOf(req) ? null : text('Cross-site request refused', 403)
|
|
43
45
|
const site = req.headers.get('sec-fetch-site')
|
|
44
|
-
return site === 'same-origin'
|
|
46
|
+
return site === 'same-origin' ? null : text('Cross-site request refused', 403)
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
/** A collection's or global's sanitized config. */
|
package/src/index.ts
CHANGED
|
@@ -15,7 +15,6 @@ import {
|
|
|
15
15
|
type CollectionConfig,
|
|
16
16
|
type Config,
|
|
17
17
|
type GlobalConfig,
|
|
18
|
-
type Plugin,
|
|
19
18
|
} from 'payload'
|
|
20
19
|
import { deepMergeSimple } from 'payload/shared'
|
|
21
20
|
import { createEndpoints } from './endpoints.ts'
|
|
@@ -26,14 +25,27 @@ import { translations } from './translations.ts'
|
|
|
26
25
|
|
|
27
26
|
const APPLIED = 'payload-onpage'
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
/**
|
|
29
|
+
* What `onpage()` returns: a Payload plugin function, typed to accept any
|
|
30
|
+
* Payload major's config. Payload v3 and v4 configs differ structurally, but
|
|
31
|
+
* what `onpage()` reads and adds (collections, globals, endpoints, hooks,
|
|
32
|
+
* admin components, translations) is stable across both, and the function is
|
|
33
|
+
* opaque to callers — sites just list it in `plugins`.
|
|
34
|
+
*/
|
|
35
|
+
export type OnPagePlugin = <C>(config: C) => C
|
|
36
|
+
|
|
37
|
+
export function onpage(options: OnPageOptions): OnPagePlugin {
|
|
38
|
+
const apply = (incoming: Config): Config => {
|
|
31
39
|
if (options.enabled === false || incoming.custom?.[APPLIED]) return incoming
|
|
32
40
|
const { session } = options
|
|
33
41
|
if (!session)
|
|
34
42
|
throw new InvalidConfiguration(
|
|
35
43
|
'payload-onpage: pass `session` (e.g. nextSession() from @payload-onpage/next/session). The enter, mode, exit and preview endpoints need it.',
|
|
36
44
|
)
|
|
45
|
+
if (options.secret !== undefined && !options.secret)
|
|
46
|
+
throw new InvalidConfiguration(
|
|
47
|
+
"payload-onpage: `secret` must not be empty. Omit it to use Payload's `secret`.",
|
|
48
|
+
)
|
|
37
49
|
const prefix = options.routePrefix ?? DEFAULTS.routePrefix
|
|
38
50
|
const entries = normalizeEntries(options)
|
|
39
51
|
const keyOf = (kind: DocRef['kind'], slug: string) => `${kind}:${slug}`
|
|
@@ -158,6 +170,7 @@ export function onpage(options: OnPageOptions): Plugin {
|
|
|
158
170
|
options: { ...options, session },
|
|
159
171
|
prefix,
|
|
160
172
|
entry: (kind, slug) => byKey.get(keyOf(kind, slug)),
|
|
173
|
+
entries,
|
|
161
174
|
}),
|
|
162
175
|
],
|
|
163
176
|
onInit: async (payload) => {
|
|
@@ -170,6 +183,7 @@ export function onpage(options: OnPageOptions): Plugin {
|
|
|
170
183
|
},
|
|
171
184
|
}
|
|
172
185
|
}
|
|
186
|
+
return apply as OnPagePlugin
|
|
173
187
|
}
|
|
174
188
|
|
|
175
189
|
export type { OnPageDocOptions, OnPageOptions, OnPageTargets } from './options.ts'
|