@cedarjs/router 8.0.0-canary.3567 → 8.0.0-canary.3568
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/dist/AuthenticatedRoute.d.ts +0 -1
- package/dist/AuthenticatedRoute.d.ts.map +1 -1
- package/dist/AuthenticatedRoute.js +2 -3
- package/dist/Set.d.ts +8 -17
- package/dist/Set.d.ts.map +1 -1
- package/dist/analyzeRoutes.d.ts +0 -1
- package/dist/analyzeRoutes.d.ts.map +1 -1
- package/dist/analyzeRoutes.js +0 -3
- package/dist/router.js +0 -1
- package/dist/rsc/ServerRouter.js +1 -3
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticatedRoute.d.ts","sourceRoot":"","sources":["../src/AuthenticatedRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAQxD,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,
|
|
1
|
+
{"version":3,"file":"AuthenticatedRoute.d.ts","sourceRoot":"","sources":["../src/AuthenticatedRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAQxD,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;CACnD;AA6ED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwIhE,CAAA"}
|
|
@@ -45,7 +45,6 @@ const AuthenticatedRoute = ({
|
|
|
45
45
|
unauthenticated,
|
|
46
46
|
unauthorized,
|
|
47
47
|
roles,
|
|
48
|
-
userRoles,
|
|
49
48
|
orgPermission,
|
|
50
49
|
whileLoadingAuth,
|
|
51
50
|
children
|
|
@@ -81,8 +80,8 @@ const AuthenticatedRoute = ({
|
|
|
81
80
|
"A PrivateSet with `orgPermission` got no organization from the Router's `tenancy` for this route, so there is nothing to check it in"
|
|
82
81
|
);
|
|
83
82
|
}
|
|
84
|
-
const
|
|
85
|
-
if (isAuthenticated &&
|
|
83
|
+
const hasRequiredRoles = !roles || hasRole(roles);
|
|
84
|
+
if (isAuthenticated && hasRequiredRoles) {
|
|
86
85
|
if (!tenancy || !org) {
|
|
87
86
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, children);
|
|
88
87
|
}
|
package/dist/Set.d.ts
CHANGED
|
@@ -26,23 +26,16 @@ export interface WrapperProps {
|
|
|
26
26
|
*/
|
|
27
27
|
export type WrapperType = ComponentType<WrapperProps>;
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
30
|
-
* instead of `roles`, and `orgPermission` for what the user may do in the
|
|
31
|
-
* organization: there, every check says which kind it is.
|
|
29
|
+
* `orgPermission`, only in an app with tenancy (see `AuthTenancy`)
|
|
32
30
|
*/
|
|
33
|
-
type
|
|
31
|
+
type SetOrgPermission = AuthTenancy extends {
|
|
34
32
|
enabled: true;
|
|
35
33
|
} ? {
|
|
36
|
-
/**
|
|
37
|
-
* Route is permitted when authenticated and user has any of the
|
|
38
|
-
* provided roles such as "admin" or ["admin", "editor"], in
|
|
39
|
-
* `currentUser.roles`. With `orgPermission` as well, they need both.
|
|
40
|
-
*/
|
|
41
|
-
userRoles?: string | string[];
|
|
42
34
|
/**
|
|
43
35
|
* Route is permitted when authenticated and the user's membership in
|
|
44
36
|
* the current organization has this permission (see
|
|
45
|
-
* `createPermissions` in `@cedarjs/tenancy`).
|
|
37
|
+
* `createPermissions` in `@cedarjs/tenancy`). With `roles` as well,
|
|
38
|
+
* they need both.
|
|
46
39
|
*
|
|
47
40
|
* The organization is the one the Router's `tenancy` finds for the
|
|
48
41
|
* route, by default the one with the route's `orgSlug` param:
|
|
@@ -53,15 +46,13 @@ type SetRoles = AuthTenancy extends {
|
|
|
53
46
|
* router, or on a route that isn't in an organization.
|
|
54
47
|
*/
|
|
55
48
|
orgPermission?: PermissionName;
|
|
56
|
-
} :
|
|
49
|
+
} : Record<never, never>;
|
|
50
|
+
interface SetProps extends SetOrgPermission {
|
|
57
51
|
/**
|
|
58
|
-
* Route is permitted when authenticated and user has any of the
|
|
59
|
-
*
|
|
60
|
-
* `currentUser.roles`
|
|
52
|
+
* Route is permitted when authenticated and user has any of the provided
|
|
53
|
+
* roles such as "admin" or ["admin", "editor"], in `currentUser.roles`
|
|
61
54
|
*/
|
|
62
55
|
roles?: string | string[];
|
|
63
|
-
};
|
|
64
|
-
interface SetProps extends SetRoles {
|
|
65
56
|
/**
|
|
66
57
|
* Components to wrap all routes in this set with, like layouts. The first
|
|
67
58
|
* one in an array is the outermost one.
|
package/dist/Set.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Set.d.ts","sourceRoot":"","sources":["../src/Set.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACnE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;IAC/D,iBAAiB,EAAE,QAAQ;CAC5B,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;AAErD
|
|
1
|
+
{"version":3,"file":"Set.d.ts","sourceRoot":"","sources":["../src/Set.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACnE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;IAC/D,iBAAiB,EAAE,QAAQ;CAC5B,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;AAErD;;GAEG;AACH,KAAK,gBAAgB,GAAG,WAAW,SAAS;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACzD;IACE;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,EAAE,cAAc,CAAA;CAC/B,GACD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAExB,UAAU,QAAS,SAAQ,gBAAgB;IACzC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,CAAA;IAC3C;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qCAAqC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;IAC5C,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;CAC7C;AAED;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,qBAIlC;AAED,KAAK,eAAe,GAAG,IAAI,CACzB,QAAQ,EACR,SAAS,GAAG,iBAAiB,GAAG,cAAc,CAC/C,GAAG;IACF;;;;OAIG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,oDAAoD;AACpD,wBAAgB,OAAO,CAAC,KAAK,EAAE,eAAe,qBAI7C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,qBAIhD;AAED,eAAO,MAAM,SAAS,GAAI,MAAM,SAAS,KAAG,IAAI,IAAI,YAAY,CAAC,QAAQ,CAOxE,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,MAAM,SAAS,KACd,IAAI,IAAI,YAAY,CAAC,eAAe,CAEtC,CAAA;AAGD,eAAO,MAAM,aAAa,GACxB,MAAM,SAAS,KACd,IAAI,IAAI,YAAY,CAAC,eAAe,CAEtC,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,SAAS,aAKpB"}
|
package/dist/analyzeRoutes.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzeRoutes.d.ts","sourceRoot":"","sources":["../src/analyzeRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAQzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,WAAW,CAAA;AAElB,KAAK,gBAAgB,GAAG,MAAM,YAAY,GAAG,IAAI,CAAA;AAIjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,CACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,KACtD,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,SAAS,WAAW,EAAE,CAAA;AAE7C;;;GAGG;AACH,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAEzB,
|
|
1
|
+
{"version":3,"file":"analyzeRoutes.d.ts","sourceRoot":"","sources":["../src/analyzeRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAQzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,WAAW,CAAA;AAElB,KAAK,gBAAgB,GAAG,MAAM,YAAY,GAAG,IAAI,CAAA;AAIjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,CACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,KACtD,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,SAAS,WAAW,EAAE,CAAA;AAE7C;;;GAGG;AACH,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAEzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;CAC7C;AAED,UAAU,GAAG;IACX,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,cAAc,CAAA;CACtB;AA+CD,KAAK,SAAS,GAAG,MAAM,CAAA;AAEvB;;;;GAIG;AACH,UAAU,aAAa;IACrB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,GAAG,EAAE,CAAA;CACZ;AAED,UAAU,oBAAoB;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAC3C;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,EACnB,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,oBAAoB;;;;;;EAqK1D"}
|
package/dist/analyzeRoutes.js
CHANGED
|
@@ -25,9 +25,6 @@ function pickSetRenderProps(props) {
|
|
|
25
25
|
if (props.roles !== void 0) {
|
|
26
26
|
picked.roles = props.roles;
|
|
27
27
|
}
|
|
28
|
-
if (props.userRoles !== void 0) {
|
|
29
|
-
picked.userRoles = props.userRoles;
|
|
30
|
-
}
|
|
31
28
|
if (props.orgPermission !== void 0) {
|
|
32
29
|
picked.orgPermission = props.orgPermission;
|
|
33
30
|
}
|
package/dist/router.js
CHANGED
|
@@ -163,7 +163,6 @@ const WrappedPage = memo(({ sets, children }) => {
|
|
|
163
163
|
unauthenticated,
|
|
164
164
|
unauthorized: set.props.unauthorized,
|
|
165
165
|
roles: set.props.roles,
|
|
166
|
-
userRoles: set.props.userRoles,
|
|
167
166
|
orgPermission: set.props.orgPermission,
|
|
168
167
|
whileLoadingAuth: set.props.whileLoadingAuth
|
|
169
168
|
},
|
package/dist/rsc/ServerRouter.js
CHANGED
|
@@ -104,14 +104,13 @@ function hasRole(requiredRoles) {
|
|
|
104
104
|
const AuthenticatedRoute = ({
|
|
105
105
|
children,
|
|
106
106
|
roles,
|
|
107
|
-
userRoles,
|
|
108
107
|
orgPermission
|
|
109
108
|
}) => {
|
|
110
109
|
const { isAuthenticated } = getAuthState();
|
|
111
110
|
if (orgPermission !== void 0) {
|
|
112
111
|
throw new Error("`orgPermission` is not supported with RSC yet");
|
|
113
112
|
}
|
|
114
|
-
const isAuthorized = isAuthenticated && (!roles || hasRole(roles))
|
|
113
|
+
const isAuthorized = isAuthenticated && (!roles || hasRole(roles));
|
|
115
114
|
if (isAuthorized) {
|
|
116
115
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, children);
|
|
117
116
|
}
|
|
@@ -138,7 +137,6 @@ const WrappedPage = ({ routeLoaderElement, sets }) => {
|
|
|
138
137
|
{
|
|
139
138
|
unauthenticated,
|
|
140
139
|
roles: set.props.roles,
|
|
141
|
-
userRoles: set.props.userRoles,
|
|
142
140
|
orgPermission: set.props.orgPermission,
|
|
143
141
|
whileLoadingAuth: set.props.whileLoadingAuth
|
|
144
142
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cedarjs/router",
|
|
3
|
-
"version": "8.0.0-canary.
|
|
3
|
+
"version": "8.0.0-canary.3568",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/cedarjs/cedar.git",
|
|
@@ -52,15 +52,15 @@
|
|
|
52
52
|
"test:watch": "vitest watch"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@cedarjs/project-config": "8.0.0-canary.
|
|
56
|
-
"@cedarjs/server-store": "8.0.0-canary.
|
|
55
|
+
"@cedarjs/project-config": "8.0.0-canary.3568",
|
|
56
|
+
"@cedarjs/server-store": "8.0.0-canary.3568",
|
|
57
57
|
"react-server-dom-webpack": "19.3.1",
|
|
58
58
|
"ts-toolbelt": "9.6.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@arethetypeswrong/cli": "0.18.5",
|
|
62
|
-
"@cedarjs/auth": "8.0.0-canary.
|
|
63
|
-
"@cedarjs/framework-tools": "8.0.0-canary.
|
|
62
|
+
"@cedarjs/auth": "8.0.0-canary.3568",
|
|
63
|
+
"@cedarjs/framework-tools": "8.0.0-canary.3568",
|
|
64
64
|
"@testing-library/jest-dom": "6.9.1",
|
|
65
65
|
"@types/react": "^19.2.0",
|
|
66
66
|
"@types/react-dom": "^19.2.0",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"vitest": "4.1.12"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
|
-
"@cedarjs/auth": "8.0.0-canary.
|
|
77
|
+
"@cedarjs/auth": "8.0.0-canary.3568",
|
|
78
78
|
"react": "19.3.1",
|
|
79
79
|
"react-dom": "19.3.1"
|
|
80
80
|
},
|